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

洱海月 v0-07-0300 封包解析:ID 192 GCChristmasThiefPos(圣诞盗贼坐标通知)

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

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

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

×

GCChristmasThiefPos 是客户端保留的一条节日活动坐标包。当前 Game.exe 能确认它固定为 4 字节,携带一组 int16 坐标;客户端收包后会把它更新到本地的“圣诞盗贼”位置缓存中。

包信息

项目 内容
封包 ID 192
包名 GCChristmasThiefPos
方向 Server -> Client
包长 4
当前 Lua 协议定义 未发现
作用 同步圣诞盗贼活动目标的地图坐标

包体结构

偏移 长度 字段 类型 含义
0x00 0x02 thief_pos_x int16 圣诞盗贼坐标 X
0x02 0x02 thief_pos_y int16 圣诞盗贼坐标 Y

当前实际行为

  • 当前 Game.exe 中,GetPacketID() 返回 192,GetPacketSize() 返回 4。
  • Read() / Write() 固定读写两段 2 字节坐标。
  • 当前客户端 Execute() 的行为可以明确确认:
    • 当 thief_pos_x != -1 且 thief_pos_y != -1 时,更新本地活动坐标缓存,并把活动标记置为有效
    • 当任一坐标为 -1 时,清除当前活动标记
  • 当前 Lua 服务端未发现这条包的协议定义或发送点。
  • 从包名和执行逻辑看,这条包用于地图上“圣诞盗贼”一类节日目标的坐标提示。

服务端落点

当前 Lua 主链未发现这条包的正式落点:

  • /home/ubuntu/Game2/services/game/packet.lua
  • /home/ubuntu/Game2/services/msgagent.lua
  • /home/ubuntu/Game2/services/scene/scenecore.lua

关键代码

GetPacketID() = 192;
GetPacketSize() = 4;

Read(stream) {
    read_i16(thief_pos_x);
    read_i16(thief_pos_y);
}

Write(stream) {
    write_i16(thief_pos_x);
    write_i16(thief_pos_y);
}
Execute() {
    if (thief_pos_x != -1 && thief_pos_y != -1) {
        cached_x = thief_pos_x;
        cached_y = thief_pos_y;
        has_thief_pos = 1;
    } else {
        has_thief_pos = 0;
    }
    return 2;
}

结论

GCChristmasThiefPos(192) 是客户端仍保留解析能力的节日活动坐标包,结构就是 thief_pos_x + thief_pos_y 两个 int16。坐标有效时客户端更新活动目标位置,坐标为 -1/-1 时客户端清除活动标记。

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

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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