超级大黄蜂 发表于 2023-4-15 13:39:46

有没有大佬简单讲解一下键对值的功能和用法

看了看说明书,不太会用,不知道应该用在那些地方

996技术-wang 发表于 2023-4-20 11:32:04

看是看不会的

得自己写测试才行

下面有范例的 请复制范例测试

高效率版键值对操作命令
;字符串引擎支持8000字符长度,建议控制在5000字符长度以内,主键值数量小于200组


申明变量到缓存读取(高效率缓存版)
;使用高效率键值对必须将相关变量优先读到缓存中,个人变量申明在登录触发,全局变量申明在启动触发

格式:UPGRIDEVARCACHE 参数1

参数1:变量名称


增加和修改字符型变量主键值对应值(高效率缓存版)

格式:ADDVARCACHE 参数1 参数2 参数3
;该命令同步:ADDSTRVALUE一致,但因考虑高效率操作单独开出的命令,有需要的请将其替换为高效率版相关命令

参数1:变量名称

参数2:主键值

参数3:对应值



修改字符型变量(高效率缓存版)

格式:MOVVARCACHE 参数1 参数2
;该命令同步:MOV用法一致,但如果使用高效率键值对的变量一定不要使用MOV对键值对进行操作!
;该命令同步:MOV用法一致,但如果使用高效率键值对的变量一定不要使用MOV对键值对进行操作!
;该命令同步:MOV用法一致,但如果使用高效率键值对的变量一定不要使用MOV对键值对进行操作!

参数1:变量名称

参数2:改变值


//例子:

[@main]

#IF
#ACT
MOV N50 183
UPGRIDEVARCACHE T<$str(N50)>
PRINTUSETIME 1
MOVVARCACHE T<$str(N50)>
MOV N11 200
MOV N12 0
while N12 < <$str(N11)>
inc N12 1
ADDVARCACHE T<$str(N50)> <$str(N12)> 996m2.com
endwhile
MOV N14 500
MOV N13 0
PRINTUSETIME 2


;键值对常量取值耗时打印
PRINTUSETIME 1
while N13 < <$str(N14)>
INC N13 1
sendmsg 7 <$GETSTRVALUE(T<$str(N50)>,<$str(N13)>)>
endwhile
PRINTUSETIME 2




键值对功能

注:不建议在面板上使用,会导致耗时很高

功能:增加和修改字符型变量主键值对应值

格式:ADDSTRVALUE 参数1 参数2 参数3

参数1:字符型变量 (A变量 T变量 S变量)如果是自定义字符型变量 格式为:HUMAN(XXX)不要带<$> 但是要带HUMAN、GLOBAL GUILD

参数2:主键值

参数3:对应值



写入例子:

[@main]

#IF

#ACT

MOV T10 1=999,2=888,3=777



增加例子:

[@main]

#IF

#ACT

ADDSTRVALUE T10 4 996M2



修改例子:

[@main]

#IF

#ACT

ADDSTRVALUE T10 1 996M2.COM

获取字符串主键值 对应值:

格式:GETSTRVALUE 参数1 参数2 参数3

参数1:字符型变量 (A变量 T变量 S变量)如果是自定义字符型变量 格式为:HUMAN(XXX)不要带<$> 但是要带HUMAN、GLOBAL GUILD(注意自定义变量需要保存)

参数2:主键值

参数3:存入变量



例子:

[@获取主键值对应值]

#IF

#ACT

GETSTRVALUE T10 1 S10

SENDMSG 6 获取出来的为:<$STR(S10)>

删除字符型变量主键值:

DELSTRVALUE 参数1 参数2

参数1:字符型变量 (A变量 T变量 S变量)如果是自定义字符型变量 格式为:HUMAN(XXX)不要带<$> 但是要带HUMAN、GLOBAL GUILD(注意自定义变量需要保存)

参数2:主键值



例子:

[@删除主键值]

#IF

#ACT

DELSTRVALUE T10 1





--------------------------------------------------------------------------------

键值对获取全部主键命令


GETSTRKEY 参数1 参数2
参数1:键值对变量名称
参数2:存入变量



//例子
#if
#ACT
mov T1 1=2,2=1,996=2,引擎=3
GETSTRKEY T1 S1
;取出主键值为逗号分割(1,2,996,引擎)
sendmsg 7 <$str(S1)>
;配合分割字符串使用功能强大
MOV N11 1
GETVALIDSTRSUPER <$str(S1)> , S$获取主键值 N$总主键数量
while N11 < <$str(N$总主键数量)>
sendmsg 7 <$str(S$获取主键值<$str(N11)>)>
endwhile



--------------------------------------------------------------------------------


通过变量名称获取其中里面的主键对应的值常量



<$GETSTRVALUE(T1,1)>



//例子
#if
#ACT
mov T1 1=996M2,2=996M2.COM
sendmsg 7 <$GETSTRVALUE(T1,1)>,<$GETSTRVALUE(T1,2)>



;说明
常量中的T1不支持套用<$str()>,因为加这个括号服务端会把他解出来,解出来的变量值将无法获取!
变量套表方法,我们可以在<$cfg_bianliang(1_1)>这个表1行1列中写入T1即可


变量获取添加方式:
T1
A1
S1
S$XX
HUMAN(变量)

叫我大叔 发表于 2023-4-20 11:58:04

时间戳 看不懂

996技术-wang 发表于 2023-4-21 10:11:49

你可以先百度下 时间戳 具体是啥   然后下载论坛里最新的版本 里面都有用这个的
你得多看论坛版本里的运用

wslz1 发表于 2023-7-11 20:17:05

百度了,还是一头雾水怎么办呐头疼了:'(

996技术-wang 发表于 2023-7-12 10:16:16

时间戳 论坛版本里很多的 你可以先看脚本的。。

ww201362 发表于 2023-7-22 16:52:35

看完帖子了至少要顶一下,学习996引擎!

996技术-wang 发表于 2023-7-24 17:36:39

请勿灌水。。。

二大爷 发表于 2023-8-14 18:25:52

叫我大叔 发表于 2023-4-20 11:58
时间戳 看不懂

时间戳就是1970-1-1开始到当前时间经历的秒数

996技术-wang 发表于 2023-8-15 11:33:57

对的
页: [1]
查看完整版本: 有没有大佬简单讲解一下键对值的功能和用法