Difference between revisions of "LlReadKeyValue"

From Second Life Wiki
Jump to navigation Jump to search
m (Updated result parsing in the example)
m
Line 1: Line 1:
[[Category:Experience Tools]]
[[Category:Experience Tools]]
{{LSL_Function
{{LSL_Function
|inject-2={{LSL Function/KeyValue|k|value=value|d2_type=string|d2_name=value}}
|func=llReadKeyValue
|func=llReadKeyValue
|func_desc=Start an asynchronous transaction to read the value associated with the specified key and the specified experience.
|func_desc=Start an asynchronous transaction to read the value associated with the specified key and the specified experience.
|func_footnote=
|func_footnote
The dataserver callback parameters are:
* A key containing the transaction ID returned from llReadKeyValue
* 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.
|return_type=key
|return_type=key
|Return_text=id of the transaction.
|Return_text=id of the transaction.
|p1_type=string|p1_name=k|p1_desc=The key for the key-value pair
|p1_type=string|p1_name=k
|also_functions=
|also_functions=
*[[llGetExperienceErrorMessage]]
*[[llGetExperienceErrorMessage]]
Line 44: Line 42:
         }  
         }  
     }
     }
}</lsl>}}
}</lsl>
|cat1=Experience
|cat2=Experience/Data
|cat3=Dataserver
}}

Revision as of 13:31, 9 July 2014

Summary

Function: key llReadKeyValue( string k );

Start an asynchronous transaction to read the value associated with the specified key and the specified experience.
Returns the key id of the transaction.

• string k The key for the key-value pair

Specification

Dataserver

The dataserver callback parameters are:

String Components
• integer success A boolean specifying if the transaction succeeded (1) or not (0).
• integer error An XP_ERROR_* flag that describes why the operation failed.
• string value The value for the key-value pair. Maximum 2047 characters, or 4095 if using Mono. Note! This value may contain commas.

Examples

<lsl>key trans; default {

   state_entry()
   {
       trans = llReadKeyValue("FOO");
   }
   dataserver(key t, string value)
   {
       if (t == trans)
       {
           // our llReadKeyValue transaction is done
           if (llGetSubString(value, 0, 0) == "1")
           {
               // the key-value pair was successfully read
               llSay(0, "New key-value pair value: " + llGetSubString(value, 2, -1));
           }
           else
           {
               // the key-value pair failed to read
               integer error =  (integer)llGetSubString(value, 2, -1);
               llSay(0, "Key-value failed to read: " + llGetExperienceErrorMessage(error));
           }
       } 
   }
}</lsl>

Deep Notes

Signature

function key llReadKeyValue( string k );