检测: Compval 变量
</=/>/!/?/&
===============================================
一、支持脚本变量大全里所有变量检测!!
二、支持:P\D\M\I\S\A\G\H\INTS
自定义等变量检测!
三、支持:日期、函数变量!
=========================
举例一:脚本变量大全
=========================
#IF
COMPVAL
<$HP> < <$MAXHP>
#ACT
SendMsg 6
当前血量:<$HP>、小于最大血量:<$MAXHP>
#ELSEACT
SendMsg 6
当前您已是满血状态
=========================
举例二:反向检测!
=========================
#IF
!COMPVAL
<$HP> < <$MAXHP>
#ACT
SendMsg 6
当前血量:<$HP>、小于最大血量:<$MAXHP>
#ELSEACT
SendMsg 6
当前您已是满血状态
=========================
举例三:普通、全局、自定义变量
=========================
#ACT
MOV
S_当前地图编号 <$CURRENTMAP>
MOV S_当前地图名称
<$CURRENTMAPDESC>
#IF
COMPVAL <$STR(S_当前地图编号)> = 3
#ACT
SendMsg
6 您当前所在地图编号:<$STR(S_当前地图编号)>
#ELSEACT
SendMsg 6
您当前所在地图编号:<$CURRENTMAP>、不属于:盟重土城
#IF
COMPVAL <$STR(S_当前地图名称)> =
比奇省
#ACT
SendMsg 6
您当前所在地图名称:<$STR(S_当前地图编号)>、属于:<$CURRENTMAPDESC>
#ELSEACT
SendMsg
6 您当前所在地图名称:<$CURRENTMAP>、不属于:比奇省
=========================
举例四:时间戳
=========================
#IF
TRUE
#ACT
INTS
22 = $UNIXTIME
INTS 22 + 600
//第4参数1表示无符号计算,无符号32位整数最大值大约是42亿,而有符号(正负数)32位整数最大值大约是21亿
#IF
COMPVAL $INTS22 > $UNIXTIME
#ACT
CALCVAL
$INTS22 - $UNIXTIME
SENDMSG 7 将在$CALCRESULT秒后过期
CALCVAL $INTS22 ~
0 // ~符号,表示将$INTS22转换为普通的时间格式,专用符号
SENDMSG 7
将在$CALCRESULT过期
#ELSEACT
SENDMSG 7
已过期
=========================
举例五:账号id
=========================
#IF
Compval
<$USERID> ^
"JS"
//<$USERID> ^ "userid" 是否以JS开头
#ACT
sendmsg 5
当前账号:<$USERID>
#ELSEACT
sendmsg 6
当前账号:<$USERID>、不正确
#IF
Compval <$USERID> `
"JS"
//<$USERID> ` "userid" 是否以JS结尾
#ACT
sendmsg 5
当前账号:<$USERID>
#ELSEACT
sendmsg 6
当前账号:<$USERID>、不正确
=========================
举例六:支持与运算(&号)比较
=========================
[@OR]
#act
OR
P1
5
//或运算,1位和3位设置为1(1是低1位,4是低3位,可以用计算器查看BIN数据)
SendMsg 7
<$STR(P1)>
[@XOR]
#if
CompVal <$STR(P1)> &
1
#act
XOR P1 1 //
异或运算,1位设置为0
#if
CompVal <$STR(P1)> & 4 //
异或运算,3位设置为0
#act
XOR P1 4
[@CheckSwitchState]
#if
CompVal
<$STR(P1)> & 1 // 于运算 比较
#act
SendMsg 7
P1低1位二进制数值为1
#elseact
SendMsg 7
P1低1位二进制数值为0
#if
CompVal <$STR(P1)> &
2
#act
SendMsg 7 P1低2位二进制数值为1
#elseact
SendMsg 7
P1低2位二进制数值为0
#if
CompVal <$STR(P1)> &
4
#act
SendMsg 7 P1低3位二进制数值为1
#elseact
SendMsg 7
P1低3位二进制数值为0