Mirserver

MapEvent.txt

地图坐标触发表,用于配置地图中指定坐标的丢物、捡物、挖矿、走路和跑步事件。

文件作用

MapEvent.txt 用于配置地图坐标触发事件。

这个文件通常负责下面几类场景:

  • 在指定地图坐标上触发走路事件
  • 在指定地图坐标上触发跑步事件
  • 在指定地图坐标上触发丢物、捡物或挖矿事件
  • 把这些触发事件转交给 QFunction-0.txt 中的对应标签执行

如果遇到某个地块踩上去没有反应、丢物或捡物不触发、挖矿点不执行事件,通常都要先检查这里。

基本结构

MapEvent.txt 通常是一行一条地图事件配置。

常见结构如下:

地图编号 坐标X 坐标Y 触发标识 触发条件 触发概率 事件标签

例如:

3 333 333 -1:1 1:回城卷:0 2 1:@MapEventDropItem
3 338 331 -1:1 3:*:0 2 1:@MapEventMine
3 330 330 -1:1 4:*:0 2 1:@MapEventWalk
3 331 335 -1:1 5:*:0 2 1:@MapEventRun

这几行分别表示:

  • 在地图 3 的 333,333 位置配置丢物触发
  • 在地图 3 的 338,331 位置配置挖矿触发
  • 在地图 3 的 330,330 位置配置走路触发
  • 在地图 3 的 331,335 位置配置跑步触发

列序说明

MapEvent.txt 常见字段顺序如下:

列序字段说明
1地图编号事件所在地图
2坐标X触发点 X 坐标
3坐标Y触发点 Y 坐标
4触发标识常见写法为 -1:1
5触发条件触发类型和附加条件
6触发概率数值越大,触发概率越低;0 通常表示必定触发
7事件标签常见写法为 1:@标签名

触发条件的常见写法

第 5 列通常写成下面这种结构:

类型:对象:模式

常见类型包括:

类型值常见写法说明
11:回城卷:0丢物触发
22:回城卷:0捡物触发
33:*:0挖矿触发
44:*:0走路触发
55:*:0跑步触发

这里可以直接这样理解:

  • 对象 位置可以写具体物品名,也可以写 *
  • 模式 一般按当前引擎实际规则使用,常见资料里多见 0

如果当前玩法只是做走路、跑步或挖矿触发,通常第 5 列直接会写成 4:*:0、5:*:0、3:*:0 这类形式。

事件标签怎么执行

第 7 列通常写成下面这种格式:

1:@MapEventWalk

这表示当前坐标被触发后,会继续去执行对应的事件标签。

这类标签通常写在 Market_Def/QFunction-0.txt 中。

例如:

3 330 330 -1:1 4:*:0 0 1:@MapEventWalk

也就是说,MapEvent.txt 负责登记“哪张地图的哪个坐标触发哪个标签”,真正的脚本逻辑通常写在 QFunction-0.txt。

与 QFunction-0.txt 的关系

这两个文件不要混淆:

  • MapEvent.txt:地图事件触发表,决定哪里触发什么
  • QFunction-0.txt:地图坐标触发后执行的常规脚本

如果坐标本身没有触发,优先查 MapEvent.txt;如果已经触发但没有执行到预期逻辑,优先查 QFunction-0.txt。

常见排查思路

如果地图坐标事件不生效,可优先按下面顺序检查:

  1. 地图编号和坐标是否写对
  2. 第 5 列触发类型是否与实际玩法一致
  3. 第 6 列概率是否写成了不易触发的值
  4. 第 7 列标签名是否真的存在于 QFunction-0.txt
  5. 同一坐标是否写了多条互相冲突的事件

如果问题同时涉及地图参数或坐标相关脚本联动,通常还要一起检查这些文件:

  • MapInfo.txt
  • QFunction-0.txt

相关阅读