llReadKeyValue

From Second Life Wiki
Revision as of 05:36, 7 February 2015 by Quartz Mole (talk | contribs) (fixed broken lsl formatting)
Jump to navigation Jump to search

Summary

Function: key llReadKeyValue( string k );

Start an asynchronous transaction to read the value associated with the specified key and the specified experience.
Returns a handle (a key) that can be used to identify the corresponding dataserver event to determine if this command succeeded or failed and the results.

• 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

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));
            }
        } 
    }
}

Deep Notes

Signature

function key llReadKeyValue( string k );