LlGetLinkKey/fr - Second Life Wiki

LlGetLinkKey/fr

From Second Life Wiki

Jump to: navigation, search

Contents

Description

Fonction: key llGetLinkKey( integer numéro_lien );

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

• integer numéro_lien N° de lien ou code LINK_*
Codes Descriptions
LINK_ROOT 1 Envoie à la tâche de la prim racine.
LINK_SET -1 Envoie à toutes les tâches.
LINK_ALL_OTHERS -2 Envoie à toutes les autres tâches
Codes Description
LINK_ALL_CHILDREN -3 Envoie à toutes les tâches filles
LINK_THIS -4 Envoie à la prim contenant ce script.

Inconvénients

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.

// 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");
    }
}

Voir également

Fonctions

•  llGetLinkNumber Renvoie le numéro du lien de la prim contenant le script.
•  llGetKey Renvoie la clé d’une prim
•  llGetLinkName Renvoie le nom d’une prim

Notes avancées

Historique

Bugs

• Open Bug    llGetLinkKey renvoie le mauvais résultat lorsque LINK_THIS est passé en argument