请选择 进入手机版 | 继续访问电脑版
跳转到:
打印 上一主题 下一主题

[教程] 帝国3制作类似神话时代或帝国2那种采集

[复制链接]
LV20 ????

三好萌新

阅读权限
255
积分
24399
食物
2575
木材
1368
钱币
2117
茶叶
143
钻石
825
经验
10322

幸运勋章

QQ
跳转到指定楼层
楼主
发表于 2020-1-10 16:19:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
帝国时代3可以制作类似神话时代或帝国时代2那种采集,村民采集资源后必须将资源放回城镇中心或者磨坊、矿场类建筑物,才能收集到资源。
方法:只需要添加几个语句
1.在protoy.xml找到村民的ProtoAction设定,然后在<name>Gather</name>添加下列语句
<dropsitegathering>1</dropsitegathering>

另外,村民携带资源上限由以下语句控制:
<CarryCapacity resourcetype ='Food'>10.0000</CarryCapacity> <CarryCapacity resourcetype ='Wood'>10.0000</CarryCapacity> <CarryCapacity resourcetype ='Gold'>10.0000</CarryCapacity>
2.制作仓库类建筑物,例如将资源放回城镇中心 在单位或者建筑物添加以下语句
<CarryCapacity resourcetype ='Food'>1.0000</CarryCapacity> <CarryCapacity resourcetype ='Wood'>1.0000</CarryCapacity> <CarryCapacity resourcetype ='Gold'>1.0000</CarryCapacity> <UnitType>Dropsite</UnitType>

上述语句弄完就能制作类似神话时代或帝国时代2那种采集,村民采集资源后必须将资源放回城镇中心或者磨坊、矿场类建筑物,否则将会站着不动。

















完全版教程-mod.aoebbs.net;编号[12-7]

村民采集资源后必须将资源放回仓库类建筑物或单位


帝国时代3可以制作类似神话时代或帝国时代2那种采集,村民采集资源后必须将资源放回城镇中心或者磨坊、矿场等仓库类建筑物,才能收集到资源,如果没有仓库类建筑物则站着不动。

方法:只需要添加几个语句
1.在protoy.xml找到村民的ProtoAction设定,然后在<name>Gather</name>添加下列语句
<dropsitegathering>1</dropsitegathering>
<dropsitegathering>1</dropsitegathering>这句使采集的资源变成携带资源,不加入国库中,必须将资源放到仓库类建筑物才能增加现有资源;如果村民被杀了的话,那么他携带的资源就没了并且不会加入现有资源。另外,这个语句也可以添加在tactics的Gather里面,优先调用protoy.xml的设定。

另外,村民携带资源上限由以下语句控制:
<CarryCapacity resourcetype ='Food'>20.0000</CarryCapacity> <CarryCapacity resourcetype ='Wood'>10.0000</CarryCapacity> <CarryCapacity resourcetype ='Gold'>10.0000</CarryCapacity>
Food为20代表1次采集最多能采集20食物,Wood与Gold为10就代表1次采集最多只能采集10木材或黄金;不建议设定太大,也不建议设定太少,10-30就差不多了。 2.制作仓库类建筑物,例如将资源放回城镇中心 在单位或者建筑物添加以下语句
<CarryCapacity resourcetype ='Food'>1.0000</CarryCapacity> <CarryCapacity resourcetype ='Wood'>1.0000</CarryCapacity> <CarryCapacity resourcetype ='Gold'>1.0000</CarryCapacity> <UnitType>Dropsite</UnitType>
<UnitType>Dropsite</UnitType>是必须要添加的,否则村民无法在该建筑物或单位放置资源;除了可以使单位或建筑变成仓库外,还有一个作用,村民在猎杀牲畜的时候,附近的牲畜会自动跑到带有Dropsite的仓库建筑物旁边。 至于其他几句携带资源语句CarryCapacity resourcetype ='xxxx'为控制仓库可搜集资源。如果只添加了Food;那么只能搜集食物;如果添加了Food、Wood,那么就可以同时搜集食物与木材;其他资源同理。 PS:村民会自动将资源放到离自己最近一个仓库;此外,资源不止Food、Wood、Gold三个,其他几个资源(trade、xp、ships、fame、skillpoints)照样可以这样修改。






例子:




村民三种资源修改成携带资源,需要带回仓库,每次只能携带10资源:

(注意不要漏了<dropsitegathering>1</dropsitegathering>语句,在<Name>Gather</Name>下面)
  protoy.xml - 记事本--村民 __ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
	<Unit id='928' name='aSettler'>
		<DBID>1358</DBID>
		<DisplayNameID>60245</DisplayNameID>
		<EditorNameID>60246</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\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>60244</RolloverTextID>
		<ShortRolloverTextID>60243</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'>10.0000</CarryCapacity>
		<CarryCapacity resourcetype='Wood'>10.0000</CarryCapacity>
		<CarryCapacity resourcetype='Gold'>10.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>Economic</UnitType>
		<UnitType>AbstractVillager</UnitType>
		<UnitType>Unit</UnitType>
		<UnitType>UnitClass</UnitType>
		<UnitType>CountsTowardEconomicScore</UnitType>
		<UnitType>ValidIdleVillager</UnitType>
		<UnitType>HasBountyValue</UnitType>
		<UnitType>Ranged</UnitType>
		<UnitType>CannotConvertHill</UnitType>
		<UnitType>ConvertsHerds</UnitType>
		<UnitType>AffectedByTownBell</UnitType>
		<Train row='0' page='6' column='2'>XXXXX</Train>
		<Tech row='0' page='1' column='0'>XXXXX</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>
			<dropsitegathering>1</dropsitegathering>
			<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>
			<Rate type='ypRicePaddy' resource='Gold'>0.340000</Rate>
			<Rate type='ypBerryBuilding'>0.670000</Rate>
			<Rate type='ypGroveBuilding'>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>

  protoy.xml - 记事本 - 马车 __ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
	<Unit id='552' name='Test Wagon'>
		<DBID>732</DBID>
		<DisplayNameID></DisplayNameID>
		<EditorNameID></EditorNameID>
		<ObstructionRadiusX>0.9900</ObstructionRadiusX>
		<ObstructionRadiusZ>0.9900</ObstructionRadiusZ>
		<FormationCategory>Protected</FormationCategory>
		<MaxVelocity>2.0000</MaxVelocity>
		<MaxRunVelocity>4.0000</MaxRunVelocity>
		<MovementType>land</MovementType>
		<TurnRate>3.0000</TurnRate>
		<AnimFile>units\trade\supply_cart\supply_cart_all.xml</AnimFile>
		<ImpactType>Wood</ImpactType>
		<Icon>units\trade\spc_wagon_icon_64x64</Icon>
		<PortraitIcon>units\trade\spc_wagon_portrait</PortraitIcon>
		<RolloverTextID>32689</RolloverTextID>
		<ShortRolloverTextID>32688</ShortRolloverTextID>
		<LOS>22.0000</LOS>
		<UnitAIType>Civilian</UnitAIType>
		<CarryCapacity resourcetype='Food'>1.0000</CarryCapacity>
		<CarryCapacity resourcetype='Wood'>1.0000</CarryCapacity>
		<carrycapacity resourcetype='Gold'>1.0000</carrycapacity>
		<AllowedAge>0</AllowedAge>
		<Armor type='Ranged' value='0.1000'/>
		<UnitType>Dropsite</UnitType>
		<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>HasBountyValue</UnitType>
		<UnitType>AbstractWagon</UnitType>
		<UnitType>UnitClass</UnitType>
		<UnitType>Unit</UnitType>
		<UnitType>Economic</UnitType>
		<Flag>CollidesWithProjectiles</Flag>
		<Flag>ApplyHandicapTraining</Flag>
		<Flag>DontRotateObstruction</Flag>
		<Flag>ObscuredByUnits</Flag>
		<unittype>AbstractTradeUnit</unittype>
		<unittype>TradeUnit</unittype>
		<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>SPCResourceCart.tactics</Tactics>
	</Unit>



采集资源后放到马车才收集到资源(留意村民采集与资源栏的变化,村民生命值下面还有个携带资源数量):


村民猎杀牲畜时,附近的牲畜跑到带有<UnitType>Dropsite</UnitType>的单位。





设定仓库类单位只能放置木材与黄金(其实就是只给仓库添加携带木材与黄金):

  protoy.xml - 记事本 - 马车 __ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
	<Unit id='552' name='Test Wagon'>
		<DBID>732</DBID>
		<DisplayNameID></DisplayNameID>
		<EditorNameID></EditorNameID>
		<ObstructionRadiusX>0.9900</ObstructionRadiusX>
		<ObstructionRadiusZ>0.9900</ObstructionRadiusZ>
		<FormationCategory>Protected</FormationCategory>
		<MaxVelocity>2.0000</MaxVelocity>
		<MaxRunVelocity>4.0000</MaxRunVelocity>
		<MovementType>land</MovementType>
		<TurnRate>3.0000</TurnRate>
		<AnimFile>units\trade\supply_cart\supply_cart_all.xml</AnimFile>
		<ImpactType>Wood</ImpactType>
		<Icon>units\trade\spc_wagon_icon_64x64</Icon>
		<PortraitIcon>units\trade\spc_wagon_portrait</PortraitIcon>
		<RolloverTextID>32689</RolloverTextID>
		<ShortRolloverTextID>32688</ShortRolloverTextID>
		<LOS>22.0000</LOS>
		<UnitAIType>Civilian</UnitAIType>
		<CarryCapacity resourcetype='Wood'>1.0000</CarryCapacity>
		<carrycapacity resourcetype='Gold'>1.0000</carrycapacity>
		<AllowedAge>0</AllowedAge>
		<Armor type='Ranged' value='0.1000'/>
		<UnitType>Dropsite</UnitType>
		<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>HasBountyValue</UnitType>
		<UnitType>AbstractWagon</UnitType>
		<UnitType>UnitClass</UnitType>
		<UnitType>Unit</UnitType>
		<UnitType>Economic</UnitType>
		<Flag>CollidesWithProjectiles</Flag>
		<Flag>ApplyHandicapTraining</Flag>
		<Flag>DontRotateObstruction</Flag>
		<Flag>ObscuredByUnits</Flag>
		<unittype>AbstractTradeUnit</unittype>
		<unittype>TradeUnit</unittype>
		<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>SPCResourceCart.tactics</Tactics>
	</Unit>







我们还可以利用科技增加村民的携带资源上限,语句为:


			<Effect type='Data' amount='X.00' subtype='CarryCapacity' resource='Food' relativity='BasePercent'>
				<Target type='ProtoUnit'>AbstractVillager(可换成单个调用名)</Target>
			</Effect>







例如我的村民的携带食物、木材、黄金上限为10,现在要给他们增加2倍食物携带上限,木材携带上限增加6,黄金上限减3
  techtreey.xml - 记事本 __ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
	<Tech name='DropsiteTest' type='Normal'>
		<DBID>5290</DBID>
		<ResearchPoints>10.0000</ResearchPoints>
		<Status>OBTAINABLE</Status>
		<Icon>units\trade\spc_wagon_icon_64x64</Icon>
		<Effects>
			<Effect type='Data' amount='2.00' subtype='CarryCapacity' resource='Food' relativity='BasePercent'>
				<Target type='ProtoUnit'>AbstractVillager</Target>
			</Effect>
			<Effect type='Data' amount='5.00' subtype='CarryCapacity' resource='Wood' relativity='Absolute'>
				<Target type='ProtoUnit'>AbstractVillager</Target>
			</Effect>
			<Effect type='Data' amount='-3.00' subtype='CarryCapacity' resource='Gold' relativity='Absolute'>
				<Target type='ProtoUnit'>AbstractVillager</Target>
			</Effect>
		</Effects>
	</Tech>




改良科技DropsiteTest后



LV4 下士

阅读权限
50
积分
505
食物
3
木材
3
钱币
11
茶叶
0
钻石
0
经验
504
沙发
发表于 2020-1-10 18:57:16 | 只看该作者
帝国2+1
回复
LV1 新兵

阅读权限
10
积分
7
食物
5
木材
2
钱币
2
茶叶
0
钻石
0
经验
7
板凳
发表于 2020-9-18 16:09:35 | 只看该作者
真棒,顶一下
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则