Template:Needs Translation/
函数名
|
Function: key llGetLinkKey( integer link )
|
参数:integer link–Link number (0: unlinked, 1: root prim, >1: child prims and seated avatars) or a LINK_* flag
|
返回值:返回链接的prim链接的键
|
注意事项
|
注意事项
- link需要是一个实际的链接数,或者是等同于单个prim的链接常量,比如LINK_ROOT和LINK_THIS。
- LINK_SET, LINK_ALL_CHILDREN和LINK_ALL_OTHERS不能工作。
|
示例
|
将这个脚本拖到已链接和未链接的prims上,无论化身是否坐着,查看llGetLinkKey如何与llGetKey, llGetLinkNumber, llGetNumberOfPrims, LINK_ROOT等相关。
// 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");
}
}
|