查看“LlTeleportAgentGlobalCoords”的源代码
←
LlTeleportAgentGlobalCoords
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = Function: llTeleportAgentGlobalCoords( key agent, vector global_coordinates, vector region_coordinates, vector look_at ); |参数= 参数: 将代理传送到指定全局_坐标的区域内的区域_坐标集。探员朝着look\u at定义的方向着陆。可以使用llRequestSimulatorData(region_name,DATA_SIM_POS)检索区域的全局坐标 •密钥代理(key agent)–位于同一区域的化身UUID(要传送的化身) •矢量全局坐标(vector global_coordinates)–目的地区域的全局坐标。可以使用llRequestSimulatorData(地区名称,数据_SIM_POS)检索。 •矢量区域_坐标( vector region_coordinates)–化身着陆的区域坐标位置。 •vector look_at–化身着陆时应面向的方向(东、西等)。 若要运行此函数,脚本必须使用[[llRequestPermissions]]请求“传送”权限,并且必须由代理授予该权限。 [[llRequestSimulatorData]]和[[llteleportagentglobalords]]的组合允许代理通过区域名称传送到区域。 |返回值= 返回值:无 |注意事项=不依赖于自动授予权限的状态。始终使用“运行时”权限事件。 如果脚本缺少权限“传送”,脚本将在调试频道上发出错误消息,操作失败(但脚本继续运行)。 如果权限_TELEPORT是由代理以外的任何人授予的,那么当函数被调用时,DEBUG峎通道上将会发出一个错误。 一旦PERMISSION\u TELEPORT权限被授予,除了从脚本内部(例如,使用一个新的llRequestPermissions调用)或脚本被重置或删除之外,就无法撤消它。 此功能只能传送对象的所有者(除非是经验的一部分)。 传送被限制了 此函数不能在使用llAttachToAvatarTemp附加的对象中的脚本中使用。 坐着的化身不能用这个功能传送。你必须先解开它们。 此功能不会覆盖包裹的传送设置,也就是说,如果包裹启用了着陆区域,则代理将被传送到那里。 如果脚本是虚拟人物授予许可的体验的一部分,那么这个功能可以在不作为所有者的情况下传送它们,并且它将覆盖包裹传送路由。 look\u at不是区域中某个点的坐标。look_-at向量是<llCos(facing),llSin(faceing),0.0>,其中facing是到达的化身要看的角度。 |示例= 示例1 <pre> string simName = "Help Island Public"; vector simGlobalCoords; vector landingPoint = <128.0, 128.0, 24.0>; key owner; default { on_rez(integer start_param) { llResetScript(); } changed(integer change) { if (change & CHANGED_OWNER) llResetScript(); } state_entry() { owner = llGetOwner(); llRequestPermissions(owner, PERMISSION_TELEPORT); llRequestSimulatorData(simName, DATA_SIM_POS); } touch_start(integer total_number) { key id = llDetectedKey(0); if (id == owner) { if (simGlobalCoords == ZERO_VECTOR) { llOwnerSay("Config error, tp request was denied. Please try again!"); llResetScript(); } else { llOwnerSay("Teleporting you to: http://maps.secondlife.com/secondlife/" + llEscapeURL(simName) + "/" + (string)llRound(landingPoint.x) + "/" + (string)llRound(landingPoint.y) + "/" + (string)llRound(landingPoint.z) + "/"); llTeleportAgentGlobalCoords(owner, simGlobalCoords, landingPoint, ZERO_VECTOR); } } else { // llRegionSayTo is faster than llInstantMessage and we can assume // that the touching avatar is within the same sim llRegionSayTo(id, PUBLIC_CHANNEL, "Sorry, I can't tp you. You're NOT my owner!"); } } run_time_permissions(integer perm) { // if permission request has been denied (read ! as not) if (!(perm & PERMISSION_TELEPORT)) { llOwnerSay("I need permissions to teleport you!"); llRequestPermissions(owner, PERMISSION_TELEPORT); } } // dataserver event only called if data is returned // or in other words, if you request data for a sim that does // not exist this event will NOT be called dataserver(key query_id, string data) { simGlobalCoords = (vector)data; // llOwnerSay("Sim global coords: " + (string)simGlobalCoords); } } </pre> |相关函数= [[llGetPermissions]] –获得授权 [[llGetPermissionsKey]] –找到授予权限的代理 [[llRequestPermissions]]–请求权限 [[llRequestSimulatorData]]–用于请求模拟器位置 [[llTeleportAgent]]–将特工传送到该地区的地标或位置。 |相关事件=[[run_time_permissions]]–权限接收事件 }}
该页面使用的模板:
模板:LSL Header
(
查看源代码
)
模板:LSLC
(
查看源代码
)
模板:LSLGC
(
查看源代码
)
模板:Multi-lang
(
查看源代码
)
模板:函数详情
(
查看源代码
)
返回至
LlTeleportAgentGlobalCoords
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
网站首页
知识百科
编辑帮助
最近更改
工具
链入页面
相关更改
特殊页面
页面信息