Skip to content
lsl.devlsl.devLSL Dev

llKeysKeyValue

functionRequires an experience
Function syntax
key llKeysKeyValue(
  1. integer first,// Zero-based start index of the keys to retrieve.
  2. integer count// Number of keys to retrieve.
);
Returns
key
Energy
10

Start an asynchronous transaction to request a number of keys from the script’s Experience.

This function will attempt to retrieve the number of keys requested but may return less if there are not enough to fulfill the full amount requested or if the list is too large. The length of the returned list is limited to 4097 characters (the success flag “1” and 4096 characters). The order keys are returned is not guaranteed but is stable between subsequent calls as long as no keys are added or removed.

The error XP_ERROR_KEY_NOT_FOUND is returned if there index given is greater than or equal to the number of keys.

Returns a key that can be used to identify the corresponding dataserver event to determine if this command succeeded or failed.

How to use
key result = llKeysKeyValue(0, 0);
  • It is recommended that keys do not contain commas due to this function returning keys in CSV format.
Example 1
key trans;
default
{
state_entry()
{
// retrieve the first 10 keys
trans = llKeysKeyValue(0, 10);
}
dataserver(key t, string value)
{
if (t == trans)
{
// our llKeysKeyValue transaction is done
list result = llCSV2List(value);
if (llList2Integer(result, 0) == 1)
16 collapsed lines
{
llSay(0, "Keys retrieved: "+(string)llGetSubString(value, 2, -1));
}
else if (llList2Integer(result, 1) == XP_ERROR_KEY_NOT_FOUND)
{
// no more keys
llSay(0, "No more keys" );
}
else
{
// keys request failed
llSay(0, "Key-value failed to request keys: " + llGetExperienceErrorMessage(llList2Integer(result, 1)) );
}
}
}
}
Original wiki source

Some wiki templates and tables need their original context. View this article on the Second Life Wiki. Technical wording and examples are retained from the source; historical guidance may differ from current behavior.