传奇地图之间的连接依靠MapInfo.txt文件中的坐标传送指令实现,玩家角色移动到预设坐标点时,引擎自动将角色传送到目标地图的指定位置。以下从常用地图连接坐标、配置文件语法、参数含义、NPC传送脚本编写四个层面逐一拆解。
## 核心地图连接坐标对照
比奇省作为大陆起点,是绝大多数路线的起始位置。从比奇省进入毒蛇山谷的触发坐标为(668,90),毒蛇山谷内有两个出口通往盟重省,坐标分别为(296,62)和(558,80)。三条路线汇总如下:
比奇省(668,90)→ 毒蛇山谷 → 毒蛇山谷(296,62)→ 盟重省
比奇省(668,90)→ 毒蛇山谷 → 毒蛇山谷(558,80)→ 盟重省
到达盟重土城后,土城(330,330)是常用的安全区传送NPC站位坐标,也是多条传送路线的中枢节点。
沙巴克城位于盟重土城附近,从盟重(673,331)进入沙巴克城内。沙巴克密道设有三个战略入口,坐标分别为(563,286)、(660,277)和(577,295)。攻城期间在沙巴克城内死亡的角色,将在屠夫附近(659,301)复活。
苍月岛的进入方式有两种:通过盟重老兵NPC在(325,325)处对话选择传送选项直接抵达;或使用盟重传送石先到盟重省,再找老兵传送。苍月岛进入条件通常为转生等级达到5级。
祖玛寺庙、尸王殿、废矿入口等地下城地图的连接坐标随版本差异较大,需通过MapInfo.txt中的实际配置确认。通用原则是上层地图的入口坐标与下层地图的出入口坐标成对配置,两段连接指令分别定义两个方向的传送逻辑。
## MapInfo.txt连接点语法
MapInfo.txt文件位于MirServer\Mir200\Envir目录下,每行对应一个地图,格式为地图编号、地图名称、地图参数和连接点指令。连接点指令的语法格式如下:
```
进入地图编号 X坐标,Y坐标 范围 -> 传出地图编号 X坐标,Y坐标
```
其中范围参数控制触发传送的坐标判定范围,数值为格数。范围设为1时,玩家坐标距离连接点坐标1格以内即触发传送。
实际配置示例:
```
[0 比奇省] 668,90 1 -> 2 296,62
```
该指令表示玩家在比奇省地图(编号0)坐标(668,90)周围1格范围内时,引擎将其传送到毒蛇山谷地图(编号2)的坐标(296,62)。
若要实现双向传送,需在目标地图的配置行中再添加一条反向连接指令。例如在毒蛇山谷的配置行中添加从(296,62)返回比奇省(668,90)的连接点,形成完整的往返路径。
范围参数省略时默认判定范围极小,可能导致传送触发不稳定。建议明确写出范围值,常用数值为1至3。坐标格式中的逗号必须有,X与Y之间不能使用空格分隔,否则引擎无法解析。
多个连接点在同一张地图上共存时,在配置行的参数区按顺序并列书写即可,引擎按顺序逐一判定:
```
[0 比奇省] 668,90 1 -> 2 296,62 330,330 1 -> D601 207,236
```
该行配置了两个连接点,分别通往毒蛇山谷和D601地图。连接点之间至少保留一个空格作为分隔符。
## 常用地图参数含义
MapInfo.txt中除连接点外,地图参数决定该地图的基础行为规则。以下为各参数的逐条说明:
FIGHT标记战斗区域,地图内玩家之间可互相攻击,死亡时不掉落装备,杀人者不增加PK值。FIGHT3为行会战争地图专用标识,允许玩家在行会战期间复活三次。
SAFE标记安全区域,地图内禁止玩家之间的攻击行为,通常用于各主城的安全区范围。
NORECONNECT(地图代号)控制掉线后的传送行为。玩家在该地图掉线后重新上线时,将被传送到括号内指定的地图,避免直接出现在危险区域。格式为NORECONNECT(地图编号),不设置坐标时随机传送到目标地图的安全区。
NORECALL禁止在该地图内使用天地合一等召唤命令,防止玩家通过召唤绕过地图进入限制。
NORANDOMMOVE禁止使用随机传送命令,配合NOPOSITIONMOVE禁止使用传送戒指,常用于任务地图和BOSS地图。
NODRUG禁止使用任何药物和卷轴类物品,适用于闯关类地图,强制玩家在无补给状态下完成挑战。
NEEDSET_ON(变量)配合人物变量使用。变量值等于1时满足条件允许进入该地图,等于0时拒绝进入。该参数常用于任务地图的准入判定,例如完成前置任务后将变量置为1方可进入。
NOMANNOMON开启智能刷怪模式。地图内无玩家时自动清理所有怪物,有玩家进入时重新刷新,节省服务器资源。
EXPRATE(数值)设置该地图的杀怪经验倍数。数值为100时表示1倍经验,200为2倍,150为1.5倍。
THUNDER(数值)触发地图雷电特效,对地图范围内所有玩家造成指定数值的伤害。
DARK使地图呈现黑暗状态,玩家视野受限,需配合照明道具或技能使用。
NEEDHOLE需要洞口才能进入的地图,配合Mongen.txt中的怪物Race代码设为95使用,怪物死亡后生成洞口。
## NPC传送脚本编写
除地图坐标点自动传送外,另一种常见的连接方式是通过NPC对话触发传送。NPC传送不受坐标范围限制,可附加等级、金币、元宝等条件判断。
在Merchant.txt中注册NPC的信息,格式为脚本文件名、地图编号、X坐标、Y坐标、NPC显示名、朝向、外观代码等字段。实战示例如下:
```
传送大师 3 330 330 传送大师 0 73 0 0 0 0 0 0 0
```
其中“3”代表盟重土城的地图编号,“330 330”为NPC的站位坐标,“73”为老兵外观代码。脚本文件名需与Market_Def目录下对应txt文件的主名一致,不含地图编号后缀。
在Market_Def目录下创建对应的脚本文件,命名规则为“脚本文件名-地图编号.txt”。传送脚本的基础模板如下:
```
[@main]
欢迎勇士!请选择传送目的地:\
<前往苍月岛/@go_cangyue>\
<前往沙巴克/@go_shabake>\
<关闭/@exit>
[@go_cangyue]
#IF
CHECKLEVELEX > 4
#ACT
MAPMOVE 5 140 330
SENDMSG 6 已传送到苍月岛!
[@go_shabake]
#IF
CHECKITEM 金币 1000
#ACT
TAKE 金币 1000
MAPMOVE 3 673 331
SENDMSG 6 已传送到沙巴克城门口!
#ELSESAY
金币不足1000,无法传送。
```
MAPMOVE命令的第一个参数为MapInfo.txt中的地图编号,第二和第三个参数为目标地图内的X和Y坐标。坐标必须填写目标地图中实际可站立的位置,否则玩家传送后会卡在墙壁或地图外。CHECKLEVELEX和CHECKITEM为传送条件判定命令,可根据版本需求自由组合。
脚本编写完成后,在M2Server控制台中执行“重新加载NPC列表”命令使配置生效。直接保存文件不重启引擎时,NPC不会立即刷新。
## 沙巴克地图连接配置
沙巴克攻城相关的连接点需要与SabukW.txt中的城墙坐标保持一致,否则玩家无法正常进入城堡区域。在MapInfo.txt中配置进入城堡的连接点:
```
3 652,282 1 -> D701 171,133
```
该指令将盟重地图(编号3)坐标(652,282)附近的玩家传送到沙巴克皇宫地图(D701)的(171,133)坐标处。
沙巴克回城点的坐标在引擎配置文件中设定,CastleHomeX和CastleHomeY分别控制回城点的X和Y坐标,默认值通常为330和330。攻城区域的范围以回城点为中心,通过CastleRangeX和CastleRangeY参数控制半径。
沙巴克城墙的坐标定义在SabukW.txt文件中,需与MapInfo.txt中的连接点坐标逐项核对。城墙坐标与连接点不一致时,玩家在城墙位置会受到传送反弹,无法进入城内。
## 动态传送门与条件传送
GOM和GEE引擎支持ADDMAPGATE命令动态创建临时传送门,格式为:
```
ADDMAPGATE 连接名 地图号 X坐标 Y坐标 范围 目标地图号 目标X坐标 目标Y坐标 有效时间
```
有效时间以秒为单位,超时后传送门自动删除。该命令适用于活动期间的限时传送,无需修改MapInfo.txt文件。
条件传送通过MAPMOVE命令结合CHECK系列命令实现。以下脚本实现元宝数量达标后才允许传送的效果:
```
#IF
CHECKGAMEGOLD > 799
#ACT
GAMEGOLD - 800
MAPMOVE CX03 50 50
SENDMSG 6 扣除800元宝,已传送到目标地图。
#ELSESAY
元宝不足800,无法进入该地图。
```
## 坐标调试与验证方法
在游戏内用GM角色输入@GetXY命令可查看当前站立位置的精确坐标,或直接观察屏幕左下角的坐标提示。确认坐标后记录数值,填入MapInfo.txt或NPC脚本中。
配置完成后,让测试角色从连接点坐标上走过,观察是否触发传送。传送失败时依次检查以下项目:MapInfo.txt中连接点格式的逗号和箭头方向是否正确,目标地图编号是否存在于MapInfo.txt中,目标坐标是否在目标地图的有效范围内,脚本文件编码是否为ANSI格式。
NPC传送失效时,检查Merchant.txt中的脚本文件名与Market_Def目录下的文件名是否完全一致,地图编号是否与MapInfo.txt中的编号匹配,NPC坐标是否被墙壁或其他NPC遮挡。执行“重新加载NPC列表”后查看M2控制台下方日志,若有红字报错则按报错信息定位问题行。
小地图上的地图名称标注通过修改客户端Data\MapDesc1.dat文件实现,格式为地图名、X坐标、Y坐标、显示文本、颜色代码。小地图标注与MapInfo.txt中的连接点坐标相互独立,修改小地图标注不影响实际传送逻辑。
传奇地图连接坐标配置全表与MapInfo.txt语法参数逐条详解
来源:
作者:
点击:

