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

From Second Life Wiki
Jump to: navigation, search
m
m
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Multi-lang}}
+
{{LSL Header|ml=*}}{{LSLC/ja|}}{{LSLC/ja|Types}}
{{LSL Header/ja}}
+
  
keyは、Second Life内でほとんどすべての、プリム、アバター、テクスチャなどの(しばしばUUIDとして言及される)固有の識別子です。
+
== 初めに ==
  
keyそのものは16進数の文字(a-fと0-9)から構成され、keyの各セクションは-(ハイフン)によって連結して表記されます。
+
keyは、Second Life内でほとんどすべての、[[Primitive/ja|プリム]]、[[avatar/ja|アバター]]、{{LSLGC|Texture/ja|テクスチャ}}などの(しばしば{{LSLG/ja|UUID}}として言及される)'''固有の識別子'''です。
  
keyの例:
+
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文字)
<pre>"a822ff2b-ff02-461d-b45d-dcd10a2de0c2"</pre>
+
  
{{LSLGC|Conditional/ja|条件式}}に引数として渡された時、有効なkeyであり[[NULL_KEY]]ではないことをtrueとして評価するのみです。任意の文字列が有効なkeyかどうかを以下の方法で検出することができます。
+
keyの例:
 +
<source lang="lsl2">
 +
    key whatever = "01234567-89ab-cdef-0123-456789abcdef";
 +
</source>
  
<pre>
+
== キーの生成 ==
integer isKey(key in) {
+
 
     if(in) return 2;
+
[[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);
 
     return (in == NULL_KEY);
}</pre>
+
}
 +
</source>

Latest revision as of 19:06, 27 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);
}