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

洱海月 v0-07-0300 封包解析:ID 1092 GCComboSkillOperation(连招操作同步)

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

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

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

×

GCComboSkillOperation 是当前项目里已接入的连招操作同步包。现役 Lua 会在默认连招展示、进入连招、取消连招和冷却中断时发送这条包。

包信息

项目 内容
封包 ID 1092
包名 GCComboSkillOperation
方向 Server -> Client
对应请求 无专用请求
固定包长 36
作用 同步连招状态、技能 ID 和连招列表

包体结构

偏移 长度 字段 类型 含义
0x00 0x04 cur_comb int32 当前连招状态值
0x04 0x04 skill_id int32 当前连招技能 ID
0x08 0x04 reserved_1 int32 保留参数;当前 Lua 默认不使用
0x0C 0x04 tempnum int32 当前阶段附加数值
0x10 0x14 combo_list[5] uint32[5] 连招列表或默认展示列表

总长度:

36 字节

当前实际行为

  • 当前 human:send_default_skill_combo_operation() 会下发默认展示包,内容为 cur_comb=0、skill_id=764、tempnum=0、combo_list={764,764,787,0,1}。
  • human:add_skill_combo_operation(skill_id) 在进入连招时下发 cur_comb=1、tempnum=1;重复触发时下发 cur_comb=4、tempnum=0 并清空状态。
  • human:combo_skill_cool_downd(skill_id) 会在冷却中断时下发 cur_comb=2、tempnum=-1。
  • 当前 Lua 只显式使用 cur_comb、skill_id、tempnum 和 combo_list,中间的 reserved_1 保持默认值。

服务端落点

  • 协议定义:/home/ubuntu/Game2/services/game/packet.lua
  • 发送逻辑:/home/ubuntu/Game2/services/scene/obj/human.lua

关键代码

packet.GCComboSkillOperation = {
    bos = function(self)
        local stream = bostream.new()
        stream:writeint(self.cur_comb)
        stream:writeint(self.skill_id)
        stream:writeint(self.unknow_3)
        stream:writeint(self.tempnum)
        for i = 1, 5 do
            stream:writeuint(self.combo_list[i])
        end
        return stream:get()
    end
}
function human:add_skill_combo_operation(skill_id)
    if self.skill_comb_operation == nil then
        self.skill_comb_operation = { skill_id = skill_id}
        self.skill_comb_operation.cur_comb = 1
        local msg = packet_def.GCComboSkillOperation.new()
        msg.cur_comb = 1
        msg.skill_id = skill_id
        msg.tempnum = 1
        self:get_scene():send2client(self, msg)
    else
        local msg = packet_def.GCComboSkillOperation.new()
        msg.cur_comb = 4
        msg.skill_id = skill_id
        msg.tempnum = 0
        self:get_scene():send2client(self, msg)
        self.skill_comb_operation = nil
    end
end

结论

  1. GCComboSkillOperation(1092) 是当前项目已接入的连招操作同步包。
  2. 结构固定为 cur_comb + skill_id + reserved_1 + tempnum + combo_list[5]。
  3. 现役 Lua 已明确使用这条包同步默认连招、进入连招、取消连招和冷却中断。
您需要登录后才可以回帖 登录 | registerss

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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