请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 6720|回复: 6

传奇3地图显示原理及工具介绍

[复制链接]

658

主题

754

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
27697

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2018-8-16 13:04:05 | 显示全部楼层 |阅读模式
传奇3地图大家以为只有一个map文件就可以显示地图嘛,大错特错。这个文件里面包含的信息非常有限,来看一下地图文件格式。
地图格式:
/// @brief 地图文件头
typedef struct tagMAPFILEHEADER
{
   CHAR  szDesc[20];      // 公司名称
   SHORTshVer;           // 版本
   SHORTshWidth;         // 地图宽度
   SHORTshHeight;        // 地图高度
   CHAR  cEventFileIdx;   // 事件文件索引
   CHAR  cFogColor;       // 背景颜色
}MAPFILEHEADER, *LPMAPFILEHEADER;

/// @brief 瓷砖信息
typedef struct tagTILEINFO
{
   CHAR  cFileIdx;        // 文件索引
   SHORTshTileIdx;       // 瓷砖索引
}TILEINFO, *LPTILEINFO;

/// @brief 地图单元格信息 (客户端的格式)
typedef struct tagCELLINFO
{
   BYTE  bFlag;           // 障碍层
   BYTE  bObj1Ani;        // 动画物体1
   BYTE  bObj2Ani;        // 动画物体2
   WORD  bFileIdx;        // 文件索引  // BYTE  bFileIdx;
   WORD  wObj1;           // 物体1
   WORD  wObj2;           // 物体2
   WORD  bDoorIdx;        // 大门索引  // BYTE  bDoorIdx;
   BYTE  bDoorOffset;     // 大门偏移
   WORD  wLigntNEvent;    // 光线
}CELLINFO, *LPCELLINFO;

在绘制的时候分为几个步骤。
1)先把地图按大小画好,然后填充成单色,即背景色。你看到的就是一个单色的图。大部分情况是一张黑色的矩形图。
2)绘制瓷砖,就是把瓷砖从Data目录的wil文件里面取出来,然后绘制到第一步里面产生的图上面。你就可以看到有花,有草,有地板。
3)绘制物体层,物体层就是建筑物或者地表,树木,墙体等,物理层也是在Data目录的wil文件里面,这样你就可以看到一张完整的题图了。

所以地图工具要显示完整地图都需要使用客户端的Data目录。
常用的地图工具主要是几个,
一个是IllusionMapEditorV7,这个是韩国人搞的一个工具,这个工具论坛里面有的下,由于需要读取Data数据,使用的时候需要把这个工具拷贝到客户端的根目录下,运行的时候,它会把Data里面wil文件转换成自己可以读取的格式,非常慢。等所有的转换完,再打开地图,把那些wil显示在地图上。这个软件比较慢,所以我都不怎么用。
另一个是King Map Editor,王者软件开发的,这个其他地方应该也有的下,这个工具需要设置客户端的Data目录,然后再打开地图,不需要转换也可以直接显示地图,而且支持保存bmp工具,可以说是小地图制作的必备工具,一度在小范围内流行。由于它需要读取Data目录,所以它运行的时候,其他软件都读取不了Data目录,导致客户端运行的时候看不到地图,看到黑黑的界面,这时把它关了就可以了。
还有一个传奇3地图轮廓显示器,英文MapShow,论坛上有的下,这个工具的强悍之处就是只要一个map文件,不用Data目录就可以显示地图,速度非常快,据测试各种格式都支持,传奇2、传奇3,传奇3G。但显示的是一个大概的轮廓,没有瓷砖和物体。这个工具一般用来比对大地图和小地图。也就是修改服务端的MiniMap.txt文件,速度快很多。

回复

使用道具 举报

0

主题

9

帖子

28

积分

新手上路

Rank: 1

积分
28
发表于 2019-4-19 16:20:05 | 显示全部楼层
这个工具一般用来比对大地图和小地图
回复 支持 反对

使用道具 举报

34

主题

166

帖子

677

积分

高级会员

Rank: 4

积分
677
发表于 2020-8-30 20:08:51 | 显示全部楼层
学习中......请多关照!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|黑金论坛    

GMT+8, 2024-3-19 19:53 , Processed in 0.215357 second(s), 25 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.