查看: 43|回复: 0

[传奇技术] BLUEm2_各种M2变量写法操作说明

[复制链接]
  • 打卡等级:热心大叔
  • 打卡总天数:107
  • 打卡月天数:9
  • 打卡总奖励:1817
  • 最近打卡:2024-12-21 13:42:36

65

主题

1

回帖

17万

积分

帮主

积分
174279

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2023-8-5 17:17:06 | 显示全部楼层 |阅读模式
BLUE引擎各种M2变量写法操作说明

QQ图片20230802001655.png

1.保存数字型变量:INTS
没有负数,最大至42亿多

INTS 0~29 +/-/= 数量

变量显示:<$INTS0>~<$INTS29>

#IF
CHECKINTS 0 ? 数量
#ACT
INTS 0 + 1
INTS 0 = 1
INTS 0 - 1

INTS 0~29 私人变量(整数型) 可保存 (可以用<$INTS0~29>获取显示,英雄<$H.INTS0~29>获取和显示)
INTS 0~29 在记录日志在元宝类型中,搜索日志以关键字“整数”进行过滤

2:变量类型

P0-P9  私人变量(数字型) 不可保存 转换NPC或关闭对话框变量为0
D0-D99 私人变量(数字型) 不可保存
M0-M99 私人变量(数字型) 不可保存
I0-I99 全局变量(数字型) 不可保存 重起服务器后自动为0
S0-S99 私人变量(字符型) 不可保存
A0-A99 全局变量(字符型) 可保存
H0-H99 全局变量(数字型) 可保存
G0-G99 全局变量(数字型) 可保存

M、S变量在超出(0~99)范围时会自动扩展M、S后面可以是任意字符,字符的长度最好保持在20字节以内

例:MOV M心蓝QQ 3383205

注:SUM命令对于自由扩展的M变量,结果放在:M99999999。
例:

Mov M测试整数1 12345

Mov S测试字符1 字符串1

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

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

MOV H11 3383205

MOV A11 QQ:3383205

3:变量格式

例如:
#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
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%的值

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

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%

5.其他变量命令:

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

6.自定义变量

注意: 自定义变量不要以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

;设置变量M88=[自定义变量]
MOV M88 <$HUMAN(自定义变量)>

7.标识

[001]-[600](各引擎不同标识的上限值不能。正常的是499个,这不是变量,这是标识

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

1.相关命令格式:

Check [001] 0 的意思是检测你的标识[001]是否关闭

SET [001] 1 的意思是设置你的标识[001]为开的状态

2.关于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

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则