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 | 
| 相关事件 | 
|---|
| 无 | 
