基础知识 主要学习修改三个文件,分别是data文件夹里面的protoy.xml、techtreey.xml与stringtabley.xml。
protoy可以修改单位各种属性与建造按钮,例如生命值、速度、视野、图标、建造单位按钮等。
techtreey可以修改科技、卡片的效果,例如增加可训练单位、增加或减少生命值、运送单位等。
stringtabley是语言文件,作用是其他文件的5个数字会转变成这个文件与那5个数字相对应的文字。
刚入门的萌新请务必看完本页面,谢谢。
如果你还没下载单位手册,请点击此处下载帝国时代3亚洲王朝1.03版单位手册终极版.exe。
注意:在本教程中中间的X是数值或路径,后面或下一行的文字是对整行效果的解释。如果你问我X是什么,我保证我不会打死你的。
图片的<PopulationCapAddition>X</PopulationCapAddition>为可容纳人口数,把X改成100,那么该单位/建筑就能容纳100人口。
把<MaxVelocity>X</MaxVelocity>中间的X改成10,那么该单位移动速度变成10
像军营那种单位没有可容纳人口数量的语句怎么办?
鉴于你是刚入门,我不欺负你:没有就自己将语句添加进军营就可以了。
PS:随意伸手会受到惩罚,甚至是受到-2147483647点暴击伤害。
萌新(LV1):!@#¥%……&怎样修改?
萌新(LV2):^&*(!@#$)_*&怎样修改?
萌新(LV3):/*-+23456^%
萌新(LV4):~!@#$%~``#%;怎样修改?
小羽(LV??)向萌新(LV4)发动攻击,造成了-2147483648点致命伤害。
小羽(LV??):最不喜欢那些自己不思考却又总是伸手的人了。
不把你直接炸成灰已经算是对你手下留情了。
另一个萌新(LV1)看见此状况在瑟瑟发抖。
本教程一些术语:
protoname为Protoy.xml的单位调用名
techname为Techtreey.xml的科技调用名
protoPowerName为Protounitcommands.xml的调用名
什么是单位调用名?
什么是调用名?
凡是name = 'XXXX'都是调用名。
protoy.xml - 记事本
____
□
X
文件(F) 编辑(E) 格式(O) 查看(V) 帮助(H)
<Unit id ='909' name ='ypChuKoNu'> <DBID>1333</DBID> <DisplayNameID>60152</DisplayNameID> <EditorNameID>60153</EditorNameID> <PopulationCount>1</PopulationCount> <ObstructionRadiusX>0.4900</ObstructionRadiusX> <ObstructionRadiusZ>0.4900</ObstructionRadiusZ>
上图中的单位调用名为ypChuKoNu,然后在Stringtabley.xml搜索60152,查到该单位为诸葛弩。
你可能看见了一张假截图
techtreey.xml - 记事本
____
□
X
文件(F) 编辑(E) 格式(O) 查看(V) 帮助(H)
<Tech name ='HCShipCrossbowmen3German' type ='Normal'> <DBID>2474</DBID> <DisplayNameID>36423</DisplayNameID> <Cost resourcetype ='Ships'>1.0000</Cost> <ResearchPoints>40.0000</ResearchPoints> <Status>UNOBTAINABLE</Status> <Icon>units\infantry_ranged\crossbow\crossbow_icon_64x64</Icon>
上图中的科技调用名为HCShipCrossbowmen3,在Stringtabley搜索42201,查到该科技为运送21个弩手的卡片。
此处非常重要
怎样修改单位人口啊?
.看圣典
怎样让村民建造工厂啊?
..看圣典
怎样让中国训练火枪手啊?
...看圣典
怎样建造剧情里面的英雄啊?
....
圣典我看了,就是不会。
.....
你就教教我呗
......我还能说些什么? 不是你不会,而是你想不劳而获。要么你就是猪。
请记住以下语句:
techtreey.xml - 记事本
____
□
X
文件(F) 编辑(E) 格式(O) 查看(V) 帮助(H)
启用科技
< Effect type =' TechStatus' status =' obtainable'> Techname</ Effect >
禁用科技
< Effect type =' TechStatus' status =' unobtainable'> Techname</ Effect >
直接改良科技
< Effect type =' TechStatus' status =' active'> Techname</ Effect >
停用单位(0是停用,1是启用,-1是停用。)
< Effect type =' Data' amount =' 0' subtype =' Enable' relativity =' Absolute'> < Target type =' ProtoUnit'> Protoname</ Target > </ Effect >
启用单位(0是停用,1是启用,-1是停用。)
< Effect type =' Data' amount =' 1' subtype =' Enable' relativity =' Absolute'> < Target type =' ProtoUnit'> Protoname</ Target > </ Effect >
protoy.xml - 记事本
____
□
X
文件(F) 编辑(E) 格式(O) 查看(V) 帮助(H)
< PopulationCount > X.0000</ PopulationCount > 每个该类单位所占人口。 注意:俄国军队不能改为0,否则俄国不能出兵的。(如果要改为0需要在civs.xml删除沙俄的捆绑出兵方式的语句,具体请点击这里 )
< Train row =' 0' page =' X' column =' Y' > A</ Train > 此单位/建筑可以生产的单位。
< Tech row =' 0' page =' X' column =' Y' > A</ Tech > 此单位/建筑可以研究的科技。
Y是X行的第几个,protoname是单位调用名,techname是科技调用名 X的显示值看下表
=' 0'
训练
=' 12'
英国人
=' 1'
改良
=' 13'
法国人
=' 2'
步兵
=' 14'
俄罗斯人
=' 3'
奇观
=' 15'
荷兰人
=' 4'
骑兵
=' 16'
西班牙领事馆
=' 5'
炮兵
=' 17'
葡萄牙人
=' 6'
建造
=' 18'
选择盟友
=' 7'
购买
=' 19'
军队
=' 8'
出售
=' 20'
(领事馆的解约科技大按钮)
=' 9'
战术
=' 21'
购买
=' 10'
命令
=' 22'
(空白)
=' 11'
能力(Abilities)
怎样修改单位人口?
很简单的,例如修改诸葛弩:
打开protoy.xml,搜索ypchukonu(ypchukonu是诸葛弩的单位调用名,自己看单位手册或者圣典的单位调用名,自己在stringtabley.xml寻找也行)
然后会看到<Unit id ='909' name ='ypChuKoNu'>
接下来把 <PopulationCount>
1 </PopulationCount>中间的
1 修改成0,那么诸葛弩占用人口就变成0了,修改成100,占用人口就变成100。
protoy.xml - 记事本
____
□
X
文件(F) 编辑(E) 格式(O) 查看(V) 帮助(H)
<Unit id ='909' name ='ypChuKoNu'> <DBID>1333</DBID> <DisplayNameID>60152</DisplayNameID> <EditorNameID>60153</EditorNameID> <PopulationCount> 1 </PopulationCount> <ObstructionRadiusX>0.4900</ObstructionRadiusX> <ObstructionRadiusZ>0.4900</ObstructionRadiusZ> <FormationCategory>Ranged</FormationCategory> <MaxVelocity>4.5000</MaxVelocity> <MaxRunVelocity>6.0000</MaxRunVelocity> <MovementType>land</MovementType> <TurnRate>18.0000</TurnRate> <AnimFile>units\Mods\ming\crossbow\crossbow.xml</AnimFile> <ImpactType>Flesh</ImpactType> <PhysicsInfo>dude</PhysicsInfo> <Icon>icon\mingcrossbow_icon_64</Icon> <PortraitIcon>icon\mingcrossbow_icon_portrait</PortraitIcon> <RolloverTextID>60151</RolloverTextID> <ShortRolloverTextID>60150</ShortRolloverTextID> <InitialHitpoints>90.0000</InitialHitpoints> <MaxHitpoints>90.0000</MaxHitpoints> <LOS>20.0000</LOS> <ProjectileProtoUnit>Arrow</ProjectileProtoUnit> <AutoAttackRange>16.0000</AutoAttackRange> <UnitAIType>RangedCombative</UnitAIType> <TrainPoints>24.0000</TrainPoints> <Bounty>9.0000</Bounty> <BuildBounty>9.0000</BuildBounty> <Cost resourcetype ='Food'>85.0000</Cost> <AllowedAge>1</AllowedAge> <Armor type ='Ranged' value ='0.2000'></Armor> <UnitType>LogicalTypeHealed</UnitType> <UnitType>LogicalTypeValidSharpshoot</UnitType>
自己来试一遍,点击下面的(假)记事本 文本框,然后按ctrl+F搜索ypchukonu
把PopulationCount的1改成0,或100,按保存
。。。这个记事本是假的,不能保存,自己到外面去打开protoy.xml修改后再保存。
protoy.xml - 记事本
____
□
X
文件(F) 编辑(E) 格式(O) 查看(V) 帮助(H)
<Unit id ='908' name ='ypMonkIndian'> <DBID>1332</DBID> <DisplayNameID>60148</DisplayNameID> <EditorNameID>60149</EditorNameID> <ObstructionRadiusX>0.7900</ObstructionRadiusX> <ObstructionRadiusZ>0.7900</ObstructionRadiusZ> <FormationCategory>Mobile</FormationCategory> <MaxVelocity>5.0000</MaxVelocity> <MaxRunVelocity>7.0000</MaxRunVelocity> <MovementType>land</MovementType> <TurnRate>18.0000</TurnRate> <AnimFile>units\asians\indians\monk\monk_elephant.xml</AnimFile> <ImpactType>Flesh</ImpactType> <Icon>units\asians\indians\monk\indian_monk_icon_64</Icon> <MinimapIcon>ui\minimap\hero</MinimapIcon> <PortraitIcon>units\asians\indians\monk\indian_monk_icon_portrait</PortraitIcon> <SelectionPriority>5</SelectionPriority> <RolloverTextID>60147</RolloverTextID> <ShortRolloverTextID>60146</ShortRolloverTextID> <InitialHitpoints>250.0000</InitialHitpoints> <MaxHitpoints>250.0000</MaxHitpoints> <LOS>18.0000</LOS> <ProjectileProtoUnit>InvisibleProjectile</ProjectileProtoUnit> <AutoAttackRange>16.0000</AutoAttackRange> <UnitAIType>RangedCombative</UnitAIType> <TrainPoints>20.0000</TrainPoints> <BuildLimit>1</BuildLimit> <Bounty>45.0000</Bounty> <Cost resourcetype ='Gold'>175.0000</Cost> <RechargeTime>10.0000</RechargeTime> <AllowedAge>0</AllowedAge> <Armor type ='Ranged' value ='0.2000'></Armor> <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>Hero</UnitType> <UnitType>AbstractCavalry</UnitType> <UnitType>AbstractElephant</UnitType> <UnitType>Unit</UnitType> <UnitType>Military</UnitType> <UnitType>UnitClass</UnitType> <UnitType>AbstractCavalryInfantry</UnitType> <UnitType>HasBountyValue</UnitType> <UnitType>Ranged</UnitType> <UnitType>AbstractCanSeeStealth</UnitType> <UnitType>AbstractHandCavalry</UnitType> <UnitType>ConvertsHerds</UnitType> <UnitType>AbstractMonk</UnitType> <UnitType>AbstractIndianMonk</UnitType> <Train row ='0' page ='6' column ='1'>TradingPost</Train> <Train row ='0' page ='6' column ='0'>TownCenter</Train> <Train row ='0' page ='6' column ='3'>NatBlowgunAmbusher</Train> <Train row ='0' page ='6' column ='2'>WarDog</Train> <Train row ='0' page ='6' column ='4'>NatClubmanLoyal</Train> <Train row ='0' page ='6' column ='2'>PetCoyote</Train> <Train row ='0' page ='6' column ='2'>YPPetTiger</Train> <Train row ='0' page ='6' column ='5'>YPPetRhino</Train> <Train row ='0' page ='6' column ='4'>YPPetWhiteTiger</Train> <Train row ='0' page ='6' column ='3'>ypPetLion</Train> <Flag>CollidesWithProjectiles</Flag> <Flag>ApplyHandicapTraining</Flag> <Flag>CorpseDecays</Flag> <Flag>ShowGarrisonButton</Flag> <Flag>DontRotateObstruction</Flag> <Flag>ObscuredByUnits</Flag> <Flag>HeroName2</Flag> <Flag>RotateInPlace</Flag> <Flag>ForceBuildingData</Flag> <Flag>NotDeleteable</Flag> <Flag>KnockoutDeath</Flag> <Flag>CanAutoHeal</Flag> <Flag>Tracked</Flag> <Command page ='10' column ='0'>Garrison</Command> <Command page ='10' column ='2'>Stop</Command> <Command page ='11' column ='0'>Abilities</Command> <Command page ='9' column ='0'>ToggleStealth</Command> <Tactics>ypindianmonk.tactics</Tactics> <ProtoAction> <Name>AutoGatherWood</Name> <Type>AutoGather</Type> <Rate type ='Wood'>0.100000</Rate> </ProtoAction> <ProtoAction> <Name>Build</Name> <Rate type ='TradingPost'>3.000000</Rate> <Rate type ='TownCenter'>1.000000</Rate> <Rate type ='WarHut'>1.000000</Rate> <Rate type ='ArtilleryDepot'>1.000000</Rate> <Rate type ='Corral'>1.000000</Rate> </ProtoAction> <ProtoAction> <Name>BuildingAttack</Name> <Damage>10.000000</Damage> <DamageType>Siege</DamageType> <ROF>3.000000</ROF> <DamageBonus type ='Building'>1.000000</DamageBonus> </ProtoAction> <ProtoAction> <Name>GuardianAttack</Name> <Damage>4.000000</Damage> <DamageType>Hand</DamageType> <ROF>1.500000</ROF> <DamageCap>40.000000</DamageCap> <DamageBonus type ='Guardian'>3.000000</DamageBonus> <DamageArea>2.000000</DamageArea> <DamageFlags>GAIAEnemy</DamageFlags> <HitPercent>10.000000</HitPercent> <HitPercentType>Sweep</HitPercentType> </ProtoAction> <ProtoAction> <Name>HandAttack</Name> <Damage>4.000000</Damage> <DamageType>Hand</DamageType> <ROF>1.500000</ROF> <DamageCap>40.000000</DamageCap> <DamageBonus type ='Guardian'>3.000000</DamageBonus> <DamageArea>2.000000</DamageArea> <DamageFlags>Enemy</DamageFlags> <HitPercent>10.000000</HitPercent> <HitPercentType>Sweep</HitPercentType> <DamageBonus type ='AbstractVillager'>0.250000</DamageBonus> <DamageBonus type ='Hero'>0.500000</DamageBonus> <DamageBonus type ='AbstractArtillery'>1.000000</DamageBonus> </ProtoAction> <ProtoAction> <Name>Heal</Name> <Type>Heal</Type> <Rate type ='LogicalTypeHealed'>4.000000</Rate> </ProtoAction> <ProtoAction> <Name>Stun</Name> <Damage>30.000000</Damage> <DamageType>Hand</DamageType> <MaxRange>2.000000</MaxRange> <ROF>3.000000</ROF> </ProtoAction> <ProtoAction> <Name>sweepDamage</Name> <Damage>5.000000</Damage> <DamageType>Hand</DamageType> <DamageFlags>GAIAEnemy</DamageFlags> </ProtoAction> </Unit> <Unit id ='909' name ='ypChuKoNu'> <DBID>1333</DBID> <DisplayNameID>60152</DisplayNameID> <EditorNameID>60153</EditorNameID> <PopulationCount>1 </PopulationCount> <ObstructionRadiusX>0.4900</ObstructionRadiusX> <ObstructionRadiusZ>0.4900</ObstructionRadiusZ> <FormationCategory>Ranged</FormationCategory> <MaxVelocity>4.5000</MaxVelocity> <MaxRunVelocity>6.0000</MaxRunVelocity> <MovementType>land</MovementType> <TurnRate>18.0000</TurnRate> <AnimFile>units\Mods\ming\crossbow\crossbow.xml</AnimFile> <ImpactType>Flesh</ImpactType> <PhysicsInfo>dude</PhysicsInfo> <Icon>icon\mingcrossbow_icon_64</Icon> <PortraitIcon>icon\mingcrossbow_icon_portrait</PortraitIcon> <RolloverTextID>60151</RolloverTextID> <ShortRolloverTextID>60150</ShortRolloverTextID> <InitialHitpoints>90.0000</InitialHitpoints> <MaxHitpoints>90.0000</MaxHitpoints> <LOS>20.0000</LOS> <ProjectileProtoUnit>Arrow</ProjectileProtoUnit> <AutoAttackRange>16.0000</AutoAttackRange> <UnitAIType>RangedCombative</UnitAIType> <TrainPoints>24.0000</TrainPoints> <Bounty>9.0000</Bounty> <BuildBounty>9.0000</BuildBounty> <Cost resourcetype ='Food'>85.0000</Cost> <AllowedAge>1</AllowedAge> <Armor type ='Ranged' value ='0.2000'></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>ConvertsHerds</UnitType> <UnitType>AbstractRangedInfantry</UnitType> <UnitType>Ranged</UnitType> <UnitType>HasBountyValue</UnitType> <UnitType>AbstractCavalryInfantry</UnitType> <UnitType>CountsTowardMilitaryScore</UnitType> <UnitType>UnitClass</UnitType> <UnitType>Military</UnitType> <UnitType>Unit</UnitType> <UnitType>AbstractArcher</UnitType> <UnitType>AbstractInfantry</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>chukonu.tactics</Tactics> <ProtoAction> <Name>BuildingAttack</Name> <Damage>3.000000</Damage> <DamageType>Siege</DamageType> <ROF>3.000000</ROF> </ProtoAction> <ProtoAction> <Name>DefendHandAttack</Name> <Damage>6.000000</Damage> <DamageType>Hand</DamageType> <ROF>1.500000</ROF> <DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus> <DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus> <DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus> <DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus> <DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus> </ProtoAction> <ProtoAction> <Name>DefendRangedAttack</Name> <Damage>5.000000</Damage> <DamageType>Ranged</DamageType> <MinRange>2.000000</MinRange> <MaxRange>16.000000</MaxRange> <ROF>3.000000</ROF> <DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus> <DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus> <DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus> <DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus> <DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus> </ProtoAction> <ProtoAction> <Name>MeleeHandAttack</Name> <Damage>6.000000</Damage> <DamageType>Hand</DamageType> <ROF>1.500000</ROF> <DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus> <DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus> <DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus> <DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus> <DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus> </ProtoAction> <ProtoAction> <Name>StaggerHandAttack</Name> <Damage>6.000000</Damage> <DamageType>Hand</DamageType> <ROF>1.500000</ROF> <DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus> <DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus> <DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus> <DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus> <DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus> </ProtoAction> <ProtoAction> <Name>StaggerRangedAttack</Name> <Damage>5.000000</Damage> <DamageType>Ranged</DamageType> <MinRange>2.000000</MinRange> <MaxRange>16.000000</MaxRange> <ROF>3.000000</ROF> <DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus> <DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus> <DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus> <DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus> <DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus> </ProtoAction> <ProtoAction> <Name>VolleyHandAttack</Name> <Damage>6.000000</Damage> <DamageType>Hand</DamageType> <ROF>1.500000</ROF> <DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus> <DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus> <DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus> <DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus> <DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus> </ProtoAction> <ProtoAction> <Name>VolleyRangedAttack</Name> <Damage>5.000000</Damage> <DamageType>Ranged</DamageType> <MinRange>2.000000</MinRange> <MaxRange>16.000000</MaxRange> <ROF>3.000000</ROF> <DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus> <DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus> <DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus> <DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus> <DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus> </ProtoAction> </Unit> <Unit id ='910' name ='ypArquebusier'> <DBID>1334</DBID> <DisplayNameID>60156</DisplayNameID> <EditorNameID>60157</EditorNameID> <PopulationCount>1</PopulationCount> <ObstructionRadiusX>0.4900</ObstructionRadiusX> <ObstructionRadiusZ>0.4900</ObstructionRadiusZ> <FormationCategory>Ranged</FormationCategory> <MaxVelocity>4.0000</MaxVelocity> <MaxRunVelocity>6.0000</MaxRunVelocity> <MovementType>land</MovementType> <TurnRate>18.0000</TurnRate> <AnimFile>units\Mods\ming\master\master.xml</AnimFile> <ImpactType>Flesh</ImpactType> <PhysicsInfo>dude</PhysicsInfo> <Icon>icon\mingmaster_icon_64</Icon> <PortraitIcon>icon\mingmaster_icon_portrait</PortraitIcon> <RolloverTextID>60155</RolloverTextID> <ShortRolloverTextID>60154</ShortRolloverTextID> <InitialHitpoints>105.0000</InitialHitpoints> <MaxHitpoints>105.0000</MaxHitpoints> <LOS>24.0000</LOS> <ProjectileProtoUnit>InvisibleProjectile</ProjectileProtoUnit> <AutoAttackRange>16.0000</AutoAttackRange> <UnitAIType>RangedCombative</UnitAIType> <TrainPoints>27.0000</TrainPoints> <Bounty>9.0000</Bounty> <BuildBounty>9.0000</BuildBounty> <Cost resourcetype ='Gold'>85.0000</Cost> <AllowedAge>2</AllowedAge> <Armor type ='Ranged' value ='0.3000'></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>AbstractInfantry</UnitType> <UnitType>Unit</UnitType> <UnitType>Military</UnitType> <UnitType>UnitClass</UnitType> <UnitType>CountsTowardMilitaryScore</UnitType> <UnitType>AbstractCavalryInfantry</UnitType> <UnitType>HasBountyValue</UnitType> <UnitType>Ranged</UnitType> <UnitType>AbstractGunpowderTrooper</UnitType> <UnitType>AbstractRangedInfantry</UnitType> <UnitType>ConvertsHerds</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>musketBayonet.tactics</Tactics> <ProtoAction> <Name>BuildingAttack</Name> <Damage>9.000000</Damage> <DamageType>Siege</DamageType> <ROF>3.000000</ROF> </ProtoAction> <ProtoAction> <Name>DefendHandAttack</Name> <Damage>5.000000</Damage> <DamageType>Hand</DamageType> <ROF>1.500000</ROF> <DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus> <DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus> <DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus> <DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus> <DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus> </ProtoAction> <ProtoAction> <Name>DefendRangedAttack</Name> <Damage>14.000000</Damage> <DamageType>Ranged</DamageType> <MaxRange>20.000000</MaxRange> <ROF>3.000000</ROF> <DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus> <DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus> <DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus> <DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus> <DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus> </ProtoAction> <ProtoAction> <Name>MeleeHandAttack</Name> <Damage>5.000000</Damage> <DamageType>Hand</DamageType> <ROF>1.500000</ROF> <DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus> <DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus> <DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus> <DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus> <DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus> </ProtoAction> <ProtoAction> <Name>StaggerHandAttack</Name> <Damage>5.000000</Damage> <DamageType>Hand</DamageType> <ROF>1.500000</ROF> <DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus> <DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus> <DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus> <DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus> <DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus> </ProtoAction> <ProtoAction> <Name>StaggerRangedAttack</Name> <Damage>14.000000</Damage> <DamageType>Ranged</DamageType> <MaxRange>20.000000</MaxRange> <ROF>3.000000</ROF> <DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus> <DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus> <DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus> <DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus> <DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus> </ProtoAction> <ProtoAction> <Name>VolleyHandAttack</Name> <Damage>5.000000</Damage> <DamageType>Hand</DamageType> <ROF>1.500000</ROF> <DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus> <DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus> <DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus> <DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus> <DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus> </ProtoAction> <ProtoAction> <Name>VolleyRangedAttack</Name> <Damage>14.000000</Damage> <DamageType>Ranged</DamageType> <MaxRange>20.000000</MaxRange> <ROF>3.000000</ROF> <DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus> <DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus> <DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus> <DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus> <DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus> </ProtoAction> </Unit> <Unit id ='911' name ='ypQiangPikeman'> <DBID>1335</DBID> <DisplayNameID>60160</DisplayNameID> <EditorNameID>60161</EditorNameID> <PopulationCount>1</PopulationCount> <ObstructionRadiusX>0.4900</ObstructionRadiusX> <ObstructionRadiusZ>0.4900</ObstructionRadiusZ> <FormationCategory>Body</FormationCategory> <MaxVelocity>5.0000</MaxVelocity> <MaxRunVelocity>7.0000</MaxRunVelocity> <MovementType>land</MovementType> <TurnRate>18.0000</TurnRate> <AnimFile>units\Mods\ming\pikeman\pikeman.xml</AnimFile> <ImpactType>Flesh</ImpactType> <PhysicsInfo>dude</PhysicsInfo> <Icon>icon\mingpikeman_icon_64</Icon> <PortraitIcon>icon\mingpikeman_icon_portrait</PortraitIcon> <SelectionPriority>20</SelectionPriority> <RolloverTextID>60159</RolloverTextID> <ShortRolloverTextID>60158</ShortRolloverTextID> <InitialHitpoints>110.0000</InitialHitpoints> <MaxHitpoints>110.0000</MaxHitpoints> <LOS>12.0000</LOS> <UnitAIType>HandCombative</UnitAIType> <TrainPoints>24.0000</TrainPoints> <Bounty>7.0000</Bounty> <BuildBounty>7.0000</BuildBounty> <Cost resourcetype ='Wood'>60.0000</Cost> <AllowedAge>1</AllowedAge> <Armor type ='Hand' value ='0.1000'></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>ConvertsHerds</UnitType> <UnitType>AbstractHandInfantry</UnitType> <UnitType>AbstractPikeman</UnitType> <UnitType>HasBountyValue</UnitType> <UnitType>AbstractCavalryInfantry</UnitType> <UnitType>CountsTowardMilitaryScore</UnitType> <UnitType>UnitClass</UnitType> <UnitType>Military</UnitType> <UnitType>Unit</UnitType> <UnitType>AbstractInfantry</UnitType> <UnitType>AbstractHeavyInfantry</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>pikeman.tactics</Tactics> <ProtoAction> <Name>BuildingAttack</Name> <Damage>30.000000</Damage> <DamageType>Siege</DamageType> <ROF>3.000000</ROF> </ProtoAction> <ProtoAction> <Name>CoverBuildingAttack</Name> <Damage>15.000000</Damage> <DamageType>Siege</DamageType> <ROF>3.000000</ROF> </ProtoAction> <ProtoAction> <Name>CoverHandAttack</Name> <Damage>3.500000</Damage> <DamageType>Hand</DamageType> <ROF>1.500000</ROF> <DamageBonus type ='AbstractCavalry'>5.000000</DamageBonus> <DamageBonus type ='AbstractLightInfantry'>3.000000</DamageBonus> </ProtoAction> <ProtoAction> <Name>DefendHandAttack</Name> <Damage>7.000000</Damage> <DamageType>Hand</DamageType> <ROF>1.500000</ROF> <DamageBonus type ='AbstractCavalry'>5.000000</DamageBonus> <DamageBonus type ='AbstractLightInfantry'>3.000000</DamageBonus> </ProtoAction> <ProtoAction> <Name>MeleeHandAttack</Name> <Damage>7.000000</Damage> <DamageType>Hand</DamageType> <ROF>1.500000</ROF> <DamageBonus type ='AbstractCavalry'>5.000000</DamageBonus> <DamageBonus type ='AbstractLightInfantry'>3.000000</DamageBonus> </ProtoAction> </Unit>
其他的使用方法看
1-6初始科技 。