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

洱海月 v0-07-0300 封包解析:ID 327 GCPlayerShopMoney(玩家商店资金结果)

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

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

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

×

GCPlayerShopMoney 是玩家商店资金操作的结果包,用来回同步店铺 GUID、资金类型、金额和值变化后的串号。

包信息

项目 内容
封包 ID 327
包名 GCPlayerShopMoney
方向 Server -> Client
对应请求 CGPlayerShopMoney
固定包长 18
作用 返回玩家商店本钱 / 利润存取结果

包体结构

偏移 长度 字段 类型 含义
0x00 0x0C shop_id PlayerShopGUID 目标玩家商店 GUID
0x0C 0x01 type uint8 资金类型;当前 0=base_money、1=profit_money
0x0D 0x04 amount uint32 本次回显金额或余额
0x11 0x01 serial uint8 店铺最新串号

总长度:

18 字节

当前实际行为

  • 当前 char_player_shop_money() 在资金存入或提取成功后,会直接构造这条包返回。
  • amount 的含义在不同分支下并不完全一致:有时是最新余额,有时是本次提取金额。
  • 因此读取这条包时,必须结合原始请求类型一起理解 amount。

服务端落点

  • 协议定义:/home/ubuntu/Game2/services/game/packet.lua
  • 场景处理:/home/ubuntu/Game2/services/scene/scenecore.lua
  • 对应请求文档:/home/ubuntu/Game2/docs/07_登录_网络_封包/packet.CGPlayerShopMoney.md

关键代码

packet.GCPlayerShopMoney = {
    bos = function(self)
        local stream = bostream.new()
        packet.PlayerShopGUID.bos(self.shop_id, stream)
        stream:writeuchar(self.type)
        stream:writeuint(self.amount)
        stream:writeuchar(self.serial)
        return stream:get()
    end
}

结论

  1. GCPlayerShopMoney(327) 是玩家商店资金操作的成功结果包。
  2. 结构可以明确写成 shop_id + type + amount + serial。
  3. 其中 amount 在现役主链里既可能表示余额,也可能表示提取金额。
您需要登录后才可以回帖 登录 | registerss

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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