传奇游戏里提示“脚本错误”先分清是哪一侧报错,玩家上线弹窗、点NPC弹窗、登录器报错属于客户端侧,M2Server控制台红字、NPC不说话、地图黑屏属于服务端侧,两边修法完全不一样,混着搞只会越修越坏。
玩家客户端弹脚本错误,先关游戏删客户端根目录Cache和Temp里所有文件,登录界面点“清理缓存/版本同步”重拉数据,很多老缓存和新列表对不上就这一下搞定。再看客户端装的路径,有中文、空格、长目录的挪到D:\MirClient纯英文路径,右键登录器选“以管理员身份运行+兼容Win7”。杀软把LoginCore.exe、ScriptEngine.dll、Script目录当恶意脚本拦了就加信任区,关掉脚本监控再开。list.txt缺失或“游戏名/IP/端口”错位、登录器引擎类型(GOM/GEE/Hero/LEG)和服务端不一致也会弹错,从服务端拷list示例.txt改名list.txt照格式填,引擎类型对齐。
Win10/11下系统VBScript、JScript组件没注册会导致内嵌网页脚本解析失败,管理员CMD跑regsvr32 vbscript.dll和regsvr32 jscript.dll,注册成功重启机器。IE高级选项里勾“禁用脚本调试”。用大漠类辅助的,VBS报错99%是dm.dll没注册进系统,删掉Plugin目录里的dm.dll,把dm.dll放到C:\test_game这类纯英文目录,管理员CMD执行regsvr32 C:\test_game\dm.dll,再重启脚本;Ghost系统改过系统文件可能注册失败,只能换干净系统。
服务端侧开M2后看控制台,格式通常是“Script file 'QManage.txt' line 105: Syntax error”,记下行号直接去Mir200\Envir\QuestDiary或Market_Def下找对应文件那一行。传奇脚本必须ANSI/GBK编码,记事本存成UTF-8带BOM必乱码,打开另存为选ANSI覆盖。检查#if/#act/#elseact是否闭合、[@标签]是否配对、CALL引用的子文件相对路径是否存在、GIVE/MapMove这类命令是不是当前引擎(GOM的MapMove在Hero里要写成ChangeMap)支持的。物品ID、技能ID要和Item.DB、Skill.DB对得上,引用地图文件Map\301.map缺失也会中断。
改服务端脚本前先备份原文件,在测试服改完重启M2验证再上正式。M2有缓存就关M2删Mir200\Log\ScriptCache.dat再起。复杂脚本用分段注释法,把一半代码注释掉重启看还报不报,逐步缩小到具体行。装备相关报错(穿戴/拾取/回收弹错)看M2“查看-脚本错误日志”里带Equip、Recycle关键词的那条,对照StdItems.DB字段和QFunction-0.txt里的触发段。
玩家自己玩官方或正规服遇到脚本错误弹窗,不用碰服务端,按删缓存、验路径、注册组件、关杀软、重下登录器顺序走一遍就行;自己架服或改版本才进Mir200动txt。两边都不行就把报错原文(含文件路径和行号)留着,搜引擎版本+文件名+行号比泛搜“传奇脚本错误”准得多。

