引擎变量说明
注意:自定义变量不要以P、G、M、D、N、S、A开头
字符型变量使用键值对方式存储,控制5000字符以内(中文2500)
| 变量 |
解释 |
| A |
字符型全局变量.重启服务器保存.1000个(A0 -
A999) (超过499为自定义全局变量) |
| G |
数字型全局变量.重启服务器保存.1000个(G0 - G999)
(超过499为自定义全局变量) |
| U |
数字型个人变量.可保存.1000个(U0 - U999)最大值21亿
(超过254为自定义变量) |
| T |
字符型个人变量.可保存.1000个(T0 - T999)最大长度8000字符串以内
(超过254为自定义变量) |
| S |
字符型个人变量.下线不保存.100个(S0 - S99)
(超过99为自定义变量) |
| D |
数字型个人变量.下线不保存.100个(D0 - D99)摇骰子变量取值范围:(0-65375) (超过99为自定义变量,下线不清空) |
| N |
数字型个人变量.下线不保存.100个(N0 - N99)
(超过99为自定义变量下线不清空) |
| M |
数字型个人变量.下线不保存.100个(M0 - M99)切换地图清空
(超过99为自定义变量切换地图不清空) |
| J |
数字型个人变量.可保存.每晚自动12点重置,合区或关停服务器请错开00:00点.500个(J0
- J499(超过499为自定义变量,12点不重置) |
| Z |
字符型个人变量.可保存.每晚自动12点重置,合区或关停服务器请错开00:00点.500个(Z0 -
Z499)(超过499为自定义变量,12点不重置) |
| 个人标记 |
整数型个人变量可存储型,该变量只有0和1的两种状态 |
上述所有变量超过官方定义标识均为自定义变量!!!!例如:J1999会保存在数据库12点不清理!!!!!
上述所有变量超过官方定义标识均为自定义变量!!!!例如:J1999会保存在数据库12点不清理!!!!!
上述所有变量超过官方定义标识均为自定义变量!!!!例如:J1999会保存在数据库12点不清理!!!!!
变量特性计算说明:
数字型计算例子(支持公式计算):(G,I,P,D,N,M,U,J)
#IF
#ACT
mov U1 1
inc U1 1
sendmsg 7 <$str(U1)>---------打印结果为U1变量=“2”
字符型计算例子(不支持公式计算):(A,S,T,Z)
#IF
#ACT
mov T1 1
inc T1 1
sendmsg 7
<$str(T1)>---------打印结果为T1变量=“11”字符型其他计算方式不要用,会导致变量出问题
个人标识变量:
类型:
个人变量 通用传递 下线保存
数量:
800个 ( 000 - 1024 )
属性:
该变量只有2种状态:1 和 0!
使用方法:
因为该变量记录性比较强。而且如果产生读写操作时服务器的操作不是很大。
所以作为记录一些人物的下线后需要保留的数据的话作用十分大,
大部分任务时常用到他。该变量值只有1和0的两种状态。
举例:
#IF
CHECK [008] 0
#ACT
SET [008] 1
Break
标识不支持表格式常量嵌套如:
check [<$cfg_biaoming(1_1)>] 0
set [<$cfg_biaoming(1_1)>] 1
P,G,M,D,N,S,A变量使用说明
检测等于:EQUAL 变量名 数值
检测大于:LARGE 变量名
数值
检测小于:SMALL 变量名 数值
变量赋值:MOV
变量名 数值
加上指定数值:INC 变量名 数值
减去指定数值:DEC 变量名 数值
变量相加:SUM 变量名A
变量名B
两个数相除: Div 变量A 除数B 被除数C
两个数相乘:MUL 变量A 乘数B 被乘数C
变量赋予小于指定数值的随机非负数:MOVR数值
把变量转为字符串:<$STR(变量)>
变量是用详细说明:
P,G,M,I,D,N,S,A变量使用方法详细说明
MOV命令使用说明:
增加MOV命令可以 直接在2个变量之间操作 。
假设已经定义自定义字符变量Name和数字型自定义变量TEST
以下是MOV的几种使用方法
MOV HUMAN Name S0
这句的意思就是把S0值 传给自定义变量Name
MOV S0 HUMAN Name 把自定义变量Name值
传给变量S0
MOV S0 你好 把“你好”传给变量S0
MOV HUMAN Name 你好 把“你好”传给自定义变量Name
MOV S0 <$STR(S1)> 把S1值传给S0
MOV D1 1 把1传给变量D1 (这个是最常见的使用方法)
MOV HUMAN TEST D1 把变量D1值传给自定义变量TEST
MOV D1 HUMAN TEST 把自定义变量TEST传给变量D1
MOV HUMAN TEST 1 把1传给自定义变量TEST
EQUAL命令使用说明:
EQUAL可以 直接在2个变量之间操作 。
EQUAL S1 1 检测S1值是否等于数字1值 (这个是最常见的使用方法)
EQUAL S1 小达 检测S1值是否等于字符小达
EQUAL S1
G1 检测S1值是否等于G1.该命令也支持2个变量之间的检测
SMALL和LARGE命令使用说明:
增加SMALL和LARGE命令可以 直接在2个变量之间操作 。
假设已经定义数字型自定义变量TEST
以SMALL为例以下是SMALL的几种使用方法
SMALL D0 1
检测D0值是否小于1值 (这个是最常见的使用方法)
SMALL HUMAN TEST D0
检测自定义变量TEST值是否小于D0值
SMALL D0 HUMAN TEST
检测D0值是否小于自定义变量TEST值
SMALL HUMAN TEST 1
检测自定义变量TEST值是否小于1值
LARGE和SMALL用法完全一样
DEC和INC命令使用说明:
增加DEC和INC命令可以直接在2个变量之间操作 。
假设已经定义自定义数字型自定义变量TEST
以DEC为例,以下是DEC的几种使用方法
DEC D0 1 意思是
D0 = D0 - 1 (这个是最常见的使用方法)
DEC D0 D1 意思是 D0 = D0 - D1
DEC HUMAN TEST D0 意思是 TEST = TEST - D0
DEC D0 HUMAN TEST 意思是 D1 = TEST - D0
INC命令使用和DEC一样
Div命令使用说明:
Div可以直接在2个变量之间操作 。
Div N10 100 2
意思是 N10=100/2 100除于2就等于50.那么N10就等于50拉
Div N10
<$STR(N20)> <$STR(N21)> 意思是 N10=N20/N21
MUL命令使用说明:
MUL可以直接在2个变量之间操作 。
MUL N10 100 2 意思是 N10=100*2 100乘于2就等于200.那么N10就等于200拉.
MUL N10 <$STR(N20)> <$STR(N21)> 意思是 N10=N20*N21
同时修改了脚本参数。目前可以使用
<$STR(变量)>用于任何脚本参数中
同时使用<$STR(变量)>(全局变量、自定义变量和其他系统变量)都可以用于[任何脚本]参数中。
例如:
checkgold <$STR(变量)>
CHECKITEM <$STR(变量)> <$STR(变量)>
changeexp = <$STR(变量)>
changelevel = <$STR(变量)>
CheckOnline <$STR(变量)>
CHECKMAPNAME <$STR(变量)>
TAKE
<$STR(变量)> <$STR(变量)>
TAKEW
<$STR(变量)> <$STR(变量)>
GIVE <$STR(变量)>
<$STR(变量)>
DEC对字符型变量操作命令。
MOV命令做了一些改进。
[@Main]
#ACT
MOV S1 GameOfMir引擎M2
MOV S2 GameOfMir引擎M2
DEC S1
GameOfMir引擎;删除S1中的“GameOfMir引擎”字符串
DEC S2 1 3
;删除S2中的第1至第3个字符串 这个要注意,一个汉字是2个字节长度,不要删除半个汉字的情况,否则会乱码。
结果 S1=M2
S2=引擎M2
自定义变量赋值新写法:
MOV 命令更新扩展:
MOV 参数一 参数二 参数三
参数一:变量名
参数二: 数值
参数三:(只支持自定义变量)赋值自定义变量时,变量类型(0或空默认字符型,1数值型)
切记!第一次操作自定义变量即定义了变量类型!后续变量类型无法更改!请规范使用mov命令操作自定义变量
例:
MOV S10001 1000000001 1
此时S10001 为自定义数值型变量
MOV S10002
这是测试变量
此时S10002 为自定义字符型变量
注意!!!自定义变量类型赋值后不可随意更改变量类型!!!!!!