QMapEvent-0.txt
文件作用
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)
[@KillPlay1]
#SAY
你在本地图击杀了一名玩家。
[@KillPlayMon1]
#SAY
你在本地图击杀了一只怪物。
常见理解方式可以直接写成下面这样:
- 地图里杀人时,检查
[@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 相关逻辑不生效,可优先按下面顺序检查:
- 如果是地图击杀联动,先检查
MapInfo.txt里是否真的写了KILLFUNC(编号) QMapEvent-0.txt中是否存在对应的[@KillPlay编号]、[@KillPlayMon编号]或押镖相关标签- 如果是
KILLFUNC(1)这类写法,编号是否前后一致,例如KILLFUNC(1)对应[@KillPlay1] - 如果是押镖流程,命令页约定的标签名和脚本里实际写的标签名是否完全一致
- 事件段里的脚本命令是否会被前面的条件判断、
BREAK或地图限制提前截断 - 当前问题到底属于击杀触发、押镖完成、押镖失败还是押镖状态异常,避免查错入口
如果问题同时涉及地图参数配置,也应一起检查 MapInfo.txt。
- 蓝海服务器 — 独享带宽低延迟,散人进区流畅不卡顿
