传奇变量解析和操作
注意:188引擎和BLUE\LEG引擎均没有N变量,M即是N变量
P0-P99 私人变量(数字型) 转换NPC或关闭对话框归零
D0-D99 私人变量(数字型) 小退后归零
M0-M99 私人变量(数字型) 小退后归零 (注意blue和Leg是没有N变量的,M变量就是N变量)
S0-S99 私人变量(字符型) 小退后归零
I0-I99 全局变量(数字型) 重启服务器后归零
H0-H99 全局变量(数字型) 可保存(存放在M2)
G0-G999 全局变量(数字型) 可保存 (存放在M2)
A0-A999 全局变量(字符型) 可保存 (存放在M2)
U0-U49 (私人变量,数字型) 可保存。(存放在人物数据库Mir.db里面)
T0-T49 (私人变量,字符型) 可保存。 (存放在人物数据库Mir.db里面)
变量解析
一.标识
[1]—–[808] 这不是变量,这是标识
标识的初始值是0,也就是关闭的;它不会因为人物下线或服务器重启而重置
相关命令格式:
Check [100] 0 的意思是检测你的标识[100]是否关闭
SET [100] 1 的意思是设置你的标识[100]为开的状态
关于reset命令的详解:
reset [XXX] 7 意思是将从XXX开始的7个变量回复到原始值0
比如:reset [100] 7 就是把100 101 102 103 104 105 106 107这7个变量赋值为0。
它等同与:set [100] 0
set [101] 0
set [102] 0
set [103] 0
set [104] 0
set [105] 0
set [106] 0
变量与数字之间的常用操作格式:
small G88 5 ;检测变量G88,是否小于5
large G88 5 ;检测变量G88,是否大于5
equal G88 5 ;检测变量G88,是否等于5
mov G88 5 ;设置G88=5
movr M88 5 ;设置M88随机等于0–5之间的数值
movr M88 100 200 ;设置M88随机等于100–200之间的数值
INC G88 5 ;设置变量G88=G88+5
DEC G88 5 ;设置变量G88=G88-5
MUL G88 5 ;设置变量G88=G885
DIV G88 5 ;设置变量G88=G88/5
PERCENT G88 5 ;设置变量G88=G88/5100%
变量与变量之间的常用操作格式:
small M88 <
S
T
R
(
G
88
)
>
;
检
测
私
人
变
量
M
88
,
是
否
小
于
全
局
变
量
G
88
l
a
r
g
e
M
88
<
STR(G88)> ;检测私人变量M88,是否小于全局变量G88 large M88 <
STR(G88)>;检测私人变量M88,是否小于全局变量G88largeM88<STR(G88)> ;检测私人变量M88,是否大于全局变量G88
EQUAL M88 <
S
T
R
(
G
88
)
>
;
检
测
私
人
变
量
M
88
,
是
否
等
于
全
局
变
量
G
88
m
o
v
G
88
<
STR(G88)> ;检测私人变量M88,是否等于全局变量G88 mov G88 <
STR(G88)>;检测私人变量M88,是否等于全局变量G88movG88<STR(M88)> ;设置全局变量G88=M88
inc G88 <
S
T
R
(
M
88
)
>
;
设
置
全
局
变
量
G
88
=
G
88
+
M
88
D
E
C
G
88
<
STR(M88)> ;设置全局变量G88=G88+M88 DEC G88 <
STR(M88)>;设置全局变量G88=G88+M88DECG88<STR(M88)> ;设置全局变量G88=G88-M88
MUL M88 <
S
T
R
(
M
89
)
>
;
设
置
私
人
变
量
M
88
=
M
88
∗
M
89
D
I
V
M
88
<
STR(M89)> ;设置私人变量M88=M88*M89 DIV M88 <
STR(M89)>;设置私人变量M88=M88∗M89DIVM88<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
2.关于movr命令的详解:
movr (变量) (数值) ;随机把指定数值以下的数(正数)给变量
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开头
说明
数据类型
Integer 整型
String 字符串
变量类型
HUMAN 个人变量
GUILD 行会变量
GLOBAL 公共变量
自定义变量与数字之间的常用操作格式:
检测:
CHECKVAR HUMAN 自定义变量 >/= /< 5 ;检测[自定义变量]是否>/= /<5 CHECKVAR GUILD 行会变量 >/= /< 5 ;检测[自定义变量]是否>/= /<5 CHECKVAR GLOBAL 公共变量 >/= /< 5 ;检测[自定义变量]是否>/= /<5 操作: CALCVAR HUMAN 自定义变量 +/= /- 5 ;设置[自定义变量]+/= /-5 CALCVAR GUILD 行会变量 +/= /-5;设置[自定义变量]=[自定义变量]+/= /-5 CALCVAR GLOBAL 公共变量 +/= /-5;设置[自定义变量]=[自定义变量]+/= /-5 MOV M88 <
H
U
M
A
N
(
自
定
义
变
量
)
>
;
设
置
变
量
M
88
=
[
自
定
义
变
量
]
C
A
L
C
V
A
R
H
U
M
A
N
自
定
义
变
量
=
<
HUMAN(自定义变量)> ;设置变量M88=[自定义变量] CALCVAR HUMAN 自定义变量 = <
HUMAN(自定义变量)>;设置变量M88=[自定义变量]CALCVARHUMAN自定义变量=<STR(M88)> ;设置[自定义变量]=变量M88
CALCVAR HUMAN 自定义变量 + <
S
T
R
(
M
88
)
>
;
设
置
[
自
定
义
变
量
]
=
[
自
定
义
变
量
]
+
变
量
M
88
C
A
L
C
V
A
R
H
U
M
A
N
自
定
义
变
量
–
<
STR(M88)> ;设置[自定义变量]=[自定义变量]+变量M88 CALCVAR HUMAN 自定义变量 – <
STR(M88)>;设置[自定义变量]=[自定义变量]+变量M88CALCVARHUMAN自定义变量–<STR(M88)> ;设置[自定义变量]=[自定义变量]-变量M88
CALCVAR GLOBAL 公共变量 = <$USERNAME>
SAVEVAR GLOBAL公共变量 …\QuestDiary\记录.txt
脚本中显示:
<$GLOBAL(公共变量)>
注意:
公共变量可以在qm中的[@OnStart]中申明