Difference between revisions of "LlKey2Name/ja"

From Second Life Wiki
Jump to navigation Jump to search
m (カテゴリ変更)
 
(7 intermediate revisions by 3 users not shown)
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
|inject-2={{Issues/SVC-215}}{{Issues/SVC-4170}}{{Issues/SVC-3935}}
|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''' で指定されたプリムまたはアバターの{{LSLGC|Avatar/Name/ja|名前}}
|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 サイトがあります。
* アバターが(ずっとあるサーバのバグが原因となって時々起こる)幽霊状態になると、アバターが実質そこにいて {{LSLG/ja|llSensor}} や[[Mini-Map|ミニマップ]]で表示されていても、空文字列が返ります。この原理を応用して[[Ghost Detector|幽霊発見器]]スクリプトを作ることができます。
|constants
|constants
|examples=<lsl>
|examples=<source lang="lsl2">// チャット履歴 (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));
    }
}</source>
|helpers
|helpers
|also_functions=
|also_functions=
{{LSL DefineRow||[[llGetObjectDetails/ja|llGetObjectDetails]]}}
{{LSL DefineRow||{{LSLG/ja|llGetUsername}}}}
{{LSL DefineRow||{{LSLG/ja|llGetDisplayName}}}}
{{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
|cat1=Avatar/ja
*http://wiki.apez.biz/Development (Web サービス API 関数 getAvatarKey と getAvatarName)
|cat2=Prim/ja
*http://kubwa.net/index.php?cmd=name2key (ボットベースの name2key データベースです。{{LSLGC/ja|Legacy Name|レガシーネーム}} と {{LSLGC/ja|Username|ユーザネーム}} のフォーマットに対応しています)
|cat3=Key/ja
'''Name2Key ライブラリ:'''
|cat4
*[[Name2Key_in_LSL]]
 
|cat1=Avatar
|cat2=Prim
|cat3=Key
|cat4=Avatar/Name
|cat5=Legacy Name
}}
}}

Latest revision as of 04:57, 25 February 2016

要約

関数: 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の関連した項目が参考になるかもしれません。