偷盗移值MOD单位


这个教程教那些不会独立去研究帝国3(又或者说无论怎样去研究都没有结果)的萌新怎样去将一个MOD的单位偷盗移植到另一个MOD。


另外,我不会告诉你在2.2版本升级3.0版本的时候,我懒得去重制,所以就从3.0删掉了。





1. 打开protoy.xml找到你想要偷盗移植的单位,从开头<Unit id复制到末尾</Unit>,然后粘贴到你的protoy.xml


别人的mod不一定是protoy.xml,例如作者就是修改了主程序,所以一直修改在最后一个字母为a的xml,在这个教程可以算是两个不同MOD,这样就很好区分到底是从哪里复制到哪里了。
例如我要将下面的UPxpColonialMilitiaChinaNewArmy单位复制到另一个MOD的protoy.xml中,要复制的语句就是蓝色背景的语句。
  protoa.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
	<Unit id="1465" name="UPxpColonialMilitiaChinaNewArmy">
		<DBID>2144</DBID>
		<DisplayNameID>200038</DisplayNameID>
		<EditorNameID>200040</EditorNameID>
		<PopulationCount>1</PopulationCount>
		<ObstructionRadiusX>0.4900</ObstructionRadiusX>
		<ObstructionRadiusZ>0.4900</ObstructionRadiusZ>
		<FormationCategory>Ranged</FormationCategory>
		<MaxVelocity>5.0000</MaxVelocity>
		<MaxRunVelocity>7.0000</MaxRunVelocity>
		<MovementType>land</MovementType>
		<TurnRate>18.0000</TurnRate>
		<AnimFile>units\infantry_ranged\colonial_militia\colonial_militia.xml</AnimFile>
		<ImpactType>Flesh</ImpactType>
		<PhysicsInfo>dude</PhysicsInfo>
		<Icon>units\infantry_ranged\colonial_militia\UPyp_china_new_army_icon</Icon>
		<PortraitIcon>units\infantry_ranged\colonial_militia\UPyp_china_new_army_portrait</PortraitIcon>
		<RolloverTextID>200041</RolloverTextID>
		<ShortRolloverTextID>200042</ShortRolloverTextID>
		<InitialHitpoints>200.0000</InitialHitpoints>
		<MaxHitpoints>200.0000</MaxHitpoints>
		<LOS>18.0000</LOS>
		<ProjectileProtoUnit>InvisibleProjectile</ProjectileProtoUnit>
		<AutoAttackRange>16.0000</AutoAttackRange>
		<UnitAIType>RangedCombative</UnitAIType>
		<TrainPoints>30.0000</TrainPoints>
		<Bounty>10.0000</Bounty>
		<BuildBounty>10.0000</BuildBounty>
		<Cost resourcetype="Food">100.0000</Cost>
		<AllowedAge>2</AllowedAge>
		<Armor type="Hand" value="0.3000"/>
		<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>AbstractHeavyInfantry</UnitType>
		<UnitType>AbstractInfantry</UnitType>
		<UnitType>Unit</UnitType>
		<UnitType>Military</UnitType>
		<UnitType>UnitClass</UnitType>
		<UnitType>Ranged</UnitType>
		<UnitType>AbstractGunpowderTrooper</UnitType>
		<UnitType>HasBountyValue</UnitType>
		<UnitType>CountsTowardMilitaryScore</UnitType>
		<UnitType>AbstractCavalryInfantry</UnitType>
		<UnitType>ConvertsHerds</UnitType>
		<UnitType>AbstractRangedInfantry</UnitType>
		<Flag>CollidesWithProjectiles</Flag>
		<Flag>ApplyHandicapTraining</Flag>
		<Flag>CorpseDecays</Flag>
		<Flag>ShowGarrisonButton</Flag>
		<Flag>DontRotateObstruction</Flag>
		<Flag>ObscuredByUnits</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>NewArmy.tactics</Tactics>
		<ProtoAction>
			<Name>BuildingAttack</Name>
			<Damage>20.000000</Damage>
			<DamageType>Siege</DamageType>
			<ROF>3.000000</ROF>
		</ProtoAction>
		<ProtoAction>
			<Name>DefendHandAttack</Name>
			<Damage>12.000000</Damage>
			<DamageType>Hand</DamageType>
			<ROF>1.500000</ROF>
			<DamageBonus type="AbstractCavalry">2.000000</DamageBonus>
			<DamageBonus type="AbstractLightInfantry">1.500000</DamageBonus>
		</ProtoAction>
		<ProtoAction>
			<Name>DefendRangedAttack</Name>
			<Damage>24.000000</Damage>
			<DamageType>Ranged</DamageType>
			<MinRange>2.000000</MinRange>
			<MaxRange>12.000000</MaxRange>
			<ROF>3.000000</ROF>
			<DamageBonus type="AbstractCavalry">2.000000</DamageBonus>
			<DamageBonus type="AbstractLightInfantry">1.500000</DamageBonus>
		</ProtoAction>
		<ProtoAction>
			<Name>MeleeHandAttack</Name>
			<Damage>12.000000</Damage>
			<DamageType>Hand</DamageType>
			<ROF>1.500000</ROF>
			<DamageBonus type="AbstractCavalry">2.000000</DamageBonus>
			<DamageBonus type="AbstractLightInfantry">1.500000</DamageBonus>
		</ProtoAction>
		<ProtoAction>
			<Name>StaggerHandAttack</Name>
			<Damage>12.000000</Damage>
			<DamageType>Hand</DamageType>
			<ROF>1.500000</ROF>
			<DamageBonus type="AbstractCavalry">2.000000</DamageBonus>
			<DamageBonus type="AbstractLightInfantry">1.500000</DamageBonus>
		</ProtoAction>
		<ProtoAction>
			<Name>StaggerRangedAttack</Name>
			<Damage>24.000000</Damage>
			<DamageType>Ranged</DamageType>
			<MinRange>2.000000</MinRange>
			<MaxRange>12.000000</MaxRange>
			<ROF>3.000000</ROF>
			<DamageBonus type="AbstractCavalry">2.000000</DamageBonus>
			<DamageBonus type="AbstractLightInfantry">1.500000</DamageBonus>
		</ProtoAction>
		<ProtoAction>
			<Name>VolleyHandAttack</Name>
			<Damage>12.000000</Damage>
			<DamageType>Hand</DamageType>
			<ROF>1.500000</ROF>
			<DamageBonus type="AbstractCavalry">2.000000</DamageBonus>
			<DamageBonus type="AbstractLightInfantry">1.500000</DamageBonus>
		</ProtoAction>
		<ProtoAction>
			<Name>VolleyRangedAttack</Name>
			<Damage>24.000000</Damage>
			<DamageType>Ranged</DamageType>
			<MinRange>2.000000</MinRange>
			<MaxRange>12.000000</MaxRange>
			<ROF>3.000000</ROF>
			<DamageBonus type="AbstractCavalry">2.000000</DamageBonus>
			<DamageBonus type="AbstractLightInfantry">1.500000</DamageBonus>
		</ProtoAction>
	</Unit>
	<Unit id="1466" name="FlagBearer">
		<DBID>887</DBID>
		<DisplayNameID>00600</DisplayNameID>
		<EditorNameID>00601</EditorNameID>
		<ObstructionRadiusX>0.4900</ObstructionRadiusX>
		<ObstructionRadiusZ>0.4900</ObstructionRadiusZ>
		<FormationCategory>Body</FormationCategory>
		<PopulationCount>0</PopulationCount>
		<MaxVelocity>5.50000</MaxVelocity>
		<MaxRunVelocity>7.50000</MaxRunVelocity>
		<MovementType>land</MovementType>
		<TurnRate>18.0000</TurnRate>
		<AnimFile>mods\Flag\FlagBearer.xml</AnimFile>
		<ImpactType>Flesh</ImpactType>
		<Icon>units\squad\flag_bearer\flag_bearer_icon</Icon>
		<PortraitIcon>units\squad\flag_bearer\flag_bearer_portrait</PortraitIcon>
		<InitialHitpoints>300.0000</InitialHitpoints>
		<MaxHitpoints>300.0000</MaxHitpoints>
		<LOS>14.0000</LOS>
		<UnitAIType>HandCombative</UnitAIType>
		<BuildLimit>10</BuildLimit>
		<TrainPoints>40.0000</TrainPoints>
		<RolloverTextID>00616</RolloverTextID>
		<ShortRolloverTextID>00317</ShortRolloverTextID>
		<Bounty>20.0000</Bounty>
		<BuildBounty>20.0000</BuildBounty>
		<Cost resourcetype="Gold">200.0000</Cost>
		<Armor type="Ranged" value="0.3000"/>
		<AllowedAge>1</AllowedAge>
		<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>Unit</UnitType>
		<UnitType>Military</UnitType>
		<UnitType>UnitClass</UnitType>
		<UnitType>AbstractInfantry</UnitType>
		<UnitType>AbstractGunpowderTrooper</UnitType>
		<UnitType>AbstractHeavyInfantry</UnitType>
		<UnitType>HasBountyValue</UnitType>
		<Flag>CollidesWithProjectiles</Flag>
		<Flag>ApplyHandicapTraining</Flag>
		<Flag>CorpseDecays</Flag>
		<Flag>ShowGarrisonButton</Flag>
		<Flag>DontRotateObstruction</Flag>
		<Flag>ObscuredByUnits</Flag>
		<Flag>Tracked</Flag>
		<Command page="0" column="1">SetUnitAsHomeCityGatherPoint</Command>
		<Command page="10" column="1">Stop</Command>
		<Command page="10" column="0">Garrison</Command>
		<Command page="10" column="2">Delete</Command>
		<Tactics>FlagBearer.tactics</Tactics>
		<ProtoAction>
			<Name>BuildingAttack</Name>
			<Damage>15.000000</Damage>
			<DamageType>Siege</DamageType>
			<MaxRange>6.000000</MaxRange>
			<ROF>3.000000</ROF>
		</ProtoAction>
		<ProtoAction>
			<Name>DefendHandAttack</Name>
			<HitPercentType>CriticalAttack</HitPercentType>
			<HitPercent>8.000000</HitPercent>
			<DamageMultiplier>10.000000</DamageMultiplier>
			<HitPercentType>CriticalAttack</HitPercentType>
			<HitPercent>8.000000</HitPercent>
			<DamageMultiplier>10.000000</DamageMultiplier>
			<Damage>15.000000</Damage>
			<DamageType>Hand</DamageType>
			<DamageBonus type="AbstractVillager">0.100000</DamageBonus>
			<ROF>1.500000</ROF>
		</ProtoAction>
		<ProtoAction>
			<Name>MeleeHandAttack</Name>
			<HitPercentType>CriticalAttack</HitPercentType>
			<HitPercent>8.000000</HitPercent>
			<DamageMultiplier>10.000000</DamageMultiplier>
			<Damage>15.000000</Damage>
			<DamageType>Hand</DamageType>
			<DamageBonus type="AbstractVillager">0.100000</DamageBonus>
			<ROF>1.500000</ROF>
		</ProtoAction>
	</Unit>


↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

这是官方版本的protoy.xml底部↓(你自己复制到你的protoy.xml底部),上面protoa.xml的单位复制到下面的protoy.xml如红色字所示
  protoy.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
	<Unit id="1461" name="ypSettlerIceCream">
		<DBID>2138</DBID>
		<DisplayNameID>70460</DisplayNameID>
		<EditorNameID>70461</EditorNameID>
		<PopulationCount>1</PopulationCount>
		<ObstructionRadiusX>0.4900</ObstructionRadiusX>
		<ObstructionRadiusZ>0.4900</ObstructionRadiusZ>
		<FormationCategory>Protected</FormationCategory>
		<MaxVelocity>4.0000</MaxVelocity>
		<MaxRunVelocity>6.0000</MaxRunVelocity>
		<MovementType>land</MovementType>
		<TurnRate>18.0000</TurnRate>
		<AnimFile>units\villagers\ice_cream_villager.xml</AnimFile>
		<ImpactType>Flesh</ImpactType>
		<PhysicsInfo>dude</PhysicsInfo>
		<Icon>units\asians\shared\villager\peasant_icon</Icon>
		<PortraitIcon>units\asians\shared\villager\peasant_icon_portrait</PortraitIcon>
		<SelectionPriority>10</SelectionPriority>
		<RolloverTextID>70459</RolloverTextID>
		<ShortRolloverTextID>70458</ShortRolloverTextID>
		<InitialHitpoints>150.0000</InitialHitpoints>
		<MaxHitpoints>150.0000</MaxHitpoints>
		<LOS>14.0000</LOS>
		<ProjectileProtoUnit>InvisibleProjectile</ProjectileProtoUnit>
		<UnitAIType>Civilian</UnitAIType>
		<TrainPoints>25.0000</TrainPoints>
		<BuildLimit>99</BuildLimit>
		<Bounty>10.0000</Bounty>
		<BuildBounty>10.0000</BuildBounty>
		<Cost resourcetype="Food">100.0000</Cost>
		<CarryCapacity resourcetype="Food">1.0000</CarryCapacity>
		<CarryCapacity resourcetype="Wood">1.0000</CarryCapacity>
		<CarryCapacity resourcetype="Gold">1.0000</CarryCapacity>
		<AllowedAge>0</AllowedAge>
		<Armor type="Hand" value="0.2000"/>
		<UnitType>LogicalTypeMinimapFilterEconomic</UnitType>
		<UnitType>LogicalTypeEasySelectAvoid</UnitType>
		<UnitType>LogicalTypeHealed</UnitType>
		<UnitType>LogicalTypeNeededForVictory</UnitType>
		<UnitType>LogicalTypeHandUnitsAutoAttack</UnitType>
		<UnitType>LogicalTypeValidSPCUnitsDeadCondition</UnitType>
		<UnitType>LogicalTypeGarrisonInShips</UnitType>
		<UnitType>LogicalTypeAffectedByTownBell</UnitType>
		<UnitType>LogicalTypeRangedUnitsAutoAttack</UnitType>
		<UnitType>LogicalTypeVillagersAttack</UnitType>
		<UnitType>LogicalTypeHandUnitsAttack</UnitType>
		<UnitType>LogicalTypeRangedUnitsAttack</UnitType>
		<UnitType>Unit</UnitType>
		<UnitType>UnitClass</UnitType>
		<UnitType>AbstractVillager</UnitType>
		<UnitType>Economic</UnitType>
		<UnitType>ValidIdleVillager</UnitType>
		<UnitType>CountsTowardEconomicScore</UnitType>
		<UnitType>HasBountyValue</UnitType>
		<UnitType>Ranged</UnitType>
		<UnitType>CannotConvertHill</UnitType>
		<UnitType>ConvertsHerds</UnitType>
		<UnitType>AffectedByTownBell</UnitType>
		<Train row="0" page="255" column="0">ypWJGiantBuddha4</Train>
		<Train row="0" page="255" column="0">ypWJGiantBuddha5</Train>
		<Train row="0" page="6" column="0">House</Train>
		<Train row="0" page="255" column="1">WallStraight2</Train>
		<Train row="0" page="255" column="1">WallStraight5</Train>
		<Train row="0" page="6" column="0">Manor</Train>
		<Train row="0" page="6" column="0">FirePit</Train>
		<Train row="0" page="6" column="0">FirePit</Train>
		<Train row="0" page="6" column="0">HouseEast</Train>
		<Train row="0" page="6" column="0">HouseMed</Train>
		<Train row="0" page="6" column="3">Farm</Train>
		<Train row="0" page="6" column="3">Farm</Train>
		<Train row="0" page="6" column="3">Farm</Train>
		<Train row="0" page="6" column="3">Mill</Train>
		<Train row="0" page="6" column="4">LivestockPen</Train>
		<Train row="0" page="6" column="5">Dock</Train>
		<Train row="0" page="6" column="5">Dock</Train>
		<Train row="0" page="6" column="8">WallConnector</Train>
		<Train row="0" page="6" column="8">WallConnector</Train>
		<Train row="0" page="6" column="13">ArtilleryDepot</Train>
		<Train row="0" page="6" column="13">ArtilleryDepot</Train>
		<Train row="0">Outpost</Train>
		<Train row="0" page="6" column="4">ypSacredField</Train>
		<Train row="0" page="6" column="0">ypHouseIndian</Train>
		<Train row="0" page="6" column="12">ypStableJapanese</Train>
		<Train row="0" page="6" column="11">ypBarracksJapanese</Train>
		<Train row="0" page="6" column="12">ypCaravanserai</Train>
		<Train row="0" page="6" column="0">ypVillage</Train>
		<Train row="0" page="6" column="10">ypMonastery</Train>
		<Train row="0" page="6" column="11">YPBarracksIndian</Train>
		<Train row="0" page="6" column="5">YPDockAsian</Train>
		<Train row="0" page="6" column="0">ypShrineJapanese</Train>
		<Train row="0" page="6" column="4">YPLivestockPenAsian</Train>
		<Train row="0" page="6" column="6">ypCastle</Train>
		<Train row="0" page="6" column="14">ypConsulate</Train>
		<Train row="0" page="6" column="3">ypRicePaddy</Train>
		<Train row="0" page="255" column="0">ypWJToshoguShrine2</Train>
		<Train row="0" page="255" column="0">ypWJGoldenPavillion2</Train>
		<Train row="0" page="255" column="0">ypWJGiantBuddha2</Train>
		<Train row="0" page="255" column="0">ypWJToshoguShrine5</Train>
		<Train row="0" page="255" column="0">ypWJToshoguShrine4</Train>
		<Train row="0" page="255" column="0">ypWJToshoguShrine3</Train>
		<Train row="0" page="255" column="0">ypWJToriiGates5</Train>
		<Train row="0" page="255" column="0">ypWJToriiGates4</Train>
		<Train row="0" page="255" column="0">ypWJToriiGates3</Train>
		<Train row="0" page="255" column="0">ypWJToriiGates2</Train>
		<Train row="0" page="255" column="0">ypWJShogunate4</Train>
		<Train row="0" page="255" column="0">ypWJShogunate5</Train>
		<Train row="0" page="255" column="0">ypWJShogunate3</Train>
		<Train row="0" page="255" column="0">ypWJShogunate2</Train>
		<Train row="0" page="255" column="0">ypWJGoldenPavillion3</Train>
		<Train row="0" page="255" column="0">ypWJGoldenPavillion4</Train>
		<Train row="0" page="255" column="0">ypWJGoldenPavillion5</Train>
		<Train row="0" page="255" column="0">ypWJGiantBuddha3</Train>
		<Train row="0" page="255" column="0">ypWCWhitePagoda2</Train>
		<Train row="0" page="255" column="0">ypWCWhitePagoda3</Train>
		<Train row="0" page="255" column="0">ypWCWhitePagoda4</Train>
		<Train row="0" page="255" column="0">ypWCWhitePagoda5</Train>
		<Train row="0" page="255" column="0">ypWCTempleOfHeaven2</Train>
		<Train row="0" page="255" column="0">ypWCTempleOfHeaven3</Train>
		<Train row="0" page="255" column="0">ypWCTempleOfHeaven4</Train>
		<Train row="0" page="255" column="0">ypWCTempleOfHeaven5</Train>
		<Train row="0" page="255" column="0">ypWCSummerPalace2</Train>
		<Train row="0" page="255" column="0">ypWCSummerPalace3</Train>
		<Train row="0" page="255" column="0">ypWCSummerPalace4</Train>
		<Train row="0" page="255" column="0">ypWCSummerPalace5</Train>
		<Train row="0" page="255" column="0">ypWCPorcelainTower2</Train>
		<Train row="0" page="255" column="0">ypWCPorcelainTower3</Train>
		<Train row="0" page="255" column="0">ypWCPorcelainTower4</Train>
		<Train row="0" page="255" column="0">ypWCPorcelainTower5</Train>
		<Train row="0" page="255" column="0">ypWCConfucianAcademy2</Train>
		<Train row="0" page="255" column="0">ypWCConfucianAcademy3</Train>
		<Train row="0" page="255" column="0">ypWCConfucianAcademy4</Train>
		<Train row="0" page="255" column="0">ypWCConfucianAcademy5</Train>
		<Train row="0" page="255" column="0">ypWITowerOfVictory5</Train>
		<Train row="0" page="255" column="0">ypWITowerOfVictory4</Train>
		<Train row="0" page="255" column="0">ypWITowerOfVictory3</Train>
		<Train row="0" page="255" column="0">ypWITowerOfVictory2</Train>
		<Train row="0" page="255" column="0">ypWITajMahal5</Train>
		<Train row="0" page="255" column="0">ypWITajMahal4</Train>
		<Train row="0" page="255" column="0">ypWITajMahal3</Train>
		<Train row="0" page="255" column="0">ypWITajMahal2</Train>
		<Train row="0" page="255" column="0">ypWIKarniMata5</Train>
		<Train row="0" page="255" column="0">ypWIKarniMata4</Train>
		<Train row="0" page="255" column="0">ypWIKarniMata3</Train>
		<Train row="0" page="255" column="0">ypWIKarniMata2</Train>
		<Train row="0" page="255" column="0">ypWICharminarGate5</Train>
		<Train row="0" page="255" column="0">ypWICharminarGate4</Train>
		<Train row="0" page="255" column="0">ypWICharminarGate3</Train>
		<Train row="0" page="255" column="0">ypWICharminarGate2</Train>
		<Train row="0" page="255" column="0">ypWIAgraFort5</Train>
		<Train row="0" page="255" column="0">ypWIAgraFort4</Train>
		<Train row="0" page="255" column="0">ypWIAgraFort3</Train>
		<Train row="0" page="255" column="0">ypWIAgraFort2</Train>
		<Train row="0" page="6" column="2">ypTradeMarketAsian</Train>
		<Train row="0" page="1" column="4">TradingPost</Train>
		<Train row="0" page="1" column="4">TradingPost</Train>
		<Train row="0" page="1" column="4">TradingPost</Train>
		<Train row="0" page="1" column="3">TownCenter</Train>
		<Train row="0" page="1" column="3">TownCenter</Train>
		<Train row="0" page="6" column="11">ypWarAcademy</Train>
		<Train row="0" page="6" column="11">ypWarAcademy</Train>
		<Train row="0" page="6" column="11">ypWarAcademy</Train>
		<Tech row="0" page="1" column="0">YPWonderChineseWhitePagoda2</Tech>
		<Tech row="0" page="1" column="0">YPWonderChineseWhitePagoda3</Tech>
		<Tech row="0" page="1" column="0">YPWonderChineseWhitePagoda4</Tech>
		<Tech row="0" page="1" column="0">YPWonderChineseTempleOfHeaven2</Tech>
		<Tech row="0" page="1" column="0">YPWonderChineseTempleOfHeaven3</Tech>
		<Tech row="0" page="1" column="0">YPWonderChineseTempleOfHeaven4</Tech>
		<Tech row="0" page="1" column="0">YPWonderChineseTempleOfHeaven5</Tech>
		<Tech row="0" page="1" column="0">YPWonderChineseSummerPalace3</Tech>
		<Tech row="0" page="1" column="0">YPWonderChinesePorcelainTower3</Tech>
		<Tech row="0" page="1" column="0">YPWonderChinesePorcelainTower4</Tech>
		<Tech row="0" page="1" column="0">YPWonderChineseConfucianAcademy2</Tech>
		<Tech row="0" page="1" column="0">YPWonderIndianAgra2</Tech>
		<Tech row="0" page="1" column="0">YPWonderIndianAgra3</Tech>
		<Tech row="0" page="1" column="0">YPWonderIndianAgra4</Tech>
		<Tech row="0" page="1" column="0">YPWonderIndianCharminar2</Tech>
		<Tech row="0" page="1" column="0">YPWonderIndianKarniMata2</Tech>
		<Tech row="0" page="1" column="0">YPWonderIndianKarniMata4</Tech>
		<Tech row="0" page="1" column="0">YPWonderIndianKarniMata5</Tech>
		<Tech row="0" page="1" column="0">YPWonderIndianTajMahal2</Tech>
		<Tech row="0" page="1" column="0">YPWonderIndianTajMahal3</Tech>
		<Tech row="0" page="1" column="0">YPWonderIndianTowerOfVictory5</Tech>
		<Tech row="0" page="1" column="0">YPWonderChineseWhitePagoda5</Tech>
		<Tech row="0" page="1" column="0">YPWonderChineseSummerPalace5</Tech>
		<Tech row="0" page="1" column="0">YPWonderChineseSummerPalace4</Tech>
		<Tech row="0" page="1" column="0">YPWonderChineseSummerPalace2</Tech>
		<Tech row="0" page="1" column="0">YPWonderChinesePorcelainTower2</Tech>
		<Tech row="0" page="1" column="0">YPWonderChinesePorcelainTower5</Tech>
		<Tech row="0" page="1" column="0">YPWonderChineseConfucianAcademy3</Tech>
		<Tech row="0" page="1" column="0">YPWonderChineseConfucianAcademy4</Tech>
		<Tech row="0" page="1" column="0">YPWonderChineseConfucianAcademy5</Tech>
		<Tech row="0" page="1" column="0">YPWonderJapaneseToshoguShrine3</Tech>
		<Tech row="0" page="1" column="0">YPWonderJapaneseToriiGates4</Tech>
		<Tech row="0" page="1" column="0">YPWonderJapaneseShogunate3</Tech>
		<Tech row="0" page="1" column="0">YPWonderJapaneseToshoguShrine4</Tech>
		<Tech row="0" page="1" column="0">YPWonderJapaneseToriiGates5</Tech>
		<Tech row="0" page="1" column="0">YPWonderJapaneseToriiGates2</Tech>
		<Tech row="0" page="1" column="0">YPWonderJapaneseShogunate4</Tech>
		<Tech row="0" page="1" column="0">YPWonderJapaneseShogunate5</Tech>
		<Tech row="0" page="1" column="0">YPWonderJapaneseGiantBuddha2</Tech>
		<Tech row="0" page="1" column="0">YPWonderJapaneseGiantBuddha3</Tech>
		<Tech row="0" page="1" column="0">YPWonderJapaneseGiantBuddha4</Tech>
		<Tech row="0" page="1" column="0">YPWonderJapaneseGiantBuddha5</Tech>
		<Tech row="0" page="1" column="0">YPWonderJapaneseGoldenPavillion2</Tech>
		<Tech row="0" page="1" column="0">YPWonderJapaneseGoldenPavillion3</Tech>
		<Tech row="0" page="1" column="0">YPWonderJapaneseGoldenPavillion4</Tech>
		<Tech row="0" page="1" column="0">YPWonderJapaneseGoldenPavillion5</Tech>
		<Tech row="0" page="1" column="0">YPWonderJapaneseToshoguShrine5</Tech>
		<Tech row="0" page="1" column="0">YPWonderJapaneseToshoguShrine2</Tech>
		<Tech row="0" page="1" column="0">YPWonderJapaneseToriiGates3</Tech>
		<Tech row="0" page="1" column="0">YPWonderJapaneseShogunate2</Tech>
		<Tech row="0" page="1" column="0">YPWonderIndianAgra5</Tech>
		<Tech row="0" page="1" column="0">YPWonderIndianCharminar3</Tech>
		<Tech row="0" page="1" column="0">YPWonderIndianCharminar4</Tech>
		<Tech row="0" page="1" column="0">YPWonderIndianCharminar5</Tech>
		<Tech row="0" page="1" column="0">YPWonderIndianKarniMata3</Tech>
		<Tech row="0" page="1" column="0">YPWonderIndianTajMahal4</Tech>
		<Tech row="0" page="1" column="0">YPWonderIndianTajMahal5</Tech>
		<Tech row="0" page="1" column="0">YPWonderIndianTowerOfVictory2</Tech>
		<Tech row="0" page="1" column="0">YPWonderIndianTowerOfVictory4</Tech>
		<Tech row="0" page="1" column="0">YPWonderIndianTowerOfVictory3</Tech>
		<Flag>CollidesWithProjectiles</Flag>
		<Flag>ApplyHandicapTraining</Flag>
		<Flag>CorpseDecays</Flag>
		<Flag>ShowGarrisonButton</Flag>
		<Flag>DontRotateObstruction</Flag>
		<Flag>ObscuredByUnits</Flag>
		<Flag>DeadReplacementWhenDestroyed</Flag>
		<Flag>VisibleUnderFogIfGaia</Flag>
		<Flag>Tracked</Flag>
		<Command page="10" column="0">Garrison</Command>
		<Command page="10" column="1">Stop</Command>
		<Command page="10" column="2">Delete</Command>
		<Tactics>settler.tactics</Tactics>
		<ProtoAction>
			<Name>AutoGatherTrade</Name>
			<Type>AutoGather</Type>
			<Rate type="Trade">0.030000</Rate>
		</ProtoAction>
		<ProtoAction>
			<Name>BlunderbussAttack</Name>
			<Damage>3.000000</Damage>
			<DamageType>Ranged</DamageType>
			<MinRange>2.000000</MinRange>
			<MaxRange>12.000000</MaxRange>
			<ROF>3.000000</ROF>
			<DamageBonus type="Huntable">4.000000</DamageBonus>
			<DamageBonus type="AbstractPet">2.000000</DamageBonus>
			<DamageBonus type="AbstractArtillery">2.000000</DamageBonus>
			<DamageBonus type="AbstractVillager">0.500000</DamageBonus>
		</ProtoAction>
		<ProtoAction>
			<Name>Build</Name>
			<Rate type="Building">1.000000</Rate>
			<Rate type="Manor">1.000000</Rate>
			<Rate type="FirePit">1.000000</Rate>
			<Rate type="House">1.000000</Rate>
			<Rate type="ypMonastery">1.000000</Rate>
			<Rate type="AbstractWonder">1.000000</Rate>
		</ProtoAction>
		<ProtoAction>
			<Name>BuildingAttack</Name>
			<Damage>5.000000</Damage>
			<DamageType>Siege</DamageType>
			<ROF>3.000000</ROF>
		</ProtoAction>
		<ProtoAction>
			<Name>ChopAttack</Name>
			<Damage>8.000000</Damage>
			<DamageType>Hand</DamageType>
		</ProtoAction>
		<ProtoAction>
			<Name>CrateGather</Name>
			<Rate type="AbstractResourceCrate">8.000000</Rate>
		</ProtoAction>
		<ProtoAction>
			<Name>Gather</Name>
			<Rate type="ypRicePaddy" resource="Gold">0.340000</Rate>
			<Rate type="ypBerryBuilding">0.670000</Rate>
			<Rate type="ypGroveBuilding">0.500000</Rate>
			<Rate type="Tree">0.500000</Rate>
			<Rate type="Farm">0.500000</Rate>
			<Rate type="Plantation">0.500000</Rate>
			<Rate type="Herdable">2.000000</Rate>
			<Rate type="Huntable">0.840000</Rate>
			<Rate type="AbstractMine">0.600000</Rate>
			<Rate type="BerryBush">0.670000</Rate>
			<Rate type="FirePit">0.100000</Rate>
			<Rate type="Mill">0.670000</Rate>
			<Rate type="ypRicePaddy" resource="Food">0.500000</Rate>
		</ProtoAction>
		<ProtoAction>
			<Name>HandAttack</Name>
			<Damage>10.000000</Damage>
			<DamageType>Hand</DamageType>
			<ROF>1.500000</ROF>
		</ProtoAction>
		<ProtoAction>
			<Name>Hunting</Name>
			<Rate type="Herdable">1.000000</Rate>
			<Rate type="Huntable">1.000000</Rate>
			<Rate type="Tree">1.000000</Rate>
		</ProtoAction>
	</Unit>
	<Unit id="1462" name="ypBlockhouseWagon">
		<DBID>2141</DBID>
		<DisplayNameID>70486</DisplayNameID>
		<EditorNameID>70487</EditorNameID>
		<ObstructionRadiusX>0.9900</ObstructionRadiusX>
		<ObstructionRadiusZ>0.9900</ObstructionRadiusZ>
		<FormationCategory>Protected</FormationCategory>
		<MaxVelocity>4.0000</MaxVelocity>
		<MaxRunVelocity>6.0000</MaxRunVelocity>
		<MovementType>land</MovementType>
		<TurnRate>5.0000</TurnRate>
		<AnimFile>units\trade\supply_cart\supply_cart_outpost.xml</AnimFile>
		<ImpactType>Wood</ImpactType>
		<Icon>units\trade\outpost_wagon_icon_64x64</Icon>
		<PortraitIcon>units\trade\outpost_wagon_portrait</PortraitIcon>
		<RolloverTextID>70485</RolloverTextID>
		<ShortRolloverTextID>70484</ShortRolloverTextID>
		<InitialHitpoints>250.0000</InitialHitpoints>
		<MaxHitpoints>250.0000</MaxHitpoints>
		<LOS>18.0000</LOS>
		<ProjectileProtoUnit>InvisibleProjectile</ProjectileProtoUnit>
		<UnitAIType>Civilian</UnitAIType>
		<TrainPoints>60.0000</TrainPoints>
		<Bounty>60.0000</Bounty>
		<CarryCapacity resourcetype="Food">1.0000</CarryCapacity>
		<CarryCapacity resourcetype="Wood">1.0000</CarryCapacity>
		<CarryCapacity resourcetype="Gold">1.0000</CarryCapacity>
		<AllowedAge>0</AllowedAge>
		<Armor type="Siege" value="0.2000"/>
		<UnitType>LogicalTypeMinimapFilterEconomic</UnitType>
		<UnitType>LogicalTypeHealed</UnitType>
		<UnitType>LogicalTypeHandUnitsAutoAttack</UnitType>
		<UnitType>LogicalTypeGarrisonInShips</UnitType>
		<UnitType>LogicalTypeRangedUnitsAutoAttack</UnitType>
		<UnitType>LogicalTypeVillagersAttack</UnitType>
		<UnitType>LogicalTypeHandUnitsAttack</UnitType>
		<UnitType>LogicalTypeRangedUnitsAttack</UnitType>
		<UnitType>AbstractWagon</UnitType>
		<UnitType>ConvertsHerds</UnitType>
		<UnitType>CannotConvertHill</UnitType>
		<UnitType>HasBountyValue</UnitType>
		<UnitType>CountsTowardEconomicScore</UnitType>
		<UnitType>ValidIdleVillager</UnitType>
		<UnitType>Economic</UnitType>
		<UnitType>UnitClass</UnitType>
		<UnitType>Unit</UnitType>
		<Train row="0" page="6" column="0">Blockhouse</Train>
		<Flag>CollidesWithProjectiles</Flag>
		<Flag>ApplyHandicapTraining</Flag>
		<Flag>CorpseDecays</Flag>
		<Flag>ShowGarrisonButton</Flag>
		<Flag>DontRotateObstruction</Flag>
		<Flag>ObscuredByUnits</Flag>
		<Flag>DeadReplacementWhenDestroyed</Flag>
		<Flag>ConstrainOrientation</Flag>
		<Flag>OrientUnitWithGround</Flag>
		<Flag>Tracked</Flag>
		<Command page="10" column="0">Garrison</Command>
		<Command page="10" column="1">Stop</Command>
		<Command page="10" column="2">Delete</Command>
		<Tactics>coveredwagon.tactics</Tactics>
		<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="1463" name="UPxpColonialMilitiaChinaNewArmy">
		<DBID>2144</DBID>
		<DisplayNameID>200038</DisplayNameID>
		<EditorNameID>200040</EditorNameID>
		<PopulationCount>1</PopulationCount>
		<ObstructionRadiusX>0.4900</ObstructionRadiusX>
		<ObstructionRadiusZ>0.4900</ObstructionRadiusZ>
		<FormationCategory>Ranged</FormationCategory>
		<MaxVelocity>5.0000</MaxVelocity>
		<MaxRunVelocity>7.0000</MaxRunVelocity>
		<MovementType>land</MovementType>
		<TurnRate>18.0000</TurnRate>
		<AnimFile>units\infantry_ranged\colonial_militia\colonial_militia.xml</AnimFile>
		<ImpactType>Flesh</ImpactType>
		<PhysicsInfo>dude</PhysicsInfo>
		<Icon>units\infantry_ranged\colonial_militia\UPyp_china_new_army_icon</Icon>
		<PortraitIcon>units\infantry_ranged\colonial_militia\UPyp_china_new_army_portrait</PortraitIcon>
		<RolloverTextID>200041</RolloverTextID>
		<ShortRolloverTextID>200042</ShortRolloverTextID>
		<InitialHitpoints>200.0000</InitialHitpoints>
		<MaxHitpoints>200.0000</MaxHitpoints>
		<LOS>18.0000</LOS>
		<ProjectileProtoUnit>InvisibleProjectile</ProjectileProtoUnit>
		<AutoAttackRange>16.0000</AutoAttackRange>
		<UnitAIType>RangedCombative</UnitAIType>
		<TrainPoints>30.0000</TrainPoints>
		<Bounty>10.0000</Bounty>
		<BuildBounty>10.0000</BuildBounty>
		<Cost resourcetype="Food">100.0000</Cost>
		<AllowedAge>2</AllowedAge>
		<Armor type="Hand" value="0.3000"/>
		<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>AbstractHeavyInfantry</UnitType>
		<UnitType>AbstractInfantry</UnitType>
		<UnitType>Unit</UnitType>
		<UnitType>Military</UnitType>
		<UnitType>UnitClass</UnitType>
		<UnitType>Ranged</UnitType>
		<UnitType>AbstractGunpowderTrooper</UnitType>
		<UnitType>HasBountyValue</UnitType>
		<UnitType>CountsTowardMilitaryScore</UnitType>
		<UnitType>AbstractCavalryInfantry</UnitType>
		<UnitType>ConvertsHerds</UnitType>
		<UnitType>AbstractRangedInfantry</UnitType>
		<Flag>CollidesWithProjectiles</Flag>
		<Flag>ApplyHandicapTraining</Flag>
		<Flag>CorpseDecays</Flag>
		<Flag>ShowGarrisonButton</Flag>
		<Flag>DontRotateObstruction</Flag>
		<Flag>ObscuredByUnits</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>NewArmy.tactics</Tactics>
		<ProtoAction>
			<Name>BuildingAttack</Name>
			<Damage>20.000000</Damage>
			<DamageType>Siege</DamageType>
			<ROF>3.000000</ROF>
		</ProtoAction>
		<ProtoAction>
			<Name>DefendHandAttack</Name>
			<Damage>12.000000</Damage>
			<DamageType>Hand</DamageType>
			<ROF>1.500000</ROF>
			<DamageBonus type="AbstractCavalry">2.000000</DamageBonus>
			<DamageBonus type="AbstractLightInfantry">1.500000</DamageBonus>
		</ProtoAction>
		<ProtoAction>
			<Name>DefendRangedAttack</Name>
			<Damage>24.000000</Damage>
			<DamageType>Ranged</DamageType>
			<MinRange>2.000000</MinRange>
			<MaxRange>12.000000</MaxRange>
			<ROF>3.000000</ROF>
			<DamageBonus type="AbstractCavalry">2.000000</DamageBonus>
			<DamageBonus type="AbstractLightInfantry">1.500000</DamageBonus>
		</ProtoAction>
		<ProtoAction>
			<Name>MeleeHandAttack</Name>
			<Damage>12.000000</Damage>
			<DamageType>Hand</DamageType>
			<ROF>1.500000</ROF>
			<DamageBonus type="AbstractCavalry">2.000000</DamageBonus>
			<DamageBonus type="AbstractLightInfantry">1.500000</DamageBonus>
		</ProtoAction>
		<ProtoAction>
			<Name>StaggerHandAttack</Name>
			<Damage>12.000000</Damage>
			<DamageType>Hand</DamageType>
			<ROF>1.500000</ROF>
			<DamageBonus type="AbstractCavalry">2.000000</DamageBonus>
			<DamageBonus type="AbstractLightInfantry">1.500000</DamageBonus>
		</ProtoAction>
		<ProtoAction>
			<Name>StaggerRangedAttack</Name>
			<Damage>24.000000</Damage>
			<DamageType>Ranged</DamageType>
			<MinRange>2.000000</MinRange>
			<MaxRange>12.000000</MaxRange>
			<ROF>3.000000</ROF>
			<DamageBonus type="AbstractCavalry">2.000000</DamageBonus>
			<DamageBonus type="AbstractLightInfantry">1.500000</DamageBonus>
		</ProtoAction>
		<ProtoAction>
			<Name>VolleyHandAttack</Name>
			<Damage>12.000000</Damage>
			<DamageType>Hand</DamageType>
			<ROF>1.500000</ROF>
			<DamageBonus type="AbstractCavalry">2.000000</DamageBonus>
			<DamageBonus type="AbstractLightInfantry">1.500000</DamageBonus>
		</ProtoAction>
		<ProtoAction>
			<Name>VolleyRangedAttack</Name>
			<Damage>24.000000</Damage>
			<DamageType>Ranged</DamageType>
			<MinRange>2.000000</MinRange>
			<MaxRange>12.000000</MaxRange>
			<ROF>3.000000</ROF>
			<DamageBonus type="AbstractCavalry">2.000000</DamageBonus>
			<DamageBonus type="AbstractLightInfantry">1.500000</DamageBonus>
		</ProtoAction>
	</Unit>
</Proto>





2.如果这个单位是MOD作者使用了新的tactics文件,就先把这个tactics文件移植过去,在data文件夹中的tactics文件夹寻找对应的tactics文件,复制到你的MOD。


在别人的mod文件中找不到?自己去用AOE3ED去Bar文件提取,找不到的都是打包到bar文件里面了。
  protoy.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
		<UnitType>AbstractGunpowderTrooper</UnitType>
		<UnitType>HasBountyValue</UnitType>
		<UnitType>CountsTowardMilitaryScore</UnitType>
		<UnitType>AbstractCavalryInfantry</UnitType>
		<UnitType>ConvertsHerds</UnitType>
		<UnitType>AbstractRangedInfantry</UnitType>
		<Flag>CollidesWithProjectiles</Flag>
		<Flag>ApplyHandicapTraining</Flag>
		<Flag>CorpseDecays</Flag>
		<Flag>ShowGarrisonButton</Flag>
		<Flag>DontRotateObstruction</Flag>
		<Flag>ObscuredByUnits</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>NewArmy.tactics</Tactics>
		<ProtoAction>
			<Name>BuildingAttack</Name>
			<Damage>20.000000</Damage>
			<DamageType>Siege</DamageType>
			<ROF>3.000000</ROF>
		</ProtoAction>








3.把图标也搬过去。还有AnimFile那个动画xml文件也照搬。



  protoy.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
	<Unit id="1463" name="UPxpColonialMilitiaChinaNewArmy">
		<DBID>2144</DBID>
		<DisplayNameID>200038</DisplayNameID>
		<EditorNameID>200040</EditorNameID>
		<PopulationCount>1</PopulationCount>
		<ObstructionRadiusX>0.4900</ObstructionRadiusX>
		<ObstructionRadiusZ>0.4900</ObstructionRadiusZ>
		<FormationCategory>Ranged</FormationCategory>
		<MaxVelocity>5.0000</MaxVelocity>
		<MaxRunVelocity>7.0000</MaxRunVelocity>
		<MovementType>land</MovementType>
		<TurnRate>18.0000</TurnRate>
		<AnimFile>units\infantry_ranged\colonial_militia\colonial_militia.xml</AnimFile>
		<ImpactType>Flesh</ImpactType>
		<PhysicsInfo>dude</PhysicsInfo>
		<Icon>units\infantry_ranged\colonial_militia\UPyp_china_new_army_icon</Icon>
		<PortraitIcon>units\infantry_ranged\colonial_militia\UPyp_china_new_army_portrait</PortraitIcon>
		<RolloverTextID>200041</RolloverTextID>
		<ShortRolloverTextID>200042</ShortRolloverTextID>
		<InitialHitpoints>200.0000</InitialHitpoints>






4.打开动画xml文件,寻找改动过的东西,自己慢慢理解吧,(如果你发现移植过去了,武器不见了,你就寻找这个武器,帽子没有了就寻找帽子)。旧技术一般使用replacetexture更换贴图,现在一般都会把gr2文件修改了,如果没有replacetexture语句那么那个贴图路径就只能在gr2文件里面寻找了。








移植replacetextrue贴图文件我就不截图了,你自己照搬就可以。

因为帽子是定义了新的gr2文件,所以搬走的时候,也要打开这个gr2文件,查贴图路径,然后搬走这个贴图。









移植单位大概就是这样的步骤。像语音这种文件你自己去sound文件夹寻找吧,找不到就去bar寻找:一般的单位用单位调用名加_snds去命名语音文件。



自己判断有没有定义新的语音,有的话你自己去soundsets.xml、soundsetsx.xml、soundsetsy.xml,把新语音的定义以及wav文件全部搬走。

下面这个xml没有任何修改过的痕迹,都是用帝国3原有的语音设定,所以只把这个xml文件复制过去就行了。
  UPxpColonialMilitiaChinaNewArmy_snds.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
<?xml version="1.0" encoding="utf-8"?>

<protounitsounddef>
	<protounit name="UPxpColonialMilitiaChinaNewArmy">
		<soundtype name="Select">
			<civlogic>
				<choice name="Nature"/>
				<choice name="Chinese">
					<soundset name="ChineseVillagerM_Select"/>
				</choice>
				<choice name="SPCChinese">
					<soundset name="ChineseVillagerM_Select"/>
				</choice>
				<choice name="Spanish">
					<soundset name="SpanishSettlerMaleSelect"/>
				</choice>
				<choice name="British">
					<soundset name="BritishSettlerMaleSelect"/>
				</choice>
				<choice name="French">
					<soundset name="FrenchSettlerMaleSelect"/>
				</choice>
				<choice name="Portuguese">
					<soundset name="PortugueseSettlerMaleSelect"/>
				</choice>
				<choice name="Dutch">
					<soundset name="DutchSettlerMaleSelect"/>
				</choice>
				<choice name="Russians">
					<soundset name="RussianSettlerMaleSelect"/>
				</choice>
				<choice name="Germans">
					<soundset name="GermanSettlerMaleSelect"/>
				</choice>
				<choice name="Ottomans">
					<soundset name="OttomanSettlerMaleSelect"/>
				</choice>
				<choice name="SPCAct1"/>
				<choice name="SPCAct2"/>
				<choice name="SPCAct3"/>
				<choice name="Pirate"/>
				<choice name="TheCircle"/>
				<choice name="NativeAmerican"/>
				<choice name="XPIroquois"/>
				<choice name="XPSioux"/>
				<choice name="XPAztec"/>
				<choice name="XPSPC">
					<soundset name="SPCMilitiaSelect"/>
				</choice>
				<choice name="Aztecs"/>
				<choice name="Caribs"/>
				<choice name="Cherokee"/>
				<choice name="Comanche"/>
				<choice name="Cree"/>
				<choice name="Incas"/>
				<choice name="Iroquois"/>
				<choice name="Lakota"/>
				<choice name="Maya"/>
				<choice name="Nootka"/>
				<choice name="Seminoles"/>
				<choice name="Tupi"/>
				<choice name="Zapotec"/>
				<choice name="Huron"/>
				<choice name="Cheyenne"/>
				<choice name="Klamath"/>
				<choice name="Mapuche"/>
				<choice name="Navajo"/>
				<choice name="Apache"/>
			</civlogic>
		</soundtype>
		<soundtype name="Grunt">
			<soundset name="GenericMaleGrunt"/>
		</soundtype>
		<soundtype name="Death">
			<soundset name="GenericMaleDeath"/>
		</soundtype>
		<soundtype name="Creation">
			<soundset name="MilitaryBirth"/>
		</soundtype>
		<soundtype name="Acknowledge">
			<civlogic>
				<choice name="Nature">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Chinese">
					<targetlogic>
						<choice name="default">
							<soundset name="ChineseVillagerM_Acknowledge"/>
						</choice>
						<choice name="enemy">
							<soundset name="ChineseVillagerM_Attack"/>
						</choice>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="SPCChinese">
					<targetlogic>
						<choice name="default">
							<soundset name="ChineseVillagerM_Acknowledge"/>
						</choice>
						<choice name="enemy">
							<soundset name="ChineseVillagerM_Attack"/>
						</choice>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Spanish">
					<targetlogic>
						<choice name="default">
							<soundset name="SpanishSettlerMaleAcknowledge"/>
						</choice>
						<choice name="enemy">
							<soundset name="SpanishSettlerMaleAttack"/>
						</choice>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="British">
					<targetlogic>
						<choice name="default">
							<soundset name="BritishSettlerMaleAcknowledge"/>
						</choice>
						<choice name="enemy">
							<soundset name="BritishSettlerMaleAttack"/>
						</choice>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="French">
					<targetlogic>
						<choice name="default">
							<soundset name="FrenchSettlerMaleAcknowledge"/>
						</choice>
						<choice name="enemy">
							<soundset name="FrenchSettlerMaleAttack"/>
						</choice>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Portuguese">
					<targetlogic>
						<choice name="default">
							<soundset name="PortugueseSettlerMaleAcknowledge"/>
						</choice>
						<choice name="enemy">
							<soundset name="PortugueseSettlerMaleAttack"/>
						</choice>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Dutch">
					<targetlogic>
						<choice name="default">
							<soundset name="DutchSettlerMaleAcknowledge"/>
						</choice>
						<choice name="enemy">
							<soundset name="DutchSettlerMaleAttack"/>
						</choice>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Russians">
					<targetlogic>
						<choice name="default">
							<soundset name="RussianSettlerMaleAcknowledge"/>
						</choice>
						<choice name="enemy">
							<soundset name="RussianSettlerMaleAttack"/>
						</choice>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Germans">
					<targetlogic>
						<choice name="default">
							<soundset name="GermanSettlerMaleAcknowledge"/>
						</choice>
						<choice name="enemy">
							<soundset name="GermanSettlerMaleAttack"/>
						</choice>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Ottomans">
					<targetlogic>
						<choice name="default">
							<soundset name="OttomanSettlerMaleAcknowledge"/>
						</choice>
						<choice name="enemy">
							<soundset name="OttomanSettlerMaleAttack"/>
						</choice>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="SPCAct1">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="SPCAct2">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="SPCAct3">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Pirate">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="TheCircle">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="NativeAmerican">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="XPIroquois">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="XPSioux">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="XPAztec">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="XPSPC">
					<targetlogic>
						<choice name="default">
							<soundset name="SPCMilitiaAcknowledge"/>
						</choice>
						<choice name="enemy">
							<soundset name="SPCMilitiaAttack"/>
						</choice>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Aztecs">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Caribs">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Cherokee">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Comanche">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Cree">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Incas">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Iroquois">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Lakota">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Maya">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Nootka">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Seminoles">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Tupi">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Zapotec">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Huron">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Cheyenne">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Klamath">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Mapuche">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Navajo">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
				<choice name="Apache">
					<targetlogic>
						<choice name="default"/>
						<choice name="enemy"/>
						<choice name="build"/>
						<choice name="Huntable"/>
						<choice name="Tree"/>
						<choice name="AbstractMine"/>
						<choice name="AbstractFarm"/>
						<choice name="AbstractResourceCrate"/>
						<choice name="AbstractFruit"/>
					</targetlogic>
				</choice>
			</civlogic>
		</soundtype>
	</protounit>
</protounitsounddef>


这些文件都被搬到你的MOD也差不多了,有的单位如果有技能的话,在abilities\abilities.xml寻找这个单位的调用名,还是那句话,将语句搬走,然后在abilities\power.xml搜索那个技能,将相关语句也全部搬走(别忘了power.xml定义的技能图标)。至于单位名字、介绍就不用我说了吧,自己在stringtabley.xml或randommapstringsy.xml寻找。





教程结束。






说一种比较特殊的情况,有的单位的武器只是在动画xml引用武器文件,实际上是另外开xml文件定义的。



例如这种:

  FlagBearer.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
<?xml version="1.0" encoding="utf-8"?>

<animfile>
	<definebone>bone_gun</definebone>
	<definebone>bone_hat</definebone>
	<definebone>BIP01 PROP1</definebone>
	<attachment>
		torch
		<include>effects\projectiles\torch.xml</include>
	</attachment>
	<attachment>
		pike
		<include>mods\flag\flag.xml</include>
	</attachment>


  flag.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
<?xml version="1.0" encoding="utf-8"?>

<animfile>
	<definebone>bone_flag_bottom</definebone>
	<attachment>
		flag
		<component>
			flag
			<assetreference type="ClothFlag">
				<flag>
					<blending>alphatest_color</blending>
					<specialtexture/>
					<width>2.00</width>
					<height>1.25</height>
				</flag>
			</assetreference>
		</component>
		<anim>
			Idle
			<component>flag</component>
		</anim>
	</attachment>
	<component>
		pikes
		<logic type="Tech">
			<none>
				<assetreference type="GrannyModel">
					<file>mods\flag\flagpole</file><!-- 搬走 -->
				</assetreference>
				<attach a="flag" frombone="flag" tobone="bone_flag_bottom" syncanims="0"/>
			</none>
		</logic>
	</component>
	<anim>
		Idle
		<component>pikes</component>
	</anim>
</animfile>





像骑兵这些单位,你在protoy.xml查找到的都是马的xml文件,而骑手都是在马的xml里面用<include>xxxxxx.xml</include>去引用骑手,就像上面那个flag.xml一样,你自己看情况搬文件吧。
有的单位xml可能定义了新的特殊音效,例如开枪声音,开炮声音,你自己留意下,有的话去soundsetsy.xml、soundsetsx.xml、soundsets.xml搬语句以及wav音乐文件。









另外偷别人制作的模型是不道德的,自己玩还好,如果要公开发布希望你能先联系MOD作者取得同意,再去发布。
如果你直接复制整个art文件夹,我会鄙视你的。






为什么我移植了别人MOD的单位,但是在剧情编辑器找不到?




①无图。
②没人知道你是怎样弄的。
③无图的情况下,差不多有10种可能性:
1.粗心大意,路径弄错了
2.粗心大意,没有正确搬运文件
3.智商问题,应该搬运的,你没有去搬运
4.改了protoy.xml的animfile路径,你却将anim那个xml文件按照原路径放回
5.改了anim那个xml里面调用gr2文件的路径,你却将gr2按照原路径放回
6.没在protoy.xml添加单位
7.protoy.xml在单位那里添加了<Flag>NotPlayerPlaceable</Flag>
8.你修改的protoy.xml可能没有被调用到,例如怕出错然后备份到这么,你修改了桌面那个xml
9.缺少文件(gr2模型、anim Xml没有复制到帝国3的art文件夹里面)
10.【不常见】安装了两个帝国3,修改了没有被注册表调用到的xml文件。
11.【不常见】安装了两个帝国3,gr2模型、anim Xml被搬到那个没有被调用的帝国3art文件夹里面。
12.人品问题(智商问题)


解决办法:
①自己检查。 成功几率:看人品。
②自己检查。 成功几率:看智商。
③自己检查。 成功几率:看运气。
④自己检查。 成功几率:看逻辑能力。
⑤自己检查。 成功几率:看思维能力。
⑥大喊三声咒语“我真笨”。 成功几率:0.1%
⑦大喊三声咒语“我是猪”。 成功几率:0.2%
⑧大喊三声咒语“我是傻逼”。 成功几率:0.3%
⑨付费,然后让大佬帮你解决。 成功几率:99.0%
⑩砸电脑。 成功几率:0.0%


不付费寻找大佬:


没钱?没钱可以用劳动获取,类似这里:99-13Untrustworthy.htm







我想应该没有人会傻成这样吧?