查看“LlAvatarOnSitTarget”的源代码
←
LlAvatarOnSitTarget
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名=Function: key llAvatarOnSitTarget( ); |参数=返回一个密钥,该密钥是位于prim上的用户的UUID。 |返回值=如果prim缺少一个sit目标或者没有化身坐在prim上,则返回空密钥。 |注意事项= prim没有sit目标,除非使用非零向量作为第一个参数调用[[llSitTarget]]。 如果prim缺少一个sit目标,或者avatar位于另一个prim上,则确定对象上有多少个avatar以及哪些avatar的唯一方法是扫描链接集(例如,请参见[[llGetNumberOfPrims]])。 |示例= <pre> default { state_entry() { // set sit target, otherwise this will not work llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION); } changed(integer change) { if (change & CHANGED_LINK) { key av = llAvatarOnSitTarget(); if (av) // evaluated as true if key is valid and not NULL_KEY { llSay(0, "Hello " + llKey2Name(av) + ", thank you for sitting down"); } } } } </pre> 有用的片段 <pre> /Gets the link number of a seated avatar integer GetAgentLinkNumber(key avatar) { integer link_num = llGetNumberOfPrims(); while (link_num > 1) // Check only child prims. { if (llGetLinkKey(link_num) == avatar) // If it is the avatar we want { return link_num; // then return the link number } --link_num; // else go on with next child. } // Avatar wasn't found return FALSE; // 0 (zero) for easy testing. } //It's sometimes useful to use a state change //useful when the prim is linked to an other prim //and useful with a dialog box default { state_entry() { //"Sit target is a prim property." llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION); } changed(integer change) { if (change & CHANGED_LINK) { key av_sit = llAvatarOnSitTarget(); if (av_sit) { //Someone is on the sit target. state sitting; } } } } state sitting { state_entry() { //Open a dialog box when an avatar is sitting on the prim key av_menu = llAvatarOnSitTarget(); llListen(-99, "", av_menu, "Yes"); llDialog(av_menu, "\nDo you like this example?", ["Yes", "No" ] , -99); } changed(integer change) { if (change & CHANGED_LINK) { key av_unsit = llAvatarOnSitTarget(); if (av_unsit == NULL_KEY) { //No one is on the sit target. //"On state change all listens are removed automatically." state default; } } } listen(integer chan, string name, key id, string msg) { // If the user clicked the "Yes" button llWhisper(0, "Thank you"); } } </pre> |相关函数= • [[llAvatarOnLinkSitTarget]] • [[llSitTarget]] • [[llLinkSitTarget]] • [[llGetLinkKey]] 文献 [[CHANGED_LINK]] |相关事件= The position of an avatar on a sit target can be determined with the use of [[llGetObjectDetails]] (see [[llSitTarget]] for an example). }}
该页面使用的模板:
模板:LSL Header
(
查看源代码
)
模板:LSLC
(
查看源代码
)
模板:LSLGC
(
查看源代码
)
模板:Multi-lang
(
查看源代码
)
模板:函数详情
(
查看源代码
)
返回至
LlAvatarOnSitTarget
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
网站首页
知识百科
编辑帮助
最近更改
工具
链入页面
相关更改
特殊页面
页面信息