传奇新BLUE引擎中的变量数据、扩展与应用:详解和实例

来源: 作者: 点击:

一、变量扩展:

个人变量M、S:超出范围(0~99)时自动扩展,扩展后字符长度最好保持在20字节以内。
全局变量G、A:超出范围(0~99)时自动扩展,服务器关闭可保存。
地图变量E、F:指向执行命令玩家所在地图,服务器关闭不保存。
示例:

MOVM测试整数112345
MOVS测试字符1字符串1
<$STR(M测试整数1)>,<$STR(S测试字符1)>
Copy
二、变量类型:

EQUAL、LARGE、SMALL、ISBITSET支持解释嵌套变量,如:

#ACT
MOVM8012345
MOVS14M80
#IF
EQUAL<$STR(S14)>12345
#ACT
SENDMSG7正确结果
#ELSEACT
SENDMSG7错误结果
Copy
三、变量与变量之间的常用格式:

SMALLM88<,
STR(G88)>,EQUALM88<,
STR(M88)>,INCG88<,
STR(M88)>,MULM88,
STR(M89),PERCENTM88$STR(M89)

四、其他变量命令:

SUM命令:MOV(变量X)0;SUM(变量A)(变量B);SUM(变量C)
MOVR命令:MOVR(变量)(数值)
DEC命令:DECA0XY
五、自定义变量:

申明变量:VARINTEGERHUMAN剩余领取LOADVARHUMAN剩余领取..\QUESTDIARY\数据文件\剩余领取SAVE.TXT
自定义变量常用格式:CHECKVARHUMAN自定义变量(?、>、=、<)10000CALCVARHUMAN自定义变量(=、+、-)10000MOVM88<$HUMAN(自定义变量)>
六、标识:

[001]-[808],标识的初始值是关闭的,它不会因为人物下线或服务器重启而重置。

示例:

CHECK[001]0的意思是检测你的标识[001]是否关闭
SET[001]1的意思是设置你的标识[001]为开的状态
RESET[XXX]7将从XXX开始的7个变量回复到原始值0
Copy
M2全部变量:

P0-P9、D0-D99、M0-M99(私人变量,不可保存)、I0-I99、S0-S99(私人变量,不可保存)、A0-A99(全局变量,可保存)、H0-H99、G0-G99(全局变量,可保存)、INTS0~29(私人变量,可保存) 

新BLUE引擎常用变量数据如变量扩展、变量类型、变量与变量之间的常用格式、自定义变量不要以P、G、M、I、D、N、S、A开头、其他变量命令:1.关于SUM命令的详解,关于MOVR命令的详解,[001]-[808]各引擎不同标识的上限值不能。正常的是808个这不是变量这是标识。

一:变量扩展:使用个人M、S变量在超出常规范围(0~99)时会自动扩展,M、S后面可以是任意字符,字符的长度最好保持在20字节以内,注:SUM命令对于自由扩展的M变量,结果放在:M99999999。

例如:

MOVM测试整数112345
MOVS测试字符1字符串1,显示:<$STR(M测试整数1)>,<$STR(S测试字符1)>

二:变量扩展:

使用全局G、A变量在超出常规范围(0~99)时会自动扩展,服务器关闭可保存,注:SUM命令对于自由扩展的G变量,结果放在:G99999999,用法同上。

三:变量扩展:

增加:属于地图的整数变量E、字符串变量F,地图指向执行命令玩家所在的地图,服务器关闭不保存,注:SUM命令对于E变量,结果放在:E99999999,用法同上。
全局变量不再保存在!SETUP.TXT,改为保存到QUESTPARAMS.INI
数值支持到21E
支持范围写法:MOVRM135,SETRANDOMNO511

举例:
MOVG112147483647

四:变量类型

EQUAL、LARGE、SMALL、ISBITSET支持解释嵌套变量,例如:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#ACT
MOVM8012345
MOVS14M80
#IF
EQUAL<$STR(S14)>12345
#ACT
SENDMSG7正确结果
#ELSEACT
SENDMSG7错误结果
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
举例:
#IF
SMALLD11
#SAY
检测D1值是否小于1值;SMALL代表:小于

举例:
#IF
LARGED11
#SAY
检测D1值是否大于1值;LARGE代表:大于

举例:
#IF
EQUALD11
#SAY
检测D1值是否等于1值;EQUAL代表:等于

举例:
#IF
#ACT
MOVD11
#SAY
将D1值的变量设置为1值;MOV代表:给予

举例:
#IF
#ACT
MOVRD11000
#SAY
将D1值的变量设置为0-1000之间的随机值//MOVR代表:给予指定范围内的随机值

举例:
#IF
#ACT
MOVRM110005000
#SAY
将D1值的变量设置为1000-5000之间的随机值//MOVR代表:给予指定范围内的随机值

举例:
#IF
#ACT
INCD11
#SAY
将D1值的变量增加了1点;INC代表:加法

例如:
#IF
#ACT
DECD11
#SAY
将D1值的变量减少了1点;DEC代表:减法

举例:
#IF
#ACT
MULD11
#SAY
将D1值的变量乘以1数字;MUL代表:乘法

举例:
#IF
#ACT
DIVD11
#SAY
将D1值的变量除以1数字;DIV代表:除法

举例:
#IF
#ACT
PERCENTM1$STR(M2)
#SAY
M1的边量=M1除M2*100%的值;PERCENT代表:变量1除以变量乘100%的值

四.变量与变量之间的常用格式:

SMALLM88<$STR(G88)>;检测私人变量M88,是否小于全局变量G88
LARGEM88<$STR(G88)>;检测私人变量M88,是否大于全局变量G88
EQUALM88<$STR(G88)>;检测私人变量M88,是否等于全局变量G88
MOVG88<$STR(M88)>;设置全局变量G88=M88
INCG88<$STR(M88)>;设置全局变量G88=G88+M88
DECG88<$STR(M88)>;设置全局变量G88=G88-M88
MULM88$STR(M89);设置私人变量M88=M88*M89
DIVM88$STR(M89);设置私人变量M88=M88/M89
PERCENTM88$STR(M89);设置私人变量M88=M88/M89*100%

五.其他变量命令:

1.关于SUM命令的详解:

首先有MOV(变量X)0;(变量X)清0
SUM(变量A)(变量B);X=A+B
SUM(变量C);X=X+C
例如:设置M11=M12+M13+M14
MOVM110
SUMM12M13
SUMM14

2.关于MOVR命令的详解:
MOVR(变量)(数值);随机把指定数值以下的数(正数)给变量
MOVRM85
意思就是随机设置M8为01234

3.DEC特殊用法

支持A,S变量的DEC操作,格式:DECA0XY
其中X,Y表示位置,操作的结果:删除A0字符串中从X开始到Y结束之间的字符-
以下操作去掉"ABCDEFGHIJK"
MOVS0屠龙ABCDEFGHIJK刀
DECS0515

六.自定义变量
注意:自定义变量不要以P、G、M、I、D、N、S、A开头

1.申明变量:

VARINTEGERHUMAN剩余领取
LOADVARHUMAN剩余领取..\QUESTDIARY\数据文件\剩余领取SAVE.TXT

2.自定义变量常用格式:

CHECKVARHUMAN自定义变量(?、>、=、<)10000
CHECKVARHUMAN自定义变量(?、>、=、<)<$STR(D3)>

-------------------------------------------
CALCVARHUMAN自定义变量(=、+、-)10000
SAVEVARHUMAN自定义变量..\QUESTDIARY\数据文件\自定义变量SAVE.TXT
CALCVARHUMAN自定义变量(=、+、-)<$STR(D3)>
SAVEVARHUMAN自定义变量..\QUESTDIARY\数据文件\自定义变量SAVE.TXT
-------------------------------------------
MOVM88<$HUMAN(自定义变量)>;设置变量M88=[自定义变量]

七.标识

[001]-[808](各引擎不同标识的上限值不能。正常的是808个,这不是变量,这是标识
标识的初始值是关闭的,它不会因为人物下线或服务器重启而重置
相关命令格式:

CHECK[001]0的意思是检测你的标识[001]是否关闭
SET[001]1的意思是设置你的标识[001]为开的状态

1.关于RESET命令的详解:
RESET[XXX]7意思是将从XXX开始的7个变量回复到原始值0
比如:RESET[100]7就是把100101102103104105106这7个变量赋值为0。
它等同与:SET[100]0
SET[101]0
SET[102]0
SET[103]0
SET[104]0
SET[105]0
SET[106]0

M2全部变量

P0-P9私人变量(数字型)不可保存转换NPC或关闭对话框变量为0
D0-D99私人变量(数字型)不可保存
M0-M99私人变量(数字型)不可保存
I0-I99全局变量(数字型)不可保存重起服务器后自动为0
S0-S99私人变量(字符型)不可保存
A0-A99全局变量(字符型)可保存
H0-H99全局变量(数字型)可保存
G0-G99全局变量(数字型)可保存
INTS0~29私人变量(整数型)可保存(可以使用<$INTS0~29>获取和显示,英雄以<$H.INTS0~29>获取和显示)
INTS0~29在记录日志在元宝类型中,搜索日志以关键字“整数”进行过滤,

[顶部]