GCBankItemInfo 用于把钱庄某一格里的道具详情同步给客户端。当前 Lua 主链已经能明确确认前两个字段分别是银行格索引和保留结果位。
包信息
| 项目 |
内容 |
| 封包 ID |
460 |
| 包名 |
GCBankItemInfo |
| 方向 |
Server -> Client |
| 包长 |
6 + ItemInfo |
| 对应请求 |
CGBankAcquireList 和银行打开流程内部触发 |
| 作用 |
返回银行某个格子的完整道具数据 |
包体结构
| 偏移 |
长度 |
字段 |
类型 |
含义 |
0x00 |
0x02 |
bank_index |
int16 |
钱庄格索引 |
0x02 |
0x04 |
reserved_result |
int32 |
当前 Lua 固定写 0 的保留结果位 |
0x06 |
变长 |
item |
bytes[n] |
ItemInfo 结构 |
当前实际行为
- 当前
human:send_bank_item_info() 与 scenecore:char_bank_item_info() 都把第一个字段明确当作银行格索引使用。
- 第二个字段在现役发送链路里固定为
0。
- 真正的道具内容都在
ItemInfo 结构里,包头只负责说明这是哪一格。
- 客户端拿到这条包后,可以直接更新银行面板上的单格内容。
服务端落点
- 协议定义:
/home/ubuntu/Game2/services/game/packet.lua
- 发送入口:
/home/ubuntu/Game2/services/scene/obj/human.lua
- 银行逻辑:
/home/ubuntu/Game2/services/scene/scenecore.lua
关键代码
local msg = packet_def.GCBankItemInfo.new()
msg.unknow_1 = bank_index
msg.unknow_2 = 0
msg.item = item
self:send2client(obj_me, msg)
结论
GCBankItemInfo(460) 的现版语义已经可以确认到“银行格索引 + 保留结果位 + ItemInfo”。当前客户端主要依赖它刷新钱庄单格。
|