服务端说明
键值相关操作命令
##键值操作命令
SetStrValue 参数1 参数2 参数3 参数4 参数5 参数6- 参数1:操作变量 (支持自定义变量,自由变量)
- 参数2:键名 (*表示批量处理)
- 参数3:操作符 ( + 、 - 、 = 、* 、 / 、 \ 、 %)
- 参数4:数值 (该参数为 NULL 表示删除这个键)
- 参数5:数值类型 (0:字符 1:数字) 默认为1
- 参数6:分隔符 (默认为"|")
- 操作符
- 整除向下
- 整除向上
- 取模
[@示范]
#IF
True
#ACT
MOV S50 等级=10|经验=100|攻击=50
SENDMSG 7 [数字修改]赋值:<$STR(S50)>
SETSTRVALUE S50 经验 = 20 1 |
SENDMSG 5 [数字修改]返回:<$STR(S50)>
SENDMSG 5 [数字修改]返回:等级=10|经验=20|攻击=50
break
[@示范]
#IF
True
#ACT
MOV A50 镇魔塔1层玩家=小可爱|镇魔塔10层玩家=老枫叶|镇魔塔30层玩家=小枫叶
SENDMSG 7 [字符修改]赋值:<$STR(S50)>
SETSTRVALUE S50 * = 空 0 |
SENDMSG 5 [字符修改]返回:<$STR(S50)>
SENDMSG 5 [字符修改]返回:镇魔塔1层玩家=空|镇魔塔10层玩家=空|镇魔塔30层玩家=空
break
[@示范]
#IF
True
#ACT
CALCVAR GLOBAL 沙城主 = 城主名字=枫叶|城主职业=战士|城主等级=63|城主性别=男
SENDMSG 7 [自定义全局变量字符修改]赋值:<$GLOBAL(男战士)>
SETSTRVALUE GLOBAL|沙城主 城主等级 = 72 0 |
SENDMSG 5 [自定义全局变量字符修改]返回:<$GLOBAL(男战士)>
break##返回键值变量
新增变量 $KV(X).Y.Z 返回键值变量相关参数
- X:键值变量
- Y:返回类型
- Z:分隔符 (分割符为"|"可忽略该参数)
[默认示例]
MOV S50 等级=10|经验=100|攻击=50 // 如果键值默认是"|"分割,则可使用以变量返回指定值
$KV($STR(S50)).等级 //返回值为10
$KV($STR(S50)).COUNT //返回键数量
$KV($STR(S50)).KEYS //返回所有键名(用|隔开)
$KV($STR(S50)).0.KEY //返回第1个键名
$KV($STR(S50)).0.VALUE //返回第1个键值
$KV($STR(S50)).0.STR //返回第1个键名键值
[默认示例]
MOV S50 等级=10#经验=100#攻击=50 // 如果键值是"#"分割,则需要使用Z参数
$KV($STR(S50)).等级.SPE(#) //返回值为10
$KV($STR(S50)).COUNT.SPE(#) //返回键数量
$KV($STR(S50)).KEYS.SPE(#) //返回所有键名(用|隔开)
$KV($STR(S50)).0.KEY.SPE(#) //返回第1个键名
$KV($STR(S50)).0.VALUE.SPE(#) //返回第1个键值
$KV($STR(S50)).0.STR.SPE(#) //返回第1个键名键值##键值变量排序命令
SortStrValue 参数1 参数2 参数3 参数4 参数5- 参数1:键值变量 (支持自定义变量,自由变量)
- 参数2:排序数值位置 (从0开始)
- 参数3:排序顺序规则 (0:从大到小 1:从小到大)
- 参数4:一级分隔符 (默认为"|")
- 参数5:二级分隔符 (默认为"=")
[@示范]
#IF
True
#ACT
MOV A50 大枫叶=30|小枫叶=18|老枫叶=60
SortStrValue A50 1 0
SENDMSG 5 返回:<$STR(A50)>
SENDMSG 5 返回:老枫叶=60|大枫叶=30|小枫叶=18
break
[@示范]
#IF
True
#ACT
MOV A50 大枫叶=长度&30|小枫叶=长度&18|老枫叶=长度&60
SortStrValue A50 1 1 | &
SENDMSG 5 返回:<$STR(A50)>
SENDMSG 5 返回:小枫叶=长度&18|大枫叶=长度&30|老枫叶=长度&60
break