查看“LlTeleportAgent”的源代码
←
LlTeleportAgent
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = Function: llTeleportAgent( key avatar, string landmark, vector position, vector look_at ); |参数= 参数:请求将化身传送到存储在对象清单中的地标。如果没有提供地标(空字符串),则化身被传送到当前区域中的位置。在任何一种情况下,化身都被转向朝向look\u at给出的方向。 •关键化身(key avatar)–同一区域的化身UUID(要传送的化身必须是所有者) •string landmark–此脚本所在的prim目录中的地标或空字符串(用于在同一区域内传送) •矢量位置(vector position)–如果没有提供地标,则在本地区域内将化身传送到的位置。 •vector look_at–化身到达时应面向的区域内的位置。(注意:这与llteleportagentglobalords中的同一参数不同,后者需要一个方向。) 要运行此函数,脚本必须使用llRequestPermissions请求权限“传送”权限,并且必须由avatar授予。 |返回值= 返回值:无 |注意事项=如果landmark不是空字符串。 prim的库存中缺少landmark,或者它不是landmark,则在DEBUG峎CHANNEL上显示错误。 权限 不依赖于自动授予权限的状态。始终使用“运行时”权限事件。 如果脚本缺少权限“传送”,脚本将在调试频道上发出错误消息,操作失败(但脚本继续运行)。 如果许可_TELEPORT是由除avatar之外的任何人授予的,那么当函数被调用时,DEBUG频道上会发出一个错误。 一旦PERMISSION\u TELEPORT权限被授予,除了从脚本内部(例如,使用一个新的llRequestPermissions调用)或脚本被重置或删除之外,就无法撤消它。 此功能只能传送对象的所有者(除非是经验的一部分)。 传送被限制了 此函数不能在使用[[llAttachToAvatarTemp]]附加的对象中的脚本中使用。 坐着的化身不能用这个功能传送。你必须先解开它们。 此功能不会覆盖包裹的传送设置,也就是说,如果包裹启用了着陆区域,则代理将被传送到那里。 如果脚本是虚拟人物授予许可的体验的一部分,那么这个功能可以在不作为所有者的情况下传送它们,并且它将覆盖包裹传送路由。请参阅下面的示例。 |示例= 在物品清单上没有地标 <pre> key teleportee; default { state_entry() { llSay(0, "Touch to teleport"); } touch_start(integer total_num) { teleportee = llDetectedKey(0); llRequestPermissions(teleportee, PERMISSION_TELEPORT); } run_time_permissions(integer perm) { if(PERMISSION_TELEPORT & perm) { llTeleportAgent(teleportee, "", <13.0, 38.0, 23.5>, <13.0, 12.0, 23.5>); } } } </pre> 物品清单上有个地标 <pre> key teleportee; default { state_entry() { llSay(0, "Touch to teleport"); } touch_start(integer total_num) { teleportee = llDetectedKey(0); llRequestPermissions(teleportee, PERMISSION_TELEPORT); } run_time_permissions(integer perm) { if(PERMISSION_TELEPORT & perm) { llTeleportAgent(teleportee, "Experience Tools 1", <0.0, 0.0, 0.0>, <0.0, 0.0, 0.0>); } } } </pre> 如何在体验中使用此功能 <pre> // A SIMPLE SCRIPT that implements an Experience based teleport. // Compile with the "Use Experience" box cnecked and an experience key you own selected. // The prim containing this script must contain a landmark named "Landmark" in its contents // // If the person touching this box has not previously accepted an invitation to your experience, // that person will be offered that opportunity when this prim is touched, and if the invitations // is accepted, will be immediately teleported to the target of the landmark. // // If the toucher has previously accepted an invitation, the person will be immediately teleported // with no interruption. // // The script has no safety features, e.g., will simply fail if the prim contains no landmark. // // Thanks to Rolig Loon for her help in figuring out how to do this // See https://community.secondlife.com/t5/English-Knowledge-Base/Experiences-in-Second-Life/ta-p/2744686 // to read what the Lindens think is an adequate explanation of all this. default { touch_start(integer n) { llRequestExperiencePermissions(llDetectedKey(0), ""); } experience_permissions(key av) { llTeleportAgent(av, "Landmark", ZERO_VECTOR, ZERO_VECTOR); } } </pre> |相关函数= [[llGetPermissions]]–获得授权 [[llGetPermissionsKey]] –找到授予权限的代理 [[llRequestPermissions]]–请求权限 [[llTeleportAgentGlobalCoords]] –将代理传送到全球位置。 |相关事件=[[run_time_permissions]]–权限接收事件 }}
该页面使用的模板:
模板:LSL Header
(
查看源代码
)
模板:LSLC
(
查看源代码
)
模板:LSLGC
(
查看源代码
)
模板:Multi-lang
(
查看源代码
)
模板:函数详情
(
查看源代码
)
返回至
LlTeleportAgent
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
网站首页
知识百科
编辑帮助
最近更改
工具
链入页面
相关更改
特殊页面
页面信息