LlKey2Name/ja
< LlKey2Name
Jump to navigation
Jump to search
Revision as of 23:51, 9 December 2010 by Augren Ferguson (talk | contribs)
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
要約
関数: string llKey2Name( key id );id で指定されたプリムまたはアバターの名前を string で返します。
• key | id | – | 同じ 地域 にある アバター または プリム の UUID |
id には、現在あるか、もしくはスクリプトが実行されている時に SIM にあるとわかっている、 rez されたオブジェクトかアバターの正しいキーを指定しなければならず、そうでなければ空の文字列が返ります。アバターの場合、アバターが SIM の子となるエージェントであるか (つまり、隣接している SIM にいるが、現在スクリプトが入っているものを覗くことができる状態) 、もしくは当該 SIM を離れて間もない場合 (仕様上、クライアントが、メインまたは子のエージェントとして、 SIM から完全に切断されたとき) 、この関数は依然として正しい名前を返します。
インベントリアイテムのキーでは動作しません。この場合、代わりに llGetInventoryName を使ってください。
警告
- 空の文字列を名前にもつプリムと SIM に存在しないプリム、もしくは不正なキーが指定されたために空の文字列が返っていることの区別をつけるのは困難です。この問題を回避するには、 llGetObjectDetails を使用してください。
- 「アバターがいなければならない」制約を回避するために、 llRequestAgentData 関数と dataserver イベントを使って、キーからアバターの名前を取得することができます。
- 逆の関数 (llName2Key) は使用できません。しかし、 llHTTPRequest 関数と http_response イベントを使って問い合わせを行うことのできる、サードパーティの Web サイトがあります。
- バグにより (SVC-4170 と SVC-3935) この関数はときどき間違えて "(Loading...)" と返したり、ファーストネームとラストネームの間にスペースを 2 個つけたアバター名を返したりすることがあります。
サンプル
<lsl>// チャット履歴 (ctrl-h) で最適な表示 default {
collision_start(integer a)//誰がぶつかったかアナウンスします { llSay(0, "llKey2Name: " + llKey2Name(llDetectedKey(0)) + "\nllDetectedName: " + llDetectedName(0)); } touch_start(integer a) { llSay(0,"llKey2Name: " + llKey2Name(llDetectedKey(0)) + "\nllDetectedName: " + llDetectedName(0)); }}</lsl>
注意点
アクティブな Name2Key データベース:
- http://n2k.danardlabs.com (SSL, Legacy Names & Usernames サポートされている)
- http://w-hat.com/name2key
- http://kdc.ethernia.net/sys/name2key.php
- http://wiki.apez.biz/Development (Web サービス API 関数 getAvatarKey と getAvatarName)
Name2Key ライブラリ:
関連項目
関数
• | llGetObjectDetails | |||
• | llRequestAgentData | – | dataserver を使ってアバターの情報を取得します |
記事
• | Prim Attribute Overloading |
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。