llRequestAgentData
key llRequestAgentData(key id, integer data)
引数idに指定したUUIDを持つアバターの情報の取得要求を出す。
取得したい情報は引数dataで指定する。
アバターの情報はdataserver?イベントで通知されるが、データを識別するために戻り値のkeyを使用する。
取得したい情報は引数dataで指定する。
アバターの情報はdataserver?イベントで通知されるが、データを識別するために戻り値のkeyを使用する。
使用例:
key qid; // 識別用キー変数 default { state_entry(){ qid = llRequestAgentData(llGetOwner(), DATA_BORN); // オーナーの生年月日を要求、要求IDをqidに保持 } dataserver(key queryid, string data){ if (qid == queryid){ // 要求IDに等しい結果が返された(=dataはオーナーの生年月日である) llOwnerSay("You were born on " + data); } } }
引数idはアバターのUUIDである必要がある。オブジェクトやグループ等のUUIDを指定した場合、llRequestAgentData関数はエラーにはならないが、いつまで待ってもdataserver?イベントは起こらない(結果が返ってこない)。
引数に指定するUUIDがアバターのものかどうか不確実な場合、timer?イベントよるタイムアウトの処理等を実装すべきである。
引数に指定するUUIDがアバターのものかどうか不確実な場合、timer?イベントよるタイムアウトの処理等を実装すべきである。
引数dataには以下の定数のうちのどれか一つを指定する。
定数名 | 値 | 要求する情報 |
DATA_ONLINE | 1 | アバターがオンラインかどうか。TRUE/FALSEのいずれかが返る(要cast:integer) |
DATA_NAME | 2 | アバター名 |
DATA_BORN | 3 | アバターの生年月日(アカウント取得日付)YYYY-MM-DDの形式で返る |
DATA_RATING | 4 | アバターのレーティング情報(現在レーティングはなくなったので意味なし) |
DATA_PAYINFO | 8 | アカウントタイプ(要cast:integer) |
レーティング情報を要求した場合、取得できるのは6つの数字が「,」で区切られたCSV文字列であった。
各数字の意味は以下の通り。
各数字の意味は以下の通り。
1番目 | 善人度 |
2番目 | 非行の度合い |
3番目 | かっこ良さ |
4番目 | 不細工度 |
5番目 | 創作センス |
6番目 | 不器用度 |
バージョン1.15.0以降はレーティング情報が無くなったので、戻り値は"0,0,0,0,0,0"固定になっている。
非行の度合いが無くなったからと言って、非行に走るアバターがいなくなったわけではない、念のため。
非行の度合いが無くなったからと言って、非行に走るアバターがいなくなったわけではない、念のため。
アカウントタイプを要求した場合、取得できるのは以下の数値である(integer型にcastする必要がある)。
0 | 支払情報なし・取引履歴なし |
1 | 支払情報あり・取引履歴なし |
2 | 支払情報なし・取引履歴あり |
3 | 支払情報あり・取引履歴あり |
支払情報とは、クレジットカードの登録の有無を指す。
取引履歴とは、登録したクレジットカードを使ってL$の売買を行ったことがあるかどうかを意味していると思われる(未確認)
取引履歴とは、登録したクレジットカードを使ってL$の売買を行ったことがあるかどうかを意味していると思われる(未確認)
なお、同一SIM内にいるアバター名を取るだけであればllKey2Name関数のほうが手軽だ。