Difference between revisions of "LlRequestDisplayName/ja"
Jump to navigation
Jump to search
Mako Nozaki (talk | contribs) (Created page with "{{#vardefine:p_data_desc|DATA_* flag}}{{LSL_Function/ja |inject-1= {{LSL Function/avatar/ja|id}} {{LSL_Function/warning/ja|セキュリティ|セキュリティを確保する手…") |
|||
(5 intermediate revisions by 3 users not shown) | |||
Line 2: | Line 2: | ||
|inject-1= | |inject-1= | ||
{{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 | ||
|caveats=*リクエストが何らかの理由で失敗すると、エラーは通知されず、dataserver イベントも発生しません。タイマーを使って時間が経っているリクエストを検出するとよいでしょう。 | |caveats=*リクエストが何らかの理由で失敗すると、エラーは通知されず、dataserver イベントも発生しません。タイマーを使って時間が経っているリクエストを検出するとよいでしょう。 | ||
*ビューアでアバター名を調べたいだけなら、dataserver イベントを使わず、次の文字列を表示させるのが手っ取り早いでしょう: < | *ビューアでアバター名を調べたいだけなら、dataserver イベントを使わず、次の文字列を表示させるのが手っ取り早いでしょう: <source lang="lsl2">llSay(0, "secondlife:///app/agent/" + (string)id + "/about");</source> | ||
|constants | |constants | ||
|examples=< | |examples=<source lang="lsl2">key owner_key; | ||
key owner_name_query; | key owner_name_query; | ||
string owner_display_name; | string owner_display_name; | ||
Line 34: | Line 34: | ||
} | } | ||
} | } | ||
}</ | }</source> | ||
|helpers | |helpers | ||
|also_functions= | |also_functions= | ||
{{LSL DefineRow||{{LSLG/ja|llGetDisplayName}}|}} | {{LSL DefineRow||{{LSLG/ja|llGetDisplayName}}|}} | ||
{{LSL DefineRow||{{LSLG/ja|llGetUsername}}|}} | |||
{{LSL DefineRow||{{LSLG/ja|llRequestUsername}}|}} | {{LSL DefineRow||{{LSLG/ja|llRequestUsername}}|}} | ||
|also_tests | |also_tests |
Latest revision as of 03:54, 3 March 2016
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
![]() |
警告 セキュリティ |
セキュリティを確保する手段として表示名に頼るのはひどい考えです。一意でありませんし、簡単に変更することができます。 |
![]() |
警告 データの処理 |
表示名には引用符やカッコが含まれる可能性があります。LSLでは問題となりませんが、コマンドラインで実行するスクリプトや SQL クエリなどに渡すときは必ずエスケープしましょう。 |
要約
関数: key llRequestDisplayName( key id );
id で指定されたエージェントの表示名をリクエストします。表示名が取得できれば、dataserver イベントが発生します。id で指定されるエージェントは、同じ地域にいる必要も、リクエスト時点でオンラインである必要もありません。
dataserver イベントが発生したときに識別子となるものを key で返します。
• key | id | – | アバターの UUID |
警告
- リクエストが何らかの理由で失敗すると、エラーは通知されず、dataserver イベントも発生しません。タイマーを使って時間が経っているリクエストを検出するとよいでしょう。
- ビューアでアバター名を調べたいだけなら、dataserver イベントを使わず、次の文字列を表示させるのが手っ取り早いでしょう:
llSay(0, "secondlife:///app/agent/" + (string)id + "/about");
サンプル
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 Wikiの関連した項目が参考になるかもしれません。