LlBreakAllLinks

来自人工智能助力教育知识百科
Mkx讨论 | 贡献2020年4月14日 (二) 15:00的版本
跳转至: 导航搜索

Template:Needs Translation/


函数名
Function: llBreakAllLinks( );
参数:无
返回值:删除链接集中的所有prims.
注意事项
如果所有者对包含脚本的对象没有编辑权限,则此函数将失败,系统消息“链接删除失败,因为您没有编辑权限”将由所有者接收

要运行此函数,脚本必须使用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 linkes, then breaks all links on touch.
default{
  state_entry(){
    llRequestPermissions( llGetOwner(), PERMISSION_CHANGE_LINKS );
  }
 
  run_time_permissions( integer vBitPermissions ){
    if (PERMISSION_CHANGE_LINKS & vBitPermissions){
      state sMain;
    }else{
      llResetScript();
    }
  }
}
 
state sMain{
  touch_start( integer vIntTouched ){
    llBreakAllLinks();
  }
}
相关函数
llGetPermissions – 获得授予的权限

llGetPermissionsKey - 获取授予权限的代理

llRequestPermissions –请求权限

llBreakLink – 打破一个链接

llCreateLink – 链接到另一个对象

相关事件
run_time_permissions – 允许接收事件

changedCHANGED_LINK