Difference between revisions of "LlCreateKeyValue/ja"
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= | |func_desc=与えられたキー({{LSLPT|k}})と値({{LSLPT|v}})を使用して、スクリプトの{{LSLGC|Experience}}に関連付けられた非同期トランザクションを開始してキー値ペアを作成します。 | ||
|func_footnote= | |func_footnote=すでにキーが存在する場合、[[dataserver]]は失敗とエラー[[XP_ERROR_STORAGE_EXCEPTION]]とともに返ります。<br/> | ||
<br/> | <br/> | ||
2016年1月1日現在、LSOおよびMonoスクリプトのキーおよび値の最大バイト数はそれぞれ1011および4095です。 | |||
|return_type=key|return_subtype=handle | |return_type=key|return_subtype=handle | ||
|return_text= | |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=* | |caveats=* [[llKeysKeyValue]]がキーをCSV形式で返すため、キーにはカンマを含めないことが推奨されています。 | ||
|* | |* この関数が[[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
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
要約
関数: 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コールバックのパラメータは次のとおりです:
- llCreateKeyValueから返されたハンドルを含むキー
- コンマ区切りリスト(cdl)を含む文字列。
llDumpList2String([ integer success ] + components);
- components はリクエストの成功または失敗に応じて異なります。
- 失敗:
cdl = llDumpList2String([ 0, integer error],",")
- 成功:
cdl = llDumpList2String([ 1, string value ],",")
文字列のコンポーネント
• 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 に関連するようにするには...
- 体験をサポートしたクライアントでコンパイルされている必要があります
- "体験を使用" チェックボックスをチェックする
- 体験キーの一つを選択する
重要 すべての TPV にこの機能があるわけではありません。 |
関連項目
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。