网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
可签
7
级以上的吧
50
个
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月30日
漏签
0
天
英雄无敌3吧
关注:
188,506
贴子:
4,157,784
看贴
图片
吧主推荐
视频
玩乐
1
2
下一页
尾页
16
回复贴,共
2
页
,跳到
页
确定
<返回英雄无敌3吧
>0< 加载中...
HoMM3 Modding简介
只看楼主
收藏
回复
myocytebd
大天使
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
本文/本帖许可协议:CC BY-NC-SA 4.0
基础标记-背景知识需求
[] 不需要背景知识。
[script] 需要基础编程知识。
[native] 需要基础native编程知识。
[inet] 需要访问国际网络的能力。
目录
前言
HoMM3各版本介绍
数据文件修改 (SoD, ERA)
图片文件修改 (ERA+HD)
ERA Mod结构
ERM使用简介 [script] [inet]
代码修改简介 (SoD, ERA) [native] [inet]
杂谈
送TA礼物
IP属地:上海
1楼
2022-04-13 17:58
回复
和谐天皇之殇、唐斩铁、Tegra_X1. . . 被楼主禁言,将不能再进行回复
myocytebd
大天使
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
前言
HoMM3是一个20多年的老游戏,且没有成功的复刻。
即使喜爱游戏的玩家依旧存在,社区和资源也日渐萎缩,搜索引擎的命中也变得日渐困难。
所以尝试总结了一下Modding HoMM3的常用资源和入门教程。
这篇文章面向希望自己构建mod的玩家,希望能够帮助读者快速开始,降低入门成本。
而进一步的使用和熟悉,就需要读者实践和举一反三了。
对没有意义的回复可能不予回答并随时删除,例如:
伸手党;或者包含baidu搜索结果的提问。
应该首先使用g*l*或者bing搜索。
因为贴吧对于链接有强烈的食欲,所以文内只有关键字,不包含链接。
链接可能在后续某楼中,也许没有或者被吞,推荐自行搜索。
常用关键字
era3 homm3 heroescommunity heroes3wog
IP属地:上海
2楼
2022-04-13 17:59
回复(1)
收起回复
2025-07-30 13:58:30
广告
不感兴趣
开通SVIP免广告
myocytebd
大天使
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
HoMM3各版本介绍 [*]
版本一览
SoD 官方的死亡阴影资料片版本,严格意义上唯一能获得经典体验的版本。
然而和当代windows以及的当代分辨率的兼容性极差,因此实际体验极差。
HoMM3 HD Ubisoft官方重置的高清版本,但是只有RoE的内容;因此不予讨论。
GoG HoMM3 Complete 目前唯一可合法获取的HoMM3版本。可以在当代windows下运行。
HoTA 一个非常善于PR宣传的高度商品化Mod。
乱改了各种数据和机制;不能回退SoD体验;且没有Mod支持。因此不予讨论。
WoG 一个著名古老而著名的闭源商品化Mod,引入了指挥官等新功能,以及ERM脚本系统。
WoG项目死于3.59的制作途中。
新功能难以自定义,不能回退SoD体验,bug多,不支持GoG版本,不兼容当代系统。
完全被ERA替代,因此不予讨论。
ERA 一个缺乏PR宣传的开源Mod平台。只支持GoG版本。
WoG项目死亡后,(部分?)源码公开;新的开发者继承了WoG 3.59,重定位为Mod平台。
项目专注于增添面向Mod的新功能,以及修复WoG缺陷。
关闭WoG选项即回退SoD的游戏规则;不过若要回退SoD的视觉效果需要一点Mod (UI和地图对象)。
但在细节方面,和SoD有所差异。
HD Mod 一个著名的多功能补丁,适用于GoG,ERA和HoTA。只支持GoG版本。
主要功能是支持高分辨率,优化UI和操作,例如一键分兵。
实际上主要是UI布局,操作和文本。贴图画质没有改善甚至倒退;因为闭源也没有SDK,难以优化。
在细节方面,和SoD有所差异。
VCMI HoMM3的开源重制项目,可运行。
普遍被认为死亡的项目,虽然没有正式死亡。
总结
严格意义上的经典游戏性体验 ---- SoD
游戏性体验和SoD基本一致 ---- ERA+HD,GoG+HD,SoD
视觉体验和SoD基本一致 ---- SoD,GoG+HD,ERA+HD
能在当代windows(10/11)上完美运行,且体验和SoD完全一致的版本 ---- 不存在
体验和SoD基本一致,且明显高画质的版本 ---- 不存在
能在当代windows上完美运行,体验和SoD基本一致 ---- ERA,GoG+HD
能在当代windows上完美运行,体验和SoD基本一致,适合Mod ---- ERA+HD
有志者事竟成 ---- VCMI
二进制兼容性 [native]
HD,ERA都是动态patch代码的。
ERA是使用的一个固定的WoG exe,加上是era.dll。所以没有静态的二进制冲突问题。
固定的exe里包含,SoD和WoG的部分;WoG部分只是加了个section,实际都是动态patch SoD的;然后era.dll再在WoG基础上二次patch。所以如果要改代码,也需要动态patch (主菜单时ERA就patch完了)。
IP属地:上海
3楼
2022-04-13 18:03
回复
收起回复
myocytebd
大天使
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
数据文件修改 (SoD, ERA) [*]基础工具:
ERA3安装包;(包含所有常用工具,SoD/GoG也必须)
excel或其他table editor。
额外工具:
7-Zip
CudaText,vim等能够不毁坏并且编辑换行符(LF,CRLF)的文本编辑器。
准备工具:
安装或者用7-Zip解压ERA3安装包。
安装根目录,或者解压目录_Install_\Root下包含h3wmaped,社区制作的加强版地图修改器。
Tools目录下包含所有常用工具。
文件格式:
.lod(SoD)/.pac(WoG) 数据包。
.bik/.smk 古老的音视频格式 (RAD);当年很常见。
.fnt 字体。
.txt 数据和文本;多为tab分割的表格;小心换行符。
.pcx 单帧图片,包括UI和英雄头像。
.def 多帧图片,包括UI和动画。例如兵种图标在一个def里。
.msk 同名def对应的轮廓。
修改数据文件 (SoD):
1.用Tools\MMarchive解压H3bitmap.lod,得到.txt。
2.修改想要的.txt。
3.将修改过的.txt放在Data目录下。
具体txt的内容,基本上打开txt看一下就能理解了,从略。
注意txt有不少地方(列)只是注释,并没有实际作用;而少数地方有错误或误导。
txt不能修改的内容,需要内存和代码修改,或者ERM (例如生物等级)。
修改数据文件 (ERA):(ERA目录结构见下一节)
1.用Tools\MMarchive解压H3bitmap.lod,得到.txt。
2.用Tools\MMarchive解压Mods\WoG\Data\hmm35wog.pac,得到额外的.txt,覆盖掉第1步里的.txt。
3.修改想要的.txt。
4.将修改过的.txt放在Mods\{MyMod}\Data目录下。
注意WoG包里的.txt不全,而有些.txt文件名称并不相同。例如zcrtrait.txt替代了crtraits.txt,后者不再有效果。
WoG/ERA下可通过.txt修改的内容比SoD多一些,例如建筑依赖;生物经验(buggy,但可以一定程度给现有特技)。
数据文件格式(SoD,ERA)
基本上是tab分割的表格,用excel或其他数据表编辑器打开。
需要严格注意换行符和行列数;否则游戏崩溃并且没有任何具体错误提示。
1.不要删除行或列。
2.每数据行最后一列避免为空白。
3.每数据行的换行符必须是CRLF。
4.多行文本。必须以""包含。换行必须是LF。
因此,修改文本时应该使用excel,CudaText,vim等能正确编辑LF/CRLF混合的编辑器。
地图对象
objects.txt/zobjcts.txt SoD/WoG的基础地图对象文件,避免删行。
zaobjts.txt ERA的随机地图的地图对象文件,可删行。
zeobjts.txt ERA自带的加强版地图编辑器的地图对象文件,可删行。
这些文件的格式参考Third Upgrades Mod manual。
也可以用Tools\ObjTxtEditor修改。
(如果在报错找不到mscomctl.ocx,可以用regsvr32注册一下)
ERA自带的Unleashed Editor是原版编辑器的完全替代品,可以编辑任何版本的地图。
IP属地:上海
4楼
2022-04-13 18:05
回复
收起回复
myocytebd
大天使
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
图片文件修改 (ERA+HD) [*]
基础工具:
ERA3安装包;(包含所有常用工具,SoD/GoG也必须)
任何图片编辑器。
任何文本编辑器。
工具:
ERA3安装包下包含处理DEF(多帧图片)/MSK(轮廓)的工具。
文件格式:
.lod(SoD)/.pac(WoG) 数据包。
.txt 数据和文本;多为tab分割的表格;小心换行符。
.pcx 单帧图片,包括UI和英雄头像。
.def 多帧图片,包括UI和动画。例如兵种图标在一个def里。
.msk 同名def对应的轮廓。
.zip ERA新增部分支持。
.bmp etc. 常见图片格式。ERA+HD新增部分支持。
笔者不建议在SoD/GoG下做图片资源相关的修改,徒增额外的麻烦和工作量。
推荐ERA+HD或者VCMI。
修改图片文件 (ERA):
1.图片文件可能在:
- Data\H3bitmap.lod,H3sprite.lod中 (用Tools\MMarchive解压)
- Mods\WoG\Data\hmm35wog.pac中 (用Tools\MMarchive解压)
- 在其他Mods\子目录下,.pac/.zip,.def或者独立的图片文件
- _HD3_Data子目录下
2.修改或制作图片或者DEF。
- DEF制作教程,参考Third Upgrades Mod manual。
- ERA+HD支持在UI中使用bmp/png,详见era iii changelog。
- ERA支持png进行DEF帧替换/增加,以及合成帧。因而大部分制作/修改DEF的麻烦可以避免。
3.按照ERA的Mods目录规则存放。例如:Mods\MyMod\Data\PSKIL42.def
IP属地:上海
5楼
2022-04-13 18:08
回复
收起回复
myocytebd
大天使
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
ERA Mod结构 [*]
ERA文档:
ERA没有完整的文档。碎片化的信息分散在这些地方:
- ERA源码
- Help\Era manual\index.html
- Help\Era manual\era ii changelog.txt
- Help\Era manual\era iii changelog.txt
- Tools\Era\SDK (native plugin例子)
ERA Mods管理结构:
根据现有mod和Tools\Mod Manager很容易就能猜出来。
- Mods下每个目录是一个mod
- 禁用的mod,目录名前面加了个-100
- 启用的mod,优先级数字越高,优先级越高。通常为0,负数优先级较低。
- 游戏加载的时候,使用Mods\list.txt。越后面的优先级越高。
- Mods\WoG是WoG/ERA的核心,优先级最低。
- Mods\ERA scripts是原WoG的默认ERM脚本集合。
正常来说,Mods\WoG和ERA scripts必须的;这不影响把WoG的功能全部禁止。
mod优先级只是影响资源文件的加载顺序;ERM脚本另有优先级。
ERA mod结构:
- 支持zip打包,详见era iii changelog.txt。
- mod.json\mod_info.ini主要供Mod Manager使用,游戏中仅用于错误报告。
- EraPlugins下是通过era插件。.era/.dll是常规dll;.bin是二进制patch。
- EraEditor下是地图编辑器的插件。
- Lang下是多语言文本。
- Data\s下是ERM脚本,应该以.erm结尾。.ert是老文本格式,现在应该用Lang/*.json。
WoG就是一个不错的例子,可以参考。
ERM是什么:
ERM是WoG/ERA的脚本语言,用于WoG定制地图和WoGify的SoD地图。
ERM优先级:
如果ERM是数字开头,就是具有额外的高优先级,按照数字顺序加载。
ERA scripts的值是1-80,因此正常来说脚本优先级都应该在这个范围内(或者不以数字开头)。
ERT文件注意事项:
.ert有和.txt一样的换行符要求;否则文本数据错乱或丢失。
每个数据行必须以CRLF结束,多行文本必须使用LF。
IP属地:上海
7楼
2022-04-13 18:10
回复
收起回复
myocytebd
大天使
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
代码修改简介 (SoD, ERA) [native] [inet]
如果不熟悉native开发
可以参考:搜索h3_hacking.txt。
那里面没有的,也就别想改了。
有native开发能力就不用看了。
二进制兼容性和稳定性:
如前所述,HD和ERA都是动态patch代码的,所以ERA下不应该直接修改exe,HD下也不建议。
ERA自带了一堆Plugins,Mods也有自己的Plugins;所以要维护二进制兼容性是较麻烦的,但冲突概率不高。
HD Patch就更糟糕,闭源,无扩展性,如果hook HD,升级版本必然不兼容;而HD基本hardcode (例如,如果spell points计算方法改变了,回蓝的显示就必然错误了)。
参考资源:
- Tools\WoG Source下的源码和数据结构。有少数错误。
WoG的注释基本是俄语,需要机翻+脑补。
WoG的代码非常烂,总体上只能用于参考和hook,难以复用。
- h3api repo,几乎把HoMM3的数据结构摸透了。有少数错误。
h3api有少量代码,但基本无用,只能用于参考一下SoD的默认行为。
- ERA源码。ERA用冷门的pascal,但是完全可以当成c来读。
编译需要支持非Unicode string的老delphi;dephi社区版不支持;Lazarus笔者曾尝试过,编译错误过多而放弃。
- 地图格式,在github上也有资源,包括文档和parser。
总体上,门槛非常低,属于有手就能改。
ERA上的注意事项 (ERA):
英雄/生物等数值是能通过ERM修改的,也是存档的一部分,所以WoG/ERA上有多份数据。
在第一次新开游戏时,WoG用SoD+自身数据复制到一个备份里;游戏中修改使用另一份数据;离开游戏后重置回备份。因此修改英雄/生物等数值较为麻烦。
当然,默认逻辑下,地图外只有英雄信息起作用,因此只要处理英雄数据即可。
IP属地:上海
9楼
2022-04-13 18:12
回复
收起回复
myocytebd
大天使
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
杂谈 [*]
- 强烈希望回复SoD游戏性体验的,可以参考SoD_SP这个Mod。
- 要从ERA回复SoD视觉体验的,至少需要恢复这些图片:
heroqvbk.pcx kovskill.pcx kovspexp.pcx zpic001.pcx
PSKIL32.def PSKIL42.def PSkilBon.DEF PSKILL.def
以及zaobjts.txt里删除掉wog外观的对象。
- 要从ERA回复SoD Cheat的,参考WoG源码_B1.cpp即可,搜索Cheat。
- 笔者还没有看VCMI的codebase,因此没有VCMI的修改简介。
IP属地:上海
10楼
2022-04-13 18:13
回复
收起回复
2025-07-30 13:52:30
广告
不感兴趣
开通SVIP免广告
登录失败
泰坦巨人
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
大佬~
IP属地:陕西
来自
Android客户端
11楼
2022-04-13 18:43
回复
收起回复
myocytebd
大天使
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
8楼吞了,拆开补一下。
ERM使用简介.1 [script] [inet]
ERM能做什么:
- 用于WoG定制地图,变更数据和实现动态的行为。
- 用于WoGify,向所有地图注入新功能新要素。
[native] 对于有native开发能力的人,强烈不建议使用ERM写任何逻辑。尤其是生物/战斗相关逻辑,建议绝对避免ERM。
- [native] 可以直接读写内存,加载dll,进行native call。
- [native] 作为native的API,因为ERA的很多功能通过ERM提供。
ERM文档:
- Help\ERM Help 2.81\index.html
- Help\Era manual\era ii changelog.txt
- Help\Era manual\era iii changelog.txt
注意, ERM Help 2.81到era ii changelog.txt之间还有缺失的内容。
IP属地:上海
12楼
2022-04-13 19:40
回复
收起回复
myocytebd
大天使
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
8楼吞了,只能用图片。
IP属地:上海
14楼
2022-04-13 19:53
回复
收起回复
myocytebd
大天使
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
8楼吞了,发不出。
2楼回复有完整版文档。
IP属地:上海
15楼
2022-04-13 19:55
回复
收起回复
真的不是我干的
精灵
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
回复不知道能留多久
IP属地:四川
来自
Android客户端
16楼
2022-04-13 20:46
回复
收起回复
四月情塚
精灵
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
经验+3。
世界第一英雄设计师——四月情塚(bilibili)——到此一游。
来自
Android客户端
17楼
2022-04-14 14:01
回复
收起回复
2025-07-30 13:46:30
广告
不感兴趣
开通SVIP免广告
穿透心灵
精灵
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
专业帖子。占位学习。扫盲。热衷wog无法自拔。现在我仍然愿意玩wog大地图。
IP属地:山东
来自
Android客户端
18楼
2022-04-14 14:33
回复
收起回复
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧热议榜
1
博主举报武大诬女遭上门警告
1557780
2
IG输了该怎么分锅
1536507
3
育儿补贴来了,堪比玛莎拉蒂5元代金券
1440964
4
同样来自武大,差距咋这么大捏
1137969
5
韩援coser营业炸出一大波龟男舔狗
1111708
6
旺仔小乔疑似露脸直播:给你们脸了
1028450
7
7月29日乐子内容限定
868056
8
绿龙复仇MOUZ,动物园内战首胜
601260
9
竹节草来袭,上海台风黄色预警
599928
10
张碧晨还有翻盘的可能性吗?
597800
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示