Heroes of Might & Magic V: Tribes of the East

Heroes of Might & Magic V: Tribes of the East

41 ψήφοι
英雄无敌5 内部数据修改简单教程
Από mahira
本指南将指导你如何简单修改英雄无敌5东方部落的内部数据,如单位的各种属性、建造价格等等。创造个性化的游戏体验。
   
Βραβείο
Αγαπημένο
Αγαπημένο
Μη αγαπημένο
打开方式和保存方式
首先要以解压包的形式打开以下文件
Heroes of Might and Magic 5 Tribes of the East\data\data.pak

英雄无敌5的所有内部数据都在这个文件夹里面,比如以下几类
单位属性 - data.pak/GameMechanics/Creature/Creatures
技能属性 - data.pak/GameMechanics/Spell
建筑属性 - data.pak/GameMechanics/TownBuildingSharedStats

保存方法有3种:
①直接在data.pak中修改后保存,如果你想永久性修改你的游戏数据可以选择这种方法,你也可以准备备份文件,在想还原时覆盖回去。

②在游戏目录data文件夹里面创建与data.pak内对应文件路径相同的子文件夹,游戏内的数据会优先以你创建的文件夹里面修改后的数据计算。

③英雄无敌5东方部落是支持MOD的,可以把第二种方法下创建的文件夹压缩成压缩包,后缀改成h5u,然后放入游戏目录下的Usermods里即可。
单位属性修改
单位基本属性在这个文件夹里:
data.pak/GameMechanics/Creature/Creatures/

以圣堂单位大天使的修改教程举例,以记事本方式点开GameMechanics\Creature\Creatures\Haven\Archangel.xdb
你会看见如下内容,我对有必要的地方依次说明
<?xml version="1.0" encoding="UTF-8"?>
<Creature ObjectRecordID="14"> 单位内部编号
<AttackSkill>31</AttackSkill> 攻击力
<DefenceSkill>31</DefenceSkill> 防御力
<Shots>0</Shots> 远程兵种的弹药携带量
<MinDamage>50</MinDamage> 最小杀伤力
<MaxDamage>50</MaxDamage> 最大杀伤力
<Speed>8</Speed> 移动速度
<Initiative>11</Initiative> 主动性
<Flying>true</Flying> 是否为飞行生物
<Health>220</Health> 生命值
<KnownSpells> 单位技能和技能的等级,从低到高分别是NONE、BASIC、ADVANCED、EXPERT、MASTER
<Item>
<Spell>SPELL_ABILITY_RESURRECT_ALLIES</Spell>
<Mastery>MASTERY_ADVANCED</Mastery>
</Item>
</KnownSpells>
<SpellPoints>0</SpellPoints> 施法兵种的魔法值
<SpellPoints1>1</SpellPoints1> 有特殊技能兵种的可释放技能次数
<SpellPoints2>0</SpellPoints2> 地狱的召唤技能使用次数
<Exp>332</Exp> 杀死此单位得到的经验
<Power>6153</Power> 单位的战斗力,与部分兵种技能相关
<TimeToCommand>10</TimeToCommand>
<CreatureTier>7</CreatureTier>
<Upgrade>true</Upgrade> 单位是否可升级
<PairCreature>CREATURE_ANGEL</PairCreature>
<CreatureTown>TOWN_HEAVEN</CreatureTown>
<MagicElement> 受到地牢元素锁链影响后的属性
<First>ELEMENT_WATER</First>
<Second>ELEMENT_AIR</Second>
</MagicElement>
<WeeklyGrowth>1</WeeklyGrowth> 每周产量
<Cost> 训练单位所需资源
<Wood>0</Wood>
<Ore>0</Ore>
<Mercury>0</Mercury>
<Crystal>2</Crystal>
<Sulfur>0</Sulfur>
<Gem>0</Gem>
<Gold>3500</Gold>
</Cost>
<SubjectOfRandomGeneration>true</SubjectOfRandomGeneration>
<MonsterShared href="/MapObjects/Haven/Archangel.(AdvMapMonsterShared).xdb#xpointer(/AdvMapMonsterShared)"/>
<CombatSize>2</CombatSize> 单位在战场上占的格子
<PatternAttack/> 单位的常规攻击方式,比如攻击3格、攻击6格、龙息等
<flybySequence/>
<Visual href="/GameMechanics/CreatureVisual/Creatures/Haven/Archangel.xdb#xpointer(/CreatureVisual)"/>
<Range>0</Range>
<BaseCreature>CREATURE_ANGEL</BaseCreature>
<Upgrades/>
<Abilities> 单位拥有的能力
<Item>ABILITY_RESURRECT_ALLIES</Item>
</Abilities>
</Creature>

单位可以释放的技能在该目录下
data.pak/GameMechanics/Spell/Combat_Spells
里面的技能名称是内部名,与游戏里面的名称有出入,当我们编辑单位技能的时候应该以内部名为基准

同样的,单位能力在该目录下
data.pak/GameMechanics/Spell/Creature_Abilities
技能属性修改
技能基本属性在这个文件夹里:
data.pak/GameMechanics/Spell/Combat_Spells/
再来看看技能的修改,界面大致相同,但是能改的地方就不多了。其余部分涉及到技能的模型声音文件的路径,会比较复杂,在此我就不深入研究了。

我以破坏系魔法连珠火球为例子,以记事本的格式打开此文件:
data.pak/GameMechanics/Spell/Combat_Spells/DestructiveMagic/Fireball.xdb
下面我对必要部分进行注释说明:
<?xml version="1.0" encoding="UTF-8"?>
<Spell ObjectRecordID="115"> 技能内部编号
<NameFileRef href="/Text/Game/Spells/Combat/Fireball/Name.txt"/>
<LongDescriptionFileRef href="/Text/Game/Spells/Combat/Fireball/Long_Description.txt"/>
<Texture href="/Textures/SpellBook______2618/Spells/Spell_Fireball.xdb#xpointer(/Texture)"/>
<EffectTexture href="/UI/Common/Icons/Spell_Buff_Icons/Fireball.(Texture).xdb#xpointer(/Texture)"/>
<SpellBookPredictions>
<Item href="/Text/Game/Spells/SpellBookPredictions/DirectDamage.txt"/>
<Item href="/Text/Game/Spells/SpellBookPredictions/DirectDamageMasterOfFire.txt"/>
</SpellBookPredictions>
<CombatLogTexts/>
<Level>3</Level> 魔法等级
<MagicSchool>MAGIC_SCHOOL_DESTRUCTIVE</MagicSchool> 魔法分类
<RequiredHeroLevel>0</RequiredHeroLevel>
<IsAimed>true</IsAimed> 是否为指向性技能,其实非指向性技能根本没这一条
<TrainedCost>10</TrainedCost> 魔法消耗
<damage> 魔法的相关数值,比如回合数、伤害等
<Item>
<Base>11</Base> 原始等级
<PerPower>11</PerPower> 每点力量对魔法效果的增强
</Item>
<Item>
<Base>14</Base> 基础等级
<PerPower>14</PerPower>
</Item>
<Item>
<Base>17</Base> 高级等级
<PerPower>17</PerPower>
</Item>
<Item>
<Base>20</Base> 专家等级
<PerPower>20</PerPower>
</Item>
</damage>
<duration/>
<sSpellCost>
<Wood>0</Wood>
<Ore>0</Ore>
<Mercury>0</Mercury>
<Crystal>0</Crystal>
<Sulfur>0</Sulfur>
<Gem>0</Gem>
<Gold>0</Gold>
</sSpellCost>
<IsAreaAttack>true</IsAreaAttack> 区域作用
<CanSelectDead>false</CanSelectDead> 能否选中死亡单位
<Target>TARGET_HOSTILE</Target> 作用目标,有3种FRIEND纯盟友、HOSTILE纯敌人、NEUTRAL特定目标
<Element>ELEMENT_FIRE</Element> 伤害元素类型,部分生物魔法免疫和这个有关
<visuals>
<Item href="Fireball.(SpellVisual).xdb#xpointer(/SpellVisual)"/>
</visuals>
</Spell>
建筑属性修改
建筑基本属性在这个文件夹里:
data.pak/GameMechanics/TownBuildingSharedStats

首先我们会看到不同种族的文件夹,其实内部都大致相同的。首先我介绍一下里面这些文件名分别代表什么建筑:
Blacksmith - 铁匠铺
Fort - 城墙
Magic_Guild - 魔法行会
Marketplace - 市场
Shipyard - 船坞
Tavern - 酒馆
Town_Hall - 主城
Grail - 亚莎之泪建筑
Special - 特殊建筑,不同种族都不一样,比如圣堂的训练场等
Dwelling - 1~7级的兵营

以圣堂族1级兵升级后兵营为例,以记事本的格式打开此文件:
data.pak/GameMechanics/TownBuildingSharedStats/Haven/Dwelling_1/Peasant_Cabins.xdb
你会看到以下内容,我还是对必要部分进行注释说明:
<?xml version="1.0" encoding="UTF-8"?>
<TownBuildingSharedStats ObjectRecordID="25"> 建筑内部编号
<NameFileRef href="/Text/Game/TownBuildings/Haven/Dwelling_1/Upgraded_Name.txt"/>
<DescriptionFileRef href="/Text/Game/TownBuildings/Haven/Dwelling_1/Upgraded_Description.txt"/>
<Type>TB_DWELLING_1</Type> 建筑类型
<Upgrade>BLD_UPG_2</Upgrade> 建筑升级次数,比如2级兵营是2,魔法行会有1~5
<Cost> 建筑建造价格
<Wood>0</Wood>
<Ore>0</Ore>
<Mercury>0</Mercury>
<Crystal>0</Crystal>
<Sulfur>0</Sulfur>
<Gem>0</Gem>
<Gold>1500</Gold>
</Cost>
<ModObjectName>field</ModObjectName>
<dependencies> 这项是升级后建筑特有的,是指从什么建筑升级而来
<Item href="Peasant_Huts.xdb#xpointer(/TownBuildingSharedStats)"/>
</dependencies>
<Creature>CREATURE_MILITIAMAN</Creature> 可训练生物
<Creature2>CREATURE_LANDLORD</Creature2> 可训练生物2
<DevLevelNeeded>0</DevLevelNeeded>
<UIObjectName>Dwelling_1</UIObjectName>
<UIStackPosition>1</UIStackPosition>
<Icon href="/UI/TownHall/haven/128/d1u.xdb#xpointer(/Texture)"/>
</TownBuildingSharedStats>
5 σχόλια
EAbyss 19 Σεπ 2021, 18:21 
很有用
Мотоко Кусанаги 21 Μαρ 2015, 0:41 
zaebis gaid spasibo
Analtoy 10 Σεπ 2014, 7:47 
kabachki, tam ryazhanka, vse dela
Analtoy 10 Σεπ 2014, 7:47 
jasdldkslhfjkldagkjljkldsaglk;kl;dag
Spayro 24 Ιουν 2014, 13:51 
Djn ,kznm b z nfr levf.! B,j yt[eq!