LlReadKeyValue
| 首页 | 函数 | 事件 | 类型 | 操作符 | 常数 | Flow Control | Script Library | Categorized Library | Tutorials |
| 函数名 |
|---|
| Function: key llReadKeyValue( string k ); |
| 参数:string k – 键-值对的键 |
| 返回值:启动一个异步事务,读取与指定键(k)和脚本经验相关联的值。
返回一个句柄(键),可用于识别对应的dataserver事件,以确定此命令是成功还是失败以及结果。 |
| 注意事项 |
|---|
| 如果密钥不存在,dataserver将返回一个失败以及错误XP_ERROR_KEY_NOT_FOUND。
要使此函数工作,必须将脚本编译成Experience。 如果您重新编译一个以前与经验相关联的脚本,但在这样做的客户端缺乏将脚本编译成经验的能力,那么脚本将丢失相关的经验。 Specification Dataserver
数据服务器回调参数是:
从llReadKeyValue返回的包含句柄的键
包含逗号分隔列表(cdl)的字符串。llDumpList2String([ integer success ] + components);
组件的不同取决于请求的成功或失败。
Failure: cdl = llDumpList2String([ 0, integer error],",")
Success: cdl = llDumpList2String([ 1, string value ],",")
String Components • integer success – 一个布尔值,指定事务是否成功(1)或不成功(0)。 • integer error – 描述操作失败原因的XP_ERROR_*标志。 • string value – 键-值对的值。最大2047个字符,如果使用Mono,则为4095个字符。注意!此值可能包含逗号。 |
| 示例 |
|---|
示例1
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));
}
}
}
}
|
| 相关函数 |
|---|
| llGetExperienceErrorMessage |
| 相关事件 |
|---|
| 无 |