LlCreateKeyValue

From Second Life Wiki
Revision as of 13:30, 8 July 2014 by Jeremy Linden (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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.

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>

Deep Notes

Search JIRA for related Issues

Signature

function key llCreateKeyValue( string k, string v );