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