找回密码
 registerss
搜索
查看: 18|回复: 0

洱海月 v0-07-0300 封包解析:ID 428 GCBankMoney(银行存取金额结果)

[复制链接]
  • 打卡等级:本地老炮
  • 打卡总天数:603
  • 打卡月天数:1
  • 打卡总奖励:600
  • 最近打卡:2026-10-03 06:32:28
Waylee 发表于 2026-4-15 11:09 | 显示全部楼层 |阅读模式 | Google Chrome | Windows 10

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

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

×

GCBankMoney 是钱庄存钱、取钱完成后的结果回包。当前 Lua 主链稳定使用其中的 op、bank_save_money 和 result 三个字段,其余尾部结构保留在协议里,但现役发送分支没有继续填充。

包信息

项目 内容
封包 ID 428
包名 GCBankMoney
方向 Server -> Client
包长 6 + MsgIODataStream
对应请求 CGBankMoney(95)
作用 返回银行当前存款并确认存钱 / 取钱操作

包体结构

偏移 长度 字段 类型 含义
0x00 0x01 op uint8 操作类型,当前 0=存钱、1=取钱
0x01 0x04 bank_save_money uint32 操作后的银行存款
0x05 0x01 result uint8 结果码,当前 Lua 发送 0
0x06 0x04 list_size uint32 扩展列表数量,现役主链通常为 0
变长 list_size * 8 list bytes[n] 旧协议保留的扩展列表区
变长 0x04 extra_size uint32 附加数据长度
变长 extra_size extra_data bytes[n] 旧协议保留的附加字节流

当前实际行为

  • 当前 scenecore:char_bank_money() 在真正改完人物金钱和银行存款后,回包只显式填写 op、bank_save_money、result。
  • 当前 Lua packet.lua 仍保留了 list_size/list/extra_data 的历史结构,但现役发送分支不再填值。
  • 因此这条包在当前项目里实际表现接近固定头结果回包,扩展段只是协议兼容保留。
  • 客户端最终看到的是更新后的存款数,而不是一次完整的银行状态快照。

服务端落点

  • 协议定义:/home/ubuntu/Game2/services/game/packet.lua
  • 业务入口:/home/ubuntu/Game2/services/scene/scenecore.lua

关键代码

local msg = packet_def.GCBankMoney.new()
msg.op = bm.op
msg.bank_save_money = obj_me:get_bank_save_money()
msg.result = 0
self:send2client(obj_me, msg)

结论

GCBankMoney(428) 的现版用途已经很明确:确认存钱 / 取钱完成,并把银行最新存款额同步给客户端。扩展列表和附加字节流仍在协议中,但当前 Lua 主链没有实际使用。

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

本版积分规则

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

GMT+8, 2026-10-4 11:26 , Processed in 0.062262 second(s), 26 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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