游戏环境:怀旧天龙
BUG代号:XUEWU-20221105-CaiHongBug-01
测试时间:2022-11-5 11:00:09 - 2022-11-5 23:55:10 排查时间约55分钟
报错内容:打开武魂界面直接报错,无法打开武魂界面
报错截图:
解决方案具体流程:
定位到代码位置:
进一步排查,把变量输出到屏幕,来寻找新的线索:
这里排查之后发现 strAttr数值报错,可以网上看,发现这个数值是通过 LuaFnGetWHWGLevelInfo(i,nGrade,nLevel,"wszAttr") 返回的。
这个函数我看了下没有什么问题,拖到excel中仔细看了一下
由此判断,继续追溯前面的代码,发现nGrade,nLevel, 两个变量通过LuaFnGetWHWGInfo(wgID,rest) 获取返回值。这是一个武魂外观信息检测的函数
看来不是补丁问题,是服务端上面传过来的数值有问题,我们排查全局变量吧
使用Notepad++ 搜索整个服务端tlbb/Public/Data/Script文件夹,排查全局变量后,发现有其他程序MD_PLAYER_GUID和武魂外观变量MD_WUHUNWG_DATA1冲突,这里需要把id改一下,确保266也不要和其他程序冲突哦
MD_PLAYER_GUID = 203 --玩家GuId
改成
MD_PLAYER_GUID = 266 --玩家GuId
改成必须重启服务器生效,
重启后,发现老的角色打开武魂,客户端还是报错,我们需要修正一下203的数值改成默认状态
最后进游戏重新穿戴游戏,重启客户端即可修复报错。
|