Template:Needs Translation/
函数名
|
Function:llCreateLink( key target, integer parent );
|
参数:
• key target – 在同一地区的 UUID
• integer parent – 如果是FALSE,那么目标就变成了根。如果是TRUE,那么脚本所在物体就变成了根。
|
返回值:试图将脚本的对象与目标连接起来
|
注意事项
|
这个函数使脚本休眠1.0秒。
Permissions
不依赖于权限的自动授予状态。 总是使用运行时权限事件。
如果脚本缺少权限更改链接,脚本将在调试通道上喊出一个错误,操作失败(但脚本继续运行)。
如果权限更改链接是由所有者以外的任何人授予的,那么当函数被调用时,将在调试通道上呼叫一个错误。 一旦权限变更链接权限被授予,除了从脚本内部(例如,新的 llrequestpermission call)或脚本被重置或删除之外,没有其他方法来撤销它。
如果对象或目标不可修改或者拥有不同的所有者,则在调试通道中喊出错误。
如果父对象和目标之间的距离太远,它们将无法进行链接。最大距离在这里进一步解释: 链接性规则如果从附件中的脚本调用,这个函数将无声地失败.
|
示例
|
// Rez an object and link it as a child prim.
string ObjectName = "Object Name Here";
// NOTE: must be a name of an object in this object's inventory.
default
{
touch_start(integer count)
{
// When the object is touched, make sure we can do this before trying.
llRequestPermissions(llGetOwner(), PERMISSION_CHANGE_LINKS);
}
run_time_permissions(integer perm)
{
// Only bother rezzing the object if will be able to link it.
if (perm & PERMISSION_CHANGE_LINKS)
llRezObject(ObjectName, llGetPos() + <0,0,0.5>, ZERO_VECTOR, llGetRot(), 0);
else
llOwnerSay("Sorry, we can't link.");
}
object_rez(key id)
{
// NOTE: under some conditions, this could fail to work.
// This is the parent object. Create a link to the newly-created child.
llCreateLink(id, TRUE);
}
}
|