LlGetLinkKey/fr

From Second Life Wiki
Jump to navigation Jump to search

Description

! Fonction: key llGetLinkKey( integer numéro_lien );

Renvoie un key correspondant à la clé de la prim identifiée par le numéro_lien dans l’objet.

• integer numéro_lien N° de lien (0: non lié, 1: prim racine, >1: prims filles) ou un code LINK_*
Codes Descriptions
LINK_ROOT 1 Envoie à la la prim racine.
LINK_SET -1 Envoie à toutes les prims.
LINK_ALL_OTHERS -2 Envoie à toutes les autres prims
Codes Description
LINK_ALL_CHILDREN -3 Envoie à toutes les prims filles
LINK_THIS -4 Envoie à la prim contenant ce script.

Avertissements

Exemples

Utilisez ce script dans des prims liées ou non liées avec des avatars assis dessus (ou pas). Afin de voir comment se comporte llGetLinkKey par rapport à llGetKey, llGetLinkNumber, llGetNumberOfPrims, LINK_ROOT, etc. <lsl>// Renvoie le nom correspond au numéro de lien (sinon renvoie un string vide).

string getLinkNumName(integer link) {

   if (LINK_THIS == link) return "LINK_THIS";
   if (LINK_ALL_CHILDREN == link) return "LINK_ALL_CHILDREN";
   if (LINK_ALL_OTHERS == link) return "LINK_ALL_OTHERS";
   if (LINK_SET == link) return "LINK_SET";
   if (LINK_ROOT == link) return "LINK_ROOT";
   return "";

}

// Renvoie la clé de chaque prim liée.

default {

   state_entry()
   {
       integer theLink = llGetLinkNumber();
       
       key theLinkKey = llGetKey();
       key owner = llGetOwner();
       key creator = llGetCreator();
       
       // controle chaque lien
       
       integer link;
       integer primmed = llGetNumberOfPrims();
       for (link = -5; link <= (primmed + 5); ++link)
       {
           key linkKey = llGetLinkKey(link);
           
           // Détaille la clé correspondant au lien.
           
           string line = (string) linkKey; // conversion de la clé en string
           
           if (linkKey == owner) line += " llGetOwner";
           if (linkKey == creator) line += " llGetCreator";
           if (linkKey == theLinkKey) line += " llGetKey";
           
           // Détaille le lien.
           
           line += " @ " + (string) link;
           line += " " + getLinkNumName(link);
           if (link == theLink) line += " llGetLinkNumber";
           if (link == primmed) line += " llGetNumberOfPrims";
           
           // Renvoie la ligne si elle est interessante.
           
           if (linkKey != NULL_KEY)
           {
               llOwnerSay(line);
           }
       }
       
       // Compte toujours le nombre de prims.
       
       llOwnerSay((string) primmed + " llGetNumberOfPrims");
       llOwnerSay("OK");
   }

}</lsl>

Voir également

Fonctions

•  llGetLinkNumber Renvoie le N° de lien de la prim le contenant.
•  llGetKey Renvoie la clé d’une prim
•  llGetLinkName Renvoie le nom d’une prim

Notes avancées

Historique

Bugs

   llGetLinkKey renvoie le mauvais résultat lorsque LINK_THIS est passé en argument!
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.