一、基础环境与文件编码检查
服务端能正常启动仅代表核心进程无崩溃,怪物掉落依赖独立的配置文件与数据库联动。首要检查爆率文件是否存在及编码是否正确。
1.爆率文件路径与存在性
传奇引擎读取怪物掉落列表的默认路径通常为Mir200\Envir\MonItems\。每个怪物对应一个同名TXT文件(如“鸡.txt”)。
-文件缺失:若该目录下无任何TXT文件,或文件名为乱码、空格,引擎无法加载爆率。
-验证方法:手动创建“鹿.txt”,写入测试行1/1金币100,保存后重启M2加载爆率进行测试。
2.文件编码格式(高频错误)
用记事本打开爆率文件,点击“文件”->“另存为”,查看“编码”选项。
-必须为ANSI:若文件误存为UTF-8或Unicode格式,引擎解析时会读取出乱码,导致爆率失效。需另存为ANSI编码覆盖原文件。
二、数据库与怪物属性配置
爆率文件正常但无掉落,通常是因为怪物数据库(DB)或全局参数屏蔽了掉落逻辑。
1.怪物数据库(Monster.DB)字段
使用DBCommander或数据库工具打开Monster.DB,检查以下关键字段:
-Race字段:若该字段值为53,表示“主动攻击且不掉落物品”。需修改为其他数值(如81)。
-BURST字段:部分引擎用此字段关联爆率文件。若值为0或空,怪物不会读取MonItems下的配置。
-掉落开关:检查是否有NoDrop或AllowDrop字段,确保其值为1(允许掉落)。
2.全局爆率倍数参数
在M2Server的“选项”->“参数设置”->“怪物设置”中,找到“全局爆率倍数”或“MonsterDropRate”参数。
-数值归零:若该值被设为0,无论文件爆率多高,实际掉落率均为0。建议临时调整为1进行测试。
三、物品数据库与脚本限制排查
若配置均无误,需排查物品本身是否被设为不可掉落,或地图脚本强制禁爆。
1.物品数据库(StdItems.DB)
打开物品数据库,检查StdItems表:
•DropAble字段:该字段控制物品能否被丢弃或掉落。若为0,怪物击杀后即使触发爆率也不会显示该物品。
-特殊属性:部分版本通过Source或Reserved字段限制物品仅能通过任务获取,无法由怪物掉落。
2.脚本与地图禁爆命令
检查服务端脚本中是否含有清除掉落的指令:
•地图脚本:在MapQuest.txt或地图触发脚本中,搜索CLEARMONITEM命令,该命令会清空当前地图所有怪物的掉落。
-登录脚本:检查QFunction-0.txt或登录脚本,搜索“禁爆”、“NoDrop”等关键词,确认没有全局禁爆的标识设置。
四、引擎加载流程与测试步骤
修改配置后,必须执行正确的加载流程才能生效。
1.正确的重载顺序
1.修改爆率文件(如改编码或内容)->在M2点击“重新加载怪物爆率”。
2.修改怪物/物品DB->在M2点击“重新加载怪物数据库”/“物品数据库”。
3.修改M2参数->点击“保存”并重启M2Server(部分引擎参数需重启生效)。
2.最小化测试法
为快速定位问题,建议进行纯净测试:
1.在M2“全局爆率”中暂时设为1倍。
2.修改“鸡.txt”,只留一行:1/1金币100(ANSI编码)。
3.重载爆率后,击杀一只鸡。
-若掉落金币:说明爆率系统正常,原问题是配置错误。
•若仍无掉落:基本可锁定为怪物DB的Race字段或全局脚本限制。
五、常见引擎差异说明
不同引擎(如GOM、Hero、Blue)的配置文件名略有差异:
-GOM引擎:注意检查Config\DropLimit.ini文件,该文件可能设置了全服掉落上限。
-Hero引擎:爆率文件可能在Envir\Monster目录下,且需检查GlobalDropLimit.txt。
-通用建议:若排查困难,可临时关闭所有插件(如GEE的爆率控制插件),排除插件干扰。
总结:服务端运行正常但无掉落,90%的原因集中在爆率文件编码格式(非ANSI)、怪物DB的Race=53以及M2全局爆率倍数为0这三个关键点。
服务端能正常启动仅代表核心进程无崩溃,怪物掉落依赖独立的配置文件与数据库联动。首要检查爆率文件是否存在及编码是否正确。
1.爆率文件路径与存在性
传奇引擎读取怪物掉落列表的默认路径通常为Mir200\Envir\MonItems\。每个怪物对应一个同名TXT文件(如“鸡.txt”)。
-文件缺失:若该目录下无任何TXT文件,或文件名为乱码、空格,引擎无法加载爆率。
-验证方法:手动创建“鹿.txt”,写入测试行1/1金币100,保存后重启M2加载爆率进行测试。
2.文件编码格式(高频错误)
用记事本打开爆率文件,点击“文件”->“另存为”,查看“编码”选项。
-必须为ANSI:若文件误存为UTF-8或Unicode格式,引擎解析时会读取出乱码,导致爆率失效。需另存为ANSI编码覆盖原文件。
二、数据库与怪物属性配置
爆率文件正常但无掉落,通常是因为怪物数据库(DB)或全局参数屏蔽了掉落逻辑。
1.怪物数据库(Monster.DB)字段
使用DBCommander或数据库工具打开Monster.DB,检查以下关键字段:
-Race字段:若该字段值为53,表示“主动攻击且不掉落物品”。需修改为其他数值(如81)。
-BURST字段:部分引擎用此字段关联爆率文件。若值为0或空,怪物不会读取MonItems下的配置。
-掉落开关:检查是否有NoDrop或AllowDrop字段,确保其值为1(允许掉落)。
2.全局爆率倍数参数
在M2Server的“选项”->“参数设置”->“怪物设置”中,找到“全局爆率倍数”或“MonsterDropRate”参数。
-数值归零:若该值被设为0,无论文件爆率多高,实际掉落率均为0。建议临时调整为1进行测试。
三、物品数据库与脚本限制排查
若配置均无误,需排查物品本身是否被设为不可掉落,或地图脚本强制禁爆。
1.物品数据库(StdItems.DB)
打开物品数据库,检查StdItems表:
•DropAble字段:该字段控制物品能否被丢弃或掉落。若为0,怪物击杀后即使触发爆率也不会显示该物品。
-特殊属性:部分版本通过Source或Reserved字段限制物品仅能通过任务获取,无法由怪物掉落。
2.脚本与地图禁爆命令
检查服务端脚本中是否含有清除掉落的指令:
•地图脚本:在MapQuest.txt或地图触发脚本中,搜索CLEARMONITEM命令,该命令会清空当前地图所有怪物的掉落。
-登录脚本:检查QFunction-0.txt或登录脚本,搜索“禁爆”、“NoDrop”等关键词,确认没有全局禁爆的标识设置。
四、引擎加载流程与测试步骤
修改配置后,必须执行正确的加载流程才能生效。
1.正确的重载顺序
1.修改爆率文件(如改编码或内容)->在M2点击“重新加载怪物爆率”。
2.修改怪物/物品DB->在M2点击“重新加载怪物数据库”/“物品数据库”。
3.修改M2参数->点击“保存”并重启M2Server(部分引擎参数需重启生效)。
2.最小化测试法
为快速定位问题,建议进行纯净测试:
1.在M2“全局爆率”中暂时设为1倍。
2.修改“鸡.txt”,只留一行:1/1金币100(ANSI编码)。
3.重载爆率后,击杀一只鸡。
-若掉落金币:说明爆率系统正常,原问题是配置错误。
•若仍无掉落:基本可锁定为怪物DB的Race字段或全局脚本限制。
五、常见引擎差异说明
不同引擎(如GOM、Hero、Blue)的配置文件名略有差异:
-GOM引擎:注意检查Config\DropLimit.ini文件,该文件可能设置了全服掉落上限。
-Hero引擎:爆率文件可能在Envir\Monster目录下,且需检查GlobalDropLimit.txt。
-通用建议:若排查困难,可临时关闭所有插件(如GEE的爆率控制插件),排除插件干扰。
总结:服务端运行正常但无掉落,90%的原因集中在爆率文件编码格式(非ANSI)、怪物DB的Race=53以及M2全局爆率倍数为0这三个关键点。

