Difference between revisions of "LlAddToLandBanList/fr"

From Second Life Wiki
Jump to navigation Jump to search
(Localized to french)
 
m
 
(3 intermediate revisions by 2 users not shown)
Line 4: Line 4:
|p1_type=key|p1_name=avatar|p2_type=float|p2_name=heures
|p1_type=key|p1_name=avatar|p2_type=float|p2_name=heures
|func_footnote
|func_footnote
|func_desc=Ajoute un '''avatar''' à la liste des bannis pour le nombre d''''heures''' indiquées.
|func_desc=Ajoute un '''avatar''' à la liste des bannis pour le nombre d''''heures''' indiqué. <br> Si '''heures''' = 0 , l''''avatar''' est banni indéfiniment (on peut le débannir). <br>La fonction ne marche que si l'objet contenant le script appartient au propriétaire de la parcelle
|return_text
|return_text
|spec
|spec
|caveats
|caveats
|constants
|constants
|examples=<lsl>
|examples=<source lang="lsl2">
// script de shenanigan oh
// Ceci n'est pas une solution complète, il faut des noms d'avatars complets, même pour débannir quelqu'un !
// Il s'agit seulement d'un exemple des fonctions des gestion du bannissement et des droits de passage.
// Copie, modification et distribution autorisés - ne me demandez seulement pas de déboguer votre code modifié. ;-)
//
// Les commandes sont :
//  /5 ban:nom_avatar_complet
//  /5 tempban:nom_avatar_complet
//  /5 unban:nom_avatar_complet
//  /5 pass:nom_avatar_complet
//  /5 unpass:nom_avatar_complet
//  /5 clearban
//  /5 clearpass


// C’est un script simple que j’utilisais lorsque je travaillais
string command;
// sur un massacre pour une sim pvp, il était en effet beaucoup plus
// simple d’expulser quelqu'un de cette façon que de cliquer sur lui
// en lui courant après.
// Exemple: /1 eject shenan


// Attention, si vous tapez le nom d’une personne, faites bien attention
// à ce que personne d’autres dans les environs n’ait le même nom !
string msg;
string name;
default
default
{
{
     on_rez(integer n)
     state_entry()
     {
     {
         llResetScript();
         llListen(5, "", llGetOwner(), "");
     }
     }
      
      
     state_entry()
     on_rez(integer param)
     {
     {
         llListen(1, "", llGetOwner(), "");
         llResetScript();
        llListen(0, "", llGetOwner(), "");
     }
     }


     listen(integer n, string m, key k, string msg)
     listen(integer chan, string name, key id, string message)
     {
     {
         if (llGetSubString(msg, 0, 5) == "eject ")
         if (command != "")
        {
            llOwnerSay("Désolé, encore en train de traiter la dernière commande, veuillez réessayer un peu plus tard.");
        }
       
        list args = llParseString2List(message, [ ":" ], []);
        command = llToLower(llList2String(args, 0));
       
        if (command == "clearbans")
        {
            llResetLandBanList();
        }
        if (command == "clearpass")
        {
            llResetLandPassList();
        }
        else
         {
         {
             name = llToLower(llStringTrim(llDeleteSubString(msg, 0, 5), STRING_TRIM));
             llSensor(llList2String(args,1), NULL_KEY, AGENT, 96, PI);
            llSensor("", "", AGENT, 96, PI);
         }
         }
     }
     }
      
      
     sensor(integer n)
     no_sensor()
     {
     {
         integer i = 0;
        command = "";
         for (;i<n;++i)
    }
   
    sensor(integer num)
    {
         integer i;
         for (i = 0; i < num; ++i)
         {
         {
             if (llOverMyLand(llDetectedKey(i)))
             if (command == "ban")
            {
                // Bannissement à vie
                llAddToLandBanList(llDetectedKey(i), 0.0);
            }
            if (command == "tempban")
             {
             {
                 if (~llSubStringIndex(llToLower(llDetectedName(i)), name))
                 // Bannissement pour 1 heure.
                 {
                llAddToLandBanList(llDetectedKey(i), 1.0);
                    llOwnerSay("Ejection de " + llDetectedName(i));
            }
                    llEjectFromLand(llDetectedKey(i));
            if (command == "unban")
                }
            {
                 llRemoveFromLandBanList(llDetectedKey(i));
            }
            if (command == "pass")
            {
                // Ajouter à la liste de droit de passage pour 1 heure
                llAddToLandPassList(llDetectedKey(i), 1.0);
            }
            if (command == "unpass")
            {
                llRemoveFromLandPassList(llDetectedKey(i));
             }
             }
         }
         }
        command = "";
     }
     }
    no_sensor()
}
    {
</source>
        llOwnerSay("Avatar non trouvé");
    }
}  
 
</lsl>
|helpers
|helpers
|also_functions=
|also_functions=

Latest revision as of 19:48, 11 April 2015

Description

Fonction: llAddToLandBanList( key avatar, float heures );

Ajoute un avatar à la liste des bannis pour le nombre d'heures indiqué.
Si heures = 0 , l'avatar est banni indéfiniment (on peut le débannir).
La fonction ne marche que si l'objet contenant le script appartient au propriétaire de la parcelle

• key avatar
• float heures

Avertissements

  • Cette fonction fait dormir le script pendant 0.1 secondes.

Exemples

// Ceci n'est pas une solution complète, il faut des noms d'avatars complets, même pour débannir quelqu'un !
// Il s'agit seulement d'un exemple des fonctions des gestion du bannissement et des droits de passage.
// Copie, modification et distribution autorisés - ne me demandez seulement pas de déboguer votre code modifié. ;-)
// 
// Les commandes sont :
//   /5 ban:nom_avatar_complet
//   /5 tempban:nom_avatar_complet
//   /5 unban:nom_avatar_complet
//   /5 pass:nom_avatar_complet
//   /5 unpass:nom_avatar_complet
//   /5 clearban
//   /5 clearpass

string command;

default
{
    state_entry()
    {
        llListen(5, "", llGetOwner(), "");
    }
    
    on_rez(integer param)
    {
        llResetScript();
    }

    listen(integer chan, string name, key id, string message)
    {
        if (command != "")
        {
            llOwnerSay("Désolé, encore en train de traiter la dernière commande, veuillez réessayer un peu plus tard.");
        }
        
        list args = llParseString2List(message, [ ":" ], []);
        command = llToLower(llList2String(args, 0));
        
        if (command == "clearbans")
        {
            llResetLandBanList();
        }
        if (command == "clearpass")
        {
            llResetLandPassList();
        }
        else
        {
            llSensor(llList2String(args,1), NULL_KEY, AGENT, 96, PI);
        }
    }
    
    no_sensor()
    {
        command = "";
    }
    
    sensor(integer num)
    {
        integer i;
        for (i = 0; i < num; ++i)
        {
            if (command == "ban")
            {
                // Bannissement à vie
                llAddToLandBanList(llDetectedKey(i), 0.0);
            }
            if (command == "tempban")
            {
                // Bannissement pour 1 heure.
                llAddToLandBanList(llDetectedKey(i), 1.0);
            }
            if (command == "unban")
            {
                llRemoveFromLandBanList(llDetectedKey(i));
            }
            if (command == "pass")
            {
                // Ajouter à la liste de droit de passage pour 1 heure
                llAddToLandPassList(llDetectedKey(i), 1.0);
            }
            if (command == "unpass")
            {
                llRemoveFromLandPassList(llDetectedKey(i));
            }
        }
        command = "";
    }
}

Voir également

Fonctions

•  llRemoveFromLandBanList Supprime un avatar de la liste des bannis
•  llRemoveFromLandPassList Supprime un avatar de la liste de droit de passage
•  llResetLandBanList Vide la liste des bannis
•  llResetLandPassList Vide la liste de droit de passage
•  llAddToLandPassList Ajoute un avatar à la liste de droit de passage.
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.