电脑端传奇脚本错误通用处理:M2红字与登录器弹窗分开修

来源: 作者: 点击:
电脑上跑传奇提示脚本错误,先别重装客户端,也别换登录器瞎试。报错其实分两条线:M2控制台刷红字是服务端脚本问题;登录器或游戏内弹「当前页脚本发生错误」是客户端网页组件问题。两条线修法不一样,先分边再动手。

一、先看报错从哪边出来

服务端侧特征
M2Server窗口滚红字
格式类似:脚本命令:LOADVARNPC名称:QManage地图:0参数…
或ScriptError:QuestDiary\QFunction-0.txtLine56
角色进游戏、点NPC、过地图时触发
这种跟玩家电脑基本无关,是Envir下脚本炸了

客户端侧特征
双击登录器就弹脚本错误
公告页、活动页打不开
点登录器设置或列表页卡住
M2那边安安静静没红字
这是登录器内嵌IE页面、JScript/VBScript组件、杀软拦截一类问题

快速判断
开M2看着控制台,自己登一个号。
M2同时刷红字→服务端脚本
M2没反应只弹窗→客户端组件

二、服务端报错:先抄M2那行红字

光看「脚本错误」四个字没用,必须抄这几项:
脚本命令名:LOADVAR、CALL、GIVE、CHECKITEM…
NPC名称:QManage、QFunction、某个NPC
文件名:QManage.txt、QFunction-0.txt、功能\xxx.txt
行号:Line32
最后一句:找不到文件/命令不存在/标签不存在

日志也能翻:
Mir200\Log\ScriptError.log
Mir200\Log\M2Server-日期.log

三、进游戏瞬间报错:八成在QManage

角色一进游戏就弹,优先打开:
Mir200\Envir\MapQuest_def\QManage.txt
这是登录触发脚本,角色上线会跑一遍,里面常挂变量加载、名单检测、登录奖励。

典型样式
脚本命令:LOADVAR
NPC名称:QManage
找不到文件=>..\QuestDiary\某某\神影名单.txt

意思就一个:脚本要读这个txt,文件没有或路径错。

四、LOADVAR/名单文件缺失怎么补

报错里写..
QManage.txt在MapQuest_def里
..\表示回到上一级,也就是Envir
所以真实路径是:
Mir200\Envir\QuestDiary\某某\神影名单.txt

处理步骤
1.进Envir\QuestDiary
2.按报错路径一级级看文件夹在不在
3.缺文件夹就新建,名一字不差
4.缺txt就新建文本文档,改名对应文件
5.右键文件属性,取消只读
6保存后重启M2

举例报错:
找不到文件=>Envir\QuestDiary\诚意网络\军团功能\神影名单.txt
那就建:
QuestDiary\诚意网络\
QuestDiary\诚意网络\军团功能\神影名单.txt
内容可以先空着,LOADVAR能读到文件就不报。

注意隐藏后缀
资源管理器开了「隐藏已知扩展名」时,
看着叫神影名单.txt
实际是神影名单.txt.txt
文件夹选项里把隐藏后缀关掉再核对。

五、#CALL调用文件找不到

点NPC才报、进游戏不报,多是#CALL路径错。
格式:
CALL[\功能\领取.txt]@领取

核对四项
1.QuestDiary下是不是真有「功能」文件夹
2.里面是不是真有领取.txt
3.中文文件夹别拼错,「登陆」和「登录」不是同一个
4.目标文件里必须有[@领取]标签,顶格写

标签规则
[@领取]前面不能空格不能Tab
GOTO@xxx、CALL@xxx都要有对应标签
没有就报标签不存在

六、命令报错:拼写和全角符号

M2写Unknowncommand/命令错误
常见原因:
CHECKLEVEL写成CHECKLEVE
GIVE写成GIV
用了中文逗号、中文括号、中文引号
全角空格混进参数
IF#ACT结构断了

GIVE裁决之杖1没写数量

改法
Notepad++打开
开「显示所有字符」清行尾隐藏符
命令全大写按引擎手册核对
符号全换英文半角

七、变量重复定义

QManage里提示「变量XXX已存在」
是同一个变量被VAR声明了多次。

处理
搜变量名,比如TTAE、CWFY、开放苍月岛
保留第一处VAR定义
后面重复的删掉
如果子脚本用#INCLUDE引进来也定义了,去子脚本删

变量类型也要对
HUMAN/GLOBAL/GUILD别混
脚本里LOADVARHUMANXXX
前面就得有VARIntegerHUMANXXX

八、编码问题最阴

记事本另存成UTF-8,老引擎直接废。
表现是中文变乱码、标签认不出、进到那段就报错。

正确做法
Notepad++打开脚本
编码→转为ANSI
保存覆盖
别用Word改脚本
别点记事本UTF-8另存

哪些文件都要查
QuestDiary下所有功能txt
MapQuest_def\QManage.txt
QFunction-0.txt
Market_Def下NPC脚本
名单类txt(神影名单、GM名单、封号名单)

九、路径还错就改绝对路径

文件在但还是报找不到,相对路径算歪了。
直接改绝对路径最稳:

LOADVARHUMANCWFYD:\MirServer\Mir200\Envir\QuestDiary\诚意网络\CWFYSave.txt

CALL也同理写全:

CALL[D:\MirServer\Mir200\Envir\QuestDiary\功能\领取.txt]@领取

改完存ANSI,重启M2。

十、客户端弹窗处理

M2没红字、登录器弹脚本错误,按下面来。

1.注册系统脚本组件
管理员CMD执行:
regsvr32jscript.dll
regsvr32vbscript.dll
regsvr32mshtml.dll
regsvr32scrrun.dll
看到注册成功重启电脑

2.IE高级选项
控制面板→Internet选项→高级
勾「禁用脚本调试」
取消「显示每个脚本错误的通知」

3.杀软误拦
360、火绒把登录器、Script目录、Mir.exe隔离了
进隔离区恢复
整个客户端目录加信任
暂关脚本监控再开登录器

4.登录器版本不对
Hero端配GOM登录器、老0328登录器吃新脚本必爆
用对应服的同引擎登录器
别拿A服登录器进B服

5.运行库缺
.NETFramework、VC++运行库补一下
列表地址贴浏览器看是不是404
单机填http://127.0.0.1:端口/list.txt

6.hosts被改
C:\Windows\System32\drivers\etc\hosts
只留127.0.0.1localhost
别的行删掉,别存成hosts.txt

十一、改完怎么验证

服务端侧
M2控制台点「重载脚本」也行
但QManage、变量声明类建议整端重启更稳
顺序:关网关→关M2→起DB/登录网关→起M2
起来看控制台还刷不刷红字
再登号触发一次进游戏、点NPC

客户端侧
关登录器
清客户端Cache
重新开登录器
公告页能加载、不弹脚本错误窗就过了

十二、常见坑汇总

.txt.txt隐藏后缀
文件名多空格
登陆/登录混用
..\多写一层变..\..\
脚本存成UTF-8带BOM
标签前带空格
IF没#ACT

GOTO跳的标签不存在
变量重复VAR
名单文件只读
只建名单不建Save文件
改了路径不重启M2
只重启M2不关网关
拿GOM脚本塞Hero端
杀软把ScriptEngine.dll删了

十三、玩家自己玩别人的服

进游戏弹脚本错误、M2红字你看不到
那不是你电脑问题,是服主服务端脚本坏了
清缓存、换登录器都没用
只能等服主修QManage或补Envir文件

自己架端、单机、本地登录器
按上面流程走:
抄M2红字→进Envir\QuestDiary对路径→补txt→改绝对路径→转ANSI→重启
大多能消。

十四、标准排查顺序(照抄)

1.M2有红字没→有走服务端,没有走客户端
2.抄命令+NPC+文件名+行号
3.带「找不到文件」→去QuestDiary补文件
4.文件在还报→改绝对路径
5.带「命令不存在」→核对命令拼写和引擎版本
6.带「变量已存在」→搜VAR去重
7.带LineXX→直接跳那行看全角符号
8.文件转ANSI
9.取消只读
10.关网关关M2重启
11.再登号验证

进游戏脚本错误不是「传奇坏了」,本质就是登录触发或NPC脚本链断了一环:文件没了、路径歪了、标签没了、编码乱了、变量重了。先别碰客户端,看一眼M2红字基本就能定位到具体txt;补文件、对齐路径、ANSI保存、重启端,大部分电脑端脚本错误到这就结束。真要是登录器弹窗而M2安静,再去注册组件、加信任、对登录器版本。
[顶部]