遇到传奇服务端弹出脚本错误提示,或者装备属性显示异常、无法穿戴,别急着重装。绝大多数情况都是因为脚本文件语法不对、数据库字段缺失或者文件编码出了问题。按照下面的步骤排查,基本都能搞定。
定位具体的报错源头
打开M2Server主控制台,切换到“日志”或者“运行日志”界面,这里会详细记录报错信息。重点关注三个要素:
- 报错文件名:比如 QManage.txt 或 ItemScript.txt,这告诉你去哪个文件夹找文件。
- 行号:比如 Line 15,直接打开文件跳转到对应行。
• 错误命令:比如 CHECKOFGUILD 或 ChangeSkill,说明是这个命令的写法有问题。
如果是启动时报 Field 'XXX' not found,那是数据库缺字段,得去修DB文件。
修正脚本语法与格式
找到报错的那一行,通常问题出在以下几个方面:
• 命令参数缺失:比如 CHECKOFGUILD 后面没写行会名或检测类型,直接删掉这行或者补全参数。
- 符号与空格:检查括号是否成对,行首不能有中文空格。如果是复制来的脚本,建议把多余空行删掉。
- 死循环跳转:如果提示“脚本死循环”,检查是不是 GOTO 跳来跳去没个头。可以在 !Setup.txt 里把 ScriptGotoCountLimit 数值改大(如10000),或者给脚本加个 BREAK 终止命令。
修复装备脚本与显示异常
装备穿不上、属性乱码或者显示问号,重点查这三个地方:
- 数据库字段缺失:启动报 Field 'UniqueItem' not found 或 Field 'throw' not found,是因为引擎升级后数据库没同步。用 DB_Commander.exe 打开 StdItems.DB,手动添加缺失的字段名(如 UniqueItem 或 throw),类型选 Integer。
- 物品编号冲突:打开 StdItems.DB,按 ID 排序,看看有没有重复的编号。如果有,把其中一个改成没用过的数字。
- 脚本格式错误:检查 ItemScript.txt,确保每件装备脚本都以 #END 结尾。属性加成指令要写对,比如吸血是 ADDBLOODSUCK2 而不是中文“吸血”。
调整文件编码与路径
如果脚本看着没问题但还是报错,大概率是文件编码闹的:
- 转ANSI编码:很多引擎只认 ANSI 编码。用记事本打开报错的 .txt 脚本,点“另存为”,在编码下拉框选 ANSI,保存覆盖。
- 检查文件路径:报错提示 Script Not Found 的话,去 QuestDiary 文件夹确认文件是不是放错目录了,或者文件名跟 QuestList.txt 里写的对不上。
重启与功能验证
改完任何脚本或数据库文件,必须完全关闭M2Server和所有网关程序,重新启动服务端,光在控制台刷新是没用的。进游戏后测试一下对应的NPC对话或者装备穿戴,如果M2日志不再刷红字,那就说明修好了。

