感谢Overmind的这篇指导。
How to change the build cost and time of a unit or structure怎样改变单位和建筑的建造时间和花费
还用我们在以第一个教程中的坦克例子,你可以发现修改建造时间和花费简直是小菜一碟。只要修改下划线部分就可以了。
<GameObject
id=”mytank”
inheritFrom=”BaseVehicle”
SelectPortrait=”Portrait_AlliedAntiVehicleVehicleTech1″
ButtonImage=”Button_AlliedAntiVehicleVehicleTech1_on”
Side=”Allies”
SubGroupPriority=”425″
EditorSorting=”UNIT”
HealthBoxHeightOffset=”25″
BuildTime=”10″建造时间=10 秒
CommandSet=”mytankCommandSet”
KindOf=”SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS SCORE VEHICLE CAN_BE_FAVORITE_UNIT T2_UNIT”
WeaponCategory=”CANNON”
VoicePriority=”188″
EditorName=”mytank”
Description=”Desc:mytank”
TypeDescription=”Type:mytank”
UnitIntro=”Allied_GuardianTank_UnitIntro”>
<DisplayName
xai:joinAction=”Replace” xmlns:xai=”uri:ea.com:eala:asset:instance”>Name:mytank</DisplayName>
<ObjectResourceInfo>
<BuildCost Account=”=$ACCOUNT_ORE” Amount=”950″/花费 =950>
</ObjectResourceInfo>
How to change the dependancy of a unit or structure怎样改变一个用户或是建筑的科技附属性
一个单位的附属性就是建造这个单位所需要建造的建筑或是要进行的研究。使用前面的坦克例子来看看。
<GameObject
id=”mytank”
inheritFrom=”BaseVehicle”
SelectPortrait=”Portrait_AlliedAntiVehicleVehicleTech1″
ButtonImage=”Button_AlliedAntiVehicleVehicleTech1_on”
Side=”Allies”
SubGroupPriority=”425″
EditorSorting=”UNIT”
HealthBoxHeightOffset=”25″
BuildTime=”10″
CommandSet=”mytankCommandSet”
KindOf=”SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS SCORE VEHICLE CAN_BE_FAVORITE_UNIT T2_UNIT”
WeaponCategory=”CANNON”
VoicePriority=”188″
EditorName=”mytank”
Description=”Desc:mytank”
TypeDescription=”Type:mytank”
UnitIntro=”Allied_GuardianTank_UnitIntro”>
<DisplayName
xai:joinAction=”Replace” xmlns:xai=”uri:ea.com:eala:asset:instance”>Name:mytank</DisplayName>
<ObjectResourceInfo>
<BuildCost Account=”=$ACCOUNT_ORE” Amount=”950″/>
</ObjectResourceInfo>
<GameDependency>
<NeededUpgrade>Upgrade_AlliedTech2</NeededUpgrade>
</GameDependency>
下划线部分表示我们的坦克需要盟军的高级授权来建造。删除它,就可以使得该单位的建造不再有附属性。
当然,你也可以根据你所设的附属性等级来修改粗体部分,你可以选择1,2,3。(这一行的作用是设定单位的某些属性,单位属于几级单位)
How to change the weapon of a unit or structure怎样改变单位或是建筑的武器
还使用以前的坦克作例子,把其xml文件拉到下面所示文本处,当然,你也可以使用搜索功能来搜索“weapon”
<WeaponSetUpdate
id=”ModuleTag_WeaponSetUpdate”>
<WeaponSlotTurret
ID=”1″>
<Weapon
Ordering=”PRIMARY_WEAPON”
Template=”AlliedAntiVehicleVehicleTech1Cannon”
ForbiddenObjectStatus=”GENERIC_TOGGLE_STATE”/>
<Weapon
Ordering=”SECONDARY_WEAPON”
Template=”AlliedAntiVehicleVehicleTech1TargetPainter”
ObjectStatus=”GENERIC_TOGGLE_STATE”/>
<TurretSettings
TurretTurnRate=”360″
MinimumPitch=”-30d”
AllowsPitch=”true”
TurretPitchRate=”180″
MinIdleScanTime=”1.0s”
MaxIdleScanTime=”4.0s”
MinIdleScanAngle=”30.0″
MaxIdleScanAngle=”50.0″
ComeToHaltJiggle=”3d”>
<TurretAITargetChooserData
IdleScanDelay=”=$FAST_IDLE_SCAN_DELAY”
CanAcquireDynamicIfAssignedOutOfRange=”true” />
</TurretSettings>
</WeaponSlotTurret>
从上面可以看到,这个单位有两种武器,因为是取自守护者坦克,因此有一个探测瞄准器作为副武器,现在我们只需关注主武器(下划线部分)。可以把它替换为其他的武器模板,只要查看别的单位的武器模板的名称就可以了,或者直接看weapon.xml文件。要记住,有些武器比如激光类的需要额外的代码来画出来,你可以打开这个激光武器单位的xml文件,把它的绘图代码拷到武器代码的下面。(有时候会出现原来的武器的开火效果和新的武器的效果并存,这应该也是绘图代码在作怪)