Difference between revisions of "LlCreateKeyValue/ja"

From Second Life Wiki
Jump to navigation Jump to search
m
m
 
Line 1: Line 1:
[[Category:Experience Tools/ja]]
[[Category:Experience Tools/ja]]
{{LSL_Function/ja
{{LSL_Function/ja
|inject-2={{LSL Function/KeyValue|k|v|dataserver|value=value|d2_type=string|d2_name=value}}{{LSL Function/Experience|true}}
|inject-2={{LSL Function/KeyValue/ja|k|v|dataserver|value=value|d2_type=string|d2_name=value}}{{LSL Function/Experience/ja|true}}
|func=llCreateKeyValue
|func=llCreateKeyValue
|func_desc=Start an asynchronous transaction to create a key-value pair associated with the script's {{LSLGC|Experience}} using the given key ({{LSLPT|k}}) and value ({{LSLPT|v}}).
|func_desc=与えられたキー({{LSLPT|k}})と値({{LSLPT|v}})を使用して、スクリプトの{{LSLGC|Experience}}に関連付けられた非同期トランザクションを開始してキー値ペアを作成します。
|func_footnote=If the key already exists the [[dataserver]] will return a failure along with the error [[XP_ERROR_STORAGE_EXCEPTION]].<br/>
|func_footnote=すでにキーが存在する場合、[[dataserver]]は失敗とエラー[[XP_ERROR_STORAGE_EXCEPTION]]とともに返ります。<br/>
<br/>
<br/>
As of Jan 1, 2016 maximum bytes is 1011 for key and 4095 for value for both LSO and Mono scripts.
2016年1月1日現在、LSOおよびMonoスクリプトのキーおよび値の最大バイト数はそれぞれ1011および4095です。
|return_type=key|return_subtype=handle
|return_type=key|return_subtype=handle
|return_text=that can be used to identify the corresponding [[dataserver]] event to determine if this command succeeded or failed.
|return_text=これにより、このコマンドが成功したか失敗したかを判断するために対応する[[dataserver]]イベントを識別するために使用できるハンドルが返されます。
|p1_type=string|p1_name=k
|p1_type=string|p1_name=k
|p2_type=string|p2_name=v
|p2_type=string|p2_name=v
Line 52: Line 52:
|cat2=Experience/Data
|cat2=Experience/Data
|cat3=Dataserver
|cat3=Dataserver
|caveats=* It is recommended that keys do not contain commas due to [[llKeysKeyValue]] returning keys in CSV format.
|caveats=* [[llKeysKeyValue]]がキーをCSV形式で返すため、キーにはカンマを含めないことが推奨されています。
|* If this function returns an [[XP_ERROR_STORAGE_EXCEPTION]], subsequent attempts to create the same KVP key may also fail, even if it appears that no key has been created. For that reason, it may be preferable to use [[llUpdateKeyValue]], which will overwrite any existing value or will create a new KVP key if none exists with that name.
|* この関数が[[XP_ERROR_STORAGE_EXCEPTION]]を返す場合、同じKVPキーを作成しようとする後続の試みも失敗する可能性があります。これにより、キーが作成されていないかのように見えても、[[llUpdateKeyValue]]を使用することが好ましい場合があります。[[llUpdateKeyValue]]は既存の値を上書きするか、その名前のKVPキーが存在しない場合は新しいKVPキーを作成します。
|haiku={{Haiku|Clear sky with bright sun|Wonderful key created|from an old value}}
|haiku={{Haiku|Clear sky with bright sun|Wonderful key created|from an old value}}
}}
}}

Latest revision as of 12:59, 22 November 2023

要約

関数: key llCreateKeyValue( string k, string v );

与えられたキー(k)と値(v)を使用して、スクリプトのExperienceに関連付けられた非同期トランザクションを開始してキー値ペアを作成します。
これにより、このコマンドが成功したか失敗したかを判断するために対応するdataserverイベントを識別するために使用できるハンドルが返されます。を key で返します。

• string k The key for the key-value pair
• string v The value for the key-value pair. Maximum 2047 characters, or 4095 if using Mono.

すでにキーが存在する場合、dataserverは失敗とエラーXP_ERROR_STORAGE_EXCEPTIONとともに返ります。

2016年1月1日現在、LSOおよびMonoスクリプトのキーおよび値の最大バイト数はそれぞれ1011および4095です。

仕様

Dataserver

dataserverコールバックのパラメータは次のとおりです:

文字列のコンポーネント
• integer success トランザクションが成功した場合は1、失敗した場合は0を指定するブール値。
• integer error 操作が失敗した理由を説明するXP_ERROR_*フラグ。
• string value The value for the key-value pair. Maximum 2047 characters, or 4095 if using Mono. 注意!この値にはカンマが含まれている可能性があります。

警告

  • 以前に体験に関連付けられていたスクリプトを体験のコンパイル機能を持たないクライアントで再コンパイルすると、スクリプトは関連する体験を失います。
  • llKeysKeyValueがキーをCSV形式で返すため、キーにはカンマを含めないことが推奨されています。

サンプル

key trans;
default
{
    touch_start(integer total_number)
    {
        trans = llCreateKeyValue("FOO", "BAR");
    }



    dataserver(key t, string value)
    {
        if (t == trans)
        {
            // our llCreateKeyValue transaction is done
            integer result = (integer)llGetSubString(value, 0, 0);
            if (result == 1)
            {
                // the key-value pair was successfully created
                llSay(0, "New key-value pair was created");
            }
            else
            {
                // the key-value pair was not created
                integer error = (integer)(llGetSubString(value, 2, -1));
                llSay(0, "Key-value failed to create: " + llGetExperienceErrorMessage(error));
            }
        }
    } 
}

注意点

コンパイル

スクリプトが Experience に関連するようにするには...

  • 体験をサポートしたクライアントでコンパイルされている必要があります
  • "体験を使用" チェックボックスをチェックする
  • 体験キーの一つを選択する
KBcaution.png 重要 すべての TPV にこの機能があるわけではありません。

特記事項

Search JIRA for related Issues

Signature

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