llCreateKeyValue
Revision as of 13:30, 8 July 2014 by Jeremy Linden (talk | contribs) (Created page with "Category:Experience Tools {{LSL_Function |func=llCreateKeyValue |func_desc=Start an asynchronous transaction to create a key-value pair associated with the given experience k…")
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: key llCreateKeyValue( string k, string v );
Start an asynchronous transaction to create a key-value pair associated with the given experience key using the given key and value.
Returns a key The key ID of the transaction
• 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. |
Will fail with XP_ERROR_STORAGE_EXCEPTION if the key already exists.
The dataserver callback parameters are:
- A key containing the transaction ID returned from llCreateKeyValue
- A string containing a comma-delimited list. The first item is a boolean specifying if the transaction succeeded (1) or not (0). The second item is a string with a status/error message if it failed or the value if the transaction succeeded.
Caveats
Examples
<lsl>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)); } } }}</lsl>