LlGetLinkKey
From Second Life Wiki
| LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Tutorials |
Contents |
Summary
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
- The only LINK_* flag that can be used with link_number is LINK_ROOT.
- LINK_THIS does not work. ~ SVC-600
- Since this function only returns a (single) key and not a list of keys, multi-prim LINK_* flags (LINK_SET, LINK_ALL_OTHERS, and LINK_ALL_CHILDREN) are not accepted by this function.
Important Issues
~ Search JIRA for related Bugs| | | SVC-600 | [c] | 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| | | SVC-600 | [c] | 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.

