找回密码
 register
搜索
查看: 565|回复: 0

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

[复制链接]
  • 打卡等级:本地老炮
  • 打卡总天数:527
  • 打卡月天数:16
  • 打卡总奖励:525
  • 最近打卡:2026-06-18 02:14:29
Waylee 发表于 2022-11-5 23:31 | 显示全部楼层 |阅读模式
游戏环境:怀旧天龙

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的数值改成默认状态


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


本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2026-6-19 00:24 , Processed in 0.074260 second(s), 32 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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