Category:LSL Key/ja

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

初めに

keyは、Second Life内でほとんどすべての、プリムアバターテクスチャなどの(しばしばUUIDとして言及される)固有の識別子です。

keyそのものは16進数の文字[0-9a-f]から構成され、keyの各セクションは-(ハイフン)によって連結して表記されます。(合計で36文字)

keyの例:

    key whatever = "01234567-89ab-cdef-0123-456789abcdef";

キーの生成

LSL 関数:

関数 説明
llGenerateKey Version 5 (SHA-1 hash) を使ってキーを生成します UUID ユニークキーを生成

ユーザー作成関数:

関数 説明
GenerateKey Generates an MD5-based (version 3) type UUID. Useful for identifying link-messages and for other purposes.
GenUUID Generates a UUID based on PHP com_create_guid.

key変換

stringからkeyへ変換

key whatever = (key)"01234567-89ab-cdef-0123-456789abcdef";

keyから名前の取得

key uuid = "01234567-89ab-cdef-0123-456789abcdef";
llKey2Name(uuid);

アバターの表示 または グループ情報の表示:

もしあなたがアバターのkeyを取得している場合、チャット履歴にアバターの表示名を出力できます 特別なURL:

llOwnerSay("secondlife:///app/agent/" + (string)owner_key + "/about");

もしあなたがグループのkeyを取得している場合、チャット履歴にグループ情報を出力できます 特別なURL:

llOwnerSay("secondlife:///app/group/" + (string)group_key + "/about");

もしあなたが土地のkeyを取得している場合、チャット履歴に土地情報を出力できます 特別なURL:

llOwnerSay("secondlife:///app/parcel/" + (string)parcel_key + "/about");

keyの有効性チェック:

有効性チェック:

if(uuid){
     //do something
}

条件式に引数として渡された時、有効なkeyでありNULL_KEYではないことをtrueとして評価するのみです。任意の文字列が有効なkeyかどうかを以下の方法で検出することができます。

// 2:         有効なキー, NULL_KEYではない
// 1 (TRUE):  NULL_KEY
// 0 (FALSE): 無効なキー

integer isKey(key in)
{
    if (in)
        return 2;
    return (in == NULL_KEY);
}