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定数]
Type | Value | Description |
AGENT | 1 | アバター。 |
ACTIVE | 2 | 動いている物理オブジェクト。負荷の高いスクリプト(listen系)を実行中のオブジェクト。 |
PASSIVE | 4 | 動いていない物理オブジェクト。スクリプトを未実行または負荷の軽いスクリプトを実行中のオブジェクト。 |
SCRIPTED | 8 | 負荷の高いスクリプト(listen系)を実行中のオブジェクト。 |
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定数]
Type | Value | Description |
AGENT | 1 | アバター |
ACTIVE | 2 | 動いている物理オブジェクト。負荷の高いスクリプト(listen系)を実行中のオブジェクト |
PASSIVE | 4 | 動いていない物理オブジェクト。スクリプトを未実行または負荷の軽いスクリプトを実行中のオブジェクト。 |
SCRIPTED | 8 | 負荷の高いスクリプト(listen系)を実行中のオブジェクト。 |
llSensorRemove <機能> llSensorRepeatコマンドを停止する。 <構文> llSensorRemove() ページ先頭へ
sensor <機能> スキャン対象を検出したとき発生する。 llSensorやllSensorRepeatコマンドとペアで使用する。 <構文> sensor(integer num_detected) * num_detected : 検出されたアバターやオブジェクトの数が入る。 * このイベント内では、detect系の関数が使用できる。 * 検出可能な、アイテム及びアバターの最大数は、16。 [Detection Functions]
Function | Description |
llDetectedGrab | ドラッグ方向を返す。 |
llDetectedGroup | グループが同じだったら、TRUEを返す。 |
llDetectedKey | UUIDを返す。 |
llDetectedLinkNumber | リンクナンバーを返す。 |
llDetectedName | 名称を返す。 |
llDetectedOwner | オーナーのUUIDを返す。 |
llDetectedPos | 位置を返す。 |
llDetectedRot | 回転値を返す。 |
llDetectedType | タイプを返す。(AGENT, ACTIVE, PASSIVE, SCRIPTED) |
llDetectedVel | 速度を返す。 |
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全体
| |
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(); ページ先頭へ