Difference between revisions of "LlKey2Name/ja"

From Second Life Wiki
Jump to navigation Jump to search
m (Undo revision 849122 by Mako Nozaki (Talk))
Line 1: Line 1:
{{LSL_Function/object/ja|id|prim or avatar|sim=*}}{{LSL_Function/ja
{{LSL_Function/uuid/ja|id|sim=*}}{{LSL_Function/ja
|func_id=210|func_sleep=0.0|func_energy=10.0
|func_id=210|func_sleep=0.0|func_energy=10.0
|sort=Key2Name|func=llKey2Name
|sort=Key2Name|func=llKey2Name
|return_type=string|p1_type=key|p1_name=id
|return_type=string|p1_type=key|p1_name=id
|func_footnote='''id'''がそのSim及びその付近に居なかった場合は空のstringが返されます。
|func_footnote='''id''' には、現在あるか、もしくはスクリプトが実行されている時に SIM にあるとわかっている、 rez されたオブジェクトかアバターの正しいキーを指定しなければならず、そうでなければ空の文字列が返ります。アバターの場合、アバターが SIM の子となるエージェントであるか (つまり、隣接している SIM にいるが、現在スクリプトが入っているものを覗くことができる状態) 、もしくは当該 SIM を離れて間もない場合 (仕様上、クライアントが、メインまたは子のエージェントとして、 SIM から完全に切断されたとき) 、この関数は依然として正しい名前を返します。  <br /><br />
インベントリアイテムのキーでは動作しません。この場合、代わりに {{LSLG/ja|llGetInventoryName}} を使ってください。
|func_desc
|func_desc
|return_text='''id'''のプリム/アバタの名前
|return_text='''id''' で指定されたプリムまたはアバターの名前
|spec
|spec
|caveats=*オブジェクト名が空のstring名を持っているのと、オブジェクトがそのSimにない双方の違いを伝えることは困難です。
|caveats=* 空の文字列を名前にもつプリムと SIM に存在しないプリム、もしくは不正なキーが指定されたために空の文字列が返っていることの区別をつけるのは困難です。この問題を回避するには、 {{LSLG/ja|llGetObjectDetails}} を使用してください。
* 「アバターがいなければならない」制約を回避するために、 {{LSLG/ja|llRequestAgentData}} 関数と {{LSLG/ja|dataserver}} イベントを使って、キーからアバターの名前を取得することができます。
* 逆の関数 ({{LSLG|llName2Key}}) は使用できません。しかし、 {{LSLG/ja|llHTTPRequest}} 関数と {{LSLG/ja|http_response}} イベントを使って問い合わせを行うことのできる、サードパーティの Web サイトがあります。
* バグにより ([http://jira.secondlife.com/browse/SVC-4170 SVC-4170] と [http://jira.secondlife.com/browse/SVC-3935 SVC-3935]) この関数はときどき間違えて "(Loading...)" と返したり、ファーストネームとラストネームの間にスペースを 2 個つけたアバター名を返したりすることがあります。
|constants
|constants
|examples=<lsl>
|examples=<lsl>// チャット履歴 (ctrl-h) で最適な表示
// Best viewed in Chat History (ctrl-h)
default
default
{
{
     collision_start(integer a)
     collision_start(integer a)//誰がぶつかったかアナウンスします
     {
     {
         llSay(0, "llKey2Name: " + llKey2Name(llDetectedKey(0)) +
         llSay(0, "llKey2Name: " + llKey2Name(llDetectedKey(0)) +
               "\nllDetectedName: " + llDetectedName(0));
               "\nllDetectedName: " + llDetectedName(0));
     }
     }
}
    touch_start(integer a)
</lsl>
    {
        llSay(0,"llKey2Name: " + llKey2Name(llDetectedKey(0)) +
              "\nllDetectedName: " + llDetectedName(0));
    }
}</lsl>
|helpers
|helpers
|also_functions=
|also_functions=
{{LSL DefineRow||[[llGetObjectDetails/ja|llGetObjectDetails]]}}
{{LSL DefineRow||{{LSLG/ja|llGetObjectDetails}}}}
{{LSL DefineRow||{{LSLG/ja|llRequestAgentData}}|{{LSLG/ja|dataserver}} を使ってアバターの情報を取得します}}
|also_events
|also_events
|also_articles=
|also_articles=
{{LSL DefineRow||[[Prim Attribute Overloading/ja|プリム属性過剰読み込み]]}}
{{LSL DefineRow||[[Prim Attribute Overloading]]}}
|also_tests
|also_tests
|notes
|notes='''アクティブな Name2Key データベース:'''
|permission
*http://w-hat.com/name2key
|negative_index
*http://kdc.ethernia.net/sys/name2key.php
*http://wiki.apez.biz/Development (Web サービス API 関数 getAvatarKey と getAvatarName)
'''Name2Key ライブラリ:'''
*[[Name2Key_in_LSL]]
 
|cat1=Avatar
|cat1=Avatar
|cat2=Prim
|cat2=Prim

Revision as of 20:48, 4 May 2010

要約

関数: 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-4170SVC-3935) この関数はときどき間違えて "(Loading...)" と返したり、ファーストネームとラストネームの間にスペースを 2 個つけたアバター名を返したりすることがあります。
All Issues ~ Search JIRA for related Bugs

サンプル

<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 データベース:

Name2Key ライブラリ:

関連項目

関数

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

記事

•  Prim Attribute Overloading

特記事項

Search JIRA for related Issues

Signature

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