Difference between revisions of "LlListFindList/fr"

From Second Life Wiki
Jump to navigation Jump to search
(Localized to french)
 
Line 25: Line 25:
     }
     }
}</lsl>
}</lsl>
<lsl>// Gestion d'une liste d'acces by staxx Hird
// Complètement gratuit vous pouvez utilisez ce script comme vous le souhaitez
// la revente est interdite ceci à pour but de comprendre le système de liste avec un example concret.
// tapez le nom de l'avatar qui sera autorisé
list acces;
default
{
    state_entry()
    {
        acces = []; // au chargement la liste est vide
        llListen(0,"",llGetOwner(),""); // ecoute sur le canal 0 (chat)
    }
   
    listen( integer channel, string name, key id, string message )
    {
        if(llGetOwnerKey(id) == llGetOwner())// on verifie que c'est bien le owner de l'objet qui ajoute l'avatar
        {
            integer index = llListFindList(acces, [message]);// on cherche si l'avatar est déjà présent dans le liste
            if (index == -1)
            {
                string av = llToUpper(message);// on enregistre le nom en majuscule
                acces += av;// on ajoute l'avatar autorisé
                llOwnerSay(message+" à été ajouter à la liste d'accès !");
            }
            else
            {
                // si il est déjà dans la liste on le lui dit
                llOwnerSay(message+" se trouve déjà dans la liste d'accès");
            }
           
        }
    }
    touch_start(integer total_number)
    {
        string alt = llToUpper(llDetectedName(0)); // on passe le nom de l'avatar qui à cliquer en majuscule
        integer index = llListFindList(acces, [alt]); // on cherche si il fait partie de la liste
        if (index == -1)
        {
          llSay(0,"Vous n'avez pas l'accès à cette zone"); // pas trouver donc pas d'accès
        }
        else
        {
            llSay(0,"Bienvenue: "+llDetectedName(0));// on la trouver il peux avoir accès
        }
    }
}
</lsl>
|helpers=
|helpers=
Une façon simple de vérifier l’existence d’un élément dans un list...
Une façon simple de vérifier l’existence d’un élément dans un list...

Revision as of 01:24, 19 March 2009

Description

Fonction: integer llListFindList( list src, list test );

Renvoie un integer correspondant à l’index du premier élément du list test dans src
la fonction contrôle l'existence d'un list dans un autre list.

• list src
• list test

Si test n’est pas trouvé dans le list src, la fonction renvoie la valeur -1 .
L’index du premier élément d’un list est l’index 0

Avertissements

  • La fonction effectue une comparaison stricte des strings

Exemples

<lsl>list numbers = [1, 2, 3, 4, 5]; default {

   state_entry()
   {
       integer index = llListFindList(numbers, [3]);
       if (index != -1)
       {
           list three_four = llList2List(numbers, index, index + 1);
           llOwnerSay(llDumpList2String(three_four, ","));
           // Object: 3,4
       }
   }

}</lsl> <lsl>// Gestion d'une liste d'acces by staxx Hird // Complètement gratuit vous pouvez utilisez ce script comme vous le souhaitez // la revente est interdite ceci à pour but de comprendre le système de liste avec un example concret. // tapez le nom de l'avatar qui sera autorisé

list acces; default {

   state_entry()
   {
       acces = []; // au chargement la liste est vide
       llListen(0,"",llGetOwner(),""); // ecoute sur le canal 0 (chat)
   }
   
   listen( integer channel, string name, key id, string message )
   {
       if(llGetOwnerKey(id) == llGetOwner())// on verifie que c'est bien le owner de l'objet qui ajoute l'avatar
       {
           integer index = llListFindList(acces, [message]);// on cherche si l'avatar est déjà présent dans le liste
           if (index == -1)
           {
               string av = llToUpper(message);// on enregistre le nom en majuscule 
               acces += av;// on ajoute l'avatar autorisé
               llOwnerSay(message+" à été ajouter à la liste d'accès !");
           }
           else
           {
               // si il est déjà dans la liste on le lui dit
               llOwnerSay(message+" se trouve déjà dans la liste d'accès");
           }


       }
   }
   touch_start(integer total_number)
   {
       string alt = llToUpper(llDetectedName(0)); // on passe le nom de l'avatar qui à cliquer en majuscule
       integer index = llListFindList(acces, [alt]); // on cherche si il fait partie de la liste
       if (index == -1)
       {
          llSay(0,"Vous n'avez pas l'accès à cette zone"); // pas trouver donc pas d'accès
       }
       else
       {
           llSay(0,"Bienvenue: "+llDetectedName(0));// on la trouver il peux avoir accès
       }
   }

} </lsl>

Codes utiles

Une façon simple de vérifier l’existence d’un élément dans un list... <lsl>if(~llListFindList(myList, (list)item)) {//il existe

   //cela fonction car  ~(-1) == 0
   //cela permet de sauver de l’espace et c’est plus rapide que != -1

}</lsl>

Voir également

Fonctions

•  llSubStringIndex Trouve un string dans un autre string
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.