Difference between revisions of "LlCreateKeyValue"
Jump to navigation
Jump to search
m |
|||
Line 1: | Line 1: | ||
[[Category:Experience Tools]] | [[Category:Experience Tools]] | ||
{{LSL_Function | {{LSL_Function | ||
|inject-2={{LSL Function/KeyValue|k|v}} | |inject-2= | ||
{{LSL Function/KeyValue/Value|value}} | |||
{{LSL Function/KeyValue|k|v|dataserver|d2_type=string|d2_name=value}} | |||
|func=llCreateKeyValue | |func=llCreateKeyValue | ||
|func_desc=Start an asynchronous transaction to create a key-value pair associated with the given experience key using the given key and value. | |func_desc=Start an asynchronous transaction to create a key-value pair associated with the given experience key using the given key and value. | ||
|func_footnote=Will fail with [[XP_ERROR_STORAGE_EXCEPTION]] if the key already exists. | |func_footnote=Will fail with [[XP_ERROR_STORAGE_EXCEPTION]] if the key already exists.<br><br> | ||
|return_type=key|return_subtype=handle | |return_type=key|return_subtype=handle | ||
|return_text=that can be used to identify the corresponding [[dataserver]] event to determine if this command succeeded or failed. | |return_text=that can be used to identify the corresponding [[dataserver]] event to determine if this command succeeded or failed. | ||
Line 15: | Line 13: | ||
|also_functions= | |also_functions= | ||
*[[llGetExperienceErrorMessage]] | *[[llGetExperienceErrorMessage]] | ||
*[[llReadKeyValue]] | *[[llReadKeyValue]] | ||
*[[llUpdateKeyValue]] | *[[llUpdateKeyValue]] | ||
Line 53: | Line 50: | ||
}</lsl> | }</lsl> | ||
|cat1=Experience | |cat1=Experience | ||
|cat2=Dataserver | |cat2=Experience/Data | ||
|cat3=Dataserver | |||
}} | }} |
Revision as of 13:24, 9 July 2014
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 handle (a key) that can be used to identify the corresponding dataserver event to determine if this command succeeded or failed.
• 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.
Specification
Dataserver
The dataserver callback parameters are:
- A key containing the handle returned from llCreateKeyValue
- A string containing a comma-delimited list (cdl).
llDumpList2String([ integer success ] + components);
- components vary depending upon success or failure of request.
- Failure:
cdl = llDumpList2String([ 0, integer error],",")
- Success:
cdl = llDumpList2String([ 1, string value ],",")
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. |
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>