“LlBreakLink”的版本间的差异
第16行: | 第16行: | ||
A prim with PERMISSION_CHANGE_LINKS can delink any prim in the linked object set even itself or the root | A prim with PERMISSION_CHANGE_LINKS can delink any prim in the linked object set even itself or the root | ||
− | The only LINK_* flag that link currently supports is LINK_ROOT. SVC-3510 | + | The only LINK_* flag that link currently supports is LINK_ROOT. SVC-3510 |
+ | |||
+ | Use [[llGetLinkNumber]]() as the parameter to unlink the script's prim, not LINK_THIS. | ||
− | + | Use [[llBreakAllLinks]]() instead of using LINK_SET, LINK_ALL_CHILDREN, or LINK_ALL_OTHERS as the parameter for llBreakLink. | |
− | |||
− | |||
2020年4月13日 (一) 03:13的版本
首页 | 函数 | 事件 | 类型 | 操作符 | 常数 | 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) |
返回值:Delinks the prim with the given link number in a linked object set |
注意事项 |
---|
This function removes sitting avatars from the object, even if not sitting on the unlinked prim.
This function silently fails if called from a script inside an attachment. This function fails if the owner does not have edit permissions on the object containing the script, the system message "Delink failed because you do not have edit permission" is received by the owner. A prim with PERMISSION_CHANGE_LINKS can delink any prim in the linked object set even itself or the root The only LINK_* flag that link currently supports is LINK_ROOT. SVC-3510 Use llGetLinkNumber() as the parameter to unlink the script's prim, not LINK_THIS. Use llBreakAllLinks() instead of using LINK_SET, LINK_ALL_CHILDREN, or LINK_ALL_OTHERS as the parameter for llBreakLink.
Permissions Do not depend upon the auto-grant status of permissions. Always use the run_time_permissions event. If the script lacks the permission PERMISSION_CHANGE_LINKS, the script will shout an error on DEBUG_CHANNEL and the operation fails (but the script continues to run). If PERMISSION_CHANGE_LINKS is granted by anyone other than the owner, then when the function is called an error will be shouted on DEBUG_CHANNEL. Once the PERMISSION_CHANGE_LINKS permission is granted there is no way to revoke it except from inside the script (for example, with a new llRequestPermissions call) or the script is reset or deleted. |
示例 |
---|
//-- 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 – Returns the link number of the prim the script is in.
llGetPermissions – Get the permissions granted llGetPermissionsKey – Get the agent who granted permissions llRequestPermissions – Request permissions llBreakAllLinks – Break all links llCreateLink – Link to another object |
相关事件 |
---|
run_time_permissions – Permission receiving event
changed – CHANGED_LINK |