游戏引擎反外挂系统 / 功能操作命令 / 2026-07-02 16:04:40

怪物爆率详细设置

主程序怪物爆率 #CHILD 功能使用说明

============================================================
一、文件位置
============================================================

怪物爆率文件目录:
D:\MirServer\Mir200\Envir\MonItems\

示例:
鸡.txt
稻草人.txt
沃玛教主.txt

怪物名必须和 Monster.DB 中的怪物名称对应。
例如怪物名称是“鸡”,爆率文件就是:
MonItems\鸡.txt

测试理解案例:

D:\MirServer\Mir200\Envir\MonItems\稻草人.txt

1/1    太阳水
1/1    太阳水
1/1    太阳水

1/1  金币  3500

#CHILD 1/1 RANDOM [I0>=0,7,@爆率测试]
(
1/1 万年雪霜
)

D:\MirServer\Mir200\Envir\Market_Def\QFunction-0.txt

[@爆率测试]
#ACT
SENDMSG 6 爆率QF触发成功
GIVE 金币 1000

============================================================
二、普通爆率格式
============================================================

格式:
几率 物品名
几率 物品名 数量

示例:
1/1 鸡肉
1/10 金币 10000
1/50 万年雪霜

说明:
1/1 表示必爆。
1/10 表示 10 分之一概率。
金币后面的数字表示金币数量。
普通爆率功能保持原主程序逻辑不变。

============================================================
三、#CHILD 子爆率基础格式
============================================================

格式:
#CHILD 几率
(
子爆率内容
)

示例:
#CHILD 1/1
(
1/1 万年雪霜
1/2 强效金创药
1/3 强效魔法药
)

说明:
#CHILD 自身先判断一次几率。
进入 #CHILD 后,括号内每一行再按自身几率判断。
不写 RANDOM 时,括号内可以同时爆出多个物品。

============================================================
四、#CHILD RANDOM 随机子爆率
============================================================

格式:
#CHILD 几率 RANDOM
(
子爆率内容
)

示例:
#CHILD 1/1 RANDOM
(
1/1 万年雪霜
1/1 强效金创药
1/1 强效魔法药
)

说明:
加 RANDOM 后,进入子爆率时只随机抽取括号内一项。
抽中的那一项仍然会判断自身几率。
如果想保证进入后必出一件,括号内子项建议全部写 1/1。

错误示例:
#CHILD 1/1 RANDOM
(
1/10 万年雪霜
1/10 强效金创药
)

上面虽然进入了 RANDOM,但抽中的子项仍可能因为 1/10 没中而不爆。

============================================================
五、#CHILD 嵌套写法
============================================================

示例:
#CHILD 1/1 RANDOM
(
1/1 普通物品
#CHILD 1/2 RANDOM
(
1/1 稀有物品A
1/1 稀有物品B
)
)

说明:
当前主程序支持 #CHILD 内继续嵌套 #CHILD。
但不建议嵌套太深,GM维护会变复杂。
建议最多 2 层。

============================================================
六、#CALL 引用公共爆率文件
============================================================

格式:
#CALL [\爆率系统\基础爆率.txt] @药水

公共文件示例:
D:\MirServer\Mir200\Envir\MonItems\爆率系统\基础爆率.txt

内容:
[@药水]
#CHILD 1/1 RANDOM
(
1/1 强效金创药
1/1 强效魔法药
1/1 万年雪霜
)

说明:
#CALL 用于复用公共爆率。
例如多个怪物都要爆药水,可以统一写到公共文件里。

============================================================
七、#CHILD 条件判断
============================================================

格式:
#CHILD 几率 RANDOM [条件]
(
子爆率内容
)

示例:
#CHILD 1/1 RANDOM [N0>=1]
(
1/1 万年雪霜
)

说明:
只有条件成立时,才会进入这个 #CHILD。
条件不成立时,整个 #CHILD 不执行。

============================================================
八、支持的判断符号
============================================================

支持:
=     等于
<>    不等于
>     大于
<     小于
>=    大于等于
<=    小于等于

示例:
[N0=1]
[N0<>1]
[N0>10]
[N0<10]
[N0>=10]
[N0<=10]

============================================================
九、多条件 AND 写法
============================================================

格式:
[条件1;条件2;条件3]

示例:
#CHILD 1/1 RANDOM [N0>=1;D0<5;G10>=100]
(
1/1 条件奖励
)

说明:
默认是 AND 关系。
所有条件都成立,才会执行。

============================================================
十、多条件 OR 写法
============================================================

格式:
[条件1;条件2;条件3|OR]

示例:
#CHILD 1/1 RANDOM [N0>=1;D0<5;G10>=100|OR]
(
1/1 OR条件奖励
)

说明:
加 |OR 后,只要任意一个条件成立,就会执行。
|OR 写在条件组最后。

============================================================
十一、支持的变量范围
============================================================

当前主程序已支持:
P0 - P9       NPC临时私人变量
D0 - D9       NPC动态变量
M0 - M99      私人变量
N0 - N99      可保存私人数字变量
I0 - I99      全局动态数字变量
G0 - G499     全局数字变量

示例:
[N0>=1]
[M10=100]
[I0>0]
[G100>=10]
[N0<D0]

说明:
左边和右边都可以是变量。
例如 [N0<D0] 表示 N0 小于 D0 时成立。
右边也可以是固定数字,例如 [N0>=100]。

============================================================
十二、继承参数
============================================================

格式:
[条件,继承参数]

示例:
#CHILD 1/1 RANDOM [N0>=1,7]
(
1/1 继承变量奖励
)

继承参数说明:
0 = 不继承主人变量
1 = 英雄继承主人变量
2 = 宝宝/人形怪继承主人变量
4 = 宠物继承主人变量
3 = 1+2,英雄 + 宝宝/人形怪
5 = 1+4,英雄 + 宠物
6 = 2+4,宝宝/人形怪 + 宠物
7 = 1+2+4,全部继承

说明:
如果怪物是玩家本人击杀,直接判断玩家变量。
如果怪物是英雄、宝宝、人形怪、宠物击杀,则根据继承参数决定是否判断主人变量。

建议:
常规版本直接使用 7,最省心。

============================================================
十三、QFunction 触发脚本
============================================================

格式:
[条件,继承参数,@触发标签]

示例:
#CHILD 1/1 RANDOM [N0>=1,7,@测试爆率触发]
(
1/1 万年雪霜
)

QFunction-0.txt 中写:
[@测试爆率触发]
#ACT
SENDMSG 6 爆率触发成功

说明:
当 #CHILD 条件成立,并且 #CHILD 自身几率命中后,会触发 QFunction 标签。
如果标签没写 @,主程序会自动补 @。

执行顺序:
1. 判断条件
2. 判断 #CHILD 几率
3. 触发 QFunction 标签
4. 执行括号内子爆率

注意:
条件不成立,不触发。
#CHILD 几率没中,不触发。
只有进入该 #CHILD 后才触发。

============================================================
十四、BURSTRATE 兼容说明
============================================================

格式示例:
#CHILD 1/1 BURSTRATE RANDOM
(
1/1 万年雪霜
)

当前主程序对 BURSTRATE 已做兼容解析,不会报错。
但当前主程序没有完整接入 LFM2 那套“人物爆率倍率影响/不影响”的倍率链。
所以 BURSTRATE 目前主要是兼容标记。

建议:
普通 GM 配置可以先不写 BURSTRATE。
如果从其它版本移植爆率文件,保留 BURSTRATE 不会影响加载。

============================================================
十五、完整示例一:基础随机药水
============================================================

1/1 鸡肉

#CHILD 1/1 RANDOM
(
1/1 强效金创药
1/1 强效魔法药
1/1 万年雪霜
)

效果:
必爆鸡肉。
然后随机爆一个药水类物品。

============================================================
十六、完整示例二:条件爆率
============================================================

#CHILD 1/1 RANDOM [N0>=1,7]
(
1/1 万年雪霜
1/1 强效金创药
)

效果:
玩家 N0 >= 1 时,随机爆一个奖励。
英雄、宝宝、宠物击杀时,使用主人变量判断。

============================================================
十七、完整示例三:OR 条件 + 触发 QFunction
============================================================

#CHILD 1/1 RANDOM [N0>=10;G1>=100|OR,7,@爆率提示]
(
1/1 高级奖励
)

QFunction-0.txt:
[@爆率提示]
#ACT
SENDMSG 6 你触发了高级爆率奖励!

效果:
N0>=10 或 G1>=100 任意一个成立,就进入爆率。
进入后触发聊天提示。

============================================================
十八、当前不支持或不建议使用的内容
============================================================

1. U/J 变量暂未支持。
原因:当前主程序源码中没有确认到稳定对应数组,强行支持容易误判。

2. 普通掉落行后面直接写条件暂未支持。
例如下面这种不建议写:
1/1 万年雪霜 [N0>=1]

正确写法:
#CHILD 1/1 [N0>=1]
(
1/1 万年雪霜
)

3. @触发脚本复杂传参暂未扩展。
当前只支持触发 QFunction 标签。

4. BURSTRATE 真实倍率隔离暂未完整实现。
当前只做兼容解析。

============================================================
十九、GM 推荐写法
============================================================

普通怪物:
1/10 金币 10000
1/20 药水

随机奖励:
#CHILD 1/1 RANDOM
(
1/1 奖励A
1/1 奖励B
1/1 奖励C
)

条件奖励:
#CHILD 1/1 RANDOM [N0>=1,7]
(
1/1 条件奖励A
1/1 条件奖励B
)

带提示奖励:
#CHILD 1/1 RANDOM [N0>=1,7,@爆率提示]
(
1/1 条件奖励A
)

QFunction-0.txt:
[@爆率提示]
#ACT
SENDMSG 6 触发条件爆率奖励!

============================================================
二十、排错说明
============================================================

1. 怪物不爆任何东西
检查:
- MonItems 文件名是否和怪物名称一致。
- 文件是否放在正确目录。
- 几率是否写错。
- #CHILD 是否有左括号和右括号。

2. RANDOM 进入后没爆
检查:
- RANDOM 子项是否全部写 1/1。
- 如果子项写 1/10,抽中后仍可能不爆。

3. 条件奖励不爆
检查:
- 条件变量是否真的有值。
- 判断符号是否写正确。
- 多条件是否误用了 AND。
- 需要 OR 时是否写了 |OR。

4. QFunction 没提示
检查:
- QFunction-0.txt 是否有对应标签。
- 标签名是否一致。
- M2 是否重新加载了 QFunction。
- M2 日志是否提示:MonItems #CHILD trigger label not found

5. 英雄/宝宝击杀条件不生效
检查:
- 是否写了继承参数。
- 建议使用 ,7。

============================================================
二十一、最终建议
============================================================

稳定通用模板:

#CHILD 1/1 RANDOM [N0>=1,7,@爆率提示]
(
1/1 万年雪霜
1/1 强效金创药
1/1 强效魔法药
)

这个模板具备:
- 条件判断
- 英雄/宝宝/宠物继承主人变量
- 随机奖励
- QFunction 提示
- 当前主程序稳定支持