传奇服务端怪物与爆率文件不匹配修复

来源: 作者: 点击:
架设传奇时若发现爆率文件(MonItems)里的怪物名与游戏内实际怪物对不上,本质是文件名与怪物数据库(DB)未严格对应或版本残留冲突。直接修改爆率文件无法生效,需按以下逻辑排查。

一、核对怪物数据库与爆率文件名

爆率文件关联的是怪物数据库中的“Name”字段,而非你看到的外观或俗称。

1. 查询真实怪物名
打开服务端 Mud2\DB\Monster.DB(或对应引擎的怪物数据库),找到目标怪物的配置行。确认其 “Name”列 的准确拼写(如“白野猪”可能实际为“白野猪1”或“BYZ”)。

2. 修正爆率文件名
进入 Mir200\Envir\MonItems 目录,将爆率文件重命名,确保与数据库中的“Name”完全一致(包括大小写、数字、空格)。例如:
- 数据库怪物名:沃玛教主1
◦ 爆率文件名必须改为:沃玛教主1.txt

若文件名错误(如仍为“沃玛教主.txt”),服务端无法识别,该怪物将无掉落或使用默认设置。

二、清理残留与重建爆率文件

若版本经过多次修改或由多个版本拼凑,可能存在同名怪物冲突。

1. 删除重复或无效文件
在 MonItems 文件夹内,搜索可能存在的重复文件(如“半兽勇士.txt”和“半兽勇士1.txt”)。保留与当前数据库匹配的文件,删除旧版本残留的无效文件。

2. 重建缺失的爆率文件
若数据库中有新怪物(如“暗黑牛魔王”),但 MonItems 内无对应 .txt 文件。需新建文本文件并命名为“暗黑牛魔王.txt”,写入标准爆率格式(如 1/1 金币 1000)并保存。注意文件编码必须为 ANSI,若为 UTF-8 会导致乱码或读取失败。

三、同步刷怪文件与重载配置

文件修改后,需确保怪物正确刷新且配置被引擎加载。

1. 检查刷怪文件(MonGen.txt)
打开 Mir200\Envir\MonGen.txt,确认地图刷新的怪物名称与数据库名称一致。若刷怪文件调用的是“骷髅精灵”,而数据库只有“骷髅精灵1”,则游戏内不会刷新该怪物,爆率文件自然无效。

2. 重载怪物爆率
修改文件后,必须在 M2Server(引擎)中生效:
◦ 打开 M2Server → 管理 → 怪物爆率(或类似菜单)。

- 点击“重新加载怪物爆率”或“Reload MonDrop”。
◦ 若引擎无此按钮,需重启服务端(关闭 M2 再打开)使配置生效。

四、特殊引擎与编码排查

• GOM/GEE 引擎:部分引擎支持在 Mir200\Envir 下的 MonDropCfg.txt 中配置爆率目录别名,需检查路径指向是否正确。

- BLUE/HERO 引擎:若怪物名含特殊符号,爆率文件名必须完全转义。建议直接复制数据库中的怪物名作为文件名。
- 编码问题:若修改后怪物仍不掉落,用记事本打开爆率文件 → 另存为 → 编码选择 ANSI(非 UTF-8)。

关键点:爆率文件与怪物的关联基于字符串精确匹配。务必保证 Monster.DB、MonGen.txt、MonItems\*.txt 三个位置出现的怪物名称完全一致,否则爆率系统无法建立映射。