查看“LlAvatarOnLinkSitTarget”的源代码
←
LlAvatarOnLinkSitTarget
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名=Function: key llAvatarOnLinkSitTarget( integer link ); |参数=返回一个密钥,该密钥是位于prim上的用户的UUID。 |返回值=•整数链接-链接编号(1:根prim,>1:子prim和就座化身)或链接标志 如果prim缺少一个sit目标或者没有化身坐在prim上,则返回空密钥。 |注意事项= link需要是一个实际的link号或一个等同于单个prim的link常量,例如link_ROOT和link_THIS。 链接集、链接所有子项和链接所有其他子项都将不起作用。 除非以非零向量作为第一个参数调用llSitTarget/llLinkSitTarget,否则prim没有sit目标。 当有人坐在未链接的prim上时,根链接号从0变为1。 因此(llAvatarOnLinkSitTarget(0)==NULL_KEY)始终为true。没有人坐过0号链接 |示例= <pre> // Unseat a second avatar on this object string one_sitter_message = "Hey! I don't take passengers."; default { state_entry() { // Sit target 1 is your sit target on the root prim llLinkSitTarget(1,<0.0,0.0,0.5>,ZERO_ROTATION); // Sit target 2 is the target on child prim 2, a small transparent prim inside the object llLinkSitTarget(2, <0.0,0.0,0.1>,ZERO_ROTATION); } changed(integer change) { if (change & CHANGED_LINK) { // An avatar on child prim 2, whether seated by choice or by redirection after sit target 1 is occupied, will be unseated. if (llAvatarOnLinkSitTarget(2)) { llRegionSayTo(llAvatarOnLinkSitTarget(2),PUBLIC_CHANNEL, one_sitter_message); llUnSit(llAvatarOnLinkSitTarget(2)); } // Now pay attention to the avatar on the root prim. key agent = llAvatarOnLinkSitTarget(1); if (agent) { llRegionSayTo(agent,PUBLIC_CHANNEL,"Hello!"); } } } } </pre> |相关函数= • [[llGetLinkNumber]]–返回脚本所在的prim的链接号。 • [[llAvatarOnSitTarget]] • [[llLinkSitTarget]] • [[llGetLinkKey]] |相关事件= 笔记 链接编号 构成对象的每个prim都有一个地址、一个链接号。要访问对象中的特定prim,必须知道prim的链接号。除了具有链接号的prim,坐在对象上的化身也一样。 如果一个对象只由一个prim组成,并且上面没有化身,则(根)prim的链接号为零。 但是,如果对象是由多个prim组成的,或者对象上有一个化身,则根prim的链接号是1。 当化身坐在一个对象上时,它被添加到链接集的末尾,并且将拥有最大的链接数。此外,当化身坐在对象上时,如果不首先打开所有化身,对象将无法链接或取消链接prim。 计算原形和化身 当试图找到一个对象上的prim和avatar的数量时,有两个感兴趣的函数。 llGetNumberOfPrims()-返回prims和就座化身的数量。 llGetObjectPrimCount(llGetKey())-仅返回对象中的prim数,但对于附件将返回零。 integer GetPrimCount(){//始终只返回prim的数量 if(llGetAttached())//是否已附加? return llGetNumberOfPrims();//返回头像和prims,但是附件不能放在上面。 return llGetObjectPrimCount(llGetKey());//只返回prim,不处理附件。 } 请参阅llGetNumberOfPrims,了解有关计算prim和avatar的更多信息。 勘误表 如果子prim中的脚本错误地尝试访问链接0,则它将获取或设置链接集的根prim的属性。这个bug(bug-5049)是为损坏的遗留脚本保留的。 可以使用llGetObjectDetails来确定化身在sit目标上的位置(参见llSitTarget的示例)。 如果一个对象有多个座位(每个座位都有一个用llSitTarget设置坐姿目标的脚本,或者linkset有一个分配多个llLinkSitTargets的脚本),则以下方法确定化身最终位于哪个坐姿目标: 如果单击的prim有一个sit目标,而该sit目标未满,则使用该sit目标。 如果单击的prim没有sit目标,并且一个或多个其他链接的prim具有未满的sit目标,则将使用链接数最低的prim的sit目标。 }}
该页面使用的模板:
模板:LSL Header
(
查看源代码
)
模板:LSLC
(
查看源代码
)
模板:LSLGC
(
查看源代码
)
模板:Multi-lang
(
查看源代码
)
模板:函数详情
(
查看源代码
)
返回至
LlAvatarOnLinkSitTarget
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
网站首页
知识百科
编辑帮助
最近更改
工具
链入页面
相关更改
特殊页面
页面信息