找回密码
 registerss
搜索

洱海月 v0-07-0300 封包解析:ID 516 WGCFriendADGiveDetailInfo(征友详情回包)

[复制链接]
Waylee 发表于 2026-4-15 17:36 | 显示全部楼层 |阅读模式 | Google Chrome | Windows 10

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

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

×

WGCFriendADGiveDetailInfo 是征友系统的详情回包。当前 Game.exe 已能确认它由 10 字节固定头和一段完整的征友详情结构组成,客户端据此展示单条征友广告的详细内容。

包信息

项目 内容
封包 ID 516
包名 WGCFriendADGiveDetailInfo
方向 Server -> Client
包长 detail_size + 10
对应请求 CGWFriendADAskDetailInfo(326)
作用 返回一条征友广告的完整详情

包体结构

偏移 长度 字段 类型 含义
0x00 0x04 human_guid uint32 当前查询角色 GUID
0x04 0x02 player_id uint16 当前客户端角色索引
0x06 0x04 result uint32 查询结果码
0x0A 变长 detail_info bytes[n] 详情结构:角色 GUID、广告类型、名字、等级、性别、门派、帮会、婚姻标记、发布时间、离线天数、择友条件和 4 个投票项

当前实际行为

  • 当前 Game.exe 的详情主体会继续读取一条完整的征友详情结构。
  • 详情结构里的名字和帮会名都是变长文本,因此总长度按实际文本长度变化。
  • 当前 Lua 主链没有这条包的协议定义,也没有征友系统发送入口。
  • 因此它在现版工程里仍属于客户端保留的旧征友详情回包。

服务端落点

  • 当前 Lua 主链未发现协议定义:/home/ubuntu/Game2/services/game/packet.lua
  • 当前 Lua 主链未发现征友详情发送点

关键代码

GetPacketID()   = 516;
GetPacketSize() = detail_info.GetPacketSize() + 10;

detail_info:
  u32 char_guid
  u32 ad_type
  u32 name_len + char[name_len]
  u32 char_level
  u8  char_sex
  u8  char_menpai
  u32 guild_name_len + char[guild_name_len]
  u8  married_flag
  u32 send_ad_time
  u32 leave_day
  u32 need_menpai
  u32 need_level
  u32 need_sex
  u32 need_detail
  u32 vote_type_1..4

结论

WGCFriendADGiveDetailInfo(516) 可以稳定归类为“征友广告完整详情”回包。当前最可靠的字段结论,就是 10 字节头后面紧跟一条完整的详情结构。

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

本版积分规则

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

GMT+8, 2026-10-24 13:01 , Processed in 0.029164 second(s), 27 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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