英雄无敌3模板修改(搬运)
如果你想要用特定的模板创建地图,这时候你需要进行一些操作:
1.获取模板文件(百度搜索一大把)
2.模板文件是一个文本文件,名字为“rmg.txt”,不管是什么模板,名字完全一样,只是里面的内容有区别。
3.把你选定的模板文件复制到英雄无敌3安装目录的"data"文件夹内。比如这样:

4.进入游戏,正常玩随机地图,则每次的地图都是你选定的模板。
接下来,我们就可以对这张表详细的分析一下了。我们按行来分析,不过这是行列互换后的表,在原表中实际是按列分析。
第1-3行(列):

这个区域定义了地图的名字和适用的地图大小:
map:地图 name:名字 6LM10a:这个模板的名字。
Mininum Size :这个模板允许的地图最小规模
Maxinum Size :这个模板允许的地图最大规模
最大和最小都是32,说明这个模板只能用于“特大”地图。
在游戏内生成地图时,你无法选择“特大”以外尺寸的地图。
具体来说,Size的数字和大小的对应关系是:

翻译一下:
1 - 36x36 (小)单层地图
2 - 36x36 (小)双层地图
4 - 72x72 (中)单层地图
8 - 72x72 (中)双层地图
9 - 108x108 (大)单层地图
16 - 144x144 (特大)单层地图
18 - 108x108 (大)双层地图
32- 144x144 (特大)双层地图
下面研究“zone”这一块区域:

观察左侧的三列,可以看到,zone(区域)在第一列,与上面的“map”同级,type(类型),Restrictions (限制规则),Player towns(玩家城镇) 等在第二列,低一级。所以下面都是对zone(区域)的描述。
逐行分析:

第一部分
zone(区域):表示下面是对区域的描述。
Id(区域编号) :这里看到1到25个数字,表示这张模板里将会生成25个区域。
第二部分:

type (类型) human start(人类玩家起始区域)
----------------------computer start(电脑玩家起始区域)
------------------------Treasure(财宝区)
-------------------------Junction(连接区)
-----------------------Base Size(基本尺寸)
这里定义每个区域的类型,用“x”来标记“是”。
比如在human start后面第1-6和11与12区域下面标记为x,这些区域是人类玩家的主城区域。
在Treasure后面的7-10和13-25标记为x,这些区域是财宝区。
Base Size是表示该区域的大小,具体的大小受整张地图的尺寸,其它区域的尺寸等影响。
第三部分

Restrictions (限制规则) Minimum human positions(最小玩家位置数)
----------------------------------Maximum human positions(最大玩家位置数)
----------------------------------Minimum total positions(最小总位置数)
----------------------------------Maximum total positions(最大总位置数)
第四部分

Player towns (玩家城镇设置) Ownership(所有权) 后面的数字163452和78表示对应区域是哪个玩家的起始区域,最多8个玩家。
Minimum towns (最小城镇数
Minimum castles (最小城堡数)
这两行设置城镇的数量和级别。towns不带围墙,castles带有围墙。本例中的Minimum castles后面有8个1,表示这些区域都有1座带围墙的城。
Town Density (城镇密度)
Castle Density(城堡密度)
这两行与上面的两行对应,影响城与城之间的距离。
第五部分

这个部分对中立城镇(无人占领的城)进行设置:

Neutral towns (中立城镇)
Minimum towns (最小城镇数):后面的7-10和13-16这8个区域标了1,表示这些区域会生成1座不带围墙的城市。
Minimum castles (最小城堡数)
Town Density (城镇密度)
Castle Density(城堡密度)
Towns are of same type (城镇都是同一类型)
中立城镇多了一个选项,可以把这个区域的的城镇设置为同一类型,比如都是堡垒。
第六部分

这个部分设置区域内允许出现的城镇类型,打“x”表示允许出现。比如编号1的区域下面全是x,表示允许所有类型的城镇,编号17的区域下面没有x,表示不允许出现任何类型的城镇,这与前面的设置对应,因为前面的设置中,区域17既没有玩家的城镇也没有中立的空城。
Town Types (城镇类型)
Castle (城堡)
Rampart (壁垒)
Tower (塔楼)
Inferno (地狱)
Necropolis (墓园)
Dungeon (地下城)
Stronghold (据点)
Fortress (要塞)
Elemental (元素城)
假设我用玩家1红色,想我每次主城都是城堡,可以删除Id 1下面其它的x,只在castle后面保留x
第七部分

这部分是矿产数量设置。
wood(木材)
Mercury (水银)
Ore (矿石)
Sulfur (硫磺)
Crystal (水晶)
Gems (宝石)
Gold (金矿)
上面的区域1-6和11,分别有1个木头矿和1个石头矿,因为这是玩家的起始区域。
区域7有1个水银矿,区域8有1个硫磺矿,区域9有一个水晶矿,区域10有一个宝石矿,所有区域都没有金矿。
可以在对应位置填入数字大小来改变设置,比如在自己家出生区域安排10个金矿。。。
紧随其后的是对矿的密度设置,影响矿点的分布集中程度,用数字来表示,一般都是空白,未设置。
如果需要设置请参考后面的介绍。

第八部分

这里是地形设置。
match to town(与城镇匹配):这里如果打了x,则本区域地形由城镇类型决定。
否则将由下面的x决定。比如区域17,这个区域没有城镇,所有地形都打x,则随机选取一种地形。
Terrain (地形)
Dirt (泥地: 墓园、地下城的默认地形
Sand (沙漠)
Grass (草地: 城堡、元素城、壁垒地形)
Snow (雪地: 塔楼默认地形)
Swamp (沼泽地: 要塞默认地形)
Rough (戈壁: 据点默认地形)
Cave (地下洞穴: 地下二层的地形)
Lava (熔岩: 地狱默认地形、地下二层的地形)
城镇如果在地面上,则默认地形能够生效。
如果出现在地底下,则只能是地下洞穴或者熔岩地形。
顺带说一句,带有对应的城镇兵种可以消除地形对移动力的衰减效果,比如带上要塞的兵,在沼泽地移动格数不减。
第九部分

这里是怪物强度设置。
Monsters(怪物)
Strength (强度):有三种选择,weak(弱) strong(强) avg(中等) ,影响每一堆的怪物数量。
Match to town (与城镇匹配):后面打x的话,本区域怪物与本区域的城镇类型匹配。
如果不打x,从下方打了x的类型里面随机选择,可以是混合的。
Neutral (中立):比如那些什么幻影射手,盗贼,野猪,农民,圣龙之类的。
Castle (城堡)
Rampart (壁垒)
Tower (塔楼)
Inferno (地狱)
Necropolis (墓园)
Dungeon (地下城)
Stronghold (据点)
Fortress (要塞)
Forge :这一行很奇怪,经过反复测试,其实应该是Elemental (元素城)。换句话说把Forge这个格子的内容换成Elemental不影响最后的结果,地图生成器应该是直接看x所处的位置,并不关心前面标的是什么。
第十部分

这个部分是对区域内的宝物进行设置,那些散落在地上的宝箱,资源,装备,卷轴,潘多拉的盒子,甚至包括龙之国等都是由这里决定。
一共分了三档,每一档都是由Low High Density来描述。
Low:最小值
High:最大值
Density:密度。数字小,表示数量少;数字大,表示数量多。
生成宝物时,先在最小值和最大值之间去一个随机数,然后用这个数字生成相应价值的宝物。
至于哪个宝物对应哪个价值,我记得有人介绍过,想找又找不到了,大致可以参考物品的售价。
这里是补充的的原53楼,被屏蔽了:
以上的部分就是对每个区域的内部设置,接下来是最后一个大项,区域之间的连接关系。
这里分了两个小类,Zones和Restrictions

具体如何表示连接关系呢?如下图:

Zone 1 (区域1) :第一块区
Zone 2 (区域2):第二块区
Value (价值):堵路怪的强度
Wide (宽路):这个地方打个x的话,路很宽 ,怪物堵不住,可以直接通过
Border Guard (边境守卫):打x会产生边境守卫,好像是那种帐篷?
上面的图中,竖直看,
1
9
6000
这一列,表示区域1和区域9相连,连接处有价值6000的怪物堵在路上。
1
21
6000
这一列,表示区域1和区域21相连,连接处有价值6000的怪物堵在路上。
那么问题来了,堵路怪的数字如何转化为相应的怪物?
可以参考网站:

看怪物的AI Value:

也可能是F Value,记不清了,总之,每个怪物都有自己对应值。假设一个枪兵是100,那6000就意味着这里有60个左右的枪兵堵路。大天使假设是1000,那么6000就意味着6个大天使。具体数值可以去查。


