传奇怪物不爆装备数据库Race参数与爆率排查

来源: 作者: 点击:
数据库Race参数:决定“挖取”与“掉落”

这是最容易被忽略的根源问题。你提到“改添的地方都添了”,但若怪物数据库(Monster.DB)中的 Race 字段设置错误,所有爆率配置都会失效。

1. Race字段含义:该字段控制怪物的行为模式。Race=51 通常代表“被动怪物,死亡后物品不掉落,必须通过挖取(割肉)获得”;而 Race=81 才代表“标准主动攻击怪物,死亡后直接掉落物品” 。
2. 修正步骤:
◦ 打开 D:\MirServer\Mud2\DB\Monster.DB。

◦ 找到你新添加的怪物行,查看 Race 列。

- 若值为 51、53 等,直接改为 81(标准攻击怪)或 82(远程攻击怪)。
- 保存后,必须重启M2Server引擎,否则已刷出的怪物仍保持旧属性 。

爆率文件(MonItems)命名与路径核对

“所有脚本都加载了”不代表爆率文件被正确读取。爆率文件位于 D:\MirServer\Mir200\Envir\MonItems\ 目录,需严格遵循“同名原则”。

1. 文件名必须完全一致:爆率文本文件(.txt)的名称必须与怪物数据库(Monster.DB)中的“Name”字段一字不差。例如怪物名为“变异骷髅”,文件必须命名为“变异骷髅.txt”。多一个空格或少一个字符都会导致引擎找不到爆率 。
2. 编码格式:文件必须保存为 ANSI 编码。若误存为 UTF-8 或 Unicode,引擎读取时会显示乱码,导致爆率失效 。
3. 内容格式:每行一条爆率,格式为 几率 物品名(如 1/1 金币)。物品名必须与 StdItems.DB 数据库中的名称完全一致 。

生效机制:修改后必须重载或重启

修改数据库或爆率文件后,仅保存文件是不够的,必须让M2引擎重新加载数据。

- 热重载:在M2Server界面,点击“控制” -> “重新加载” -> 勾选“怪物数据库”和“怪物爆率”。等待提示加载成功 。
- 彻底重启:如果热重载后仍不爆装备,或者你修改了 Race 字段,建议完全关闭M2Server进程,等待10秒后重新启动。部分核心参数必须冷重启才能生效 。

进阶排查:全局开关与脚本拦截

如果上述三点均无误,需检查以下隐藏设置:

- 全局爆率开关:在M2的“选项” -> “参数设置” -> “怪物设置”中,确认“怪物允许掉落物品”选项是否勾选,以及“全局爆率倍数”是否被误设为 0 。
- 脚本拦截:检查 QFunction-0.txt 脚本中的 [@KillMon] 段。部分版本会在此处通过 CALL 指令将爆率逻辑转移到 QuestDiary 文件夹中,若转移脚本有误,也会拦截默认爆率 。

操作顺序建议:先改 Race=81,再核对爆率文件名,最后重启M2。90%的“不爆装备”问题均由 Race 字段误设为“挖取类型”导致。