LlBreakLink
首页 | 函数 | 事件 | 类型 | 操作符 | 常数 | Flow Control | Script Library | Categorized Library | Tutorials |
函数名 |
---|
Function: llBreakLink( integer link ); |
参数:integer link – Link number (0: unlinked, 1: root prim, >1: child prims and seated avatars) |
返回值:将prim与被链接对象集中给定的链接号断开连接 |
注意事项 |
---|
这个函数从对象中删除坐着的化身,即使不是坐在未链接的prim上。
如果从附件中的脚本调用此函数,则此函数将无声地失败。 如果所有者对包含脚本的对象没有编辑权限,则此函数将失败,系统消息“Delink失败,因为您没有编辑权限”将由所有者接收。 带PERMISSION_CHANGE_LINKS的prim可以断开被链接对象集中的任何prim,甚至是它自己或根link当前唯一支持的LINK_*标志是LINK_ROOT。svc - 3510 使用llGetLinkNumber()作为参数来解除脚本的prim的链接,而不是LINK_THIS。 使用llBreakAllLinks()代替使用LINK_SET、LINK_ALL_CHILDREN或LINK_ALL_OTHERS作为llBreakLink的参数。
Permissions 不要依赖于权限的自动授予状态。始终使用run_time_permissions事件。 如果脚本缺少权限PERMISSION_CHANGE_LINKS,脚本将在DEBUG_CHANNEL上报错,操作失败(但是脚本继续运行)。 如果PERMISSION_CHANGE_LINKS是由所有者以外的任何人授予的,那么当调用该函数时,将在DEBUG_CHANNEL上显示一个错误。 一旦PERMISSION_CHANGE_LINKS权限被授予,除了从脚本内部(例如,使用一个新的llRequestPermissions调用)或脚本被重置或删除外,就没有其他方法来撤销它。 |
示例 |
---|
//-- requests permission to change links, then breaks the link //-- between the prim and the rest of the object, on touch. default{ touch_start( integer vIntTouched ) { llRequestPermissions( llGetOwner(), PERMISSION_CHANGE_LINKS ); } run_time_permissions( integer perm ) { if(perm & PERMISSION_CHANGE_LINKS) { llBreakLink( llGetLinkNumber() ); } } } |
相关函数 |
---|
llGetLinkNumber – 返回脚本所在的prim的链接
llGetPermissions – 获得授予的权限 llGetPermissionsKey – 获取授予权限的代理 llRequestPermissions – 请求权限 llBreakAllLinks – 打破所有的链接 llCreateLink – 链接到另一个对象 |
相关事件 |
---|
run_time_permissions – 允许接收事件
changed – CHANGED_LINK |