GCCanPickMissionItemList 是旧版客户端保留的任务可拾取物品列表包,当前 Game.exe 已能确认其结构,但现役 Lua 主链未发现发送链。
包信息
| 项目 |
内容 |
| 封包 ID |
280 |
| 包名 |
GCCanPickMissionItemList |
| 方向 |
Server -> Client |
| 当前 Lua 状态 |
主链未发现显式发送点 |
| 包长 |
变长;1 + 4 * count |
| 作用 |
向客户端下发一组任务可拾取物品 ID |
包体结构
| 偏移 |
长度 |
字段 |
类型 |
含义 |
0x00 |
0x01 |
count |
uint8 |
物品数量,当前客户端上限保护为 80 |
0x01 |
0x04 * count |
item_ids[count] |
uint32[count] |
可拾取的任务物品 ID 列表 |
当前实际行为
- 当前
Game.exe 读包逻辑会先读 count,并在 1..80 范围内继续读取后续物品 ID。
- 现役
/home/ubuntu/Game2 没有发现这条包的 Lua 协议定义或发送点。
- 因此它当前更像任务系统旧 UI 的兼容列表包。
服务端落点
- 当前 Lua 协议定义未发现:
/home/ubuntu/Game2/services/game/packet.lua
- 当前 Lua 发送点未发现:
/home/ubuntu/Game2/services
关键代码
GetPacketID() = 280
Read(stream):
count = read_u8()
if 1 <= count <= 80:
repeat count times:
read_u32(item_id)
结论
GCCanPickMissionItemList(280) 的结构可以明确写成 count + item_ids[count]。
- 当前客户端侧对数量有
80 的保护上限。
- 现役 Lua 主链未见发送点,适合按旧任务兼容协议记录。
|