佳丽云

英雄无敌3-WoG中文站

 找回密码
 英雄注册|Register
查看: 8763|回复: 12

英雄无敌3(SOD)地图深入研究

[复制链接]
  • TA的每日心情
    开心
    2019-1-31 14:25
  • 签到天数: 130 天

    连续签到: 1 天

    [LV.7]血污怪

    2778

    回帖

    2万

    金币

    14

    精华

    论坛嘉宾

    Rank: 9Rank: 9Rank: 9

    积分
    14801

    退役版主社区QQ达人魅力之星

    发表于 2009-9-21 13:05:18 | 显示全部楼层 |阅读模式
    我在网上看到的SOD资料,感觉比较有价值,搜索了下,好像WOG论坛没有这个资料。

    NWC 将游戏的许多数据、设置压缩后放在了 H3bitmap.lod 和 H3sprite.lod 两个文件。H3sprite.lod 中包括了所有的图像(生物、物体等的静止图片、动画等等),而H3bitmap.lod 则包括了界面图像、配置文件、战役地图、音乐音效等等。
        DEF 文件:动画图像
      MSK 文件:图像遮罩,用来生成物体的影子
      H3C 文件:战役地图
      PCX 文件:静止图像
      TXT 文件:有关于游戏设置的文本文件
    在 H3bitmap.lod 中分离出来的 TXT 文件可以用 MS Excel 进行察看,能看到许多有价值的东西。
      ArTraits.TXT : 宝物的资料,包括作用、价值、装备位置等等。
      Ballist.TXT : 攻城车资料(伤害力及命中率)
      Building.TXT : 建筑物的建造条件
      CrTraits.TXT : 生物的详细资料,包括基本属性、特技、招募资源、生长率等等,还有两项非常重要的评价:FIGHT Value(战斗价值)和 AI Value(人工智能价值),相信这对游戏中人工智能的运作有着重要的影响。
      HcTraits.TXT : 英雄的资料
      HeroBios.TXT : 英雄传记
      HoTraits.TXT : 英雄在酒馆中出现时身上所带的初始部队
      Movment.TXT : 移动力的计算
      Objects.TXT : 英雄无敌3中所有对象的属性
      ObjNames.TXT : 对象的名称
      PlColors.TXT : 玩家的颜色
      PriSkill.TXT : 基本技能
      SpTraits.TXT : 魔法的详细资料,包括作用、消耗魔法值等等,最重要的是:在各种城堡中出现的概率
      TownName.TXT : 城堡名称
      Walls.TXT  : 城墙的资料
    -------------------------------
    补充一些:rmg.txt是众所周知的随机地图模板,ARRAYTXT.txt里存放了一些名称、词组,比如本周是xx之周,里面有个兵种数量的描述词,这样通过修改这些词就可以显示相应

    对应的数量范围。
    gArmySizeNames        (这个是原来的)
    几个
    几个
    几个
    一些
    ....
    gArmySizeNames  (这个是修改过的,这样右键看数量的时候就会显示1-4这个,而不是原来的几个。{}包住字符串使得它呈黄色显示,更醒目些。)   
    {1-4}
    {1-4}
    {1-4}
    {5-9}
    -------------------------------CRANIM.TXT是控制兵种运动动画播放速度的。目前相信大家都用了修改过的了,原来的实在太慢了!
    CrBanks.txt是控制野外宝屋的,包括宝屋的组成、奖励的内容等等,可以进行修改。
    ===============================
    英雄主程序启动时,会首先到data文件夹下找寻有没有这些单个文件,如果有就利用它们,如果没有就读取lod文件中的相应txt。通过修改上述的这些txt文件就可以定制自己需

    要的h3,实际上wog也正是这样做的。
    ===============================
    下面详细谈一下object.txt的组成,里面定义了所有物品的属性。
    文件格式如下:
    1326
    default.def 111111111111111111111111111111111111111111111111 000000000000000000000000000000000000000000000000 000000000 000000000 0 0 0 0
    AVA0001.def 011111111111111111111111111111111111111111111111 100000000000000000000000000000000000000000000000 111111111 000000001 93 0 4 0
    AVA0007.def 011111111111111111111111111111111111111111111111 100000000000000000000000000000000000000000000000 111111111 000000001 5 7 4 0
    AVA0008.def 011111111111111111111111111111111111111111111111 100000000000000000000000000000000000000000000000 111111111 000000001 5 8 4 0
    AVCcasx0.def 000001110000011110001111111111111111111111111111 001000000000000000000000000000000000000000000000 011111111 011111111 98 0 1 0
    AVGangl0.def 100111111111111111111111111111111111111111111111 010000000000000000000000000000000000000000000000 111111111 011111111 17 8 0 0
    AVTchst0.def 011111111111111111111111111111111111111111111111 100000000000000000000000000000000000000000000000 111111111 011111111 101 0 5 0
    AvWArch.def 011111111111111111111111111111111111111111111111 100000000000000000000000000000000000000000000000 111111111 000000100 54 13 2 0
    AvXOblB.def 011111111111111111111111111111111111111111111111 100000000000000000000000000000000000000000000000 111111111 000010000 57 0 0 0
    AvXOblG.def 011111111111111111111111111111111111111111111111 100000000000000000000000000000000000000000000000 111111111 000000001 57 0 0 0
    AvXOblK.def 011111111111111111111111111111111111111111111111 100000000000000000000000000000000000000000000000 111111111 001000010 57 0 0 0
    AvXOblO.def 011111111111111111111111111111111111111111111111 100000000000000000000000000000000000000000000000 111111111 000100000 57 0 0 0
    AvXOblP.def 011111111111111111111111111111111111111111111111 100000000000000000000000000000000000000000000000 111111111 000001000 57 0 0 0
    AvXOblW.def 011111111111111111111111111111111111111111111111 100000000000000000000000000000000000000000000000 111111111 000000100 57 0 0 0
    AvXOblY.def 011111111111111111111111111111111111111111111111 100000000000000000000000000000000000000000000000 111111111 010000000 57 0 0 0
    ...........................
    AHplace.def 101111111111111111111111111111111111111111111111 010000000000000000000000000000000000000000000000 011111111 011111111 214 0 3 0
    ==========================================
    第一行的1326表示总共有1326个物体,包括了所有的障碍、宝物、野外建筑、兵种、资源等。
    在下面的每行分为6栏

    第一列是物体的名称,也就是对应H3sprite.lod中相应图标的物体。可以用resedit.exe查看。
    AVA0001.def是魔法卷轴。AVA0007.def是A+2的人马斧头。AVA0008.def是A+3的黑魔剑,AVCcasx0.def是人族城堡,AVGangl0.def是野外招募天使的荣誉之门,
    AVTchst0.def是宝箱,AvWArch.def是野兵大天使,AvXOblB.def等等这几个是方尖碑。AHplace.def是高山堡垒

    第二列总共有48个数字,代表了物体占据的格数。在h3中,每个物体最多能占据8格×6行=48格。其中0代表该格被物体占据了。

    第三列也是48个数字,代表了物体格数的入口。用1表示是可以通过该格访问到这个物体。当然这里的1在前一列相应的应该是0。在地图编辑器打开障碍查看就能看清楚物体格数情况。红色的表示物体占据的格数而且不能通过,对应了第二列和第三列的0。黄色表示物体入口,对应了第二列的0和第三列的1。如果物体图片比占据的格数大,比如城堡山脉等等,英雄是可以通过的,但看起来就好像在城堡后面或者山脉里面走过一样。这就是我编的地图里面为了第一天逃跑需要,修改了野蛮城堡占据的格数,使得英雄可以踩过城堡后面,走一条原本不能通过的路。

    第四列总共9个数字,表示了该物体可以放置在何种地形上。其中第一个数字是水面,接下来依次是熔岩、地下、野蛮、沼泽、雪地、草地、沙漠、泥地。可以看到宝物和方尖碑可以放置在任何地形上,而人族城堡和高山堡垒第一个数字是0,代表不能放置在水面上,这可在地图编辑器中看到。将0改成1,城堡、英雄等等原本不能放在水面上的物体就可以放了。

    第五列也是9个数字,表示该物体可能在什么地形上生成。这和随机地图造地图时密切相关!宝物和怪物不考虑这个影响。可以看到不同颜色的方尖碑只能出现在不同地形上,AvXOblK.def是灰色的方尖碑可以同时出现在沙漠和地下洞穴。AvXOblR.def是红色的方尖碑,在object.txt中漏了。但是在H3sprite.lod是有这个物体的。下面三个是坟墓的属性。AVXgyds0.def是沙漠中的,对应第八个数字是1。AVXgyne0.def对应了沼泽、草地和泥地中的坟墓。AVXgysn0.def是雪地中的坟墓上面有一层白雪覆盖着。

    这也就是随机地图中野蛮和熔岩地形不可能出现坟墓的原因。如果把第二个数字和第四个数字改成1,那么随机地图中地狱族和野蛮族就不会那么穷了。
    AVXgyds0.def 000111111111111111111111111111111111111111111111 010000000000000000000000000000000000000000000000 111111111 000000010 84 0 0 0
    AVXgyne0.def 000111111111111111111111111111111111111111111111 010000000000000000000000000000000000000000000000 111111111 000010101 84 0 0 0
    AVXgysn0.def 000111111111111111111111111111111111111111111111 010000000000000000000000000000000000000000000000 111111111 000001000 84 0 0 0

    物体属性最后一列共有四个数字,前面两个数字是代表了物体是何种物体。第一个数字是物体的大类,比如57代表是方尖碑,5代表是宝物。第二个数字是物体的小类。比如5 7是人马斧,5 8 则是黑魔剑。第三个数字是地图编辑器中该物体在哪个栏位出现,比如1是城堡栏,2是怪物栏,3是英雄栏,4是宝物栏,5是资源栏。改动成相应数字的物体在地
    图编辑器中就移动到相应栏目出现。最后一个数字不明。。。

    将前两个数字改成别的,物体虽然在地图编辑器和游戏地图上显示是原来的图标,但是属性已经变成了相应其他物品。
    比如将AVCcasx0.def  98 0 1 0 改成AVCcasx0.def  101 0 1 0。这样,游戏时看起来地图上是一个城堡。实际上它是一个宝箱。这也体现在我编的那张简易地图中。
    ===============================
    对于随机地图的建议

    在data文件夹下放置objects.txt并修改之,使得野蛮和地狱也能出坟墓,修改AvXOblB.def 等几个方尖碑的数值将第五列中的1全部变成0,这样地图上不会出现任何方尖碑。修改AVSutop0.def将其变成0,这样nb版的随机地图也不会出现任何龙堡。

    没了。相信这个资料对大家研究地图大有帮助。

    该用户从未签到

    24

    回帖

    7542

    金币

    0

    精华

    1级 Hired Hero

    Rank: 1

    积分
    76
    发表于 2009-9-21 17:19:34 | 显示全部楼层
    不知道那些数据是修改监狱的,玩随机地图最烦的就是监狱一大堆,望楼主明示,不胜感激.

    评分

    1

    查看全部评分

  • TA的每日心情
    开心
    2022-5-8 16:30
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]野猪

    195

    回帖

    1万

    金币

    0

    精华

    3级 Known Hero

    Rank: 3Rank: 3

    积分
    617

    社区QQ达人

    发表于 2009-9-21 17:30:11 | 显示全部楼层
    好定西·顶了·
  • TA的每日心情
    慵懒
    2024-2-19 08:40
  • 签到天数: 507 天

    连续签到: 1 天

    [LV.9]龙巫妖

    5022

    回帖

    10万

    金币

    0

    精华

    论坛嘉宾

    Rank: 9Rank: 9Rank: 9

    积分
    13463

    退役版主

    发表于 2009-9-21 22:08:49 | 显示全部楼层
    你可以把监狱挪走
  • TA的每日心情
    开心
    2024-3-10 15:35
  • 签到天数: 127 天

    连续签到: 1 天

    [LV.7]血污怪

    189

    回帖

    1607

    金币

    0

    精华

    4级 Famous Hero

    Rank: 4

    积分
    1768

    社区QQ达人

    QQ
    发表于 2009-9-21 23:05:32 | 显示全部楼层

    楼主很佩服你,那00001111的你是1个1个测试的吗?

    楼主很佩服你.
        分类整理也不错.谢谢了,学习下.

    [ 本帖最后由 wogtony2008 于 2009-9-21 23:06 编辑 ]
    玩英雄无敌让我回忆起我的学院生活。
  • TA的每日心情
    无聊
    2017-4-24 06:38
  • 签到天数: 11 天

    连续签到: 1 天

    [LV.3]火元素使者

    666

    回帖

    1万

    金币

    0

    精华

    1级 Hired Hero

    Rank: 1

    积分
    927
    发表于 2009-9-22 21:59:00 | 显示全部楼层
    高人啊,膜拜下



  • TA的每日心情
    无聊
    前天 10:51
  • 签到天数: 368 天

    连续签到: 1 天

    [LV.9]龙巫妖

    1245

    回帖

    1万

    金币

    0

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    4671
    发表于 2009-9-23 09:50:03 | 显示全部楼层
    研究的太厉害了。。。
  • TA的每日心情
    开心
    2020-9-19 16:27
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]火元素使者

    9896

    回帖

    64万

    金币

    19

    精华

    管理员

    风侠

    Rank: 12Rank: 12Rank: 12

    积分
    51976

    论坛元老魅力之星封魔玩家

    发表于 2010-11-25 22:14:51 | 显示全部楼层
    这个东西很有用,以前没注意到,顶一下,留个脚印,收藏到“挖坟帖”http://bbs.h3wog.com/thread-17229-1-1.html

    该用户从未签到

    1546

    回帖

    2万

    金币

    4

    精华

    论坛嘉宾

    Rank: 9Rank: 9Rank: 9

    积分
    9883

    退役版主杰出贡献中流砥柱论坛元老

    发表于 2010-11-26 08:37:07 | 显示全部楼层
    好东西
    回去试试把鞋子穿在手上,把盔踩在脚底下。

    该用户从未签到

    73

    回帖

    6191

    金币

    0

    精华

    绘图大师

    Rank: 8Rank: 8

    积分
    415
    发表于 2010-12-2 22:07:48 | 显示全部楼层
    看到过一个专门讨论随机地图模板修改的帖子。支持下,手机打开这帖子将近200kb

    该用户从未签到

    73

    回帖

    6191

    金币

    0

    精华

    绘图大师

    Rank: 8Rank: 8

    积分
    415
    发表于 2010-12-2 22:07:48 | 显示全部楼层
    看到过一个专门讨论随机地图模板修改的帖子。支持下,手机打开这帖子将近200kb

    该用户从未签到

    73

    回帖

    6191

    金币

    0

    精华

    绘图大师

    Rank: 8Rank: 8

    积分
    415
    发表于 2010-12-2 22:08:24 | 显示全部楼层
    看到过一个专门讨论随机地图模板修改的帖子。支持下,手机打开这帖子将近200kb
  • TA的每日心情
    开心
    2020-9-19 16:27
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]火元素使者

    9896

    回帖

    64万

    金币

    19

    精华

    管理员

    风侠

    Rank: 12Rank: 12Rank: 12

    积分
    51976

    论坛元老魅力之星封魔玩家

    发表于 2010-12-2 22:16:58 | 显示全部楼层
    清遥,是不是手机上网得把图片给禁掉啊
    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 英雄注册|Register

    本版积分规则

    捐赠
    关注我们,英3Mod一网打尽!

    WoG中文站 ( 辽B2-20210485-10 )|辽公网安备 21128202000228 号

    GMT+8, 2024-3-29 15:57 , Processed in 0.499465 second(s), 14 queries , Gzip On, File On.

    Powered by Discuz! X3.4

    Copyright © 2004-2022, Beijing Second Sight Technology Co., LTD.

    快速回复 返回顶部 返回列表