LlGetLinkKey

From Second Life Wiki

Jump to: navigation, search

Template:Needs Translation/LSL/de Template:Needs Translation/LSL/es Template:Needs Translation/LSL/el Template:Needs Translation/LSL/he Template:Needs Translation/LSL/it Template:Needs Translation/LSL/ko Template:Needs Translation/LSL/nl Template:Needs Translation/LSL/hu Template:Needs Translation/LSL/no Template:Needs Translation/LSL/da Template:Needs Translation/LSL/sv Template:Needs Translation/LSL/tr Template:Needs Translation/LSL/pl Template:Needs Translation/LSL/pt Template:Needs Translation/LSL/ru Template:Needs Translation/LSL/uk Template:Needs Translation/LSL/zh-Hans Template:Needs Translation/LSL/zh-Hant

Contents

Summary

Buggy
Function: key llGetLinkKey( integer link_number );
144 Function ID
0.0 Delay
10.0 Energy

Returns the key of the linked prim link_number

• integer link_number Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag

Caveats

Important Issues

~ Search JIRA for related Bugs
Bug - A problem which impairs or prevents the functions of the product. Open - The issue is open and ready for the assignee to start work on it.    llGetLinkKey returns the wrong result when passed LINK_THIS

Examples

Drag this script on to linked and unlinked prims, with avatars sitting or not, to see how llGetLinkKey relates to llGetKey, llGetLinkNumber, llGetNumberOfPrims, LINK_ROOT, etc.

// Return the name of a link num else the empty string.
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 "";
}
 
// Say the key of each linked prim.
default
{
    state_entry()
    {
        integer theLink = llGetLinkNumber();
 
        key theLinkKey = llGetKey();
        key owner = llGetOwner();
        key creator = llGetCreator();
 
        // Visit each link num.
 
        integer link;
        integer primmed = llGetNumberOfPrims();
        for (link = -5; link <= (primmed + 5); ++link)
        {
            key linkKey = llGetLinkKey(link);
 
            // Detail the key at the link num.
 
            string line = (string) linkKey; // large constant width
 
            if (linkKey == owner) line += " llGetOwner";
            if (linkKey == creator) line += " llGetCreator";
            if (linkKey == theLinkKey) line += " llGetKey";
 
            // Detail the link num.
 
            line += " @ " + (string) link;
            line += " " + getLinkNumName(link);
            if (link == theLink) line += " llGetLinkNumber";
            if (link == primmed) line += " llGetNumberOfPrims";
 
            // Say the detail if fun.
 
            if (linkKey != NULL_KEY)
            {
                llOwnerSay(line);
            }
        }
 
        // Always count the linked prims.
 
        llOwnerSay((string) primmed + " llGetNumberOfPrims");
        llOwnerSay("OK");
    }
}

See Also

Functions

•  llGetLinkNumber Returns the link number of the prim the script is in.
•  llGetKey
•  llGetLinkName

Deep Notes

Issues

~ Search JIRA for related Issues
Bug - A problem which impairs or prevents the functions of the product. Open - The issue is open and ready for the assignee to start work on it.    llGetLinkKey returns the wrong result when passed LINK_THIS
This article wasn't helpful for you? Maybe the related article at the LSL Wiki is able to bring enlightenment.
Personal tools
In other languages