Market_Def

QMapEvent-0.txt

地图事件脚本文件,常用于承接 MapInfo.txt 中 KILLFUNC 对应的击杀触发,也常集中维护押镖等玩法的相关标签。

文件作用

QMapEvent-0.txt 是地图事件脚本文件。

当前项目中,这个文件位于:

Mir200\Envir\Market_Def\QMapEvent-0.txt

这个文件是地图坐标触发表(格式:地图号 坐标X 坐标Y 触发标识 触发条件 触发机率 事件类型),而不是普通功能回调入口。它更常见的用途,一类是承接 MapInfo.txt 里的 KILLFUNC(...) 配置,在地图内发生击杀时执行对应脚本;另一类是集中维护某些系统玩法的事件标签,例如押镖完成、寻车失败这类流程分支。

如果某张地图里配置了击杀联动,但杀人、杀怪后的脚本没有执行,或者押镖相关流程明明已经走到提交、寻车、状态检查这一步却没有继续进入对应标签,通常都要先检查这里。

当前页范围

当前页优先整合目前已经能稳定确认来源的一组入口,主要包括两类:

  • MapInfo.txt 中 KILLFUNC(...) 对应的击杀回调
  • 押镖流程里已经明确落在 QMapEvent-0.txt 中维护的一组相关标签

这样写的原因很直接:

  • 这部分已经能和 callbacks.json、MapInfo.txt、CHM 示例以及现有命令页互相对上
  • 触发链路清楚,读者看完就能排查和落地
  • 可以把“这个标签到底该去哪个脚本文件找”先说明白

核心回调

当前已整理出的 QMapEvent-0 核心回调包括下面这些:

标签来源常见用途
[@KillPlay数字]MapInfo.txt 中的 KILLFUNC(数字)杀人触发
[@KillPlayMon数字]MapInfo.txt 中的 KILLFUNC(数字)击杀怪物触发
[@FinishEscort_镖车名]提交押镖任务押镖完成后的奖励、日志、广播等结算逻辑
[@FinishEscort_Fail_1]提交押镖任务当前没有可提交的押镖任务时的失败提示
[@FinishEscort_Fail_2]提交押镖任务镖车距离验收点太远时的失败提示
[@MoveToEscort_Fail_1]传送至镖车位置当前没有正在托运的镖车
[@MoveToEscort_Fail_2]传送至镖车位置移动到镖车位置失败
[@isEscorting]检查押镖任务是否进行中押镖状态检查入口,常用于提示“任务正在执行中”
[@EscortFail]押镖流程状态异常分支镖车不存在或押镖状态异常
[@EscortUnderFire]押镖流程状态异常分支镖车正受攻击,不适合继续后续流程

这里的“数字”通常对应 MapInfo.txt 中 KILLFUNC(数字) 里的编号。

与 KILLFUNC(...) 的对应关系

QMapEvent-0.txt 最常见的入口来源,是 MapInfo.txt 中的 KILLFUNC(...)。

例如:

[0 盟重省] KILLFUNC(1)

常见理解方式可以直接写成下面这样:

  • 地图里杀人时,检查 [@KillPlay数字]
  • 地图里杀怪时,检查 [@KillPlayMon数字]
  • KILLFUNC(1) 常见对应 [@KillPlay1] 和 [@KillPlayMon1]

[@KillPlay数字]

[@KillPlay数字] 是杀人触发入口。

这类标签通常用于处理地图内 PK 后的联动逻辑,例如:

  • 击杀公告
  • 击杀计数
  • 地图积分
  • 地图胜负判定
  • 活动奖励发放

当前已整理出的常见参数包括:

参数说明
<$PARAM(0)>杀死的名字
<$PARAM(1)>地图编号
<$PARAM(2)>地图名字
<$PARAM(3)>X 坐标
<$PARAM(4)>Y 坐标
<$PARAM(5)>等级

[@KillPlayMon数字]

[@KillPlayMon数字] 是击杀怪物触发入口。

它常用于地图内的怪物击杀统计或活动判定,例如:

  • 统计指定地图刷怪进度
  • 计算活动地图积分
  • 击杀后发放道具或经验
  • 完成地图内的阶段目标

当前已整理出的常见参数包括:

参数说明
<$PARAM(0)>杀死的名字
<$PARAM(1)>地图编号
<$PARAM(2)>地图名字
<$PARAM(3)>X 坐标
<$PARAM(4)>Y 坐标
<$PARAM(5)>等级

押镖相关标签

如果你的项目把押镖流程集中写在 QMapEvent-0.txt 中,那么下面这组标签有必要在这一页统一整理。

这样做的价值主要有两点:

  • 排查时可以先判断“这个问题是不是应该来 QMapEvent-0.txt 查”
  • 命令页负责解释单个命令,本页负责汇总这类标签最终落在哪个脚本文件中维护

完成与失败标签

这组标签通常和押镖提交、找回镖车直接相关:

标签常见触发时机常见用途
[@FinishEscort_镖车名]提交押镖成功后,按当前镖车名称进入对应分支。发奖励、写日志、发公告、结束押镖流程。
[@FinishEscort_Fail_1]当前没有押镖任务,无法提交时触发。提示玩家先确认自己是否已经接镖。
[@FinishEscort_Fail_2]镖车离验收 NPC 太远,无法完成提交时触发。提示玩家先把镖车带回身边再提交。
[@MoveToEscort_Fail_1]当前没有正在托运的镖车时触发。提示不需要执行寻车,或引导玩家重新接镖。
[@MoveToEscort_Fail_2]传送到镖车位置失败时触发。提示稍后重试,或改走其他恢复流程。

状态与异常标签

这组标签更常用于押镖状态判断和异常拦截:

标签常见含义常见用途
[@isEscorting]当前押镖任务仍在进行中。接镖前拦截重复领取,或在押镖 NPC 处提示玩家继续当前任务。
[@EscortFail]当前镖车不存在,或押镖状态已经异常失效。引导玩家重新接镖、放弃任务或执行恢复流程。
[@EscortUnderFire]镖车正处于受攻击状态。阻止某些流程继续执行,并给出战斗中的提示。

与其他脚本文件的区别

这几个文件容易混淆,区分时可以直接抓住触发来源:

  • QMapEvent-0.txt:地图击杀联动入口,主要承接 KILLFUNC(...)
  • QFunction-0.txt:常规功能回调入口
  • QMapEvent-0.txt:地图坐标触发表,事件通常转到 QFunction-0.txt

如果问题是“走到坐标点没反应”,先查 QMapEvent-0.txt 和 QFunction-0.txt;如果问题是“地图里击杀后没触发”或“押镖相关流程没有进入对应结算/失败标签”,先查 QMapEvent-0.txt。

常见排查思路

如果 QMapEvent-0.txt 相关逻辑不生效,可优先按下面顺序检查:

  1. 如果是地图击杀联动,先检查 MapInfo.txt 里是否真的写了 KILLFUNC(编号)
  2. QMapEvent-0.txt 中是否存在对应的 [@KillPlay编号]、[@KillPlayMon编号] 或押镖相关标签
  3. 如果是 KILLFUNC(1) 这类写法,编号是否前后一致,例如 KILLFUNC(1) 对应 [@KillPlay1]
  4. 如果是押镖流程,命令页约定的标签名和脚本里实际写的标签名是否完全一致
  5. 事件段里的脚本命令是否会被前面的条件判断、BREAK 或地图限制提前截断
  6. 当前问题到底属于击杀触发、押镖完成、押镖失败还是押镖状态异常,避免查错入口

如果问题同时涉及地图参数配置,也应一起检查 MapInfo.txt。

相关阅读