Difference between revisions of "LlRequestDisplayName/ja"

From Second Life Wiki
Jump to navigation Jump to search
m
 
(3 intermediate revisions by 3 users not shown)
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|データの処理|表示名には[[Display_names#Punctuation_characters_allowed_in_your_display_name|引用符やカッコが含まれる可能性があります]]。LSLでは問題となりませんが、コマンドラインで実行するスクリプトや SQL クエリなどに渡すときは必ずエスケープしましょう。<br/>[http://xkcd.com/327/ XKCD: Exploits of a Mom] を参照してください。}}
{{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''' で指定されたエージェントの'''[[Display_Names|表示名]]'''をリクエストします。'''[[Display_Names|表示名]]'''が取得できれば、{{LSLG/ja|dataserver}} イベントが発生します。'''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 イベントを使わず、次の文字列を表示させるのが手っ取り早いでしょう: <lsl>llSay(0, "secondlife:///app/agent/" + (string)id + "/about");</lsl>
*ビューアでアバター名を調べたいだけなら、dataserver イベントを使わず、次の文字列を表示させるのが手っ取り早いでしょう: <source lang="lsl2">llSay(0, "secondlife:///app/agent/" + (string)id + "/about");</source>
|constants
|constants
|examples=<lsl>key owner_key;
|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:
         }
         }
     }
     }
}</lsl>
}</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 02:54, 3 March 2016

Emblem-important-red.png 警告 セキュリティ

セキュリティを確保する手段として表示名に頼るのはひどい考えです。一意でありませんし、簡単に変更することができます。

Emblem-important-red.png 警告 データの処理

表示名には引用符やカッコが含まれる可能性があります。LSLでは問題となりませんが、コマンドラインで実行するスクリプトや SQL クエリなどに渡すときは必ずエスケープしましょう。
XKCD: Exploits of a Mom を参照してください。

要約

関数: 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 );
        }
    }
}

関連項目

イベント

•  dataserver

関数

•  llGetDisplayName
•  llGetUsername
•  llRequestUsername

特記事項

Search JIRA for related Issues

Signature

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