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関数のほうが手軽だ。