不让单位死亡
这个教程是让单位死亡后不会消失,而是像探险家那样倒下:
注:如果用这个方法,单位不会自动回血是不会复活的,即使你的单位在他附近,他还是倒下。添加自动回血参考4-2
这次我要修改的单位为鄂图曼骑兵(这货调用名为Spahi,在土耳其会自动回血,这里就不介绍添加自动回血方法了)
方法:
1.在找到这个单位,按照格式添加
<Flag>NotDeleteable</Flag>
上面的语句作用是让单位不能被删除。
<Flag>KnockoutDeath</Flag>
上面的语句作用是让单位生命值为0后不会死亡,而是倒下。
2.删除这个语句
<Command page ='10' column ='1'>Delete</Command>
上面的语句是删除单位的按钮。
修改如下,添加蓝色语句,删除红色语句
|
protoy.xml - 记事本 |
____ |
□ |
X |
|
|
文件(F) 编辑(E) 格式(O) 查看(V) 帮助(H) |
|
|
|
|
|
<Unit id ='339' name ='Spahi'> <DBID>105</DBID> <DisplayNameID>23733</DisplayNameID> <EditorNameID>25033</EditorNameID> <PopulationCount>3</PopulationCount> <ObstructionRadiusX>0.7900</ObstructionRadiusX> <ObstructionRadiusZ>0.7900</ObstructionRadiusZ> <FormationCategory>Mobile</FormationCategory> <MaxVelocity>6.5000</MaxVelocity> <MaxRunVelocity>8.5000</MaxRunVelocity> <MovementType>land</MovementType> <TurnRate>18.0000</TurnRate> <AnimFile>units\cavalry\spahi\spahi_horse.xml</AnimFile> <ImpactType>Flesh</ImpactType> <PhysicsInfo>cav</PhysicsInfo> <Icon>units\cavalry\spahi\spahi_icon</Icon> <PortraitIcon>units\cavalry\spahi\spahi_portrait</PortraitIcon> <RolloverTextID>23732</RolloverTextID> <ShortRolloverTextID>25713</ShortRolloverTextID> <InitialHitpoints>750.0000</InitialHitpoints> <MaxHitpoints>750.0000</MaxHitpoints> <LOS>15.0000</LOS> <UnitAIType>HandCombative</UnitAIType> <TrainPoints>40.0000</TrainPoints> <Bounty>28.0000</Bounty> <BuildBounty>28.0000</BuildBounty> <Cost resourcetype ='Food'>280.0000</Cost> <AllowedAge>2</AllowedAge> <Armor type ='Ranged' 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>HasBountyValue</UnitType> <UnitType>AbstractHeavyCavalry</UnitType> <UnitType>AbstractCavalryInfantry</UnitType> <UnitType>CountsTowardMilitaryScore</UnitType> <UnitType>ConvertsHerds</UnitType> <UnitType>AbstractHandCavalry</UnitType> <UnitType>Unit</UnitType> <UnitType>Military</UnitType> <UnitType>UnitClass</UnitType> <UnitType>AbstractCavalry</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>Tracked</Flag> <Flag>NotDeleteable</Flag> <Flag>KnockoutDeath</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>28.000000</Damage> <DamageType>Siege</DamageType> <ROF>3.000000</ROF> </ProtoAction> <ProtoAction> <Name>DefendHandAttack</Name> <Damage>35.000000</Damage> <DamageType>Hand</DamageType> <ROF>1.500000</ROF> <DamageCap>70.000000</DamageCap> <DamageArea>3.000000</DamageArea> <DamageFlags>Enemy</DamageFlags> </ProtoAction> <ProtoAction> <Name>GuardianAttack</Name> <Damage>35.000000</Damage> <DamageType>Hand</DamageType> <ROF>1.500000</ROF> <DamageCap>70.000000</DamageCap> </ProtoAction> <ProtoAction> <Name>MeleeHandAttack</Name> <Damage>35.000000</Damage> <DamageType>Hand</DamageType> <ROF>1.500000</ROF> <DamageCap>70.000000</DamageCap> <DamageArea>3.000000</DamageArea> <DamageFlags>Enemy</DamageFlags> </ProtoAction> <ProtoAction> <Name>TrampleHandAttack</Name> <Damage>23.000000</Damage> <DamageType>Hand</DamageType> <ROF>2.000000</ROF> <DamageCap>93.000000</DamageCap> <DamageArea>3.000000</DamageArea> <DamageFlags>Enemy</DamageFlags> </ProtoAction> </Unit> |
|
|
还可以反过来为探险家添加死亡:
找到探险家删除这两句。
<Flag>NotDeleteable</Flag>
<Flag>KnockoutDeath</Flag>
添加
<Command page ='10' column ='1'>Delete</Command>
|
protoy.xml - 记事本 |
____ |
□ |
X |
|
|
文件(F) 编辑(E) 格式(O) 查看(V) 帮助(H) |
|
|
|
|
|
<Unit id ='288' name ='Explorer'> <DBID>9</DBID> <DisplayNameID>22824</DisplayNameID> <ObstructionRadiusX>0.4900</ObstructionRadiusX> <ObstructionRadiusZ>0.4900</ObstructionRadiusZ> <FormationCategory>Body</FormationCategory> <MaxVelocity>4.5000</MaxVelocity> <MaxRunVelocity>6.5000</MaxRunVelocity> <MovementType>land</MovementType> <TurnRate>18.0000</TurnRate> <AnimFile>units\explorers\explorer.xml</AnimFile> <ImpactType>Flesh</ImpactType> <Icon>units\explorers\explorer_portrait</Icon> <MinimapIcon>ui\minimap\hero</MinimapIcon> <PortraitIcon>units\explorers\explorer_portrait</PortraitIcon> <SelectionPriority>5</SelectionPriority> <RolloverTextID>22823</RolloverTextID> <ShortRolloverTextID>25633</ShortRolloverTextID> <InitialHitpoints>400.0000</InitialHitpoints> <MaxHitpoints>400.0000</MaxHitpoints> <LOS>18.0000</LOS> <ProjectileProtoUnit>InvisibleProjectile</ProjectileProtoUnit> <AutoAttackRange>16.0000</AutoAttackRange> <UnitAIType>RangedCombative</UnitAIType> <Bounty>45.0000</Bounty> <AllowedAge>0</AllowedAge> <Armor type ='Ranged' value ='0.1000'></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>Unit</UnitType> <UnitType>UnitClass</UnitType> <UnitType>Military</UnitType> <UnitType>Hero</UnitType> <UnitType>AbstractInfantry</UnitType> <UnitType>HasBountyValue</UnitType> <UnitType>Ranged</UnitType> <UnitType>AbstractGunpowderTrooper</UnitType> <UnitType>AbstractCavalryInfantry</UnitType> <UnitType>ConvertsHerds</UnitType> <UnitType>AbstractRangedInfantry</UnitType> <UnitType>AbstractCanSeeStealth</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> <Flag>HeroName2</Flag> <Flag>CollidesWithProjectiles</Flag> <Flag>ApplyHandicapTraining</Flag> <Flag>CorpseDecays</Flag> <Flag>ShowGarrisonButton</Flag> <Flag>DontRotateObstruction</Flag> <Flag>ObscuredByUnits</Flag> <!-- <Flag>KnockoutDeath</Flag> --> <Flag>RotateInPlace</Flag> <!-- <Flag>NotDeleteable</Flag> --> <Flag>ForceBuildingData</Flag> <Flag>Tracked</Flag> <Command page ='10' column ='0'>Garrison</Command> <Command page ='10' column ='1'>Delete</Command> <Command page ='10' column ='2'>Stop</Command> <Command page ='11' column ='0'>Abilities</Command> <Tactics>explorer.tactics</Tactics> <ProtoAction> <Name>Build</Name> <Rate type ='TradingPost'>3.000000</Rate> <Rate type ='TownCenter'>1.000000</Rate> </ProtoAction> <ProtoAction> <Name>BuildingAttack</Name> <Damage>15.000000</Damage> <DamageType>Siege</DamageType> <ROF>3.000000</ROF> <DamageBonus type ='Building'>1.000000</DamageBonus> </ProtoAction> <ProtoAction> <Name>CrackshotAttack</Name> <Damage>5000.000000</Damage> <DamageType>Ranged</DamageType> <MaxRange>16.000000</MaxRange> <ROF>3.000000</ROF> <DamageBonus type ='MercType2'>0.010000</DamageBonus> </ProtoAction> <ProtoAction> <Name>HandAttack</Name> <Damage>6.000000</Damage> <DamageType>Hand</DamageType> <ROF>1.500000</ROF> <DamageBonus type ='Guardian'>3.000000</DamageBonus> <DamageBonus type ='AbstractVillager'>0.250000</DamageBonus> </ProtoAction> <ProtoAction> <Name>Heal</Name> <Rate type ='LogicalTypeHealed'>50.000000</Rate> </ProtoAction> <ProtoAction> <Name>SharpshooterAttack</Name> <Damage>750.000000</Damage> <DamageType>Ranged</DamageType> <MaxRange>16.000000</MaxRange> <ROF>3.000000</ROF> </ProtoAction> <ProtoAction> <Name>SwashbucklerAttack</Name> <Damage>100.000000</Damage> <DamageType>Hand</DamageType> <ROF>2.000000</ROF> <DamageCap>200.000000</DamageCap> <DamageBonus type ='AbstractVillager'>0.250000</DamageBonus> <DamageArea>3.000000</DamageArea> <DamageFlags>GAIAEnemy</DamageFlags> <DamageBonus type ='MercType2'>0.250000</DamageBonus> </ProtoAction> <ProtoAction> <Name>VolleyRangedAttack</Name> <Damage>12.000000</Damage> <DamageType>Ranged</DamageType> <MaxRange>16.000000</MaxRange> <ROF>3.000000</ROF> <DamageBonus type ='Guardian'>3.000000</DamageBonus> <DamageBonus type ='AbstractVillager'>0.250000</DamageBonus> </ProtoAction> </Unit>
|
|
|
不过这样改的话,欧洲探险家删除后不能被赎回,你需要像亚洲国家那样添加建造单位按钮。还需要你给探险家添加建造1上限<BuildLimit>1</BuildLimit>与100黄金成本<Cost resourcetype ='Gold'>100.0000</Cost>。
|
protoy.xml - 记事本 |
____ |
□ |
X |
|
|
文件(F) 编辑(E) 格式(O) 查看(V) 帮助(H) |
|
|
|
|
|
<Unit id ='288' name ='Explorer'> <DBID>9</DBID> <DisplayNameID>22824</DisplayNameID> <ObstructionRadiusX>0.4900</ObstructionRadiusX> <ObstructionRadiusZ>0.4900</ObstructionRadiusZ> <FormationCategory>Body</FormationCategory> <MaxVelocity>4.5000</MaxVelocity> <MaxRunVelocity>6.5000</MaxRunVelocity> <MovementType>land</MovementType> <TurnRate>18.0000</TurnRate> <AnimFile>units\explorers\explorer.xml</AnimFile> <ImpactType>Flesh</ImpactType> <Icon>units\explorers\explorer_portrait</Icon> <MinimapIcon>ui\minimap\hero</MinimapIcon> <PortraitIcon>units\explorers\explorer_portrait</PortraitIcon> <SelectionPriority>5</SelectionPriority> <RolloverTextID>22823</RolloverTextID> <ShortRolloverTextID>25633</ShortRolloverTextID> <InitialHitpoints>400.0000</InitialHitpoints> <MaxHitpoints>400.0000</MaxHitpoints> <LOS>18.0000</LOS> <ProjectileProtoUnit>InvisibleProjectile</ProjectileProtoUnit> <AutoAttackRange>16.0000</AutoAttackRange> <UnitAIType>RangedCombative</UnitAIType> <Bounty>45.0000</Bounty> <AllowedAge>0</AllowedAge> <BuildLimit>1</BuildLimit>
<Cost resourcetype ='Gold'>100.0000</Cost> <Armor type ='Ranged' value ='0.1000'></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>Unit</UnitType> <UnitType>UnitClass</UnitType> <UnitType>Military</UnitType> <UnitType>Hero</UnitType> <UnitType>AbstractInfantry</UnitType> <UnitType>HasBountyValue</UnitType> <UnitType>Ranged</UnitType> <UnitType>AbstractGunpowderTrooper</UnitType> <UnitType>AbstractCavalryInfantry</UnitType> <UnitType>ConvertsHerds</UnitType> <UnitType>AbstractRangedInfantry</UnitType> <UnitType>AbstractCanSeeStealth</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> <Flag>HeroName2</Flag> <Flag>CollidesWithProjectiles</Flag> <Flag>ApplyHandicapTraining</Flag> <Flag>CorpseDecays</Flag> <Flag>ShowGarrisonButton</Flag> <Flag>DontRotateObstruction</Flag> <Flag>ObscuredByUnits</Flag> <!-- <Flag>KnockoutDeath</Flag> --> <Flag>RotateInPlace</Flag> <!-- <Flag>NotDeleteable</Flag> --> <Flag>ForceBuildingData</Flag> <Flag>Tracked</Flag> <Command page ='10' column ='0'>Garrison</Command> <Command page ='10' column ='1'>Delete</Command> <Command page ='10' column ='2'>Stop</Command> <Command page ='11' column ='0'>Abilities</Command> <Tactics>explorer.tactics</Tactics> <ProtoAction> <Name>Build</Name> <Rate type ='TradingPost'>3.000000</Rate> <Rate type ='TownCenter'>1.000000</Rate> </ProtoAction> <ProtoAction> <Name>BuildingAttack</Name> <Damage>15.000000</Damage> <DamageType>Siege</DamageType> <ROF>3.000000</ROF> <DamageBonus type ='Building'>1.000000</DamageBonus> </ProtoAction> <ProtoAction> <Name>CrackshotAttack</Name> <Damage>5000.000000</Damage> <DamageType>Ranged</DamageType> <MaxRange>16.000000</MaxRange> <ROF>3.000000</ROF> <DamageBonus type ='MercType2'>0.010000</DamageBonus> </ProtoAction> <ProtoAction> <Name>HandAttack</Name> <Damage>6.000000</Damage> <DamageType>Hand</DamageType> <ROF>1.500000</ROF> <DamageBonus type ='Guardian'>3.000000</DamageBonus> <DamageBonus type ='AbstractVillager'>0.250000</DamageBonus> </ProtoAction> <ProtoAction> <Name>Heal</Name> <Rate type ='LogicalTypeHealed'>50.000000</Rate> </ProtoAction> <ProtoAction> <Name>SharpshooterAttack</Name> <Damage>750.000000</Damage> <DamageType>Ranged</DamageType> <MaxRange>16.000000</MaxRange> <ROF>3.000000</ROF> </ProtoAction> <ProtoAction> <Name>SwashbucklerAttack</Name> <Damage>100.000000</Damage> <DamageType>Hand</DamageType> <ROF>2.000000</ROF> <DamageCap>200.000000</DamageCap> <DamageBonus type ='AbstractVillager'>0.250000</DamageBonus> <DamageArea>3.000000</DamageArea> <DamageFlags>GAIAEnemy</DamageFlags> <DamageBonus type ='MercType2'>0.250000</DamageBonus> </ProtoAction> <ProtoAction> <Name>VolleyRangedAttack</Name> <Damage>12.000000</Damage> <DamageType>Ranged</DamageType> <MaxRange>16.000000</MaxRange> <ROF>3.000000</ROF> <DamageBonus type ='Guardian'>3.000000</DamageBonus> <DamageBonus type ='AbstractVillager'>0.250000</DamageBonus> </ProtoAction> </Unit>
|
|
|
添加上限后也会影响到葡萄牙的黄金探险队卡片,卡片会检测单位建造上限,然后不能运送,需要把那个卡片拆分成2个科技,卡片的效果是增加2探险家建造上限,然后用active改良科技运送2个探险家。
如果思维跟不上就慢慢理解.............
黄金探险队的卡片调用名为HCShipBandeirantes
|
techtreey.xml - 记事本 |
____ |
□ |
X |
|
|
文件(F) 编辑(E) 格式(O) 查看(V) 帮助(H) |
|
|
|
|
|
<Tech name ='HCShipBandeirantes' type ='Normal'> <DBID>2657</DBID> <DisplayNameID>41554</DisplayNameID> <Cost resourcetype ='Ships'>1.0000</Cost> <ResearchPoints>40.0000</ResearchPoints> <Status>UNOBTAINABLE</Status> <Icon>units\explorers\explorer_icon</Icon> <RolloverTextID>41553</RolloverTextID> <Flag>HomeCity</Flag> <Effects> <Effect type ='Data' amount ='2.00' subtype ='FreeHomeCityUnit' unittype ='Explorer' relativity ='Absolute'> <Target type ='Player'></Target></Effect></Effects> </Tech>
|
|
|
复制上面的语句,在techtreey底部粘贴1份,改名;然后回去,将原有的HCShipBandeirantes(黄金探险队)卡片效果修改成添加2探险家上限语句、直接改良新粘贴的科技。修改如下:
|
techtreey.xml - 记事本 |
____ |
□ |
X |
|
|
文件(F) 编辑(E) 格式(O) 查看(V) 帮助(H) |
|
|
|
|
|
<Tech name ='HCShipBandeirantes' type ='Normal'> <DBID>2657</DBID> <DisplayNameID>41554</DisplayNameID> <Cost resourcetype ='Ships'>1.0000</Cost> <ResearchPoints>40.0000</ResearchPoints> <Status>UNOBTAINABLE</Status> <Icon>units\explorers\explorer_icon</Icon> <RolloverTextID>41553</RolloverTextID> <Flag>HomeCity</Flag> <Effects> <Effect type ='TechStatus' status ='active'>HCShipBandeirantes2</Effect> <Effect type ='Data' amount ='2.00' subtype ='BuildLimit' relativity ='Absolute'> <Target type ='ProtoUnit'>Explorer</Target></Effect> </Effects> </Tech>
|
|
|
粘贴在techtreey.xml底部:
|
techtreey.xml - 记事本 |
____ |
□ |
X |
|
|
文件(F) 编辑(E) 格式(O) 查看(V) 帮助(H) |
|
|
|
|
|
<Tech name ='HCShipBandeirantes2' type ='Normal'> <DBID>2657</DBID> <DisplayNameID>41554</DisplayNameID> <Cost resourcetype ='Ships'>1.0000</Cost> <ResearchPoints>40.0000</ResearchPoints> <Status>UNOBTAINABLE</Status> <Icon>units\explorers\explorer_icon</Icon> <RolloverTextID>41553</RolloverTextID> <Flag>HomeCity</Flag> <Effects> <Effect type ='Data' amount ='2.00' subtype ='FreeHomeCityUnit' unittype ='Explorer' relativity ='Absolute'> <Target type ='Player'></Target></Effect></Effects> </Tech> </TechTree><!-- 这个是Techtreey的结尾,请将语句复制在</TechTree>上面-->
|
|
|