ソラマメブログ
< 2024年04月 >
S M T W T F S
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        

2007年10月25日

センサー/発言/時刻(LSL リファレンス)

センサー系の関数/イベント
名称種別内容
llSensor関数周囲のアバターやオブジェクトをスキャンする。
llSensorRepeat関数周囲のアバターやオブジェクトを繰り返しスキャンする。
llSensorRemove関数llSensorRepeatコマンドを停止する。
sensorイベントスキャン対象を検出したとき発生する。
no_sensorイベントセンサーに何も検出されなかったとき呼び出される。
発言系の関数
名称種別内容
llWhisper関数発言する。(半径10mの周囲)
llSay関数発言する。(半径20mの周囲)
llShout関数発言する。(半径100mの周囲)
llRegionSay関数発言する。(SIM全体)
llOwnerSay関数自分自身に対して発言する。
llInstantMessage関数インスタントメッセージを送信する。
時刻系の関数/イベント
名称種別内容
llSetTimerEvent関数タイマーをセットする。
timerイベントタイマーイベント。
llGetDate 関数YYYY-MM-DDフォーマットで日付を返す。(UTC)。
llGetGMTclock関数GMT 0時からの秒数を返す。

llSensor <機能> 周囲のアバターやオブジェクトをスキャンする。最大スキャン範囲は、半径96m。 sensorイベントとペアで使用する。 <構文> llSensor(string name, key id, integer type, float range, float arc) * name : スキャン対象の名称を指定する。("" とすると全ての名前が対象になる) * id : スキャン対象UUIDを指定する。(NULL_KEY とすると全てのUUIDが対象になる) * type : スキャンタイプを指定する。以下を参照。 * range : スキャン範囲(半径)を指定する。(0〜96m) * arc : スキャン角度を指定する。 PI_BY_TWO(90度)を指定した場合、センサーオブジェクトのX軸に対して上側の半球がスキャン範囲となる。 PI(180度)を指定した場合、センサーオブジェクトの全方位360度がスキャン範囲となる。 [type定数]
TypeValueDescription
AGENT1アバター。
ACTIVE2動いている物理オブジェクト。負荷の高いスクリプト(listen系)を実行中のオブジェクト。
PASSIVE4動いていない物理オブジェクト。スクリプトを未実行または負荷の軽いスクリプトを実行中のオブジェクト。
SCRIPTED8負荷の高いスクリプト(listen系)を実行中のオブジェクト。
<例> // 半径10m以内に存在するアバターをスキャンする。 llSensor("", NULL_KEY, AGENT, 10.0, PI); ページ先頭へ
llSensorRepeat <機能> 周囲のアバターやオブジェクトを繰り返しスキャンする。最大スキャン範囲は、半径96m。 sensorイベントとペアで使用する。 スキャンを停止するときは、llSensorRemove()を実行する。 <構文> llSensorRepeat(string name, key id, integer type, float range, float arc, float rate) * name : スキャン対象の名称を指定する。("" とすると全ての名前が対象になる) * id : スキャン対象UUIDを指定する。(NULL_KEY とすると全てのUUIDが対象になる) * type : スキャンタイプを指定する。以下を参照。 * range : スキャン範囲(半径)を指定する。(0〜96m) * arc : スキャン角度を指定する。 PI_BY_TWO(90度)を指定した場合、センサーオブジェクトのX軸に対して上側の半球がスキャン範囲となる。 PI(180度)を指定した場合、センサーオブジェクトの全方位360度がスキャン範囲となる。 * rate : スキャン間隔を秒数で指定する。 [type定数]
TypeValueDescription
AGENT1アバター
ACTIVE2動いている物理オブジェクト。負荷の高いスクリプト(listen系)を実行中のオブジェクト
PASSIVE4動いていない物理オブジェクト。スクリプトを未実行または負荷の軽いスクリプトを実行中のオブジェクト。
SCRIPTED8負荷の高いスクリプト(listen系)を実行中のオブジェクト。
<例> // 半径10m以内に存在するアバターを60秒間隔でスキャンする。 llSensorRepeat("", NULL_KEY, AGENT, 10.0, PI,60.0); ページ先頭へ
llSensorRemove <機能> llSensorRepeatコマンドを停止する。 <構文> llSensorRemove() ページ先頭へ
sensor <機能> スキャン対象を検出したとき発生する。 llSensorllSensorRepeatコマンドとペアで使用する。 <構文> sensor(integer num_detected) * num_detected : 検出されたアバターやオブジェクトの数が入る。 * このイベント内では、detect系の関数が使用できる。  * 検出可能な、アイテム及びアバターの最大数は、16。 [Detection Functions]
FunctionDescription
llDetectedGrabドラッグ方向を返す。
llDetectedGroupグループが同じだったら、TRUEを返す。
llDetectedKeyUUIDを返す。
llDetectedLinkNumberリンクナンバーを返す。
llDetectedName名称を返す。
llDetectedOwnerオーナーのUUIDを返す。
llDetectedPos位置を返す。
llDetectedRot回転値を返す。
llDetectedTypeタイプを返す。(AGENT, ACTIVE, PASSIVE, SCRIPTED)
llDetectedVel速度を返す。
<例> // 検出された全てのアバターやオブジェクトの名前を表示する。 sensor(integer total_number) { integer i; for (i = 0; i < total_number; i++) { llWhisper(0,llDetectedName(i)); } } ページ先頭へ
no_sensor <機能> センサーに何も検出されなかったとき呼び出される。 <構文> no_sensor() <例> no_sensor() { llWhisper(0,"It doesn't exist."); } ページ先頭へ
llWhisper llSay llShout llRegionSay <機能> 発言する。 <構文>
llWhisper(integer channel, string text)半径10m周囲
llSay(integer channel, string text)半径20m周囲
llShout(integer channel, string text)半径100m周囲
llRegionSay(integer channel, string text)SIM全体
* channel : 発言するチャンネル番号を指定する。通常のチャット画面に出力する場合は、0を指定する。 * text : 発言内容を指定する。 <例> // "Hello"と発言する。 llSay(0,"Hello"); ページ先頭へ
llOwnerSay <機能> 自分自身に対して発言する。他のユーザには発言内容は見えない。 スクリプトのデバッグ等に便利。 <構文> llOwnerSay(string msg) * msg : 発言内容を指定する。 <例> // "Hello"と発言する。 llOwnerSay("Hello"); ページ先頭へ
llInstantMessage <機能> インスタントメッセージを送信する。相手が別のSIMにいてもメッセージを届けることができる。 <構文> llInstantMessage(key user, string message) * user : 送信先の相手のUUIDを指定する。 * message : 発言内容を指定する。 <例> // センサーに検出された相手に"Hello"とIMを送信する。 sensor(integer total_number) { llInstantMessage(llDetectedKey(0),"Hello"); } ページ先頭へ
llSetTimerEvent <機能> タイマーをセットする。決まった間隔で処理を実行させたいときに使用する。 timerイベントとペアで使用する。 タイマーを停止するときは、llSetTimerEvent(0)を実行する。 <構文> llSetTimerEvent(float sec) * sec : イベントを発生する間隔を秒数で指定する。 <例> // 60秒間隔でタイマーイベントを発生させる。 llSetTimerEvent(60); ページ先頭へ
timer <機能> タイマーイベント llSetTimerEventコマンドとペアで使用する。 <構文> timer() <例> // 60秒間隔で"Hello"と発言する。 state entry { llSetTimerEvent(60); } timer() { llWhisper(0,"Hello"); } ページ先頭へ
llGetDate <機能> YYYY-MM-DDフォーマットで日付を返す。(UTC) <構文> string llGetDate() <例> llGetDate(); <参考>日本標準時を返す。 日本標準時取得関数 ページ先頭へ
llGetGMTclock <機能> GMT 0時からの秒数を返す。 <構文> float llGetGMTclock() <例> llGetGMTclock(); ページ先頭へ


同じカテゴリー(LSL リファレンス)の記事
 アバター/コンテンツ情報取得(LSL リファレンス) (2007-11-13 22:29)
 アニメ/回転/座る/テレポート(LSL リファレンス) (2007-11-12 21:48)
 ノート/テキスト/メール(LSL リファレンス) (2007-10-31 00:09)
 リンク/リッスン/ダイアログ(LSL リファレンス) (2007-10-24 22:25)
 文字列(LSL リファレンス) (2007-10-23 23:40)
 リスト(LSL リファレンス) (2007-10-23 23:31)
Posted by Zero2000 Kidd at 22:37│Comments(0)LSL リファレンス
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。