Difference between revisions of "LlRequestDisplayName/ja"

From Second Life Wiki
Jump to navigation Jump to search
Line 15: Line 15:
*ビューアでアバター名を調べたいだけなら、dataserver イベントを使わず、次の文字列を表示させるのが手っ取り早いでしょう: <lsl>llSay(0, "secondlife:///app/agent/" + (string)id + "/about");</lsl>
*ビューアでアバター名を調べたいだけなら、dataserver イベントを使わず、次の文字列を表示させるのが手っ取り早いでしょう: <lsl>llSay(0, "secondlife:///app/agent/" + (string)id + "/about");</lsl>
|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=

Revision as of 05:05, 25 February 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 イベントを使わず、次の文字列を表示させるのが手っ取り早いでしょう: <lsl>llSay(0, "secondlife:///app/agent/" + (string)id + "/about");</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 );
        }
    }
}

関連項目

イベント

•  dataserver

関数

•  llGetDisplayName
•  llGetUsername
•  llRequestUsername

特記事項

Search JIRA for related Issues

Signature

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