怀旧传奇3论坛

搜索
热搜: 活动 交友 discuz

最近看过此主题的会员

查看: 13864|回复: 98
打印 上一主题 下一主题

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

  [复制链接]
  • TA的每日心情
    开心
    2023-10-24 17:24
  • 签到天数: 131 天

    [LV.7]潘夜牛魔王

    407

    主题

    2050

    帖子

    2073

    积分

    超级会员

    Rank: 4

    威望
    10
    贡献
    0
    怀旧币
    2350

    社区QQ达人

    跳转到指定楼层
    楼主
    发表于 2014-6-13 11:49:50 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    传奇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文件,速度快很多。

    楼主热帖
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏4 分享淘帖 支持支持 反对反对
  • TA的每日心情
    开心
    2023-10-24 17:24
  • 签到天数: 131 天

    [LV.7]潘夜牛魔王

    407

    主题

    2050

    帖子

    2073

    积分

    超级会员

    Rank: 4

    威望
    10
    贡献
    0
    怀旧币
    2350

    社区QQ达人

    沙发
     楼主| 发表于 2014-6-16 10:34:23 | 显示全部楼层
    非常十分以及极其狗血!
  • TA的每日心情
    开心
    2023-10-24 17:24
  • 签到天数: 131 天

    [LV.7]潘夜牛魔王

    407

    主题

    2050

    帖子

    2073

    积分

    超级会员

    Rank: 4

    威望
    10
    贡献
    0
    怀旧币
    2350

    社区QQ达人

    板凳
     楼主| 发表于 2014-6-16 13:27:32 | 显示全部楼层

    非常感谢你的回复
  • TA的每日心情
    开心
    2023-10-24 17:24
  • 签到天数: 131 天

    [LV.7]潘夜牛魔王

    407

    主题

    2050

    帖子

    2073

    积分

    超级会员

    Rank: 4

    威望
    10
    贡献
    0
    怀旧币
    2350

    社区QQ达人

    地板
     楼主| 发表于 2014-6-24 13:31:16 | 显示全部楼层
    弱弱的冒个泡!
  • TA的每日心情
    开心
    2023-10-24 17:24
  • 签到天数: 131 天

    [LV.7]潘夜牛魔王

    407

    主题

    2050

    帖子

    2073

    积分

    超级会员

    Rank: 4

    威望
    10
    贡献
    0
    怀旧币
    2350

    社区QQ达人

    5#
     楼主| 发表于 2014-6-26 21:12:39 | 显示全部楼层
    弱弱的冒个泡!
  • TA的每日心情
    开心
    2023-10-24 17:24
  • 签到天数: 131 天

    [LV.7]潘夜牛魔王

    407

    主题

    2050

    帖子

    2073

    积分

    超级会员

    Rank: 4

    威望
    10
    贡献
    0
    怀旧币
    2350

    社区QQ达人

    6#
     楼主| 发表于 2014-7-19 14:32:25 | 显示全部楼层
    ezwangjun 发表于 2014-7-19 08:50
    那到底该用 哪个地图编辑器呢?

    推荐使用King Map Editor
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则