复制原有单位制作新单位 | 添加新单位


这个教程是复制游戏里面原有的单位,制作成一个新单位。

首先,选定一个原身,我选的是Learicorn (利尔利)。
在protoy.xml中找到Learicorn,从<Unit id ='427' name ='Learicorn'>开始往下复制到Learicorn的末尾</Unit>

然后按照格式粘贴(建议粘贴在文件的末尾)。

注意:粘贴应仿照其他单位的格式。复制格式错了,导致游戏初始化失败,不要说我的教程没用。

新兵种的雏形以做好。

下面对粘贴后的内容作修改。

name改为与Learicorn不同的名字,如Learicorn2。

<Unit id ='427' name ='Learicorn'>
修改后↓

<Unit id ='427' name ='Learicorn2'>

DisplayNameID,EditorNameID改为不与任何单位重合的数字,可以分别是99999,99998。 下面对DisplayNameID,EditorNameID写入你所需要的名称。(也可以是相同的,不过会采用相同的名称。)

DisplayNameID为单位主要名称。

EditorNameID为剧情编辑器里的名称。如果不添加就采用DisplayNameID的名称。

修改后↓
<DisplayNameID>99999</DisplayNameID>
<EditorNameID>99998</EditorNameID>

其他属性之类的你自己修改。
例如你把DefendHandAttack下面的800改成1000,那么该单位的DefendHandAttack攻击力就变成1000。




复制语句如下(复制蓝色背景的语句,有许多萌新老是从</Unit>开始复制,这个做法是错误的):
protoy.xml - 记事本
	<Unit id ='527' name ='LakeWaterPlantsNe'>
		<DBID>694</DBID>
		<DisplayNameID>32273</DisplayNameID>
		<EditorNameID>32274</EditorNameID>
		<ObstructionRadiusX>1.0000</ObstructionRadiusX>
		<ObstructionRadiusZ>1.0000</ObstructionRadiusZ>
		<IdleTimeout>5.0000</IdleTimeout>
		<MaxVelocity>3.0000</MaxVelocity>
		<MaxRunVelocity>5.0000</MaxRunVelocity>
		<MovementType>water</MovementType>
		<AnimFile>terrain\new_england\lake_water_plants_ne.xml</AnimFile>
		<LOS>0.0000</LOS>
		<UnitType>LogicalTypeVillagersRespondToAttack</UnitType>
		<UnitType>EmbellishmentClass</UnitType>
		<UnitType>Nature</UnitType>
		<Flag>StartOnAnimationUpdate</Flag>
		<Flag>DontRotateObstruction</Flag>
		<Flag>NonAutoFormedUnit</Flag>
		<Flag>SelectWithObstruction</Flag>
		<Flag>ForceToGaia</Flag>
		<Flag>DoNotDieAtZeroHitpoints</Flag>
		<Flag>NoBloodOnDeath</Flag>
		<Flag>DecalStickToWaterSurface</Flag>
		<Flag>RenderAfterWater</Flag>
		<Flag>DontSortAlphaPolys</Flag>
		<Flag>NonCollideable</Flag>
		<Flag>NavalUnit</Flag>
		<Flag>PlaceAnywhere</Flag>
		<Flag>TieToWaterSurface</Flag>
		<Flag>DoNotShowOnMiniMap</Flag>
		<Flag>VisibleUnderFog</Flag>
		<Flag>NotSelectable</Flag>
		<Flag>NoHPBar</Flag>
		<Flag>DoNotCreateUnitGroupAutomatically</Flag>
		<Flag>Tracked</Flag>
	</Unit>
<Unit id ='528' name ='Learicorn'> <DBID>696</DBID> <DisplayNameID>32356</DisplayNameID> <EditorNameID>32357</EditorNameID> <ObstructionRadiusX>0.7900</ObstructionRadiusX> <ObstructionRadiusZ>0.7900</ObstructionRadiusZ> <FormationCategory>Mobile</FormationCategory> <MaxVelocity>7.5000</MaxVelocity> <MaxRunVelocity>9.5000</MaxRunVelocity> <MovementType>land</MovementType> <TurnRate>18.0000</TurnRate> <AnimFile>units\cavalry\light_cavalry\learicorn_cavalry_horse.xml</AnimFile> <ImpactType>Flesh</ImpactType> <PhysicsInfo>cav</PhysicsInfo> <Icon>units\cavalry\learicorn\learicorn_icon_64x64</Icon> <PortraitIcon>units\cavalry\learicorn\learicorn_portrait</PortraitIcon> <RolloverTextID>32355</RolloverTextID> <ShortRolloverTextID>32354</ShortRolloverTextID> <InitialHitpoints>600.0000</InitialHitpoints> <MaxHitpoints>600.0000</MaxHitpoints> <LOS>12.0000</LOS> <UnitAIType>HandCombative</UnitAIType> <Bounty>15000.0000</Bounty> <BuildBounty>10000.0000</BuildBounty> <Cost resourcetype ='Food'>80.0000</Cost> <Cost resourcetype ='Gold'>40.0000</Cost> <AllowedAge>1</AllowedAge> <Armor type ='Hand' value ='0.9000'></Armor> <UnitType>LogicalTypeHealed</UnitType> <UnitType>LogicalTypeValidSharpshoot</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>AbstractCavalry</UnitType> <UnitType>Unit</UnitType> <UnitType>UnitClass</UnitType> <UnitType>Military</UnitType> <UnitType>CountsTowardEconomicScore</UnitType> <UnitType>AbstractCavalryInfantry</UnitType> <UnitType>CountsTowardMilitaryScore</UnitType> <UnitType>AbstractHeavyCavalry</UnitType> <UnitType>HasBountyValue</UnitType> <UnitType>AbstractHandCavalry</UnitType> <Flag>CollidesWithProjectiles</Flag> <Flag>ApplyHandicapTraining</Flag> <Flag>CorpseDecays</Flag> <Flag>ShowGarrisonButton</Flag> <Flag>DontRotateObstruction</Flag> <Flag>ObscuredByUnits</Flag> <Flag>ConstrainOrientation</Flag> <Flag>OrientUnitWithGround</Flag> <Flag>NotPlayerPlaceable</Flag> <Flag>Tracked</Flag> <Command page ='10' column ='1'>Stop</Command> <Command page ='10' column ='0'>Garrison</Command> <Command page ='10' column ='2'>Delete</Command> <Tactics>handCavalry.tactics</Tactics> <ProtoAction> <Name>BuildingAttack</Name> <Damage>500.000000</Damage> <DamageType>Siege</DamageType> <ROF>2.000000</ROF> </ProtoAction> <ProtoAction> <Name>DefendHandAttack</Name> <Damage>800.000000</Damage> <DamageType>Hand</DamageType> <ROF>1.000000</ROF> </ProtoAction> <ProtoAction> <Name>GuardianAttack</Name> <Damage>800.000000</Damage> <DamageType>Hand</DamageType> <ROF>1.000000</ROF> </ProtoAction> <ProtoAction> <Name>MeleeHandAttack</Name> <Damage>800.000000</Damage> <DamageType>Hand</DamageType> <ROF>1.000000</ROF> </ProtoAction> <ProtoAction> <Name>TrampleHandAttack</Name> <Damage>533.000000</Damage> <DamageType>Hand</DamageType> <ROF>2.000000</ROF> <DamageCap>1600.000000</DamageCap> <DamageArea>9.000000</DamageArea> <DamageFlags>Enemy</DamageFlags> </ProtoAction> </Unit>
<Unit id ='529' name ='TreePampas'> <DBID>697</DBID> <DisplayNameID>32401</DisplayNameID> <EditorNameID>32402</EditorNameID> <ObstructionRadiusX>1.0000</ObstructionRadiusX> <ObstructionRadiusZ>1.0000</ObstructionRadiusZ> <MaxVelocity>0.0000</MaxVelocity> <MovementType>land</MovementType> <AnimFile>terrain\tree_pampas.xml</AnimFile> <ImpactType>Wood</ImpactType> <Icon>terrain\trees\tree_icon_64</Icon> <PortraitIcon>terrain\trees\tree_icon_portrait</PortraitIcon> <RolloverTextID>32400</RolloverTextID> <ShortRolloverTextID>32399</ShortRolloverTextID> <InitialHitpoints>6.0000</InitialHitpoints> <MaxHitpoints>6.0000</MaxHitpoints> <Bounty>0.0000</Bounty> <InitialResource resourcetype ='Wood'>300.0000</InitialResource> <ResourceSubType>Wood</ResourceSubType> <MinimapColor red ='0.1900' blue ='0.1800' green ='0.2500'></MinimapColor> <GathererLimit>8</GathererLimit> <UnitType>LogicalTypeMinimapFilterEconomic</UnitType> <UnitType>LogicalTypeVillagersAttack</UnitType> <UnitType>LogicalTypeVillagersRespondToAttack</UnitType> <UnitType>HuntedResource</UnitType> <UnitType>Resource</UnitType> <UnitType>Nature</UnitType> <UnitType>Wood</UnitType> <UnitType>Tree</UnitType> <UnitType>NatureClass</UnitType> <Flag>ObscuresUnits</Flag> <Flag>NoHPBar</Flag> <Flag>NoBloodOnDeath</Flag> <Flag>DoNotDieAtZeroHitpoints</Flag> <Flag>NonAutoFormedUnit</Flag> <Flag>DoNotCreateUnitGroupAutomatically</Flag> <Flag>Immoveable</Flag> <Flag>Doppled</Flag> <Flag>ForceToGaia</Flag> <Flag>DieAtZeroResources</Flag> <Flag>StartOnNoUpdate</Flag> <Flag>DoNotValidateResourceInventory</Flag> <Flag>DontRotateObstruction</Flag> <Flag>DoppleOnlyWhenDead</Flag> <Flag>NoIdleActions</Flag> <Flag>RMCanRotate</Flag> <Flag>Tracked</Flag> </Unit>



建议将语句粘贴在protoy.xml的末尾处:(底部的</Proto>上面)
属性修改后如下图:
protoy.xml - 记事本
	<Unit id ='528' name ='Learicorn2'>
		<DBID>696</DBID>
		<DisplayNameID>99999</DisplayNameID>
		<EditorNameID>99998</EditorNameID>
		<ObstructionRadiusX>0.7900</ObstructionRadiusX>
		<ObstructionRadiusZ>0.7900</ObstructionRadiusZ>
		<FormationCategory>Mobile</FormationCategory>
		<MaxVelocity>7.5000</MaxVelocity>
		<MaxRunVelocity>9.5000</MaxRunVelocity>
		<MovementType>land</MovementType>
		<TurnRate>18.0000</TurnRate>
		<AnimFile>units\cavalry\light_cavalry\learicorn_cavalry_horse.xml</AnimFile>
		<ImpactType>Flesh</ImpactType>
		<PhysicsInfo>cav</PhysicsInfo>
		<Icon>units\cavalry\learicorn\learicorn_icon_64x64</Icon>
		<PortraitIcon>units\cavalry\learicorn\learicorn_portrait</PortraitIcon>
		<RolloverTextID>32355</RolloverTextID>
		<ShortRolloverTextID>32354</ShortRolloverTextID>
		<InitialHitpoints>600.0000</InitialHitpoints>
		<MaxHitpoints>600.0000</MaxHitpoints>
		<LOS>12.0000</LOS>
		<UnitAIType>HandCombative</UnitAIType>
		<Bounty>15000.0000</Bounty>
		<BuildBounty>10000.0000</BuildBounty>
		<Cost resourcetype ='Food'>80.0000</Cost>
		<Cost resourcetype ='Gold'>40.0000</Cost>
		<AllowedAge>1</AllowedAge>
		<Armor type ='Hand' value ='0.9000'></Armor>
		<UnitType>LogicalTypeHealed</UnitType>
		<UnitType>LogicalTypeValidSharpshoot</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>AbstractCavalry</UnitType>
		<UnitType>Unit</UnitType>
		<UnitType>UnitClass</UnitType>
		<UnitType>Military</UnitType>
		<UnitType>CountsTowardEconomicScore</UnitType>
		<UnitType>AbstractCavalryInfantry</UnitType>
		<UnitType>CountsTowardMilitaryScore</UnitType>
		<UnitType>AbstractHeavyCavalry</UnitType>
		<UnitType>HasBountyValue</UnitType>
		<UnitType>AbstractHandCavalry</UnitType>
		<Flag>CollidesWithProjectiles</Flag>
		<Flag>ApplyHandicapTraining</Flag>
		<Flag>CorpseDecays</Flag>
		<Flag>ShowGarrisonButton</Flag>
		<Flag>DontRotateObstruction</Flag>
		<Flag>ObscuredByUnits</Flag>
		<Flag>ConstrainOrientation</Flag>
		<Flag>OrientUnitWithGround</Flag>
		<Flag>NotPlayerPlaceable</Flag>
		<Flag>Tracked</Flag>
		<Command page ='10' column ='1'>Stop</Command>
		<Command page ='10' column ='0'>Garrison</Command>
		<Command page ='10' column ='2'>Delete</Command>
		<Tactics>handCavalry.tactics</Tactics>
		<ProtoAction>
			<Name>BuildingAttack</Name>
			<Damage>500.000000</Damage>
			<DamageType>Siege</DamageType>
			<ROF>2.000000</ROF>
		</ProtoAction>
		<ProtoAction>
			<Name>DefendHandAttack</Name>
			<Damage>1000.000000</Damage>
			<DamageType>Hand</DamageType>
			<ROF>1.000000</ROF>
		</ProtoAction>
		<ProtoAction>
			<Name>GuardianAttack</Name>
			<Damage>800.000000</Damage>
			<DamageType>Hand</DamageType>
			<ROF>1.000000</ROF>
		</ProtoAction>
		<ProtoAction>
			<Name>MeleeHandAttack</Name>
			<Damage>800.000000</Damage>
			<DamageType>Hand</DamageType>
			<ROF>1.000000</ROF>
		</ProtoAction>
		<ProtoAction>
			<Name>TrampleHandAttack</Name>
			<Damage>533.000000</Damage>
			<DamageType>Hand</DamageType>
			<ROF>2.000000</ROF>
			<DamageCap>1600.000000</DamageCap>
			<DamageArea>9.000000</DamageArea>
			<DamageFlags>Enemy</DamageFlags>
		</ProtoAction>
	</Unit>
</Proto><!--这个是protoy底部的结尾,语句超出这个结尾外会出错。所以要将语句粘贴在</Proto>上面-->



打开stringtabley.xml,仿照其他内容新建两行(即<String _locID ='X'>Y</String>,注意格式)。
在这两行的X处分别写入99999/99998
Y为名称/介绍。
		<String _locID ='99999'>独角兽骑士</String>
		<String _locID ='99998'>CAV独角兽骑士</String>



我喜欢修改randommapstringsy.xml,而不是修改srtingtabley.xml
randommapstringsy.xml - 记事本
<?xml version="1.0" encoding="utf-8"?>

		<StringTable version="130">
			<Language name="English">
				<String _locID="130015">Ozarks</String>
				<String _locID="130016">Ozarks: Dense thickets filled with wildlife dot this rolling terrain.</String>
				<String _locID="130017">Hilltop trading posts sit beside a trade route that crosses the map from East to West. Teams are split across the trade route.</String>
				<String _locID="130018">Plymouth</String>
				<String _locID="130019">Plymouth: A bountiful land of natural treasures and grateful Pilgrims.</String>
				<String _locID="130020">Each colony can use intrepid Pilgrims and Scout Turkeys to explore the bountiful wilderness for Native Settlements and unique treasures.</String>
				<String _locID ='99999'>独角兽骑士</String>
				<String _locID ='99998'>CAV独角兽骑士</String>
				<!-- 输入双引号与单引号都是可行的 -->
			</Language>
		</StringTable>

下面介绍生产该单位方法。 你可以通过卡片,也可以把新建的单位运送出来。有一个卡片是运来3个轻骑兵的,我们可以在这张卡片上修改。
打开techtreey.xml,它的卡片调用名为HCShipHussars1,搜到这张卡片,将unittype后面的Hussar改为你刚命名的Learicorn2即可!
techtreey.xml - 记事本
	<Tech name ='HCShipHussars1' type ='Normal'>
		<DBID>2188</DBID>
		<DisplayNameID>35659</DisplayNameID>
		<Cost resourcetype ='Ships'>1.0000</Cost>
		<ResearchPoints>40.0000</ResearchPoints>
		<Status>UNOBTAINABLE</Status>
		<Icon>units\cavalry\light_cavalry\light_cavalry_icon_64x64</Icon>
		<Flag>HomeCity</Flag>
		<Effects>
			<Effect type ='Data' amount ='3.00' subtype ='FreeHomeCityUnit' unittype ='Hussar' relativity ='Absolute'>
				<Target type ='Player'></Target></Effect>
		</Effects>
	</Tech>
	<Tech name ='HCShipRodeleros1' type ='Normal'>
		<DBID>2189</DBID>
		<DisplayNameID>35660</DisplayNameID>
		<Cost resourcetype ='Ships'>1.0000</Cost>
		<ResearchPoints>40.0000</ResearchPoints>
		<Status>UNOBTAINABLE</Status>
		<Icon>units\infantry\redolero\redolero_icon_64x64</Icon>
		<Flag>HomeCity</Flag>
		<Effects>
			<Effect type ='Data' amount ='5.00' subtype ='FreeHomeCityUnit' unittype ='Rodelero' relativity ='Absolute'>
				<Target type ='Player'></Target></Effect>
		</Effects>
	</Tech>
当然你也可以复制techtreey的语句,然后变成运送Hussar与Learicorn2两种单位 下图为运送3个Hussar与5个Learicorn2的修改,注意一下绿色的</Effects>,萌新很容易复制到,导致初始化失败。</Effects>是与<Effects>对应的,如果多复制粘贴了一个,就会导致xml语法错误,打开游戏初始化失败。
事实上,正确的格式化应该是这样的,</Target>与</Effect>应当换行
		<Effects>
			<Effect type ='Data' amount ='3.00' subtype ='FreeHomeCityUnit' unittype ='Hussar' relativity ='Absolute'>
				<Target type ='Player'></Target>
			</Effect>
			<Effect type ='Data' amount ='5.00' subtype ='FreeHomeCityUnit' unittype ='Learicorn2' relativity ='Absolute'>
				<Target type ='Player'></Target>
			</Effect>
		</Effects>
但是帝国时代3data文件夹所有的techtree.xml都遗留下了</Target>与</Effect>不换行这种格式,所以圣典依然是采用这种格式;具体修改如下:
techtreey.xml - 记事本
	<Tech name ='HCShipHussars1' type ='Normal'>
		<DBID>2188</DBID>
		<DisplayNameID>35659</DisplayNameID>
		<Cost resourcetype ='Ships'>1.0000</Cost>
		<ResearchPoints>40.0000</ResearchPoints>
		<Status>UNOBTAINABLE</Status>
		<Icon>units\cavalry\light_cavalry\light_cavalry_icon_64x64</Icon>
		<Flag>HomeCity</Flag>
		<Effects>
			<Effect type ='Data' amount ='3.00' subtype ='FreeHomeCityUnit' unittype ='Hussar' relativity ='Absolute'>
				<Target type ='Player'></Target></Effect>
			<Effect type ='Data' amount ='5.00' subtype ='FreeHomeCityUnit' unittype ='Learicorn2' relativity ='Absolute'>
				<Target type ='Player'></Target></Effect>
		</Effects>
	</Tech>
	<Tech name ='HCShipRodeleros1' type ='Normal'>
		<DBID>2189</DBID>
		<DisplayNameID>35660</DisplayNameID>
		<Cost resourcetype ='Ships'>1.0000</Cost>
		<ResearchPoints>40.0000</ResearchPoints>
		<Status>UNOBTAINABLE</Status>
		<Icon>units\infantry\redolero\redolero_icon_64x64</Icon>
		<Flag>HomeCity</Flag>
		<Effects>
			<Effect type ='Data' amount ='5.00' subtype ='FreeHomeCityUnit' unittype ='Rodelero' relativity ='Absolute'>
				<Target type ='Player'></Target></Effect>
		</Effects>
	</Tech>
例如:除了法国、荷兰、土耳其才有这张卡片,所以上面所教的对其他国家没有用。如果想让其他国家使用,换成一张你要修改的国家所拥有的卡片就行。
【例如:中国运送7个草泥马(草原骑兵:fuck U 的作者,你就不能好好叫我名字吗?)的卡片,卡片调用名不多说,自己参考软件《帝国时代3兵种手册.exe》】


另外一种直接生产方法,请往下看:



另一种方法就是根据1-6的方法添加生产新兵种。

例如我们要法国生产该单位(生产建筑:马厩)。

①打开protoy.xml,查找name ='stable'

②按照格式添加
		<Train row ='0' page ='0' column ='4'>Learicorn2</Train>

protoy.xml - 记事本
	<Unit id ='298' name ='Stable'>
		<DBID>25</DBID>
		<DisplayNameID>22919</DisplayNameID>
		<ObstructionRadiusX>3.0000</ObstructionRadiusX>
		<ObstructionRadiusZ>5.0000</ObstructionRadiusZ>
		<MaxVelocity>0.0000</MaxVelocity>
		<MovementType>land</MovementType>
		<AnimFile>buildings\stables\stables.xml</AnimFile>
		<DeadReplacement>BuildingRubble5x3</DeadReplacement>
		<DeadReplacementLifespan>15</DeadReplacementLifespan>
		<ImpactType>Wood</ImpactType>
		<PhysicsInfo>stable</PhysicsInfo>
		<PlacementFile>buildinglarge.xml</PlacementFile>
		<Icon>buildings\stables\stables_icon</Icon>
		<PortraitIcon>buildings\stables\stables_portrait</PortraitIcon>
		<RolloverTextID>22918</RolloverTextID>
		<ShortRolloverTextID>25727</ShortRolloverTextID>
		<InitialHitpoints>2500.0000</InitialHitpoints>
		<MaxHitpoints>2500.0000</MaxHitpoints>
		<LOS>14.0000</LOS>
		<BuildPoints>30.0000</BuildPoints>
		<Bounty>40.0000</Bounty>
		<BuildBounty>20.0000</BuildBounty>
		<Cost resourcetype ='Wood'>200.0000</Cost>
		<BuildingWorkRate>1.0000</BuildingWorkRate>
		<AllowedAge>1</AllowedAge>
		<Armor type ='Siege' value ='0.0000'></Armor>
		<BuilderLimit>8</BuilderLimit>
		<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>ConvertsHerds</UnitType>
		<UnitType>AbstractStables</UnitType>
		<UnitType>CountsTowardMilitaryScore</UnitType>
		<UnitType>HasBountyValue</UnitType>
		<UnitType>Building</UnitType>
		<UnitType>BuildingClass</UnitType>
		<UnitType>MilitaryBuilding</UnitType>
		<Train row ='0' page ='0' column ='0'>Uhlan</Train>
		<Train row ='0' page ='0' column ='1'>Oprichnik</Train>
		<Train row ='0' page ='0' column ='2'>CavalryArcher</Train>
		<Train row ='0' page ='0' column ='0'>Hussar</Train>
		<Train row ='0' page ='0' column ='1'>WarWagon</Train>
		<Train row ='0' page ='0' column ='1'>Ruyter</Train>
		<Train row ='0' page ='0' column ='2'>Dragoon</Train>
		<Train row ='0' page ='0' column ='1'>Lancer</Train>
		<Train row ='0' page ='0' column ='1'>Cuirassier</Train>
		<Train row ='0' page ='0' column ='0'>Cossack</Train>
		<Train row ='0' page ='0' column ='4'>Learicorn2</Train>
		<Tech row ='0' page ='1' column ='1'>ImperialOprichniks</Tech>
		<Tech row ='0' page ='1' column ='1'>ImperialCarabineer</Tech>
		<Tech row ='0' page ='1' column ='0'>ImperialCossack</Tech>
		<Tech row ='0' page ='1' column ='2'>ImperialCavalryArchers</Tech>
		<Tech row ='0' page ='1' column ='2'>ImperialDragoons</Tech>
		<Tech row ='0' page ='1' column ='0'>ImperialHussars</Tech>
		<Tech row ='0' page ='1' column ='2'>ImperialJinetes</Tech>
		<Tech row ='0' page ='1' column ='0'>ImperialCzapkaUhlans</Tech>
		<Tech row ='0' page ='1' column ='0'>RGCzapkaUhlans</Tech>
		<Tech row ='0' page ='1' column ='2'>RGTartarLoyalists</Tech>
		<Tech row ='0' page ='1' column ='1'>RGGarrochista</Tech>
		<Tech row ='0' page ='1' column ='1'>GuardRuyters</Tech>
		<Tech row ='0' page ='1' column ='0'>RGGardener</Tech>
		<Tech row ='0' page ='1' column ='0'>GuardCossacks</Tech>
		<Tech row ='0' page ='1' column ='0'>VeteranCossacks</Tech>
		<Tech row ='0' page ='1' column ='1'>GuardWarWagons</Tech>
		<Tech row ='0' page ='1' column ='2'>GuardCavalryArchers</Tech>
		<Tech row ='0' page ='1' column ='1'>RGGendarmes</Tech>
		<Tech row ='0' page ='1' column ='1'>RGCarabineer</Tech>
		<Tech row ='0' page ='1' column ='0'>VeteranUhlans</Tech>
		<Tech row ='0' page ='1' column ='2'>GuardDragoons</Tech>
		<Tech row ='0' page ='1' column ='0'>GuardHussars</Tech>
		<Tech row ='0' page ='1' column ='0'>VeteranHussars</Tech>
		<Tech row ='0' page ='1' column ='0'>RGLifeGuardHussars</Tech>
		<Tech row ='0' page ='1' column ='1'>ImperialGarrochistas</Tech>
		<Tech row ='0' page ='1' column ='2'>ImperialTartarLoyalist</Tech>
		<Tech row ='0' page ='1' column ='0'>GuardUhlans</Tech>
		<Tech row ='0' page ='1' column ='0'>ImperialGardener</Tech>
		<Tech row ='0' page ='1' column ='0'>ImperialLifeGuard</Tech>
		<Tech row ='0' page ='1' column ='2'>RGJinetes</Tech>
		<Tech row ='0' page ='1' column ='1'>GuardOprichniks</Tech>
		<Tech row ='0' page ='1' column ='1'>ImperialGendarme</Tech>
		<Tech row ='0' page ='1' column ='1'>ImperialWarWagons</Tech>
		<Flag>CollidesWithProjectiles</Flag>
		<Flag>StartsAtFullEfficiency</Flag>
		<Flag>Immoveable</Flag>
		<Flag>NoBloodOnDeath</Flag>
		<Flag>ObscuresUnits</Flag>
		<Flag>NoIdleActions</Flag>
		<Flag>NonAutoFormedUnit</Flag>
		<Flag>Doppled</Flag>
		<Flag>SelectWithObstruction</Flag>
		<Flag>PaintTextureWhenPlacing</Flag>
		<Flag>FlattenGround</Flag>
		<Flag>HasGatherPoint</Flag>
		<Flag>InitialGarrisonOnly</Flag>
		<Flag>Tracked</Flag>
		<Command page ='10' column ='0'>SetGatherPointMilitary</Command>
		<Command page ='10' column ='1'>Delete</Command>
	</Unit>

保存,退出。

③打开techtreey,查找Age0French,(作者:不用找了,第一个科技就是法国的科技)
按照格式添加
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Learicorn2</Target></Effect>

techtreey.xml - 记事本
	<Tech name ='Age0French' type ='Normal'>
		<DBID>105</DBID>
		<Status>UNOBTAINABLE</Status>
		<Flag>Shadow</Flag>
		<Effects>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Learicorn2</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Explorer</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>TownCenter</Target></Effect>
			<Effect type ='TechStatus' status ='active'>AAStandardStartingTechs</Effect>
			<Effect type ='TechStatus' status ='obtainable'>RGVoltigeur</Effect>
			<Effect type ='TechStatus' status ='obtainable'>RGGendarmes</Effect>
			<Effect type ='TechStatus' status ='obtainable'>ChurchCodeNapoleon</Effect>
			<Effect type ='TechStatus' status ='obtainable'>ChurchGardeImperial1</Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Hussar</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Sheep</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>House</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Mill</Target></Effect>
			<Effect type ='TechStatus' status ='obtainable'>VeteranMusketeers</Effect>
			<Effect type ='TechStatus' status ='obtainable'>GuardMusketeers</Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Musketeer</Target></Effect>
			<Effect type ='TechStatus' status ='obtainable'>ChurchGardeImperial3</Effect>
			<Effect type ='TechStatus' status ='obtainable'>ChurchGardeImperial2</Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Coureur</Target></Effect>
			<Effect type ='TechStatus' status ='obtainable'>GuardHalberdiers</Effect>
			<Effect type ='TechStatus' status ='obtainable'>GuardDragoons</Effect>
			<Effect type ='TechStatus' status ='obtainable'>VeteranPikemen</Effect>
			<Effect type ='TechStatus' status ='obtainable'>ImperialHalberdiers</Effect>
			<Effect type ='TechStatus' status ='obtainable'>ImperialGendarme</Effect>
			<Effect type ='TechStatus' status ='obtainable'>ImperialVoltigeur</Effect>
			<Effect type ='TechStatus' status ='obtainable'>ImperialMusketeers</Effect>
			<Effect type ='TechStatus' status ='obtainable'>ImperialDragoons</Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Capitol</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Falconet</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>ArtilleryDepot</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Stable</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Barracks</Target></Effect>
			<Effect type ='TechStatus' status ='obtainable'>VeteranCrossbowmen</Effect>
			<Effect type ='TechStatus' status ='obtainable'>PoliticianGeneral</Effect>
			<Effect type ='TechStatus' status ='obtainable'>PoliticianPresidente</Effect>
			<Effect type ='TechStatus' status ='obtainable'>PoliticianMohawk</Effect>
			<Effect type ='TechStatus' status ='obtainable'>PoliticianEngineer</Effect>
			<Effect type ='TechStatus' status ='obtainable'>PoliticianMusketeerFrench</Effect>
			<Effect type ='TechStatus' status ='obtainable'>PoliticianNaturalist</Effect>
			<Effect type ='TechStatus' status ='obtainable'>PoliticianMarksman</Effect>
			<Effect type ='TechStatus' status ='obtainable'>PoliticianQuartermaster</Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Plantation</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>TradingPost</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Outpost</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Caravel</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Dock</Target></Effect>
			<Effect type ='TechStatus' status ='active'>XPTrickle</Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Market</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Arsenal</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Skirmisher</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>CWallGate</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>LivestockPen</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Church</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>WallStraight2</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>WallStraight5</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>WallConnector</Target></Effect>
			<Effect type ='TechStatus' status ='obtainable'>UnlockPoliticianTycoonFrench</Effect>
			<Effect type ='TechStatus' status ='obtainable'>UnlockPoliticianScoutFrench</Effect>
			<Effect type ='TechStatus' status ='obtainable'>UnlockPoliticianPhilosopherPrinceFrench</Effect>
			<Effect type ='TechStatus' status ='obtainable'>UnlockPoliticianGovernorFrench</Effect>
			<Effect type ='TechStatus' status ='obtainable'>UnlockPoliticianExiledPrinceFrench</Effect>
			<Effect type ='TechStatus' status ='obtainable'>UnlockPoliticianCavalierFrench</Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Pikeman</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Crossbowman</Target></Effect>
			<Effect type ='TechStatus' status ='obtainable'>ImperialHussars</Effect>
			<Effect type ='TechStatus' status ='obtainable'>GuardHussars</Effect>
			<Effect type ='TechStatus' status ='obtainable'>VeteranHussars</Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Halberdier</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>FieldHospital</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Priest</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Cuirassier</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Culverin</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Mortar</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Dragoon</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Monitor</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Frigate</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Galleon</Target></Effect>
			<Effect type ='TechStatus' status ='obtainable'>Bayonet</Effect>
			<Effect type ='TechStatus' status ='active'>Levy</Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>FishingBoat</Target></Effect>
			<Effect type ='Data' action ='SpawnCannon' amount ='1.00' subtype ='ActionEnable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Factory</Target></Effect>
			<Effect type ='TechStatus' status ='obtainable'>ImperialCannon</Effect>
			<Effect type ='TechStatus' status ='obtainable'>ImperialFieldGun</Effect>
			<Effect type ='TechStatus' status ='obtainable'>FieldGun</Effect>
			<Effect type ='TechStatus' status ='obtainable'>VeteranDragoonsShadow</Effect>
			<Effect type ='TechStatus' status ='obtainable'>VeteranSkirmishersShadow</Effect>
			<Effect type ='TechStatus' status ='obtainable'>ImperialMonitors</Effect>
			<Effect type ='TechStatus' status ='obtainable'>ImperialManOWar</Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>Saloon</Target></Effect>
			<Effect type ='TechStatus' status ='obtainable'>XPRevolutionLouverture</Effect>
			<Effect type ='TechStatus' status ='obtainable'>XPRevolutionSantander</Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>xpPetard</Target></Effect>
			<Effect type ='TechStatus' status ='obtainable'>ImperialHorseArtillery</Effect>
			<Effect type ='TechStatus' status ='obtainable'>HeavyHorseArtillery</Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>xpHorseArtillery</Target></Effect>
			<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>xpSpy</Target></Effect>
			<Effect type ='TechStatus' status ='obtainable'>ShipHowitzers</Effect>
		</Effects>
	</Tech>







对于没有声音的问题,在5-3 xxxxx_snds.xml5-4 新单位添加语音会有解决办法。对于亚洲王朝的玩家,先不要着急,你需要先去学会使用AOE3ED
如果复制船只或探险家之类的会没有技能,在9-1 Abilities.xml有解决办法。