传奇里碰到“脚本发生错误”分两种人:玩家进游戏点NPC弹错、功能没反应,或者服务端M2控制台刷红色报错。玩家端能做的有限,服务端架设端要进文件改代码,两边分开处理。
玩家端先做的三件事
关游戏重新进。临时内存冲突、微端补丁没加载完、上次掉线半截数据卡住,重登能消掉一半假错误。
清缓存。电脑端进游戏目录删Cache文件夹或ScriptCache.dat,手游端清应用缓存数据,再重启。缓存里旧脚本片段会和更新后的服务端对不上。
查版本。官服/渠道服更新后老登录器会报脚本错,去官网下最新登录器重配;用辅助脚本的,游戏大版本一动脚本就失效,必须更到适配当前区的版本,不然越用越错。
以上三步完事还弹错,基本是服务端那边的事,玩家改不了,只能截图报错行发给GM。
服务端报错定位
M2Server窗口或Log/ScriptError.log里会写“Envir\QuestDiary\xxx.txt 第N行 Syntax error”之类,照着文件名行号打开对应脚本。
常见五类错法:
语法错:#IF写成#LF、GIVE写成giveitem、中文全角括号、行尾多全角空格。
编码错:记事本存成UTF-8带BOM,GOM/GEE引擎读首行就炸,转ANSI或UTF-8无BOM。
路径错:CALL引用的子脚本不在QuestDiary对应目录,或MapEvent.txt里地图号不存在、坐标超边界。
引擎不兼容:GOM脚本塞进GEE,Sendmsg要改SendCenterMsg,#Act要改#ACTION,Hero的ChangeMap在GOM里叫MapMove。
数据错:GIVE的物品ID不在ItemDB、CHECKMAP的地图号没在MapInfo登记、掉率写了“100%”没写“100”。
改脚本的固定动作
动刀前先把原文件复制一份改名001_backup.txt,改坏能回滚。
用Notepad++打开,右下角确认编码,ANSI/GBK最稳,GOM系避开UTF-8 BOM。
长脚本用分段注释法:前半段留10到20行基础触发,重启M2看还报不报,不报就往后放代码,逐段缩小到出错那几行。
死循环卡对话框,查是不是缺#ELSE、BREAK、RETURN,分支末尾没出口会一直弹[@main]。
改完关M2删ScriptCache.dat再起,别热重载,热重载有时不刷缓存。
辅助脚本(外挂类)报错另算
提示“未检测到游戏”先开游戏进主界面再开辅助,绑定窗口选对应版本;闪退清后台留2G空间、模拟器开VT、分辨率720*1280;iOS企业证书失效只能换包;功能乱点降点击频率、调识别精度、核心功能(捡物回血)排前面。
同时开两个辅助必冲突,留一个就行。
玩家在官服正版里一直弹脚本错,不是自己能修的,录屏报错行+角色名+所在地图NPC名提交客服,等后端热更;私搭小站就找站长重发登录器或修服务端。临时绕开办法是避开那个报错的NPC,去别的地图刷,不影响主线推进的多数功能。
传奇脚本发生错误排查流程与玩家端自救办法
来源:
作者:
点击:

