传奇世界更新后脚本错误弹窗原因与彻底去除办法

来源: 作者: 点击:
更新运行后跳出“脚本错误”对话框,本质只有两类情况:客户端这边脚本文件没更全,或者服务端的 Envir 脚本跟新引擎对不上。弹窗本身只是引擎把解析异常抛出来了,不修根源它每次启动都会再弹。

先看弹窗正文里有没有给路径和行号。比如写着“Envir\Market_Def\QFunction-0.txt 第 42 行”或者“QuestDiary\某某NPC.txt line 15”,那就是服务端脚本问题,别在客户端折腾。打开对应文件跳到那一行,重点查三种东西:命令拼错(把 #ACT 写成 #ACt、把 Give 写成 Gvie)、缺关键字(#IF 底下没条件直接跟 #ACT)、括号尖括号不配对。更新时如果用手动拖文件覆盖,最容易把某段 #SAY … #ENDSAY 拦腰截断,这种情况引擎必报语法错。

如果弹窗只说“脚本错误”没给具体文件,先怀疑更新包没拉全。关掉游戏,打开登录器点“验证文件完整性”或“重新更新”,让它把 Script、Data、UI 资源包比对一遍,缺的自动补。很多人在更新中途切出去或者被杀软拦了一下,导致 ScriptEngine.dll 或某个 .txt 脚本变成 0 字节,验证一遍就能修回来。

客户端缓存也得清。进安装目录把 Cache、Temp、Log、ScriptCache 里的内容全删掉,文件夹留着。再清系统盘 C:\Users\当前用户名\AppData\Local\Temp 里带传奇标识的临时文件,重启电脑再开。老缓存里存的是上版本的编译结果,新版脚本进来直接冲突报错,清完能消掉一大半“更新后才出现”的弹窗。

急着进游戏、先不想查脚本,可以临时把提示关掉。服务端侧开 M2Server → 选项 → 脚本设置,把“脚本错误弹出提示”“显示运行时错误信息”取消勾选,保存重启引擎,弹窗就不出了,但报错功能本身不执行(比如那个 NPC 对话点不动)。客户端侧部分登录器在系统设置-基础设置里有“关闭所有脚本错误提示”,勾上也能压住。这只是屏蔽,不是修好,长期开着会掩盖真问题。

引擎和脚本版本必须对齐。更新客户端如果顺带换了 GOM/GEE/0328/0538 之类引擎,旧脚本里用到的 UI 指令、变量名在新引擎被砍了就会全屏报错。要么把引擎回退到脚本作者用的版本,要么按新引擎手册把不兼容指令逐条替换。同时打开 Mir200\PlugList.txt 看必要插件(如 945Engine.dll)是不是被更新覆盖了,缺失就补写进去并在 M2 里启用。

杀软和兼容性问题也会伪装成脚本错误。把整个游戏安装目录和 Mir200 加进杀软信任区,特别是 .txt 脚本和 ScriptEngine.dll 常被误删。右键主程序属性 → 兼容性 → 勾管理员身份运行,选 Win7 或 Win8 兼容模式,能避开一部分系统层 COM 组件注册失败导致的脚本初始化中断。

真要彻底让对话框消失,还是得把脚本修通。拿同版本干净服务端的 Envir 文件夹备份一份,然后把你改过的 NPC 脚本、QFunction、QuestDiary 逐个对照还原,改一处重起一次 M2,直到不弹窗且 NPC 能正常对话、任务能接能交。如果是纯玩家端、自己没动过服务端,直接重下完整客户端+最新补丁覆盖安装,比一个个查文件快。

注册表里 HKEY_CURRENT_USER\Software 和 HKEY_LOCAL_MACHINE\SOFTWARE 下传奇相关残留键值若版本号错乱,也会让登录器读错脚本路径,重装前把这两处相关项删掉,让安装程序重建,能从根上少一类怪报错。