LlListFindList/fr: Difference between revisions
m replace -1 by ERR_GENERIC |
Omei Qunhua (talk | contribs) m not found is not a generic error, and often not any kind of error. |
||
| Line 4: | Line 4: | ||
|func_id=201|func_sleep=0.0|func_energy=10.0 | |func_id=201|func_sleep=0.0|func_energy=10.0 | ||
|return_type=integer|p1_type=list|p1_name=src|p2_type=list|p2_name=test | |return_type=integer|p1_type=list|p1_name=src|p2_type=list|p2_name=test | ||
|func_footnote=Si '''test''' n’est pas trouvé dans le list '''src''', la fonction renvoie la valeur | |func_footnote=Si '''test''' n’est pas trouvé dans le list '''src''', la fonction renvoie la valeur -1.<br/> | ||
L’index du premier élément d’un list est l’index {{HoverText|0|zéro}} | L’index du premier élément d’un list est l’index {{HoverText|0|zéro}} | ||
|func_desc | |func_desc | ||
Latest revision as of 05:27, 10 September 2014
| LSL Portail Francophone | LSL Portail Anglophone | Fonctions | Évènements | Types | Operateurs | Constantes | Contrôle d'exécution | Bibliothèque | Tutoriels |
Description
Fonction: integer llListFindList( list src, list test );| 201 | N° de fonction |
| 0.0 | Delais |
| 10.0 | Energie |
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 |