MapInfo.txt
地图定义行
地图定义行的常见结构如下:
[地图入口名|地图资源 地图名称] 参数
例如:
[MIMA|Q004 密码验证地图] NOSHOPPING NORECOVERINGSTONE SAFE FIGHT
这一行可以拆成下面几部分理解:
| 部分 | 说明 |
|---|---|
| 地图入口名 | 当前地图在 MapInfo.txt 中使用的入口名,可用于区分不同地图入口 |
| 地图资源 | 实际使用的地图资源名、地图编号或地图代码 |
| 地图名称 | 游戏内显示或说明用的地图名称 |
| 参数 | 这一张地图启用的规则、限制和功能参数 |
如果不需要单独写地图别名,也可以直接写成:
[地图资源 地图名称] 参数
例如:
[0 盟重省] KILLFUNC(66) STALL
这类写法表示当前行直接使用地图资源作为入口,没有额外定义单独的入口名。
参数索引
使用时可先记住几点:
- 地图参数大小写通常不敏感,但维护时建议统一按大写书写
- 如果你的
MapInfo.txt中出现这里未收录的参数,应以当前项目实际可用参数为准 - 历史资料中可能出现
Fight2、KillFUNC、SensitiveCreature这类混合大小写写法,文档中统一按大写参数名整理
| 参数 | 常见写法 | 说明 |
|---|---|---|
DARK | DARK | 地图黑暗模式;如果引擎设置里启用了免蜡,这个参数通常不会生效 |
SAFE | SAFE | 地图安全区域 |
FIGHT | FIGHT3 | 地图战斗区域;可写 FIGHT3 等后缀数字,常见于允许复活次数的行会战地图 |
FIGHT2 | FIGHT2 | 杀人不犯法,但会爆装备 |
MINE | MINE | 地图可以挖矿 |
STALL | STALL | 地图允许摆摊 |
NEEDHOLE | NEEDHOLE | 进入地图需要洞口 |
MUSIC | MUSIC(123) | 进入本地图播放指定音乐;通常对应客户端 MUSIC/123.mp3 |
CHECKQUEST | CHECKQUEST(Q001) | 进入地图执行任务脚本;通常会触发 MapQuest_Def 下对应脚本,传送进入时一般不触发 |
INCHP | INCHP(1/10) | 进入本地图后自动加 HP |
DECHP | DECHP(1/10) | 进入本地图后自动减 HP |
PKWINLEVEL | PKWINLEVEL(1) | PK 击杀获得等级奖励 |
PKLOSTLEVEL | PKLOSTLEVEL(1) | PK 死亡掉等级 |
PKWINEXP | PKWINEXP(1000) | PK 击杀获得经验 |
PKLOSTEXP | PKLOSTEXP(1000) | PK 死亡掉经验 |
EXPRATE | EXPRATE(200) | 地图经验倍数,200 代表 2 倍 |
NEEDSET_ON | NEEDSET_ON(001) | 进入地图需要指定标志为开启;传送进入时通常不检测 |
NEEDSET_OFF | NEEDSET_OFF(001) | 进入地图需要指定标志为关闭;传送进入时通常不检测 |
INCGAMEGOLD | INCGAMEGOLD(1/10) | 进入本地图后自动加游戏币(元宝);括号内为「间隔秒数/每次点数」 |
DECGAMEGOLD | DECGAMEGOLD(1/10) | 进入本地图后自动减游戏币(元宝);括号内为「间隔秒数/每次点数」 |
INCGAMEPOINT | INCGAMEPOINT(1/10) | 进入本地图后自动加泡点;括号内为「间隔秒数/每次点数」 |
DECGAMEPOINT | DECGAMEPOINT(1/10) | 进入本地图后自动减泡点;括号内为「间隔秒数/每次点数」 |
COLLECTEXP | COLLECTEXP(AA/BB/CC/DD/EE/F1~F4/G1~G4) | 天地结晶地图参数,共 11 个位置参数;通常还要配合功能脚本使用 |
RUNMON | RUNMON | 允许地图穿怪 |
RUNHUMAN | RUNHUMAN | 允许地图穿人 |
NOGUILDRECALL | NOGUILDRECALL | 禁止行会召唤 |
NODEARRECALL | NODEARRECALL | 禁止夫妻召唤 |
NOMASTERRECALL | NOMASTERRECALL | 禁止师徒召唤 |
NORECALL | NORECALL | 禁止记忆召唤 |
NORECALLHERO | NORECALLHERO | 禁止召唤英雄;切换地图或传送时会自动收回英雄 |
NOPOSITIONMOVE | NOPOSITIONMOVE | 禁止定坐标移动 |
NORANDOMMOVE | NORANDOMMOVE | 禁止随机传送 |
APPR | APPR | 禁止师徒对换地图 |
DEAR | DEAR | 禁止夫妻对换地图 |
EXCHANGEMAP | EXCHANGEMAP | 不限制直接对换地图 |
NORECONNECT | NORECONNECT(0159) | 重连时切换地图 |
NOTALLOWUSEITEMS | NOTALLOWUSEITEMS(回城卷|强效金创药) | 禁止使用物品列表 |
NOTALLOWUSEMAGIC | NOTALLOWUSEMAGIC(火墙|彻地钉) | 禁止使用技能列表 |
NODRUG | NODRUG | 禁止地图内吃药 |
NOTHROWITEM | NOTHROWITEM | 禁止丢装备 |
NODEAL | NODEAL | 禁止交易 |
NOSHOPPING | NOSHOPPING | 禁止商铺购物和赠送 |
NORECOVERINGSTONE | NORECOVERINGSTONE | 魔血石失效 |
NOMANNOMON | NOMANNOMON | 智能刷怪;无人不刷,节省资源 |
KILLFUNC | KILLFUNC(1) | 地图杀人或杀怪触发编号;通常联动 QMapEvent-0.txt 中对应编号的触发段 |
HERONOATTACKHUMAN | HERONOATTACKHUMAN | 英雄不攻击人物,包含随从 |
DIGITEM | DIGITEM(50) | 地图允许挖宝并设置密集度;0 表示不加宝藏,常见建议范围为 1~200 |
SECRET | SECRET(31|固定名字|54|78|29|3) | 地图浑水摸鱼模式;第 1 参数是功能位组合值,不是固定只能写 31 |
OPTI | OPTI | 地图内存优化参数 |
SENSITIVECREATURE | SENSITIVECREATURE | 怪物感知更敏感;人物或宠物进入怪物视野后,怪物反应通常更快 |
NOHEROGUARD | NOHEROGUARD | 禁止英雄守护 |
QUIZ | QUIZ | 禁止黄字喊话 |
NOSWITCHATTACKMODE | NOSWITCHATTACKMODE | 禁止切换攻击模式 |
THUNDER | THUNDER(100) | 雷电,单体攻击 |
GREATTHUNDER | GREATTHUNDER(100) | 大雷电,群体攻击 |
LAVA | LAVA(100) | 喷岩浆,群体攻击 |
SPURT | SPURT(100) | 喷气,群体攻击 |
- 看到没有括号的关键字时,优先按开关类参数理解,例如
SAFE、STALL、NODRUG - 看到圆括号时,优先确认括号内是单值、路径、编号,还是列表
- 看到
|分隔内容时,通常表示同一参数下的多项配置 - 看到像
FIGHT3这种写法时,说明该参数本身允许带后缀值,不一定总是写成参数名(值)
SECRET(...) 通常用于把地图切换成浑水摸鱼模式。
常见写法如下:
SECRET(31|固定名字|54|78|29|3)
这里的 31 只是示例值,表示把 01、02、04、08、16 五个功能位同时开启,并不是这个参数只能写 31。
这组参数通常可以按下面方式理解:
| 位置 | 说明 |
|---|---|
| 第 1 参数 | 控制功能位,可按位相加 |
| 第 2 参数 | 固定显示名字 |
| 第 3 参数 | 衣服外观 |
| 第 4 参数 | 武器外观 |
| 第 5 参数 | 衣服外观特效 |
| 第 6 参数 | 武器外观特效 |
第 1 参数常见功能位包括:
01:禁止说话02:禁止名字变色04:禁止看对方装备08:统一名字16:统一装备外观
如果需要同时启用多个功能,可直接把对应数字相加。例如 02 + 04 + 16 = 22,表示同时禁止名字变色、禁止查看对方装备,并统一装备外观。
如果只想统一名字,不改装备外观,可写成下面这样:
SECRET(8|活动使者|0|0|0|0)
KILLFUNC(...) 一般不仅是一个地图参数,还会联动地图事件脚本。
常见写法如下:
[0 盟重省] KILLFUNC(1)
[@KillPlay1]
#SAY
你在本地图击杀了一名玩家。
[@KillPlayMon1]
#SAY
你在本地图击杀了一只怪物。
这里的 1 一般表示触发编号。地图里发生击杀事件后,引擎会按这个编号去找对应事件段。
常见理解方式是:
- 地图内杀人时,触发
QMapEvent-0.txt中的[@KillPlay数字] - 地图内杀怪时,触发
QMapEvent-0.txt中的[@KillPlayMon数字]
按 KILLFUNC(1) 来看,常见对应关系通常可以理解成:
- 杀人时,检查
[@KillPlay1] - 杀怪时,检查
[@KillPlayMon1]
这类配置常用于下面几种玩法:
- 地图内击杀后弹公告
- 统计击杀数量
- 触发积分、奖励或掉落逻辑
- 配合活动地图做胜负判断
排查这类问题时,建议按这个顺序检查:
MapInfo.txt里是否真的写了KILLFUNC(编号)QMapEvent-0.txt里是否存在对应编号的事件段- 事件段里的脚本命令是否能在当前地图玩法下正常执行
如果后续需要继续做地图事件、地图杀人或杀怪联动,应结合 QMapEvent-0.txt 一起检查。
COLLECTEXP(...) 一般用于开启天地结晶类地图规则,参数格式为 COLLECTEXP(AA/BB/CC/DD/EE/F1~F4/G1~G4),共 11 个位置参数。示例:
[0122 皇宫] COLLECTEXP(8000/3200/100/3/10/600000|1200000|2400000|4800000/240000|480000|960000|1280000)
这类参数通常不会只靠 MapInfo.txt 单独生效,后续还要继续检查配套功能脚本是否已经写好:天地结晶的释放触发与提取界面见 功能脚本 QFunction-0,收尾命令见 恢复天地结晶初始状态。
传送关系行
除了地图定义行,MapInfo.txt 还经常直接写地图之间的传送关系。
常见结构如下:
源地图 X,Y -> 目标地图 X,Y
例如:
0 346,186 -> 0122 11,41
0122 11,42 -> 0 346,187
这类配置表示:
- 玩家从地图
0的346,186进入后,会被传送到地图0122的11,41 - 玩家从地图
0122的11,42进入后,会被传送回地图0的346,187
也就是说,这一部分主要负责地图入口、楼层切换、房间切换和双向传送点配置。
