传奇里提示脚本错误不是只有一种情况。打开登录器就弹窗、进游戏点NPC弹窗、穿装备弹窗,属于玩家端或登录器问题;只有M2控制台红字、NPC点了没反应、任务领不到奖励,才是服务端脚本本身写错。两边处理方式完全不同,先看清报错出现在哪一侧,再动手,不然容易越改越乱。
一、先判断是哪种脚本错误
玩家端表现
打开登录器直接弹「当前页面的脚本发生错误」
登录列表刷不出来
进游戏点NPC弹脚本错误
客户端卡加载或黑屏
服务端表现
M2Server控制台出红字
日志里出现 Scriptfile 'QFunction-0.txt' line xx
点NPC没对话、没反应
交了材料不发奖励
穿装备属性不变
刷怪、传送、充值脚本失效
玩家端改登录器、客户端、杀毒、系统组件;服务端进 Mir200\Envir 改脚本文件。
二、登录器弹脚本错误解决办法
1. 登录器版本和引擎不对
这是最常见原因。GOM登录器套GEE脚本、Hero脚本塞LEG登录器、老0328登录器读新1108脚本,都会爆。
处理:
删掉当前登录器
去对应版本官网拿同引擎登录器
别拿A服登录器进B服
别用精简版登录器,缺内置Script目录
2. 核心文件被杀软删了
360、火绒、电脑管家常把 Login.exe、Mir.exe、ScriptEngine.dll、Script目录当成恶意脚本隔离。
处理:
打开杀软隔离区
恢复 Login.exe、ScriptEngine.dll 等文件
把整个游戏目录加信任区
关掉「脚本监控」再开登录器
重新解压时先关杀软,别点忽略或删除
3. 客户端路径不对
客户端放桌面、放中文目录、放带空格路径,登录器读脚本会失败。
处理:
挪到纯英文路径,例如 D:\MirClient
登录器放客户端根目录
和 Data、Map、Wav 同级
别单独把登录器放桌面跑
4. IE脚本调试弹窗
登录器用IE内核加载列表页、公告页时会弹脚本错误。
处理:
控制面板→Internet选项→高级
勾「禁用脚本调试(Internet Explorer)」
勾「禁用脚本调试(其他)」
取消「显示每个脚本错误的通知」
重启登录器
临时弹窗点「是」能进,不代表修好了,只是不弹窗。
5. 系统脚本组件没注册
Win系统 vbscript.dll、jscript.dll 缺失,登录器内嵌网页脚本解析不了。
管理员CMD执行:
regsvr32 vbscript.dll
regsvr32 jscript.dll
提示注册成功后重启电脑。
6. 兼容性和权限
老登录器在新系统上容易报错。
右键登录器→属性→兼容性
勾「以兼容模式运行」,选Win7
勾「以管理员身份运行」
客户端目录右键属性→安全,当前用户给完全控制
7. list.txt或列表地址坏了
列表文件缺失、格式错、IP端口错位,登录器读不到服务器信息也会弹脚本错。
处理:
确认 list.txt 格式是「游戏名 IP 端口」
单机填 http://127.0.0.1:端口/list.txt
外网列表地址贴浏览器看是不是404
DNS有问题就 ipconfig /flushdns
三、进游戏点NPC才报错:服务端脚本问题
这种不是玩家能修的,是版本脚本写错,得进服务端改。
1. 先看M2日志
别瞎替换文件,先看红字。
M2Server控制台红字
或 Mir200\Log\ScriptError.log
报错格式一般是:
Scriptfile 'QFunction-0.txt' line 56: Unknown command 'MOAB'
或 GOTO @xxx 不存在
或 NPC脚本加载失败
记三样东西:文件名、行号、错误描述。
2. 打开对应脚本定位行号
路径一般在:
Mir200\Envir\QuestDiary\功能目录\脚本.txt
Mir200\Envir\Market_Def\NPC脚本.txt
Mir200\Envir\QFunction-0.txt
用Notepad++打开,跳到报错行。
别用系统记事本,记事本存完编码容易变。
3. 常见语法错误
[@main]、[@Login]标签没独占一行
标签前后有空格
IF #ACT #ELSEACT 不成对
用了中文括号、中文冒号、全角空格
GOTO跳转的标签不存在
CALL调用的子脚本路径写错
命令拼错,比如 MOAB、GIVEE、CHECKGOLLD
参数少了,GIVE 物品名 数量没写数量
改完保存,M2里重载NPC或重启服务端再测。
4. 编码问题
传奇脚本多数要ANSI/GBK。
Win10记事本另存成UTF-8,中文命令直接乱码报错。
Notepad++里编码转ANSI或GB2312
换行用Windows(CRLF)
清掉复制来的隐藏空格、制表符
5. 物品名、怪物名、地图名对不上数据库
脚本本身没语法错,但执行到 GIVE、MONGEN、MAPMOVE 就炸。
原因:
物品名和 StdItems.DB 不一致
多了空格、字写错、大小写不对
怪物不在 Monster.DB
地图编号不在 MapInfo.txt
处理:
打开对应数据库
把脚本里的名称改成库里完全一致
地图编号也按MapInfo来
6. 引擎不支持该命令
一份脚本在GOM能跑,换GEE或HERO就报错,基本是命令不兼容。
旧引擎不支持新扩展命令
新引擎淘汰老命令
插件命令没加载也会报未知命令
处理:
查当前引擎命令表
换兼容写法
用插件就检查插件DLL在不在、PlugList有没有开
7. 死循环脚本
GOTO来回跳没退出条件,M2狂刷循环日志,游戏卡顿。
临时改 Setup.txt 里 ScriptGotoCountLimit 只是压提示,不根治。
正解是改脚本逻辑,加退出条件。
四、NPC点了没反应但不是红字
这种最容易被当成「没报错」。
检查项:
Merchant.txt里NPC绑定的脚本路径对不对
脚本文件是不是真在那个目录
文件是不是被改名成 xxx备份.txt(服务端不读备份)
脚本开头有没有 [@main]
IF条件不满足时有没有 #ELSEACT 提示
SAY里有没有奇怪特殊符号
文件是不是只读,改了没保存
M2没重载,改完直接进游戏
五、装备脚本错误
穿装备弹错、属性不加、特效不触发,走这条线。
检查:
装备DB字段和脚本检测字段是否一致
OnEquip触发事件有没有写
属性名是否引擎白名单,比如 maxhp 写法
材料扣除和属性下发是否都写了
套装计数逻辑有没有写错
客户端补丁编号和WIL资源对不对
很多情况是「扣了东西没发属性」,不是引擎坏,是脚本只写了前半段。
六、客户端补丁也跟着报错的区分
纯服务端脚本(任务、刷怪、命令权限)改完重启M2就行。
涉及显示、地图、物品外观、装备特效的,客户端也要同步补丁。
处理:
补丁覆盖到客户端Data、Map、Wav
删客户端根目录Cache
重新进游戏
七、架设时提示找不到脚本文件
D:\MirServer路径报错、Envir下脚本找不到:
解压路径别带中文
别放桌面
服务端挪到 D:\MirServer 纯英文
杀软关了重新解压
检查 !Setup.txt 或 GameCenter 里目录参数
Mir200\Envir 要完整,Market_Def、QuestDiary、MonGen.txt不能丢
八、标准排查顺序(最省时间)
玩家端
1 看登录器是不是同引擎
2 看杀软隔离区恢复文件
3 客户端挪纯英文路径
4 关脚本调试弹窗
5 注册vbscript/jscript
6 管理员+兼容模式运行
服务端
1 看M2红字和ScriptError.log
2 拿文件名+行号
3 Notepad++打开脚本
4 查标签、#IF/#ACT、GOTO
5 查编码是不是ANSI
6 查物品/怪物/地图名
7 查命令是否当前引擎支持
8 改一处测一次,别批量改
9 重载NPC或重启M2
九、改脚本避坑规则
不用系统记事本存脚本
保存选ANSI,不选UTF-8
符号全程英文半角
标签独占一行
IF必须有#ACT或#ELSEACT
GOTO目标必须存在
物品名复制数据库里的
每次只改一处再测
改前备份原文件
备份文件别留原名在Envir里
十、几种常见提示对应修法
脚本文件不存在
路径写错,NPC绑的文件不在目录里,复制真实路径核对。
未知命令 Unknown command
命令拼错或引擎不支持,换命令或开插件。
未定义标签
GOTO @奖励 但文件里没 [@奖励],补标签。
参数数量错误
GIVE没写数量、CHECKITEM格式错,按引擎格式补参数。
数据库读取失败
物品/怪物/地图名不对,去DB核对。
NPC无反应
缺[@main]、路径错、文件只读、没重载。
穿装备不生效
OnEquip没写、属性字段错、客户端补丁没盖。
脚本错误不是玄学,登录器弹窗优先查版本匹配、杀软、路径、IE调试;M2红字就按文件名行号去QuestDiary改语法、编码、物品名和命令兼容。大多数情况不用重下整个版本,看日志定位那一行就够了。改脚本前备份,一次改一行,重启测试,基本能把百分之九十的脚本错误消掉。
传奇脚本错误弹窗解决教程:登录器报错与服务端M2排错分开处理
来源:
作者:
点击:

