LlKeyCountKeyValue
Revision as of 12:13, 5 May 2015 by Strife Onizuka (talk | contribs)
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: key llKeyCountKeyValue( );
Start an asynchronous transaction to request the number of keys with the script's 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.
Specification
Dataserver
The dataserver callback parameters are:
- A key containing the handle returned from llKeyCountKeyValue
- 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, integer pairs ],",")
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. | |
• integer | pairs | – | number of keys-value pairs in the key-value store |
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 = llKeyCountKeyValue();
}
dataserver(key t, string value)
{
if (t == trans)
{
// our llKeyCountKeyValue transaction is done
list result = llCSV2List(value);
if (llList2Integer(result, 0) == 1)
{
// data size retrieved
llSay(0, "Keys in use: "+llList2String(result, 1));
}
else
{
// key count failed
llSay(0, "Key-value failed to count keys: " + 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.
![]() |
Important: Not all TPVs have this functionality. |