Skip to content

llGetLinkKey

key llGetLinkKey(integer LinkNumber)

Returns the key of the linked prim LinkNumber.

Returns the key of LinkNumber in the link set.

Parameters
LinkNumber (integer)

This script demonstrates how llGetLinkKey relates to other link-related functions like llGetKey, llGetLinkNumber, and llGetNumberOfPrims. Drag it onto linked and unlinked prims, with avatars sitting or not, to see the relationships:

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