LlAvatarOnSitTarget/ja

From Second Life Wiki
Jump to navigation Jump to search

要約

関数: key llAvatarOnSitTarget( );

プリムに座っているユーザの UUID を key で返します。

プリムに 着座ポイント がないか、プリムにアバターが座っていないときは、 NULL_KEY が返されます。

警告

  • プリムは、llSitTargetゼロ以外の ベクトル値を第一引数にして呼ばれない限りは、着座ポイント をもちません。
  • プリムに着座ポイントがないか、アバターが他のプリムに座っている場合、オブジェクトに座っているアバターの人数や、どのアバターがオブジェクトに座っているかを知る唯一の方法は、リンクセットをスキャンすることです (例として、llGetNumberOfPrims を参照してください)。
All Issues ~ Search JIRA for related Bugs

サンプル

<lsl>default {

   state_entry()
   {
       //着座ポイントを設定します。そうしないと動きません
       llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION);
   }
   changed(integer change) {
       if (change & CHANGED_LINK) { 
           key av = llAvatarOnSitTarget();
           if (av) {//NULL_KEY または不正な値でない場合、true となります
               llSay(0, "こんにちは " + llKey2Name(av) + "さん。座ってくれてありがとう");
           }
       }
   }
}</lsl>

便利なスニペット

<lsl>//座っているアバターのリンク番号を取得します integer GetAgentLinkNumber(key avatar) {

   integer linkNum = 1 + llGetNumberOfPrims();
   key linkKey;
   //次に linkKey を取得し、それが null でないことを確かめます。null であれば既にやっていることになります
   while((linkKey = llGetLinkKey( --linkNum )))//key が正当か?
       if(avatar == linkKey)//意図しているアバターか?
           return linkNum;//意図したアバターなら復帰します
   //アバターが見つからない
   //LINK_* フラグでない、かつリンク番号でない数字を返します。
   return 0x7FFFFFFF;//最大の integer

}//Written by Strife Onizuka</lsl>

注意点

着座ポイント に座っているアバターの位置は llGetObjectDetails を使って導き出すことができます (例として llSitTarget を参照してください)。

関連項目

イベント

•  changed

関数

•  llSitTarget
•  llGetLinkKey

記事

•  CHANGED_LINK

特記事項

Search JIRA for related Issues

Signature

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