LlBreakAllLinks

来自人工智能助力教育知识百科
跳转至: 导航搜索

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