Difference between revisions of "LlRequestDisplayName/ja"
Jump to navigation
Jump to search
Mako Nozaki (talk | contribs) m |
Mako Nozaki (talk | contribs) |
||
Line 3: | Line 3: | ||
{{LSL Function/avatar/ja|id}} | {{LSL Function/avatar/ja|id}} | ||
{{LSL_Function/warning/ja|セキュリティ|セキュリティを確保する手段として表示名に頼るのはひどい考えです。一意でありませんし、簡単に変更することができます。}} | {{LSL_Function/warning/ja|セキュリティ|セキュリティを確保する手段として表示名に頼るのはひどい考えです。一意でありませんし、簡単に変更することができます。}} | ||
{{LSL_Function/warning/ja|データの処理|表示名には | {{LSL_Function/warning/ja|データの処理|表示名には{{LSLG/ja|Display Names|引用符やカッコが含まれる可能性があります}}。LSLでは問題となりませんが、コマンドラインで実行するスクリプトや SQL クエリなどに渡すときは必ずエスケープしましょう。<br/>[http://xkcd.com/327/ XKCD: Exploits of a Mom] を参照してください。}} | ||
|func_id=361|func_sleep=0.0|func_energy=10.0 | |func_id=361|func_sleep=0.0|func_energy=10.0 | ||
|func=llRequestDisplayName | |func=llRequestDisplayName | ||
Line 9: | Line 9: | ||
|p1_type=key|p1_name=id | |p1_type=key|p1_name=id | ||
|func_footnote | |func_footnote | ||
|func_desc='''id''' で指定されたエージェントの''' | |func_desc='''id''' で指定されたエージェントの'''{{LSLG/ja|Display_Names|表示名}}'''をリクエストします。'''{{LSLG/ja|Display_Names|表示名}}'''が取得できれば、{{LSLG/ja|dataserver}} イベントが発生します。'''id''' で指定されるエージェントは、同じ地域にいる必要も、リクエスト時点でオンラインである必要もありません。 | ||
|return_text={{LSLG/ja|dataserver}} イベントが発生したときに識別子となるもの | |return_text={{LSLG/ja|dataserver}} イベントが発生したときに識別子となるもの | ||
|spec | |spec |
Revision as of 22:28, 7 January 2011
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
警告 セキュリティ | |
セキュリティを確保する手段として表示名に頼るのはひどい考えです。一意でありませんし、簡単に変更することができます。 |
警告 データの処理 | |
表示名には引用符やカッコが含まれる可能性があります。LSLでは問題となりませんが、コマンドラインで実行するスクリプトや SQL クエリなどに渡すときは必ずエスケープしましょう。 |
要約
関数: key llRequestDisplayName( key id );
id で指定されたエージェントの表示名をリクエストします。表示名が取得できれば、dataserver イベントが発生します。id で指定されるエージェントは、同じ地域にいる必要も、リクエスト時点でオンラインである必要もありません。
dataserver イベントが発生したときに識別子となるものを key で返します。
• key | id | – | アバターの UUID |
警告
- リクエストが何らかの理由で失敗すると、エラーは通知されず、dataserver イベントも発生しません。タイマーを使って時間が経っているリクエストを検出するとよいでしょう。
- ビューアでアバター名を調べたいだけなら、dataserver イベントを使わず、次の文字列を表示させるのが手っ取り早いでしょう: <lsl>llSay(0, "secondlife:///app/agent/" + (string)id + "/about");</lsl>
サンプル
<lsl>key owner_key; key owner_name_query; string owner_display_name;
default {
state_entry() { owner_key = llGetOwner(); owner_name_query = llRequestDisplayName(owner_key); } dataserver(key queryid, string data) { if ( owner_name_query == queryid ) { owner_display_name = data; llSay(0, "このスクリプトのオーナーの表示名 : " + owner_display_name ); } }}</lsl>
関連項目
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。