Difference between revisions of "Category:LSL Key/ja"

From Second Life Wiki
Jump to navigation Jump to search
(Redirected page to Category:LSL キー)
Line 1: Line 1:
#Redirect [[:Category:LSL キー]]
{{LSL Header|ml=*}}{{LSLC|}}{{LSLC|Types}}
 
== 初めに ==
 
keyは、Second Life内でほとんどすべての、[[Primitive/ja|プリム]]、[[avatar/ja|アバター]]、{{LSLGC|Texture/ja|テクスチャ}}などの(しばしば{{LSLG/ja|UUID}}として言及される)'''固有の識別子'''です。
 
keyそのものは[https://ja.wikipedia.org/wiki/%E5%8D%81%E5%85%AD%E9%80%B2%E6%B3%95 16進数の文字]<code>[0-9a-f]</code>から構成され、keyの各セクションは-(ハイフン)によって連結して表記されます。(合計で36文字)
 
keyの例:
<source lang="lsl2">
    key whatever = "01234567-89ab-cdef-0123-456789abcdef";
</source>
 
== キーの生成 ==
 
[[LSL_Portal/ja|LSL]] [[:Category:LSL_Functions/ja|関数]]:
 
{|{{Prettytable}}
|+
|-{{Hl2}}
!関数
!説明
|-
|| {{LSLG/ja|llGenerateKey}} || [http://en.wikipedia.org/wiki/UUID#Version_5_.28SHA-1_hash.29 Version 5 (SHA-1 hash)] を使ってキーを生成します {{LSLG/ja|UUID}} ユニークキーを生成
|}
 
ユーザー作成関数:
{|{{Prettytable}}
|+
|-{{Hl2}}
!関数
!説明
|-
|| [[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変換 ==
 
{{LSLG/ja|string}}からkeyへ変換
 
<source lang="lsl2">key whatever = (key)"01234567-89ab-cdef-0123-456789abcdef";</source>
 
keyから名前の取得
 
<source lang="lsl2">key uuid = "01234567-89ab-cdef-0123-456789abcdef";
llKey2Name(uuid);</source>
 
== アバターの表示 または グループ情報の表示: ==
 
もしあなたがアバターのkeyを取得している場合、チャット履歴にアバターの表示名を出力できます
特別なURL:
<source lang="lsl2">llOwnerSay("secondlife:///app/agent/" + (string)owner_key + "/about");</source>
 
もしあなたがグループのkeyを取得している場合、チャット履歴にグループ情報を出力できます
特別なURL:
<source lang="lsl2">llOwnerSay("secondlife:///app/group/" + (string)group_key + "/about");</source>
 
もしあなたが[[Land/ja#Parcel|土地]]のkeyを取得している場合、チャット履歴に土地情報を出力できます
特別なURL:
<source lang="lsl2">llOwnerSay("secondlife:///app/parcel/" + (string)parcel_key + "/about");</source>
 
== keyの有効性チェック: ==
 
有効性チェック:
 
<source lang="lsl2">if(uuid){
    //do something
}</source>
 
{{LSLGC|Flow Control/ja|条件式}}に引数として渡された時、有効なkeyであり{{LSLG/ja|NULL_KEY}}ではないことを'''true'''として評価するのみです。任意の文字列が有効なkeyかどうかを以下の方法で検出することができます。
 
<source lang="lsl2">
// 2:        有効なキー, NULL_KEYではない
// 1 (TRUE):  NULL_KEY
// 0 (FALSE): 無効なキー
 
integer isKey(key in)
{
    if (in)
        return 2;
    return (in == NULL_KEY);
}
</source>

Revision as of 17:39, 18 December 2015

初めに

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);
}