传奇世界更新后脚本错误弹窗怎么关

来源: 作者: 点击:
更新后弹“脚本错误”,先分是客户端玩家端还是服务端 M2/引擎端。两边都不是真“中病毒”,大多是更新包没完整、旧脚本和新引擎对不上、缓存冲突、杀毒把脚本删了。

一、客户端玩家端弹窗

表现:进游戏或点某个界面/活动按钮,弹“脚本错误/运行时错误/对象不支持”,点确定又来。

先临时关弹窗:
• 登录器或客户端“系统设置—基础设置”里找脚本错误提示 / 运行时错误提示,关掉或勾“不再显示该类错误”。

• 没这选项就清缓存:关游戏,进安装目录删 ScriptCache、Temp 里文件;玩家端缓存目录在 %localappdata% 下 LegendWorld 类文件夹也清掉。

• 登录器有“验证文件 / 修复游戏 / 重新更新”就点一次,让它把缺的脚本、UI、Data 文件补回来。

根治:
1. 关杀软再更新,杀软常把 Market_Def、QuestDiary、插件 dll 当风险件删了。
2. 用登录器“全面验证”,别手动乱改 Script 文件夹。
3. 还不行就卸客户端,删干净 Script、Data 残留,官网完整包重装。
4. 装 VC++ 运行库、开 .NET Framework 3.5/4.5+,纯英文安装路径,别放“桌面\传奇世界\新版\”这种中文空格路径。

二、服务端 M2 弹“脚本错误”

表现:M2 控制台红字,或点 NPC 弹错误框,提示 Envir\Market_Def\xxx.txt 第 N 行 未知命令 / 语法错误 / 找不到脚本。

更新后最常见原因:
• 更新包只覆盖了客户端,没覆盖服务端 Mir200\Envir 下脚本。

• 引擎升了,老脚本里命令被淘汰(GiveItemEx、MapMove 参数、变量 <$STR()> 写法不对)。

• QuestDiary、Market_Def、MapQuest、QFunction-0.txt 里中文标点、UTF-8 BOM、隐藏空格。

• 插件没写进 PlugList.txt,脚本调了插件命令但引擎没加载。

临时屏蔽弹窗(仅测试用):
M2 → 选项 → 脚本设置 / 参数设置,关掉脚本错误弹窗提示 / 显示运行时错误信息,保存重启。这只会藏错误,NPC 功能该失效还是失效,别当修好。

真修法:
1. 看 M2 日志 / Log\ 下文件,抄“文件名 + 行号 + 错误描述”。
2. 用 Notepad++ 打开对应 txt,编码转 ANSI/GBK,别用记事本另存 UTF-8 BOM。
3. 核对 #IF #ACT #SAY 是否单独成行,中文逗号句号全换英文,变量名按新引擎来。
4. 报错行用了老命令,就去新引擎 QuestCommandList.txt 搜;搜不到就是不支持,删掉或换原生命令。
5. 文件被删就从同版本备份把 Market_Def、QuestDiary 对应文件贴回来,不是全服重做。
6. 插件类报错:把 dll 加进 PlugList.txt,M2 里启对应插件,再重启。
7. 清脚本缓存:关 M2,删 Mir200\Log\ScriptCache.dat(有就删),重启加载新脚本。

三、更新包不完整的最稳处理

• 备 Mir200\Envir、Mir200\Map、Mir200\Envir\Market_Def 再动。

• 客户端:登录器验证 > 清缓存 > 重装。

• 服务端:同版本完整 Envir 覆盖 > 按 M2 日志改老命令 > 插件补齐 > 重启。

• 杀软把 Envir 加白名单,不然下次更新又被删。

四、别做这几件事

• 别信“万能去脚本错误器”,玩家端和 M2 端都别下来路不明修复 exe。

• 别只关弹窗不修 NPC,关了之后装备回收、元宝商城、转生、合击、火龙合成会悄悄不干活。

• 别把老清风/老 GOM 脚本原样塞进新翎风/新 GEE 当“更新”,命令集不是同一套。

• 别用 Windows 记事本改中文脚本,BOM 和换行能让你改到凌晨三点还红。

弹窗本身不是病,是引擎在喊“这段脚本我读不懂”。玩家端靠验证+清缓存,服务端靠日志行号改脚本或补文件。关弹窗只要勾个设置,去掉病根才叫修完。

如果弹的是“连接失败 / 资源不存在 / 地图不存在”,那就不是脚本语法,是 IP 端口、DBC 数据库、MapInfo、StdItems 没跟更新包对齐,别在 #IF #ACT 里死磕。