LlDetectedPos/ja

From Second Life Wiki

メインページ > LlDetectedPos > LlDetectedPos/ja
Jump to: navigation, search

関数: vector llDetectedPos( integer number );

検出したオブジェクトの位置のvector値を返します。

• integer number 探知情報の番号

number には負のインデックスを使用できません。
numberが検出されたオブジェクトの妥当な番号ではないとき<0.0, 0.0, 0.0>が返ります。

仕様

llDetected* 関数はどこでも使用可能ですが、探知イベント内、および探知イベントから呼ばれた関数内で使われた場合のみ非デフォルト値を返します。

警告

  • number が正常なインデックス範囲を外れていても、スクリプトはエラー表示を出さずに処理を続けます。
  • llDetected* 関数が有効になるイベントは、常に少なくとも 1 個以上の探知結果を返します。
    • 何も探知されなかった場合、探知イベントは発生しません。(no_sensor イベントはある意味例外ですが、llDetected* 関数はそこでは無効です。)
    • イベントの探知個数を表す引数は、決して 1 未満にはなりません。

//--// get sim position of Avatars in "say" range //--//
 
//-- @@ = Contains code optimizations, see the following page for details
//-- https://wiki.secondlife.com/wiki/User:Void_Singer/Optimizations
 
default
{
  state_entry()
  {
    llOwnerSay( "Touch me to get the positions of avatars in 'Say' range" );
  }
 
  touch_start( integer vIntTouchCount )
  {
     //-- trigger the sensor for avatars within 20m
    llSensor( "", "", AGENT, 20, PI );
  }
 
  sensor( integer vIntFound )
  {
    integer vIntCounter = 0;
     //-- loop through all avatars found
    do
    {
      llOwnerSay( llDetectedName( vIntCounter )
                  + " @ "
                   //-- the next line gets the position of each found avatar
                  + (string)llDetectedPos( vIntCounter ) );
    }while (++vIntCounter < vIntFound); //-- @@
  }
 
   //-- sensor does not detect owner if it's attached
  no_sensor()
  {
    llOwnerSay( "I couldn't find anybody" );
  }
}

関連項目

項目

•  Detected
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。
Personal tools
In other languages