ソラマメブログ
< 2025年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年11月13日

アバター/コンテンツ情報取得(LSL リファレンス)


アバター系の関数/イベント
名称種別内容
llRequestAgentData関数アバターの情報を取得する。
llGetAgentInfo関数アバターの状態を返す。
llGetAgentSize関数アバターのサイズを返す。
llKey2Name関数UUIDから名称を返す。
コンテンツ系の関数/イベント
名称種別内容
llGetInventoryKey関数コンテンツの中に存在するアイテムのUUIDを返す。
llGetInventoryNumber関数コンテンツの中に存在するアイテムの数を返す。
llGetInventoryName関数コンテンツの中に存在するアイテムの名称を返す。
llGetInventoryType関数コンテンツの中に存在するアイテムのタイプを返す。

llRequestAgentData <機能> アバターの情報を取得する。 dataserverイベントとペアで使用する。 <構文> key llRequestAgentData(key id, integer data) * id : 情報を取得するアバターのUUIDを指定する。 * data : 情報の種類を指定する。以下を参照。 [data定数]
Statistical dataValueDescription
DATA_ONLINE1アバターがオンラインだとTRUE、オフラインだとFALSEを返す。
DATA_NAME2アバターの名称を返す。
DATA_BORN3アバターの生年月日をYYYY-MM-DDフォーマットで返す。
DATA_RATING4アバターの評価を返す。
DATA_PAYINFO8アバターの支払い状況を返す。
<例> // タッチしたアバターの生年月日を表示する。 default { touch_start(integer num_detected) { llRequestAgentData(llDetectedKey(0), DATA_BORN); } dataserver(key queryid, string data) { llSay(0, "You were born on: " + data); } } ページ先頭へ
llGetAgentInfo <機能> アバターの状態を返す。 <構文> integer llGetAgentInfo(key id) * id : アバターのUUIDを指定する。 * 返り値:ビット値で返る。以下を参照。
Constant Represents Value
AGENT_ALWAYS_RUN走っている。0x1000
AGENT_ATTACHMENTSアタッチしている。0x0002
AGENT_AWAYawayモードになっている。0x0040
AGENT_BUSYbusyモードになっている。0x0800
AGENT_CROUCHINGかがんでいる。0x0400
AGENT_FLYING飛行している。0x0001
AGENT_IN_AIR空中にいる。(飛行状態を除く)0x0100
AGENT_MOUSELOOKマウスルックモードになっている。0x0008
AGENT_ON_OBJECTオブジェクトに座っている。0x0020
AGENT_SCRIPTEDスクリプトを実行しているオブジェクトをアタッチしている。0x0004
AGENT_SITTING座っている。0x0010
AGENT_TYPINGタイプしている。0x0200
AGENT_WALKING歩いている。0x0080
<例> // 飛行中のときチャット画面上に表示する。 default { state_entry() { llSetTimerEvent(1); } timer() { if(llGetAgentInfo(llGetOwner()) & AGENT_FLYING) { llOwnerSay("You are flying!"); } } } ページ先頭へ
llGetAgentSize <機能> アバターのサイズを返す。単位はメートル。 <構文> vector llGetAgentSize(key id) * id : アバターのUUIDを指定する。 * 返り値:<X(横幅),Y(奥行),Z(高さ)>のベクター値。 <例> //タッチしたら身長を表示する。 default { touch_start(integer num_detected) { vector size; size = llGetAgentSize(llDetectedKey(0)); llSay(0, "You are " (string)size.z "m tall."); } } ページ先頭へ
llKey2Name <機能> UUIDから名称を返す。 * アバターの名称を得るためには、そのアバターが同SIM内に存在していなければならない。 <構文> string llKey2Name(key id) * id : アバターまたはオブジェクトのUUIDを指定する。 <例> // オーナーの名称を表示する。 llSay(0,llKey2Name(llGetOwner())); ページ先頭へ
llGetInventoryKey <機能> コンテンツの中に存在するアイテムのUUIDを返す。 * 存在しない場合は、NULL_KEYを返す。 * オーナーがそのアイテムに対して、権限(編集、コピー譲渡)を持っていないときは、NULL_KEYを返す。 <構文> key llGetInventoryKey(string name) * name : アイテムの名称を指定する。 ページ先頭へ
llGetInventoryNumber <機能> コンテンツの中に存在するアイテムの数を返す。 <構文> integer llGetInventoryNumber(integer type) * type : タイプを指定する。type定数参照。 [type定数]
typeValue Description
INVENTORY_ALL-1全て
INVENTORY_TEXTURE0テクスチャ
INVENTORY_SOUND1サウンド
INVENTORY_LANDMARK3ランドマーク
INVENTORY_CLOTHING5
INVENTORY_OBJECT6オブジェクト
INVENTORY_NOTECARD7ノートカード
INVENTORY_SCRIPT10スクリプト
INVENTORY_BODYPART13ボディーパーツ
INVENTORY_ANIMATION20アニメーション
INVENTORY_GESTURE21ジェスチャ
<例> // コンテンツの中に存在するランドーマークの数を表示する。 llSay(0, "I contain " + (string)llGetInventoryNumber(INVENTORY_LANDMARK) + " Landmark."); ページ先頭へ
llGetInventoryName <機能> コンテンツの中に存在するアイテムの名称を返す。 <構文> llGetInventoryName(integer type, integer number) * type : タイプを指定する。type定数参照。 * number : アイテムのナンバーを指定する。全アイテム中のナンバーではなく、指定アイテム中のナンバーを指す。 ナンバーは、名称のアルファベット順に自動で割り振られる。0から始まるので注意。 <例> // コンテンツの中に存在するノートカードの名称を表示する。 llSay(0, "I have a notecard named " + llGetInventoryName(INVENTORY_NOTECARD, 0) + " in my contents."); ページ先頭へ
llGetInventoryType <機能> コンテンツの中に存在するアイテムのタイプを返す。 <構文> integer llGetInventoryType(string name) * name : アイテムの名称を指定する。 * 返り値 : type定数参照。 ページ先頭へ


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