引擎变量说明

注意:自定义变量不要以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 为自定义字符型变量
注意!!!自定义变量类型赋值后不可随意更改变量类型!!!!!!