LlKey2Name/ja

From Second Life Wiki
Jump to navigation Jump to search

要約

関数: 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 サイトがあります。
  • アバターが(ずっとあるサーバのバグが原因となって時々起こる)幽霊状態になると、アバターが実質そこにいて llSensorミニマップで表示されていても、空文字列が返ります。この原理を応用して幽霊発見器スクリプトを作ることができます。

サンプル

// チャット履歴 (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));
    }
}

注意点

アクティブな Name2Key データベース:

Name2Key ライブラリ:

関連項目

関数

•  llGetUsername
•  llGetDisplayName
•  llGetObjectDetails
•  llRequestAgentData dataserver を使ってアバターの情報を取得します

記事

•  Prim Attribute Overloading

特記事項

All Issues

~ Search JIRA for related Issues
   llRequestAgentKey() (llName2Key())
   llKey2Name returns avatar names with double space between first and last (sometimes)
   llKey2Name returns text "(Loading...)" instead of empty string or avatar name

Signature

function string llKey2Name( key id );
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。