Difference between revisions of "LlDeleteKeyValue"

From Second Life Wiki
Jump to navigation Jump to search
m
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}}
|inject-2=
{{LSL Function/KeyValue|k|value=value|d2_type=string|d2_name=value}}
{{LSL Function/Experience|true}}
|func=llDeleteKeyValue
|func=llDeleteKeyValue
|func_desc=Start an asynchronous transaction to delete a key-value pair associated with the given experience key with the given key.
|func_desc=Start an asynchronous transaction to delete a key-value pair associated with the script's {{LSLGC|Experience}} with the given key ({{LSLPT|k}}).
|func_footnote=If the key does not exist the [[dataserver]] will return a failure along with the error [[XP_ERROR_STORAGE_EXCEPTION]].
|func_footnote=If the key does not exist the [[dataserver]] will return a failure along with the error [[XP_ERROR_STORAGE_EXCEPTION]].
|return_type=key|return_subtype=handle
|return_type=key|return_subtype=handle

Latest revision as of 11:12, 5 May 2015

Summary

Function: key llDeleteKeyValue( string k );

Start an asynchronous transaction to delete a key-value pair associated with the script's Experience with the given key (k).
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 pairThe key for the key-value pair

If the key does not exist the dataserver will return a failure along with the error XP_ERROR_STORAGE_EXCEPTION.

For this function to work, the script must be compiled into an Experience.

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.

Caveats

  • If you recompile a script that was previously associated with an Experience but do so with a client that lacks the ability to compile scripts into an experience the script will lose the associated Experience.

Examples

key trans;
default
{
    state_entry()
    {
        trans = llDeleteKeyValue("FOO");
    }

    dataserver(key t, string value)
    {
        if (t == trans)
        {
            // our llDeleteKeyValue transaction is done
            list result = llCSV2List(value);
            if (llList2Integer(result, 0) == 1)
            {
                // the key-value pair was successfully deleted
                llSay(0, "New key-value pair was deleted");
            }
            else
            {
                // the key-value pair was not deleted
                llSay(0, "Key-value failed to delete: " + llList2String(result, 1) );
            }
        } 
    }
}

Notes

Compiling

For a script to be associated with an Experience...

  • It must be compiled with a client that is Experience aware,
  • The "Use Experience" checkbox must be checked,
  • And one of the users Experience keys selected.
KBcaution.png Important: Not all TPVs have this functionality.

Deep Notes

Signature

function key llDeleteKeyValue( string k );