Difference between revisions of "LlKey2Name/ja"

From Second Life Wiki
Jump to navigation Jump to search
m
Line 1: Line 1:
{{LSL_Function/uuid/ja|id|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
Line 6: Line 7:
インベントリアイテムのキーでは動作しません。この場合、代わりに {{LSLG/ja|llGetInventoryName}} を使ってください。
インベントリアイテムのキーでは動作しません。この場合、代わりに {{LSLG/ja|llGetInventoryName}} を使ってください。
|func_desc
|func_desc
|return_text='''id''' で指定されたプリムまたはアバターの名前
|return_text='''id''' で指定されたプリムまたはアバターの{{LSLGC|Avatar/Name/ja|名前}}
|spec
|spec
|caveats=* 空の文字列を名前にもつプリムと SIM に存在しないプリム、もしくは不正なキーが指定されたために空の文字列が返っていることの区別をつけるのは困難です。この問題を回避するには、 {{LSLG/ja|llGetObjectDetails}} を使用してください。
|caveats=* 空の文字列を名前にもつプリムと SIM に存在しないプリム、もしくは不正なキーが指定されたために空の文字列が返っていることの区別をつけるのは困難です。この問題を回避するには、 {{LSLG/ja|llGetObjectDetails}} を使用してください。
* 「アバターがいなければならない」制約を回避するために、 {{LSLG/ja|llRequestAgentData}} 関数と {{LSLG/ja|dataserver}} イベントを使って、キーからアバターの名前を取得することができます。
* 「アバターがいなければならない」制約を回避するために、 {{LSLG/ja|llRequestAgentData}} 関数と {{LSLG/ja|dataserver}} イベントを使って、キーからアバターの名前を取得することができます。
* 逆の関数 ({{LSLG|llName2Key}}) は使用できません。しかし、 {{LSLG/ja|llHTTPRequest}} 関数と {{LSLG/ja|http_response}} イベントを使って問い合わせを行うことのできる、サードパーティの Web サイトがあります。
* 逆の関数 ({{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 個つけたアバター名を返したりすることがあります。
* アバターが(ずっとあるサーバのバグが原因となって時々起こる)幽霊状態になると、アバターが実質そこにいて {{LSLG/ja|llSensor}} や[[Mini-Map|ミニマップ]]で表示されていても、空文字列が返ります。この原理を応用して[[Ghost Detector|幽霊発見器]]スクリプトを作ることができます。
|constants
|constants
|examples=<lsl>// チャット履歴 (ctrl-h) で最適な表示
|examples=<lsl>// チャット履歴 (ctrl-h) で最適な表示
Line 29: Line 30:
|helpers
|helpers
|also_functions=
|also_functions=
{{LSL DefineRow||{{LSLG/ja|llGetUsername}}}}
{{LSL DefineRow||{{LSLG/ja|llGetDisplayName}}}}
{{LSL DefineRow||{{LSLG/ja|llGetObjectDetails}}}}
{{LSL DefineRow||{{LSLG/ja|llGetObjectDetails}}}}
{{LSL DefineRow||{{LSLG/ja|llRequestAgentData}}|{{LSLG/ja|dataserver}} を使ってアバターの情報を取得します}}
{{LSL DefineRow||{{LSLG/ja|llRequestAgentData}}|{{LSLG/ja|dataserver}} を使ってアバターの情報を取得します}}
Line 36: Line 39:
|also_tests
|also_tests
|notes='''アクティブな Name2Key データベース:'''
|notes='''アクティブな Name2Key データベース:'''
*http://n2k.danardlabs.com (SSL, {{LSLGC|Legacy Name|Legacy Names}} & {{LSLGC|Username|Usernames}} サポートされている)
*http://n2k.danardlabs.com (SSL, {{LSLGC/ja|Legacy Name|レガシーネーム}} {{LSLGC/ja|Username|ユーザネーム}} がサポートされています)
*http://w-hat.com/name2key
*http://w-hat.com/name2key
*http://kdc.ethernia.net/sys/name2key.php
*http://kdc.ethernia.net/sys/name2key.php
*http://wiki.apez.biz/Development (Web サービス API 関数 getAvatarKey と getAvatarName)
*http://wiki.apez.biz/Development (Web サービス API 関数 getAvatarKey と getAvatarName)
*http://insl.kubwa.de/name2key.php?name=name (ボットベースの name2key データベースです。{{LSLGC/ja|Legacy Name|レガシーネーム}} と {{LSLGC/ja|Username|ユーザネーム}} のフォーマットに対応しています)
'''Name2Key ライブラリ:'''
'''Name2Key ライブラリ:'''
*[[Name2Key_in_LSL]]
*[[Name2Key_in_LSL]]
Line 46: Line 50:
|cat2=Prim
|cat2=Prim
|cat3=Key
|cat3=Key
|cat4
|cat4=Avatar/Name
|cat5=Legacy Name
}}
}}

Revision as of 07:43, 7 January 2011

要約

関数: 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ミニマップで表示されていても、空文字列が返ります。この原理を応用して幽霊発見器スクリプトを作ることができます。

Important Issues

~ All Issues ~ Search JIRA for related Bugs
   llKey2Name returns text "(Loading...)" instead of empty string or avatar name

サンプル

<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 ライブラリ:

関連項目

関数

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