找回密码
 register

QQ登录

只需一步,快速开始

查看: 86|回复: 0

[游戏教程] 记录一次排查武魂变量冲突导致客户端报错的过程

[复制链接]

[游戏教程] 记录一次排查武魂变量冲突导致客户端报错的过程

[复制链接]
  • 打卡等级:热心大叔
  • 打卡总天数:94
  • 打卡月天数:17
  • 打卡总奖励:94
  • 最近打卡:2025-01-18 01:28:20
Waylee

主题

0

回帖

1万

积分

仙帝

积分
12360
Waylee 2022-11-5 23:31 | 显示全部楼层 |阅读模式

马上注册,查看网站隐藏内容!!

您需要 登录 才可以下载或查看,没有账号?register

×
游戏环境:怀旧天龙

BUG代号:XUEWU-20221105-CaiHongBug-01

测试时间:2022-11-5 11:00:09 - 2022-11-5 23:55:10  排查时间约55分钟

报错内容:打开武魂界面直接报错,无法打开武魂界面

报错截图:

4KPBGJ(L70G(ET80JFT3KS2.png

解决方案具体流程:

定位到代码位置:

定位代码.png

进一步排查,把变量输出到屏幕,来寻找新的线索:

函数测试.jpg

这里排查之后发现 strAttr数值报错,可以网上看,发现这个数值是通过 LuaFnGetWHWGLevelInfo(i,nGrade,nLevel,"wszAttr") 返回的。
这个函数我看了下没有什么问题,拖到excel中仔细看了一下

更好查看.jpg

由此判断,继续追溯前面的代码,发现nGrade,nLevel, 两个变量通过LuaFnGetWHWGInfo(wgID,rest) 获取返回值。这是一个武魂外观信息检测的函数

查看武魂外观获取函数.png

看来不是补丁问题,是服务端上面传过来的数值有问题,我们排查全局变量吧

问题定位到.png

使用Notepad++ 搜索整个服务端tlbb/Public/Data/Script文件夹,排查全局变量后,发现有其他程序MD_PLAYER_GUID和武魂外观变量MD_WUHUNWG_DATA1冲突,这里需要把id改一下,确保266也不要和其他程序冲突哦
MD_PLAYER_GUID = 203                  --玩家GuId

改成

MD_PLAYER_GUID = 266                  --玩家GuId


改成必须重启服务器生效,
重启后,发现老的角色打开武魂,客户端还是报错,我们需要修正一下203的数值改成默认状态
修正变量.jpg

最后进游戏重新穿戴游戏,重启客户端即可修复报错。


您需要登录后才可以回帖 登录 | register

本版积分规则

雪舞知识库 | 浙ICP备15015590号-1 | 萌ICP备20232229号|浙公网安备33048102000118号 |天天打卡

GMT+8, 2025-1-19 14:40 , Processed in 0.101699 second(s), 10 queries , Redis On.

Powered by XueWu Licensed

Copyright © Tencent Cloud.

快速回复 返回顶部 返回列表