游戏弹“脚本错误”分两条完全独立的线——客户端/登录器内嵌网页脚本错误(系统级 IE/JScript 问题)和服务端脚本错误(M2 红字、NPC 对话崩、QuestDiary 报错)。先看清弹窗归属再动手,乱改容易把能玩的服改废。
第一步:读弹窗定性质
• 标题带“Internet Explorer 脚本错误 / 当前页脚本发生错误”+ 行号字符 + 对象为 null/未定义 → 客户端系统组件或登录器缓存问题,跟服务端无关。
- 控制台 M2Server 刷红“ScriptError: QuestDiary\XXX.txt Line X”或游戏内点 NPC 弹“脚本错误” → 服务端脚本文件问题。
• 只有“脚本错误”四字无路径 → 登录器自带 js/dat 损坏或杀软删文件。
客户端/登录器侧(适用传奇/页游/老端游启动器)
清登录器目录 Cache、Temp、ScriptCache、UserData;清系统 IE 临时文件(Internet 选项→删除浏览历史记录全勾)。
管理员 CMD 注册 jscript.dll、vbscript.dll、scrrun.dll、actxprxy.dll、shdocvw.dll、mshtml.dll,回车看“注册成功”;Win10/11 去“启用或关闭 Windows 功能”勾回 IE11。
Internet 选项→高级→勾“禁用脚本调试”两条、取消“显示每个脚本错误的通知”;受信任站点加游戏域名。
杀软隔离区恢复 Login.exe、Mir.exe、login.js、script.dat 加信任;登录器挪纯英文无空格路径,右键管理员+Win7 兼容模式。
登录器本身损坏就回发布站下完整包,WinRAR 解压,别用系统自带解压。
服务端侧(M2 红字/NPC 崩/QuestDiary 报错)
拿到“文件名+行号”去 Mir200\Envir 对应目录,Notepad++ Ctrl+G 跳行。看五件事:#IF/#ACT/#SAY 是否独立成行、括号引号是否英文半角、GOTO/CALL 指向的 @标签 存不存在、变量有没有先 VAR/MOV 声明、命令名拼错没(CHECKLEVELEX 写成 CHECKLEVEL)。
编码转 ANSI(GBK) 重存,开“显示空格与制表符”清行尾全角空格和 BOM 头;CALL 语句双反斜杠、相对路径基于 QuestDiary、目标文件真在那。
Market_Def 的 NPC 在 [@main] 之前读 parent/MAP/PEnvir 等可能为空的对象,把这类调用全挪到 [@main] 段内第一行之后。
改完别只点重载,复杂改动关 M2 删 Mir200\Log 下 ScriptCache.dat(有就删)再起 M2;用小号测别用 GM 号(权限≥10 可能绕过部分判定)。
系统层兜底(两边都试过还弹)
sfc /scannow 修系统文件,chkdsk 查盘,新建本地管理员账户开游戏排除原账户配置损坏;关 RTSS、按键精灵、多开器、界面美化等 DLL 注入工具,干净启动只开游戏测一次。
游戏路径纯英文无空格,客户端根目录删 Cache/Temp/ScriptCache 重拉。
通用排错顺序一句话:先看弹窗归谁家 → 客户端走注册DLL+清缓存+重下登录器,服务端走跳行改ANSI+补标签+重载M2 → 都不行再 sfc 和干净启动。改服务端脚本前备份原文件,改错一行可能全服 NPC 瘫痪。
第一步:读弹窗定性质
• 标题带“Internet Explorer 脚本错误 / 当前页脚本发生错误”+ 行号字符 + 对象为 null/未定义 → 客户端系统组件或登录器缓存问题,跟服务端无关。
- 控制台 M2Server 刷红“ScriptError: QuestDiary\XXX.txt Line X”或游戏内点 NPC 弹“脚本错误” → 服务端脚本文件问题。
• 只有“脚本错误”四字无路径 → 登录器自带 js/dat 损坏或杀软删文件。
客户端/登录器侧(适用传奇/页游/老端游启动器)
清登录器目录 Cache、Temp、ScriptCache、UserData;清系统 IE 临时文件(Internet 选项→删除浏览历史记录全勾)。
管理员 CMD 注册 jscript.dll、vbscript.dll、scrrun.dll、actxprxy.dll、shdocvw.dll、mshtml.dll,回车看“注册成功”;Win10/11 去“启用或关闭 Windows 功能”勾回 IE11。
Internet 选项→高级→勾“禁用脚本调试”两条、取消“显示每个脚本错误的通知”;受信任站点加游戏域名。
杀软隔离区恢复 Login.exe、Mir.exe、login.js、script.dat 加信任;登录器挪纯英文无空格路径,右键管理员+Win7 兼容模式。
登录器本身损坏就回发布站下完整包,WinRAR 解压,别用系统自带解压。
服务端侧(M2 红字/NPC 崩/QuestDiary 报错)
拿到“文件名+行号”去 Mir200\Envir 对应目录,Notepad++ Ctrl+G 跳行。看五件事:#IF/#ACT/#SAY 是否独立成行、括号引号是否英文半角、GOTO/CALL 指向的 @标签 存不存在、变量有没有先 VAR/MOV 声明、命令名拼错没(CHECKLEVELEX 写成 CHECKLEVEL)。
编码转 ANSI(GBK) 重存,开“显示空格与制表符”清行尾全角空格和 BOM 头;CALL 语句双反斜杠、相对路径基于 QuestDiary、目标文件真在那。
Market_Def 的 NPC 在 [@main] 之前读 parent/MAP/PEnvir 等可能为空的对象,把这类调用全挪到 [@main] 段内第一行之后。
改完别只点重载,复杂改动关 M2 删 Mir200\Log 下 ScriptCache.dat(有就删)再起 M2;用小号测别用 GM 号(权限≥10 可能绕过部分判定)。
系统层兜底(两边都试过还弹)
sfc /scannow 修系统文件,chkdsk 查盘,新建本地管理员账户开游戏排除原账户配置损坏;关 RTSS、按键精灵、多开器、界面美化等 DLL 注入工具,干净启动只开游戏测一次。
游戏路径纯英文无空格,客户端根目录删 Cache/Temp/ScriptCache 重拉。
通用排错顺序一句话:先看弹窗归谁家 → 客户端走注册DLL+清缓存+重下登录器,服务端走跳行改ANSI+补标签+重载M2 → 都不行再 sfc 和干净启动。改服务端脚本前备份原文件,改错一行可能全服 NPC 瘫痪。

