传奇单机1.76典当裁决赎回骨玉闪退猪四雕像点击退出故障排查修复教程

来源: 作者: 点击:
这个问题根源不在客户端,重装客户端不会有效果,两处点击就退出,都是服务端脚本或者物品数据库匹配出错,客户端只是接收指令,一旦脚本读取到不存在的物品编号、缺失脚本段、错误跳转标签,引擎直接踢掉人物连接,表现为游戏窗口自动关闭。先处理典当赎回骨玉的问题,典当功能是单独的NPC脚本,存放在Mirserver\Mir200\Envir\QuestDiary目录下典当相关文本,打开典当脚本,找到典当裁决对应的赎回配置行,典当功能一般会记录典当物品名字、物品ID、赎回需要的货币,点击赎回列表里的骨玉就退出,分三种常见情况,第一种是脚本里面写的骨玉物品ID和StdItems.DB数据库里面骨玉的idx编号不一致,脚本调用编号读取物品,数据库没有这个编号,引擎执行Give命令的时候直接报错断开连接。第二种是脚本里面写了骨玉名称,但是名字多了空格、符号,和数据库物品名称对不上,单机版本转版本的时候经常出现这类文字差异。第三种是典当脚本缺少[@赎回骨玉]这个跳转标签,点击列表选项之后GOTO到一个不存在的段,引擎找不到对应脚本段,直接执行踢人。
排查典当脚本的时候,先打开DB工具查看骨玉、裁决的idx编号和物品名称,复制数据库内原始名称,回到典当脚本核对,把赎回项里面的物品名称、编号全部改成数据库内一致内容,检查每一个赎回选项对应的跳转标签,每一个物品都要有对应的标签段,标签段内部要有#ACT Give 骨玉 1,同时扣除典当押金,搭配BREAK收尾,不要出现标签缺失、标签名写错。还有一种隐藏情况,典当脚本里面写了读取典当记录的变量,变量格式写错,读取典当记录数组越界,点击赎回列表里骨玉这一项触发越界,直接断开连接,这类情况可以先把典当脚本里面骨玉这条赎回配置临时注释掉,进游戏测试,如果不点骨玉就正常,确认是这一行配置问题,重新单独写一段骨玉赎回,和其他正常赎回项格式保持一样。典当记录文件保存在Envir\Save目录,记录每一个角色典当物品信息,记录文件损坏也会单独造成某一条典当记录赎回闪退,可以先新建一个测试角色,拿裁决重新典当一次,再尝试赎回,排除旧存档记录损坏的干扰。
猪四房间雕像点击退出,这个雕像是地图内静态NPC,在Mirserver\Mir200\Envir\Npc.txt注册,Npc.txt里面写了雕像NPC名称、地图编号、坐标、脚本文件路径,点击雕像触发闪退,优先核对Npc.txt里面雕像指向的脚本路径和文件名,路径写错、脚本文本丢失,点击之后引擎找不到脚本文件,直接断开人物。打开Npc.txt找到猪四这个地图编号对应的雕像条目,复制后面的脚本文件名,去QuestDiary目录核对文件是否存在,文件名大小写、横线符号不能错,很多老引擎区分文本文件名符号。如果脚本文件存在,打开雕像脚本检查语法,常见错误是#IF、#ACT、#ELSEACT配对缺失,少写BREAK,GOTO跳转到不存在的标签,调用不存在的物品、怪物编号,还有部分雕像脚本写了传送地图,里面填写的地图编号不存在,点击之后执行传送指令失败,直接退出游戏。还有一类是雕像NPC素材补丁缺失,wil里面没有这个雕像外观,但是单纯缺素材一般只会显示黑块,很少直接闪退,只有绑定的脚本出错才会一点就退。
可以先做一个简单的隔离测试,把雕像对应的脚本文件改名转移,重新加载NPC,进游戏点击雕像,如果不再闪退,只是没有功能,确定是脚本内部语法错误,打开脚本逐行注释测试,先保留弹窗提示语句,其余功能命令全部注释,逐步恢复传送、领取、检测命令,定位到出错那一行。如果转移脚本之后点击依旧闪退,回到Npc.txt检查雕像的NPC形象编号,形象编号超出引擎支持范围,也会触发异常断开。
操作顺序需要先备份整套Mirserver文件夹,防止修改出错无法回档。关闭M2、DBServer所有服务端程序,修改脚本、Npc.txt之后保存,重新启动整套服务端,在M2面板选择控制,重新加载NPC和脚本,再进游戏测试,不要不重启服务端直接测试,改动不会生效。M2主窗口会输出运行日志,点击骨玉、点击雕像闪退的瞬间看日志窗口,日志会提示脚本缺失、物品ID无效、标签不存在,日志文字可以直接定位出错位置。
还有两个容易忽略的点,引擎版本和脚本命令不兼容,这套典当、雕像脚本是别的引擎写的,导入当前单机版本,个别命令不被识别,执行到该命令直接踢人,对照引擎说明书替换兼容命令。另外角色数据异常,角色身上典当记录错乱,可以新建空白账号测试典当和雕像功能,新账号正常,就说明原来角色存档损坏,清空该角色典当记录文件。
典当和雕像两处故障相互独立,典当属于功能NPC脚本带物品读取动作,雕像属于地图静态NPC触发脚本,两处修复思路都是核对名称编号、检查脚本跳转标签、确认文件路径存在,客户端重装无法解决这类服务端侧的逻辑错误,不要反复替换客户端文件浪费时间。全部修改完成之后,多次反复测试,先典当裁决,多次切换赎回选项,单独点骨玉测试,再进入猪四房间反复点击雕像,确认不再自动退出。