LlAvatarOnSitTarget/ja

From Second Life Wiki
< LlAvatarOnSitTarget
Revision as of 02:54, 12 April 2010 by Mako Nozaki (talk | contribs) (Undo revision 849032 by Mako Nozaki (Talk))
Jump to navigation Jump to search

要約

関数: key llAvatarOnSitTarget( );

primに座ったユーザのUUIDを key で返します。

プリムにsit targetがない場合、もしくはプリムにアバターが座っていない場合、NULL_KEYが返されます。

警告

  • プリムにはllSitTargetが最初の属性が0ではないvectorで呼ばれる場合を除いて、sit targetがありません。
  • プリムにsit targetが欠けているか、アバタが違うプリム上に座られている場合、アオブジェクトに座られるアバタの数は、リンクセットで確認する数1でのみ決定されます。

サンプル

<lsl> 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 not NULL_KEY or invalid
               llSay(0, "Hello " + llKey2Name(av) + ", thank you for sitting down");
           }
       }
   }

}

</lsl>

便利なスニペット

<lsl> //Gets the link number of a seated avatar integer GetAgentLinkNumber(key avatar) {

   integer linkNum = 1 + llGetNumberOfPrims();
   key linkKey;
   //Next we get the linkKey and make sure it's not null, if it's null we are done.
   while((linkKey = llGetLinkKey( --linkNum )))//is the key valid?
       if(avatar == linkKey)//is it the avatar we want?
           return linkNum;//It's the avatar we want so return.
   //avatar wasn not found
   //return a number that isn't a LINK_* flag not a valid link number either.
   return 0x7FFFFFFF;//max int.

}//Written by Strife Onizuka </lsl>

注意点

  1. llGetLinkKeyのような関数を用いてリンクセットを捜査すること。(llGetNumberOfPrims/ja#Useful_Snippetsの例を参照)
  2. sit targetのアバタの位置はllGetObjectDetailsを用いて測定できます。( llSitTarget/ja#Useful_Snippetsの例を参照)

関連項目

イベント

•  changed

関数

•  llSitTarget
•  llGetLinkKey

記事

•  CHANGED_LINK

特記事項

Search JIRA for related Issues

Signature

function key llAvatarOnSitTarget();
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。