传奇七号站-为优质资源而生分享无止境,七版本站Ctrl+D收藏本站!
登录后,享受更多优质服务哦

新BLUE引擎常用变量数据以及变量扩展代码功能运用讲解

七号编辑 收藏

新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。

例如:

MOV M测试整数1 12345
MOV S测试字符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
支持范围写法:MOVR M1 3 5,SETRANDOMNO 5 11

举例:
MOV G11 2147483647

四:变量类型

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

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

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

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

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

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

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

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

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

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

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

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

SMALL M88 <$STR(G88)> ;检测私人变量M88,是否小于全局变量G88
LARGE M88 <$STR(G88)> ;检测私人变量M88,是否大于全局变量G88
EQUAL M88 <$STR(G88)> ;检测私人变量M88,是否等于全局变量G88
MOV G88 <$STR(M88)>;设置全局变量G88= M88
INC G88 <$STR(M88)>;设置全局变量G88= G88+M88
DEC G88 <$STR(M88)>;设置全局变量G88= G88-M88
MUL M88 $STR(M89);设置私人变量M88= M88*M89
DIV M88 $STR(M89);设置私人变量M88= M88/M89
PERCENT M88 $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
MOV M11 0
SUM M12 M13
SUM M14

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

3.DEC特殊用法

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

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

1.申明变量:

VAR INTEGER HUMAN 剩余领取
LOADVAR HUMAN 剩余领取 ..\QUESTDIARY\数据文件\剩余领取SAVE.TXT

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

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

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

七.标识

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

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

1.关于RESET命令的详解:
RESET [XXX] 7 意思是将从XXX开始的7个变量回复到原始值0
比如:RESET [100] 7 就是把100 101 102 103 104 105 106 这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 全局变量(数字型) 可保存
INTS 0~29 私人变量(整数型) 可保存 (可以使用<$INTS0~29>获取和显示,英雄以<$H.INTS0~29>获取和显示)
INTS 0~29 在记录日志在元宝类型中,搜索日志以关键字“整数”进行过滤,
 


☉若无特殊注明本文皆为传奇版本库原创,转载请保留文章出处。
☉本站提供的资源来源网络收集,仅供学习研究之用切勿用于商业用途。
上一篇:新BLUE引擎代码增加多种触发QF以及setup触发总开关讲解
下一篇:新blue清除地图中的怪物及清除地图物品功能代码实现

我要评论
说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!