“LlBreakLink”的版本间的差异

来自人工智能助力教育知识百科
跳转至: 导航搜索
(创建页面,内容为“{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = Function: llBreakLink( integer link ); |参数= 参数:integer lin…”)
 
Mkx讨论 | 贡献
 
(未显示同一用户的5个中间版本)
第5行: 第5行:
 
|函数名 = Function: llBreakLink( integer link );
 
|函数名 = Function: llBreakLink( integer link );
 
|参数= 参数:integer link – Link number (0: unlinked, 1: root prim, >1: child prims and seated avatars)  
 
|参数= 参数: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
+
|返回值= 返回值:将prim与被链接对象集中给定的链接号断开连接
  
  
|注意事项=This function removes sitting avatars from the object, even if not sitting on the unlinked prim.
+
|注意事项=这个函数从对象中删除坐着的化身,即使不是坐在未链接的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.
+
如果所有者对包含脚本的对象没有编辑权限,则此函数将失败,系统消息“Delink失败,因为您没有编辑权限”将由所有者接收。
  
A prim with PERMISSION_CHANGE_LINKS can delink any prim in the linked object set even itself or the root
+
带[[PERMISSION_CHANGE_LINKS]]的prim可以断开被链接对象集中的任何prim,甚至是它自己或根link当前唯一支持的LINK_*标志是[[LINK_ROOT]]。[[svc - 3510]]
  
The only LINK_* flag that link currently supports is LINK_ROOT. SVC-3510
+
  使用[[llGetLinkNumber]]()作为参数来解除脚本的prim的链接,而不是[[LINK_THIS]]。
 +
  使用[[llBreakAllLinks]]()代替使用[[LINK_SET]]、[[LINK_ALL_CHILDREN]]或[[LINK_ALL_OTHERS]]作为llBreakLink的参数。
  
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.
+
要运行此函数,脚本必须使用[[llRequestPermissions]]请求[[PERMISSION_CHANGE_LINKS]]权限,并且必须由所有者授予该权限。
  
 +
  Permissions
 +
  不要依赖于权限的自动授予状态。始终使用[[run_time_permissions]]事件。
 +
  如果脚本缺少权限[[PERMISSION_CHANGE_LINKS]],脚本将在[[DEBUG_CHANNEL]]上报错,操作失败(但是脚本继续运行)。
 +
  如果[[PERMISSION_CHANGE_LINKS]]是由所有者以外的任何人授予的,那么当调用该函数时,将在[[DEBUG_CHANNEL]]上显示一个错误。
 +
  一旦[[PERMISSION_CHANGE_LINKS]]权限被授予,除了从脚本内部(例如,使用一个新的[[llRequestPermissions]]调用)或脚本被重置或删除外,就没有其他方法来撤销它。
  
To run this function the script must request the PERMISSION_CHANGE_LINKS permission with [[llRequestPermissions]] and it must be granted by the owner.
 
<pre>
 
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.
 
</pre>
 
  
 
|示例=
 
|示例=
第52行: 第46行:
 
</pre>
 
</pre>
  
|相关函数=  [[llGetLinkNumber]] – Returns the link number of the prim the script is in.
+
|相关函数=  [[llGetLinkNumber]] – 返回脚本所在的[[prim]]的链接
  
[[llGetPermissions]] – Get the permissions granted
+
[[llGetPermissions]] – 获得授予的权限
  
[[llGetPermissionsKey]] – Get the agent who granted permissions
+
[[llGetPermissionsKey]] – 获取授予权限的代理
  
[[llRequestPermissions]] – Request permissions
+
[[llRequestPermissions]] – 请求权限
  
[[llBreakAllLinks]] – Break all links
+
[[llBreakAllLinks]] – 打破所有的链接
  
[[llCreateLink]] – Link to another object
+
[[llCreateLink]] – 链接到另一个对象
  
|相关事件= run_time_permissions – Permission receiving event
+
|相关事件= run_time_permissions – 允许接收事件
  
changed – CHANGED_LINK
+
changed – [[CHANGED_LINK]]
 
}}
 
}}

2020年4月14日 (二) 15:23的最新版本

Template:Needs Translation/


函数名
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_ROOTsvc - 3510

 使用llGetLinkNumber()作为参数来解除脚本的prim的链接,而不是LINK_THIS。
 使用llBreakAllLinks()代替使用LINK_SETLINK_ALL_CHILDRENLINK_ALL_OTHERS作为llBreakLink的参数。


要运行此函数,脚本必须使用llRequestPermissions请求PERMISSION_CHANGE_LINKS权限,并且必须由所有者授予该权限。

 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