给热血传奇服务端添加一张新地图,涉及服务端地图配置、客户端补丁安装、小地图关联三个层面的操作。下面按文件类型拆解完整流程。
**一、地图素材的文件结构**
一张完整地图由五类文件组成。`.map`文件存放地图尺寸、障碍物坐标、资源索引等信息,放在服务端和客户端的Map目录下。`Tiles.wzl`和`SmTiles.wzl`分别存放大地砖和小地砖图片,`Objects.wzl`存放表层建筑和装饰物图片,这三个补丁文件放在客户端Data目录。`mmap*.pak`或小地图图片文件用于游戏内右上角显示,导入客户端的Data目录后,在MiniMap.txt中配置关联。
**二、MapInfo.txt配置写法**
MapInfo.txt位于`D:\MirServer\Mir200\Envir\`目录,每张地图用方括号开头定义基本信息和参数。基础格式为`[地图编号 地图名称]`,地图编号对应`.map`文件名,地图名称显示在游戏界面。
```
[D2008 盘古一层] NORECONNECT(3) DAY
[M001 盟重土城] SAFE NORECALL DAY
```
地图复用的写法用竖线分隔,`[D2008A|D2008 盘古一层]`表示新地图代号D2008A调用D2008.map的原始数据,适合多张地图共用同一套地图文件但参数不同的场景。
地图参数写在方括号同一行,多个参数用空格隔开。常用参数包括:`SAFE`禁止PK,`FIGHT`允许PK杀人不红名但不爆装备,`DARK`黑暗效果,`DAY`白天效果,`RUNMON`允许穿怪,`RUNHUMAN`允许穿人。`NORECALL`禁止记忆召唤,`NORANDOMMOVE`禁止使用随机传送卷,`NODEARRECALL`禁止夫妻传送。
`EXPRATE(100)`设置杀怪经验倍率,数值除以100为实际倍数,输入150表示1.5倍经验。`DECHP(1/10)`设置自动扣血,每1秒扣10点HP,`INCGAMEPOINT(1/10)`用于泡点地图,每1秒加10点游戏点。`MUSIC(Wav\bg.mp3)`设置地图背景音乐,`THUNDER(10)`设置闪电效果每次伤害10点HP。
**三、MiniMap.txt小地图关联**
MiniMap.txt位于`D:\MirServer\Mir200\Envir\`,配置每张地图对应的小地图编号。格式为`地图编号 小地图ID`,一行一个地图。
小地图ID的计算方式跟引擎和补丁文件有关。GOM引擎如果使用mmap10.pak作为扩展小地图补丁,编号从10001开始计算,实际编号=10000+补丁内图片索引+1。例如小地图素材导入到mmap10.pak的第200张,MiniMap.txt里写`buluobbs 10201`。Hero、BLUE等其他引擎的计算方式可能不同,需查阅对应引擎说明书。
**四、地图安装排查要点**
地图安装后黑屏,原因出在几个地方。服务端和客户端没有正确放置`.map`文件,或者登录器资源读取规则没有包含新添加的补丁路径。补丁文件编号跟盛大客户端原有补丁冲突,例如新地图用了Tiles10.PAK,但登录器优先读取PAK格式覆盖了原始的Tiles10.wzl。老引擎(LEG、Hero)对补丁编号支持有限,素材使用的补丁编号超出引擎支持范围也会黑屏或花屏。
地图显示花屏但能进地图,证明登录器读取到了.map文件,但没有正确加载补丁图片。多数情况是补丁编号冲突,需要用索引修改工具调整补丁编号,建议新地图补丁编号选择30以后,避免跟盛大原有补丁冲突。
热血传奇添加新地图:从素材安装到MapInfo配置完整流程
来源:
作者:
点击:

