LlCreateKeyValue/ja

From Second Life Wiki
Jump to navigation Jump to search

要約

関数: 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の関連した項目が参考になるかもしれません。