请选择 进入手机版 | 继续访问电脑版
 找回密码
 加入团队

【帝国时代3亚洲王朝】Modification完全攻略

1人正在看0 / 101863

3

主题

8

帖子

564

积分

三级簪袅

精华
1
铜钱
402
白银
194
黄金
305
声望
27
帝国交易币
0
最后登录
2019-10-21
cat | UID=1434 |2019-09-28
各位帝国时代专区的玩家,大家好,本人从帝国时代1玩起,也有些年头了,虽然小生不像Sean_CGOL传奇人物,本人之前一直都是对付普通AI的低水平菜鸟,于是本人前不久一直都是努力与人对战,并且研究高难度AI,在魔兽的基础上现在的意识和操作水平有了很大幅度的提高,更加让我惊喜的是,本人对C语言和VB略懂,于是稍微研究了下游戏的内核,现在基本上可以肯定,此游戏可DIY性的程度还是比较突出的;至此我也深深的爱着这款游戏,她拥有可媲美当今次世代大作的豪华画面,可比拟魔兽争霸的平衡性与微操作,以及引人入胜的战役剧情,紧张激烈的战役任务… 这无疑让她魅力四射,对我有着无穷的吸引力;并且随之带来的关键意义是,对于此游戏玩家们的想象力和创造力。这也就意味着,此游戏如果玩家要让她更耐玩,必然是要对她进行Modification,也就是所谓的MOD。
这就牵扯到了游戏里面复杂的文件数据和程序代码,这令很多玩家,尤其是对计算机程序语言与VB不是很熟悉的玩家来说,想要与这些游戏内部的数据“交流”,就变得异常的艰难,另外与游戏本身的程序代码交流还需要一定得英语水平…综上所述,要想每位玩家都能创作自己的MOD将是一件很难以实现的事实,这也就是我今天发这个帖子的关键目的,即:让所有热爱帝国时代的玩家,创作自己的帝国冒险记!!同时,由于水平有限时间紧张,文章中难免有疏忽和错漏,也希望已经成功制作过MOD的高人多指点,也可以互相学习做成我们国内特色的帝国时代3亚洲王朝MOD。另外:新手请在帝国新时代资源中心AOE3ED工具比照参考。



1MOD创作原理

帝国时代3亚洲王朝的MOD现在论坛里还是比较丰富的,但是我这里不是直接给玩家一个MOD,而是让玩家自己学会制作自己的MOD,并且关键在于,这样创作的MOD不修改原始游戏的任何部分,是独立MOD,我们只是进行添加,而不是篡改,并且不是添加一大堆主城卡片来敷衍了事,徒增麻烦,尽量保证不影响原版游戏;另外的,我们的MOD最重要的一条是以最少的添加改动达到最完美的效果,可同时适用于帝国时代3原版+酋长+亚洲王朝!!

1.1、创作一个新的英雄单位

她拥有自己独特的属性和能力

她拥有一个独特的主动技能和一个独特的被动技能

并且经由她可以建造一个独特的建筑物

她可以通过所有文明的城镇中心训练出来,并且只对玩家有效

她可以通过所有主角型战役英雄训练出来

她将默认为跑动(永远都是奔跑)状态

1.2、创作一个独特的建筑物

它拥有自己独特的属性和能力它拥有一个独特的主动技能和一个独特的被动技能它可以通过上述新英雄建造出来它将默认为自动工作(攻击、生产

等)状态

1.3、创造的MOD所能达到的游戏实际效果

1、新的英雄单位

A、属性和能力她可以探索和搜集宝藏她是一个远程火枪攻击型英雄,该攻击对宝藏守护者和敌人的所有物件均有效她近距离仍然用火枪,不会由于

切换剑来近战而浪费时间和降低攻击力在攻击速度保持原版游戏数据的情况下(即不改变攻速),她射击时却不需要装填弹药的动作,始终用火枪射

击她的火枪可以射击建筑物和舰船而不是用火把…可以设定船运集结地

B、技能主动技能效果:造成大面积杀伤的狙击效果被动技能效果:有一定几率造成即死效果,并且会增加周围单位、村民、建筑、舰船的攻击力、

最大生命点数和移动速度的光环效果建造技能:可快速建造贸易站、上述创作的建筑物和城镇中心

2、新的建筑物

A、属性和能力该建筑物拥有反舰攻击和炮轰攻击能力炮轰攻击有溅射效果,并且可以攻击建筑物、宝藏守护者该建筑物增加200的人口地图全亮可

以装载\容纳一定数量的任何我方单位可以设定船运集结地

B、技能主动技能效果:启动后大幅度加快科研和船运的速度被动技能效果:可以全自动同时产生所有资源(包括食物、木材、金币、经验、外

贸),并且在我方单位、建筑、舰船待命(原地不动,不跑动、不攻击、不被攻击等)的状态下,它们可以自动恢复生命点数。

2MOD创作所需准备

2.1、MOD所需文件的准备

要想达到我们此次MOD的独特效果,首先玩家要在游戏目录外暂时创建一个文件夹,MOD的制作都在该文件夹内完成,以免影响原始游戏;其次玩

家需要用AOE3ED这个工具先把我们创作MOD的文件模板制作出来,下面这些文件是必须制作出来的:

ArchiveViewer程序打开Art1.bar文件提取Art\buildings\outpost\ outpost.xml.xmb文件

ArchiveViewer程序打开Data3.bar文件提取Data\ abilities\ abilities.xml.xmb文件

ArchiveViewer程序打开Data3.bar文件提取Data\ abilities \ powers.xml.xmb文件

ArchiveViewer程序打开Data3.bar文件提取Data\tactics\ amelia. tactics.xmb文件

ArchiveViewer程序打开Data3.bar文件提取Data\tactics\ combatBuilding. tactics.xmb文件

ArchiveViewer程序打开Data3.bar文件提取Data\tactics\ towncenter. tactics.xmb文件

ArchiveViewer程序打开SoundXML.bar文件提取Sound \ SPCLizzie_snds.xml.xmb文件

ArchiveViewer程序打开SoundXML.bar文件提取Sound \outpost_snds.xml.xmb文件

直接打开游戏目录在data文件夹内复制protoy.xml文件

直接打开游戏目录在data文件夹内复制stringtabley.xml文件

直接打开游戏目录在data文件夹内复制techtreey.xml文件

文件全部提取\复制到新建文件夹后,用FileConverter程序将所有后缀为.xml.xmb的文件转换为.xml文件,这样所有文件模板都能用记事本\写字板

\Microsoft Office Word直接打开,并且我们将这些文件名改为自己创造的单位名字(根据喜好随意取名)。

例如:

1、新英雄的模板文件名:

amelia. tactics这个文件模板改名为Anelace.tactics

SPCLizzie_snds.xml这个文件模板改名为Anelace_snds.xml

2、新建筑的模板文件名:

outpost.xml这个文件模板改名为BG.xml

combatBuilding. tactics这个文件模板改名为BG. tactics

outpost_snds.xml这个文件模板改名为BG_snds.xml

另外需要自己制作的文件如下:

用ACDSEE软件自己制作8张.tga格式的图片(原图旋转180度切记)来生成游戏里的图标,2张用于新英雄,大小分别为64X64和128X128,2张用

于新建筑,大小分别为64X64和128X128,3张用于新技能,大小为64X64。之后这些文件的文件名(根据喜好随意取名)末尾要加上.(0,0,4,1)。例

如:

2张用于新英雄的图标文件名:

Anelace_icon_64x64.(0,0,4,1).tga

Anelace_igc_icon.(0,0,4,1).tga

2张用于新建筑的图标文件名:

BG_icon_64x64.(0,0,4,1).tga

BG_portrait.(0,0,4,1).tga

3张用于新技能的图标文件名:

tech_BG.(0,0,4,1).tga

tech_passive_Anelace_aura.(0,0,4,1).tga

tech_passive_BG_aura.(0,0,4,1).tga

完成后用FileConverter程序转换为.dds文件

2.2、MOD所需文件的布置

将上述所有文件放入自行创建的如下几个文件夹下:

Anelace_icon_64x64.dds

Anelace_igc_icon.dds

tech_passive_Anelace_aura.dds

放入:新建文件夹\Art\Anelace

BG.xml

tech_BG.dds

tech_passive_BG_aura.dds

放入:新建文件夹\Art\BG

Anelace_snds.xml

BG_snds.xml

放入:新建文件夹\Sound

abilities.xml

powers.xml

放入:新建文件夹\data\ abilities \

Anelace.tactics

BG. Tactics

towncenter. tactics

放入:新建文件夹\data\tactics\

protoy.xml

stringtabley.xml

techtreey.xml

放入:新建文件夹\data\

2.3、MOD创作前的校核

最后,请检查你的上述步骤是否有所错误或者疏漏,我们新建的文件夹下一共有3个根文件夹(Art、data、Sound)和2个子文件夹(\data\ abilities

\、\data\tactics\)

里面包含16个我们这次MOD需要用到的文件,如下:

Anelace_icon_64x64.dds

Anelace_igc_icon.dds

tech_passive_Anelace_aura.dds

BG.xml

tech_BG.dds

tech_passive_BG_aura.dds

Anelace_snds.xml

BG_snds.xml

abilities.xml

powers.xml

Anelace.tactics

BG. tactics

towncenter. tactics

protoy.xml

stringtabley.xml

techtreey.xml

核对无误后,即可正式开始我们的MOD之旅!!

3MOD创作方法

3.1、新单位在游戏中的文字介绍

打开:新建文件夹\data\ stringtabley.xml

在文本末尾处添加紫色代码后效果如下:(蓝色为代码翻译说明,相同含义或者非关键的代码不重复翻译说明,玩家勿添加,下同)

<String _locID="70523">精锐葡萄牙散兵</String>

<String _locID="70524">INF 葡萄牙散兵</String>

<String _locID="200000">亚妮拉丝·艾尔菲德</String>

这些文字按个人喜好而更改

<String _locID="200001">可爱的游击士</String>

<String _locID="200002">来自空之轨迹的女主角,她喜欢一切可爱的东西喔!!</String>

<String _locID="200003">极其可爱活泼的女孩,看上去无懈可击...</String>

<String _locID="200004">莱恩哈特之魂</String>

<String _locID="200005">被动能力: 亚妮拉丝蕴藏着的莱恩哈特之魂可以大幅度提高周围单位的能力。</String>

<String _locID="200006">游击士协会</String>

<String _locID="200007">来自空之轨迹的利贝尔王国柏斯市游击士协会,为人民服务是她们的宗旨。</String>

<String _locID="200008">极其威严宏伟的建筑,看上去无坚不摧...</String>

<String _locID="200009">梅贝尔的魅力</String>

<String _locID="200010">被动能力: 柏斯市长梅贝尔的魅力足以富可敌国-随时间获得源源不断的资源。</String>

<String _locID="200011">导力革命</String>

<String _locID="200012">利贝尔王国带来的导力技术,启动这个先进的技术将带来超速的科技发展...</String>

<String _locID="200013">八叶灭杀</String>

<String _locID="200014">亚妮拉丝精准的狙击,可一次消灭大股敌军...</String>

</Language>

</StringTable>

如此,即可完成我们创作的新英雄、建筑、技能等在游戏中的文字说明。

3.2、新单位的添加和属性的编辑

打开:新建文件夹\data\ protoy.xml

在末尾处添加紫色代码后效果如下:

<ProtoAction>

<Name>Build</Name>

<Rate type ='WarHut'>2.000000</Rate>

<Rate type ='Blockhouse'>2.000000</Rate>

<Rate type ='Outpost'>2.000000</Rate>

<Rate type ='YPOutpostAsian'>2.000000</Rate>

</ProtoAction>

</Unit>

<Unit id ='2000' name ='Anelace'>      

新英雄代码与名字--亚妮拉丝,按个人喜好而更改

<DBID>2001</DBID>

<DisplayNameID>200000</DisplayNameID>   

游戏中显示的名字,代码对应stringtabley.xml

<EditorNameID>200001</EditorNameID>

<ObstructionRadiusX>0.4900</ObstructionRadiusX>

<ObstructionRadiusZ>0.4900</ObstructionRadiusZ>

<FormationCategory>Body</FormationCategory>

<MaxVelocity>6.0000</MaxVelocity>

<MaxRunVelocity>8.0000</MaxRunVelocity>   

奔跑速度,建议不要太高,6~8之间较为真实

<MovementType>land</MovementType>   

  移动类型,你也可以改成,air可以飞行或者water可以航行,除非你新建的是飞行生物或者舰船否则不建议这么做

<TurnRate>18.0000</TurnRate>

<AnimFile>units\spc\amelia_black\spc_amelia_black.xml</AnimFile>  

模型,这里套用战役英雄埃米莉亚·布莱克

<ImpactType>Flesh</ImpactType>

<Icon>Anelace\Anelace_icon_64x64</Icon>  
单位小图标文件

<PortraitIcon>Anelace\Anelace_igc_icon</PortraitIcon>  

单位大图标文件

<RolloverTextID>200002</RolloverTextID>   

游戏中显示的单位详细描述,代码对应stringtabley.xml

<ShortRolloverTextID>200003</ShortRolloverTextID>      

游戏中显示的单位简短描述,代码对应stringtabley.xml

<InitialHitpoints>1850.0000</InitialHitpoints>   

单位初始生命点数

<MaxHitpoints>1850.0000</MaxHitpoints>   

单位最大生命点数

<LOS>40.0000</LOS>  

单位视野

<AutoAttackRange>32.0000</AutoAttackRange>  

单位自动攻击范围

<UnitAIType>RangedCombative</UnitAIType>  

单位类型AI,这里是远程作战

<TrainPoints>1.0000</TrainPoints>

训练时间,建议1秒

<BuildLimit>1</BuildLimit>

单位建造限制,为了体现该新增英雄的独特性,因此这里只建议1,即玩家只能建造一个该英雄

<Cost resourcetype ='Food'>0.0000</Cost>

单位成本,这里是免费

<AllowedAge>0</AllowedAge>  

单位可诞生的时代,建议0,即不限制时代

<Armor type ='Hand' value ='1.0000'></Armor>

单位抵抗攻击的护甲,这里是对近战武器攻击免疫,玩家也可以改成Ranged、Siege、All来分别实现火枪、火炮免疫和无敌

<UnitType>LogicalTypeHealed</UnitType>

<UnitType>LogicalTypeNeededForVictory</UnitType>

<UnitType>LogicalTypeHandUnitsAutoAttack</UnitType>

<UnitType>LogicalTypeLandMilitary</UnitType>

<UnitType>LogicalTypeScout</UnitType>

<UnitType>LogicalTypeValidSPCUnitsDeadCondition</UnitType>

<UnitType>LogicalTypeGarrisonInShips</UnitType>

<UnitType>LogicalTypeRangedUnitsAutoAttack</UnitType>

<UnitType>LogicalTypeVillagersAttack</UnitType>

<UnitType>LogicalTypeHandUnitsAttack</UnitType>

<UnitType>LogicalTypeRangedUnitsAttack</UnitType>

<UnitType>LogicalTypeMinimapFilterMilitary</UnitType>

<UnitType>AbstractRangedInfantry</UnitType>

<UnitType>AbstractInfantry</UnitType>

<UnitType>ConvertsHerds</UnitType>

<UnitType>AbstractCavalryInfantry</UnitType>

<UnitType>Unit</UnitType>

<UnitType>Military</UnitType>

<UnitType>UnitClass</UnitType>

<UnitType>Hero</UnitType>

英雄单位

<UnitType>HasBountyValue</UnitType>

<UnitType>Ranged</UnitType>

<Train row ='0' page ='6' column ='2'>TownCenter</Train>  

可建造城镇中心

<Train row ='0' page ='6' column ='0'>TradingPost</Train>

可建造贸易站

<Train row ='0' page ='6' column ='1'>BG</Train>

可建造新建筑,游击士协会

<Flag>CollidesWithProjectiles</Flag>

<Flag>ApplyHandicapTraining</Flag>

<Flag>CorpseDecays</Flag>

<Flag>ShowGarrisonButton</Flag>

<Flag>DontRotateObstruction</Flag>

<Flag>ObscuredByUnits</Flag>

<Flag>NotDeleteable</Flag>
  
单位无法自杀\毁

<Flag>KnockoutDeath</Flag>   

单位无法死亡,濒死的时候,可由我方\友方救护,或者在城镇中心救赎 <Flag>RotateInPlace</Flag> <Flag>Tracked</Flag>

<Command page ='1' column ='1'>SetUnitAsHomeCityGatherPoint</Command>

可设定主城\船运集结点 <Command page ='10' column ='0'>Garrison</Command> <Command page ='11' column

='0'>Abilities</Command>  

开启技能界面 <Command page ='10' column ='2'>Stop</Command>

<Tactics>Anelace.tactics</Tactics>   

单位战术AI文件,下文会编辑这个极其重要的文件 <ProtoAction>  

单位能力 <Name>Build</Name>  

建造 <Rate type ='TownCenter'>20.000000</Rate>

建造城镇中心的速度提高20倍 <Rate type ='TradingPost'>20.000000</Rate> <Rate type ='BG'>20.000000</Rate> </ProtoAction>

<ProtoAction>

<Name>DoubleBarrelAttack</Name> 八叶灭杀 <Damage>10000.000000</Damage>

伤害 <DamageType>Ranged</DamageType>  

伤害类型 <MaxRange>32.000000</MaxRange>  

射程
<ROF>3.000000</ROF>  

攻击间隔(不是冷却时间,如果冷却时间太长,3秒后无法再发动该技能,冷却时间在下文会编辑修改)

<DamageArea>4.000000</DamageArea>

溅射范围 <DamageFlags>GAIAEnemy</DamageFlags>

</ProtoAction> <ProtoAction>

<Name>MusketAttack</Name>

<Damage>100.000000</Damage>

<DamageType>Ranged</DamageType>

<MaxRange>32.000000</MaxRange>

<ROF>1.000000</ROF>

<HitPercent>20.000000</HitPercent>

攻击造成的即死效果几率

<DamageMultiplier>100.000000</DamageMultiplier>  

触发即死效果时伤害加成 <HitPercentType>CriticalAttack</HitPercentType>

</ProtoAction> </Unit> <Unit id ='2002' name ='BG'>  

新建筑代码与名字--游击士协会 <DBID>2003</DBID>

<DisplayNameID>200006</DisplayNameID>

<PopulationCapAddition>200</PopulationCapAddition>   

增加200的人口

<ObstructionRadiusX>2.0000</ObstructionRadiusX>

<ObstructionRadiusZ>2.0000</ObstructionRadiusZ>

<MaxVelocity>0.0000</MaxVelocity>

<MovementType>land</MovementType>

<AnimFile>BG\BG.xml</AnimFile>  

模型--套用3级帝国炮塔

<DeadReplacement>BuildingRubble2x2</DeadReplacement>

<DeadReplacementLifespan>15</DeadReplacementLifespan>

<ImpactType>Wood</ImpactType>

<PhysicsInfo>house</PhysicsInfo>

<PlacementFile>buildingsmall.xml</PlacementFile>

<Icon>BG\BG_icon_64x64</Icon>

<PortraitIcon>BG\BG_portrait</PortraitIcon>

<RolloverTextID>200007</RolloverTextID>

<ShortRolloverTextID>200008</ShortRolloverTextID>

<InitialHitpoints>12000.0000</InitialHitpoints>

<MaxHitpoints>12000.0000</MaxHitpoints>

<LOS>1000.0000</LOS>

地图全亮

<ProjectileProtoUnit>Arrow</ProjectileProtoUnit><UnitAIType>RangedCombative</UnitAIType>

<BuildPoints>50.0000</BuildPoints>

<Cost resourcetype ='Wood'>0.0000</Cost>

<BuildingWorkRate>1.0000</BuildingWorkRate>

<MaxContained>20</MaxContained>  

最大装载\容纳20个单位

<AllowedAge>0</AllowedAge>

<Armor type ='Siege' value ='1.0000'></Armor>

对火炮免疫

<UnitType>LogicalTypeValidSabotage</UnitType>

<UnitType>LogicalTypeHandUnitsAutoAttack</UnitType>

<UnitType>LogicalTypeBuildingsNotWalls</UnitType>

<UnitType>LogicalTypeRangedUnitsAutoAttack</UnitType>

<UnitType>LogicalTypeVillagersAttack</UnitType>

<UnitType>LogicalTypeHandUnitsAttack</UnitType>

<UnitType>LogicalTypeShipsAndBuildings</UnitType>

<UnitType>LogicalTypeRangedUnitsAttack</UnitType>

<UnitType>LogicalTypeBuildingsNotWallsOrGroves</UnitType>

<UnitType>LogicalTypeMinimapFilterMilitary</UnitType>

<UnitType>Building</UnitType>

<UnitType>BuildingClass</UnitType>

<UnitType>MilitaryBuilding</UnitType>

<UnitType>HasBountyValue</UnitType>

<UnitType>AbstractFort</UnitType>

<UnitType>CountsTowardMilitaryScore</UnitType>

<UnitType>ConvertsHerds</UnitType>

<Tech row ='0' page ='1' column ='0'>DLGM</Tech>

主动技能--导力革命

<Flag>AllowAutoGarrison</Flag>

<Flag>CollidesWithProjectiles</Flag>

<Flag>StartsAtFullEfficiency</Flag>

<Flag>Immoveable</Flag>

<Flag>NoBloodOnDeath</Flag>

<Flag>ObscuresUnits</Flag>

<Flag>NonAutoFormedUnit</Flag>

<Flag>Doppled</Flag>

<Flag>SelectWithObstruction</Flag>

<Flag>PaintTextureWhenPlacing</Flag>

<Flag>FlattenGround</Flag>

<Flag>HasGatherPoint</Flag>

<Flag>Tracked</Flag>

<Contain>All</Contain>

可装载\容纳所有种类的单位

<Command page ='11' column ='0'>Abilities</Command>  

开启技能界面

<Command page ='1' column ='1'>SetUnitAsHomeCityGatherPoint</Command>

<Command page ='10' column ='3'>Delete</Command>

<Command>CancelNativeDance</Command>

<Command>StartNativeDance</Command>

<Command page ='10' column ='2'>Eject</Command>

<Command page ='10' column ='1'>SetGatherPointEconomy</Command>

<Command page ='10' column ='0'>SetGatherPointMilitary</Command>

<Tactics>BG.tactics</Tactics>

<ProtoAction> <Name>AntiShipAttack</Name>  

反舰攻击

<Damage>10000.000000</Damage>

<DamageType>Siege</DamageType>

<MinRange>0.000000</MinRange>

<MaxRange>40.000000</MaxRange>

</ProtoAction> <ProtoAction>

<Name>CannonAttack</Name>  

炮轰攻击

<Damage>6000.000000</Damage>

<action>



<name stringid="38133">RangedAttack</name>



<type>Attack</type>



<attackaction>1</attackaction>




<tactic>



Normal



<attacktype>LogicalTypeRangedUnitsAttack</attacktype>



<autoattacktype>LogicalTypeRangedUnitsAutoAttack</autoattacktype>



<attackresponsetype>LogicalTypeRangedUnitsAttack</attackresponsetype>



<action>MBE</action>   
别看漏了,这个要加!!



<action priority="100">AntiShipAttack</action>






</tactic>


</tactics>


这样就达到了新英雄始终跑动状态的效果。


之后打开Anelace. tactics文件进行新英雄技能的赋予,清空该文件全部文本内容并添加如下内容后保存:


<?xml version="1.0" encoding="utf-8"?>





<tactics>



<action>



<name stringid="69148">Discover</name>   
探索宝藏



<type>Discover</type>



<anim>Pickup</anim>



<maxrange>0.2</maxrange>



<rate type="AbstractNugget">1.0</rate>  

可搜集宝藏



</action>



<action>



<name stringid="69147">Build</name>   

建造建筑



<type>Build</type>



<anim>Build</anim>



<maxrange>0.2</maxrange>



<rate type="Building">1.0</rate>  

可建造建筑



</action>



<action>



<name stringid="38133">MusketAttack</name>

火枪攻击且无装填弹药动作的代码如下



<type>Attack</type>



<attackaction>1</attackaction>



<rangedlogic>1</rangedlogic>



<anim>RangedAttack</anim>



<maxheight>0</maxheight>



<accuracy>1.0</accuracy>



<accuracyreductionfactor>0.5</accuracyreductionfactor>



<aimbonus>0</aimbonus>



<maxspread>5</maxspread>



<spreadfactor>0.25</spreadfactor>



<trackrating>12</trackrating>



<unintentionaldamagemultiplier>0.7</unintentionaldamagemultiplier>



<projectile>InvisibleProjectile</projectile>



<impacteffect>effects\impacts\gun</impacteffect>



<minrange>1</minrange>



<rate type="All">1.0 </rate>     
可攻击所有敌方目标,包括建筑物和舰船



<instantballistics>1</instantballistics>



</action>



<action>



<name stringid="38120">DoubleBarrelAttack</name>
八叶灭杀



<type>Attack</type>



<attackaction>1</attackaction>



<rangedlogic>1</rangedlogic>



<anim>RangedAttackSharpshoot</anim>



<idleanim>SharpshootIdle</idleanim>



<boredanim>SharpshootIdle</boredanim>



<maxheight>0</maxheight>



<accuracy>1.0</accuracy>



<accuracyreductionfactor>0.001</accuracyreductionfactor>



<aimbonus>5</aimbonus>



<trackrating>12</trackrating>



<rate type="All">1.0 </rate>   
可攻击所有敌方目标,包括建筑物和舰船和村民



<impacteffect>effects\impacts\gun</impacteffect>



<projectile>InvisibleProjectile</projectile>



<rof>1.000000</rof>



<targetground>1</targetground>



<basedamagecap>1</basedamagecap>



<areasortmode>Directional</areasortmode>



<throw>1</throw>



</action>



<action>



<name stringid="200004">JFS</name>
伤害光环代码如下



<type>AutoRangedModify</type>



<modifyabstracttype>All</modifyabstracttype>



<active>1</active>



<maxrange>1000</maxrange>



<persistent>1</persistent>



<modifytype>Damage</modifytype>



<modifymultiplier>1.5</modifymultiplier>



<modelattachment>effects\ypack_auras\daimyopower.xml</modelattachment>



<modelattachmentbone>bonethatdoesntexist</modelattachmentbone>



</action>



<action>



<name stringid="200004">FHZ</name>  
生命光环代码如下



<type>AutoRangedModify</type>



<modifyabstracttype>All</modifyabstracttype>



<active>1</active>



<maxrange>1000</maxrange>



<persistent>1</persistent>



<modifytype>MaxHP</modifytype>



<modifymultiplier>1.5</modifymultiplier>



<modelattachment>effects\ypack_auras\daimyopower.xml</modelattachment>



<modelattachmentbone>bonethatdoesntexist</modelattachmentbone>



</action>



<action>



<name stringid="200004">LY</name>   
速度光环代码如下



<type>AutoRangedModify</type>



<modifyabstracttype>All</modifyabstracttype>



<active>1</active>



<maxrange>1000</maxrange>



<persistent>1</persistent>



<modifytype>Speed</modifytype>



<modifymultiplier>1.5</modifymultiplier>



<modelattachment>effects\ypack_auras\daimyopower.xml</modelattachment>



<modelattachmentbone>bonethatdoesntexist</modelattachmentbone>



</action>



<tactic>



Volley



<speedmodifier>1.0</speedmodifier>



<action>JFS</action>



<action>FHZ</action>
<action>LY</action>



<action priority="100">MusketAttack</action>



<action priority="75">DoubleBarrelAttack</action>



<action>Build</action>



<action>Discover</action>



<attacktype>LogicalTypeRangedUnitsAttack</attacktype>



<autoattacktype>LogicalTypeRangedUnitsAutoAttack</autoattacktype>



<attackresponsetype>LogicalTypeRangedUnitsAttack</attackresponsetype>



<runaway>0</runaway>



<idleanim>Idle</idleanim>



<boredanim>Bored</boredanim>



<deathanim>Death</deathanim>



<walkanim>Walk</walkanim>



<joganim>Jog</joganim>



<runanim>Run</runanim>



</tactic>



<tactic>



Defend



<speedmodifier>1.0</speedmodifier>



<action>JFS</action>



<action>FHZ</action>



<action>LY</action>



<action priority="100">MusketAttack</action>



<action priority="75">DoubleBarrelAttack</action>



<action>Build</action>



<action>Discover</action>



<attacktype>LogicalTypeRangedUnitsAttack</attacktype>



<autoattacktype>LogicalTypeRangedUnitsAutoAttack</autoattacktype>



<attackresponsetype>LogicalTypeRangedUnitsAttack</attackresponsetype>



<runaway>0</runaway>



<idleanim>Idle</idleanim>



<boredanim>Bored</boredanim>



<deathanim>Death</deathanim>



<walkanim>Walk</walkanim>



<joganim>Jog</joganim>



<runanim>Run</runanim>



</tactic>



<tactic>



Stagger



<speedmodifier>1.0</speedmodifier>



<action>JFS</action>



<action>FHZ</action>



<action>LY</action>



<action priority="100">MusketAttack</action>



<action priority="75">DoubleBarrelAttack</action>



<action>Build</action>



<action>Discover</action>



<attacktype>LogicalTypeRangedUnitsAttack</attacktype>



<autoattacktype>LogicalTypeRangedUnitsAutoAttack</autoattacktype>



<attackresponsetype>LogicalTypeRangedUnitsAttack</attackresponsetype>



<runaway>0</runaway>



<idleanim>Idle</idleanim>



<boredanim>Bored</boredanim>



<deathanim>Death</deathanim>



<walkanim>Walk</walkanim>



<joganim>Jog</joganim>



<runanim>Run</runanim>



</tactic>


</tactics>


这样,新英雄的技能就全部完成呐!!


最后我们再打开BG. tactics文件进行新建筑技能的赋予,清空该文件全部文本内容并添加如下内容后保存:


<?xml version="1.0" encoding="utf-8"?>





<tactics>



<action>



<name stringid="38119">CannonAttack</name>



<type>Attack</type>



<attackaction>1</attackaction>



<rangedlogic>1</rangedlogic>



<anim>RangedAttackShip</anim>



<maxheight>0</maxheight>



<accuracy>1.0</accuracy>



<aimbonus>0</aimbonus>



<maxspread>5</maxspread>



<spreadfactor>0.25</spreadfactor>



<trackrating>12</trackrating>



<unintentionaldamagemultiplier>0.7</unintentionaldamagemultiplier>



<projectile>Cannonball</projectile>



<impacteffect>effects\impacts\cannon</impacteffect>



<rate type="Unit">1.0 </rate>



<active>0</active>



<throw>1</throw>



<outerdamageareadistance>.25</outerdamageareadistance>



<outerdamageareafactor>.20</outerdamageareafactor>



<areasortmode>Directional</areasortmode>



<perfectaccuracy>1</perfectaccuracy>



<targetground>1</targetground>



<numberbounces>1</numberbounces>



<basedamagecap>1</basedamagecap>



</action>



<action>



<name stringid="38121">AntiShipAttack</name>



<type>Attack</type>



<attackaction>1</attackaction>



<rangedlogic>1</rangedlogic>



<anim>RangedAttackShip</anim>



<maxheight>0</maxheight>



<accuracy>1.0</accuracy>



<aimbonus>0</aimbonus>



<maxspread>5</maxspread>



<spreadfactor>0.25</spreadfactor>



<trackrating>12</trackrating>



<unintentionaldamagemultiplier>0.7</unintentionaldamagemultiplier>



<projectile>Cannonball</projectile>



<impacteffect>effects\impacts\cannon</impacteffect>



<perfectaccuracy>1</perfectaccuracy>



<rate type="AbstractWarship">1.0 </rate>



</action>



<action>



<name stringid="70488">Heal</name>   
治疗光环代码如下



<type>Heal</type>



<maxrange>1000</maxrange>



<rate type="All">10.0 </rate>



<active>1</active>



<anim>Heal</anim>



</action>



<action>



<name stringid="43019">AutoGather</name>   
资源光环代码如下



<type>AutoGather</type>



<persistent>1</persistent>



</action>



<tactic>



Normal



<attacktype>LogicalTypeRangedUnitsAttack</attacktype>



<autoattacktype>LogicalTypeRangedUnitsAutoAttack</autoattacktype>



<attackresponsetype>LogicalTypeRangedUnitsAttack</attackresponsetype>



<action priority="100">AntiShipAttack</action>



<action priority="75">CannonAttack</action>



<action>Spawn</action>



<action>Heal</action>



<action>AutoGather</action>



</tactic>


</tactics>


于是,我们把新建筑的技能也赋予完毕了,剩下的任务已经不多了,赶紧进入下一章吧!!

4MOD实现方法

4.1、让我们的新单位在游戏里生效



打开:新建文件夹\data\ techtreey.xml


在文本末尾处添加紫色代码如下:



… …


<RolloverTextID>70512</RolloverTextID>



<Flag>HomeCity</Flag>



<Effects>



<Effect type ='Data' action ='AutoGather' amount ='0.40' subtype ='WorkRate' unittype ='XP' relativity ='Absolute'>



<Target type ='ProtoUnit'>Church</Target></Effect></Effects>



</Tech>



<Tech name ='LionCat' type ='Normal'>   
以我自己的名字为代码的一个科技,游戏中将不会显示出来,但是效果一进游戏即生效,仅对玩家有效



<DBID>20000</DBID>



<ResearchPoints>0.0000</ResearchPoints>



<Status>OBTAINABLE</Status>



<Flag>Shadow</Flag>



<Effects>




<Effect type ='Data' amount ='1' subtype ='Enable' relativity ='Absolute'>     
启动亚妮拉丝为可训练状态




<Target type ='ProtoUnit'>Anelace</Target></Effect>




<Effect type ='Data' amount ='1' subtype ='Enable' relativity ='Absolute'>      启动游击士协会为可建造状态




<Target type ='ProtoUnit'>BG</Target></Effect>




<Effect type ='Data' action ='CannonAttack' amount ='1.00' subtype ='ActionEnable' relativity ='Absolute'>   
游击士协会启动炮轰攻击模式




<Target type ='ProtoUnit'>BG</Target></Effect>



</Effects>



</Tech>



<Tech name ='DLGM' type ='Normal'>     
游击士协会的主动技能导力革命



<DBID>20001</DBID>



<DisplayNameID>200011</DisplayNameID>



<Cost resourcetype ='Gold'>0.0000</Cost>



<ResearchPoints>1.0000</ResearchPoints>



<Status>OBTAINABLE</Status>



<Icon>BG\tech_BG</Icon>



<RolloverTextID>200012</RolloverTextID>



<Flag>CountsTowardMilitaryScore</Flag>



<Effects>




<Effect type ='Data' amount ='0.01' subtype ='ResearchPoints' relativity ='Percent'>   
科研和船运的速度加快100倍




<Target type ='techAll'></Target></Effect>



</Effects>



</Tech>


</TechTree>


那么,现在游戏里我们的新单位就能出现了,她在城镇中心里训练出来,后续效果皆可生效!!


4.2、在帝国时代3+酋长+亚洲王朝里“安装\卸载”我们的MOD



首先请玩家一定备份好原始游戏data\目录下的


protoy.xml


stringtabley.xml


techtreey.xml


这3个文件。


1、安装MOD


将我们的新建文件夹下的所有文件复制到游戏目录下即可。


2、卸载MOD


删除安装MOD时在游戏目录下生成的所有文件,复制以下


protoy.xml


stringtabley.xml


techtreey.xml


之前备份的这3个文件到游戏目录\data\下即可。

5MOD总结

我相信能够坚持看到这里的玩家,至少是能知道如何自己创作一个MOD的大致流程了,虽然可能需要依葫芦画瓢多练习练习和温习温习,但是也能有目的有方向的去思考和分析了吧!!


我们可以看到,这个MOD的创作过程虽然比较复杂,但是却很清晰明了的显示了MOD在游戏中诞生的脚印,最关键的是,我们其实仅仅只是在游戏里添加了一个新的英雄单位,就基本可以达到这个游戏你所需要的全部效果,并且拓展性极强。


拓展性强点在于,这个MOD还可以拓展到许多更多更强大的功能,甚至可以创作大型全新的帝国MOD。例如:


MOD中的新英雄可以为她继续添加代码实现训练任意游戏中的单位或者你自创的新单位;


MOD中的新英雄她的一个固定被动技能还能拓展出更多效果,类似降低敌人的攻击力、生命点数、移动速度,瘫痪敌人、躲闪敌人的攻击等等。


MOD中新英雄建造的新建筑的主动技能可以强化出更多效果,类似加快搜集、生产、单位的训练速度等。


因此,我们可以看到,只要你愿意,游戏中一个新英雄即可实现你所有期望的效果!!


你还在等什么,不想创造自己或者自己喜欢的某个东西来打造自己的帝国吗?!


The war has Just begun!! Now, It’s show time!!

6参考文献

【1】【转帖】帝国时代3修改教程  by finalsky  

【2】【原创】亚洲王朝一键科技MOD (v1.0 v1.01 v1.01a 全兼容正式版)!     by goodren

【3】【原创】亚洲王朝所有单位自动回血快速修改  by Sean_CGOL

【4】AoE3Ed v0.9 - Preview Release by Ykkrosh / Philip Taylor



鸣谢

在本论文的完成过程中,感谢Microsoft Games的制作人员给我们带来了如此优秀的游戏作品,感谢Sean_CGOL
finalsky  goodren Ykkrosh / Philip Taylor的资料和内容,他们严谨的游戏态度和创新的游戏思路是我孜孜不倦学习和研究的动力。


还要感谢我父母、我的亲人、我的同学和老师,他们的栽培和关怀让我可以全身心的投入到论文的创作中。


原创性声明

本论文系本人独立完成,除了参考文献内部分内容借鉴之外,其余皆为本人原创内容,任何人不得擅自以其他名义篡改、复制和传播,如需转载,请注明出处和原作者,违者必究。

The First Productor:LionCat

The Second Productor:Sonic、NH3NH3NH3NH3

评分

参与人数 1铜钱 +30 白银 +30 黄金 +30 声望 +10 收起 理由
学游泳的鱼 + 30 + 30 + 30 + 10

查看全部评分

回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 加入团队

本版积分规则

玩帝国,到新时代

在这里,找到战友,找到家

多维度入门指南 玩家晋级攻略指南 线上对战巅峰对决
新时代软件中心 权威玩家问答系统 帝国精选视频集合
全球帝国时代社区 汇聚海内外玩家 点击下载app
  • 免责声明: 帝国新时代所发布的一切文章、帖子和资源及部分帝国补丁仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该资源,请支持正版软件,购买使用,得到更好的正版服务。如有侵权请邮件与我们联系处理。