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

洱海月 v0-07-0300 封包解析:ID 373 CGMissionContinue(继续任务对话)

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

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

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

×

CGMissionContinue 是任务对话继续请求包,当前现役 Lua 已接入,并直接把请求转给目标对象脚本的 OnMissionContinue。

包信息

项目 内容
封包 ID 373
包名 CGMissionContinue
方向 Client -> Server
对应回包 无专用回包
固定包长 12
作用 继续某个 NPC / 脚本任务对话流程

包体结构

偏移 长度 字段 类型 含义
0x00 0x04 m_idNPC int32 目标 NPC 或对象 ID
0x04 0x04 reserved_1 int32 当前 Lua 字段名为 unknow,未参与实际调用
0x08 0x04 m_idScript int32 任务脚本 ID

总长度:

12 字节

当前实际行为

  • 当前 msgagent.lua 会把请求直接转给场景服 char_mission_continue。
  • 现役场景服真正使用的是 m_idNPC 和 m_idScript 两个字段,随后调用 OnMissionContinue。
  • 中间 4 字节当前没有参与现役 Lua 主链调用。

服务端落点

  • 协议定义:/home/ubuntu/Game2/services/game/packet.lua
  • 请求入口:/home/ubuntu/Game2/services/msgagent.lua
  • 场景处理:/home/ubuntu/Game2/services/scene/scenecore.lua

关键代码

function scenecore:char_mission_continue(who, ma)
    local obj_id = ma.m_idNPC
    local obj = self.objs[obj_id]
    if obj then
        self.scriptenginer:call(obj:get_script_id(), "OnMissionContinue", who, ma.m_idNPC, ma.m_idScript)
    end
end

结论

  1. CGMissionContinue(373) 是任务继续对话请求包。
  2. 结构可以明确写成 m_idNPC + reserved_1 + m_idScript。
  3. 当前真正决定行为的是 m_idNPC 和 m_idScript。
您需要登录后才可以回帖 登录 | registerss

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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