I am creating new factions in Generals Zero Hour, but I have a problem: the button for my Dozer won't work in the Command Center. I coded it in the Command Center's CommandSet, but clicking on it does nothing! I need some help.
Here is how I coded it:
Code:
Object DeltaVehicleDozer
SelectPortrait = SACDozer_L
ButtonImage = SACDozer
Draw = W3DTruckDraw ModuleTag_01
OkToChangeModelColor = Yes
DefaultConditionState
Model = AVCONSTDOZ_A
ParticleSysBone = EXHAUSTFX01 DozerSmokeLight
WaitForStateToFinishIfPossible = TRANS_DIGGING
End
ConditionState = ACTIVELY_CONSTRUCTING
Model = AVCONSTDOZ_A
Animation = AVCONSTDOZ_A.AVCONSTDOZ_A
AnimationMode = ONCE
ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy
ParticleSysBone = DIRTFX01 DozerDirtFall
TransitionKey = TRANS_DIGGING
End
ConditionState = ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE
Model = AVCONSTDOZ_AD
Animation = AVCONSTDOZ_AD.AVCONSTDOZ_AD
AnimationMode = ONCE
ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy
ParticleSysBone = DIRTFX01 DozerDirtFall
TransitionKey = TRANS_DIGGING
End
ConditionState = PREATTACK_A
Animation = AVCONSTDOZ_A.AVCONSTDOZ_A
AnimationMode = ONCE
ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy
ParticleSysBone = DIRTFX01 DozerDirtFall
TransitionKey = TRANS_DIGGING
End
ConditionState = MOVING
ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy
WaitForStateToFinishIfPossible = TRANS_DIGGING
End
AliasConditionState = ACTIVELY_CONSTRUCTING MOVING
ConditionState = REALLYDAMAGED RUBBLE
Model = AVCONSTDOZ_AD
ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy
WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED
End
ConditionState = PREATTACK_A REALLYDAMAGED RUBBLE
Model = AVCONSTDOZ_AD
Animation = AVCONSTDOZ_AD.AVCONSTDOZ_AD
AnimationMode = ONCE
ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy
TransitionKey = TRANS_DIGGING_DAMAGED
End
ConditionState = MOVING REALLYDAMAGED RUBBLE
Model = AVCONSTDOZ_AD
ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy
WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED
End
AliasConditionState = ACTIVELY_CONSTRUCTING MOVING REALLYDAMAGED RUBBLE
TrackMarks = EXTireTrack2.tga
Dust = RocketBuggyDust
DirtSpray = RocketBuggyDirtSpray
LeftFrontTireBone = TIRE01
RightFrontTireBone = TIRE02
LeftRearTireBone = TIRE03
RightRearTireBone = TIRE04
TireRotationMultiplier = 0.2
PowerslideRotationAddition = 0
End
DisplayName = OBJECT:Dozer
Side = Delta
EditorSorting = VEHICLE
TransportSlotCount = 5
BuildCost = 1000
BuildTime = 5.0
VisionRange = 200
ShroudClearingRange = 200
WeaponSet
Conditions = None
Weapon = PRIMARY None
End
WeaponSet
Conditions = MINE_CLEARING_DETAIL
Weapon = PRIMARY DozerMineDisarmingWeapon
End
ArmorSet
Conditions = None
Armor = DozerArmor
DamageFX = TankDamageFX
End
CrusherLevel = 2
CrushableLevel = 2
CommandSet = DeltaDozerCommandSet
VoiceSelect = DozerUSAVoiceSelect
VoiceMove = DozerUSAVoiceMove
VoiceGuard = DozerUSAVoiceMove
VoiceDefect = DozerUSAVoiceCreate
VoiceTaskComplete = DozerUSAVoiceBuildComplete
SoundMoveStart = DozerUSAMoveStart
SoundMoveStartDamaged = DozerUSAMoveStart
UnitSpecificSounds
VoiceCreate = DozerUSAVoiceCreate
VoiceNoBuild = DozerUSAVoiceBuildNot
VoiceCrush = DozerUSAVoiceCrush
VoiceRepair = DozerUSAVoiceRepair
VoiceDisarm = DozerUSAVoiceClearMine
TruckLandingSound = NoSound
TruckPowerslideSound = NoSound
VoiceEnter = DozerUSAVoiceMove
VoiceBuildResponse = DozerUSAVoiceBuild
End
RadarPriority = UNIT
KindOf = PRELOAD VEHICLE SCORE SELECTABLE CAN_CAST_REFLECTIONS DOZER
Body = ActiveBody ModuleTag_02
MaxHealth = 250.0
InitialHealth = 250.0
SubdualDamageCap = 500
SubdualDamageHealRate = 500
SubdualDamageHealAmount = 50
End
Behavior = DozerAIUpdate ModuleTag_03
RepairHealthPercentPerSecond = 2%
BoredTime = 5000
BoredRange = 150
AutoAcquireEnemiesWhenIdle = Yes
End
Locomotor = SET_NORMAL AmericaVehicleDozerLocomotor
Behavior = PhysicsBehavior ModuleTag_04
Mass = 75.0
End
Behavior = StealthDetectorUpdate ModuleTag_05
DetectionRate = 500
DetectionRange = 200
CanDetectWhileGarrisoned = No
CanDetectWhileContained = No
ExtraRequiredKindOf = MINE
End
Behavior = TransitionDamageFX ModuleTag_06
ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
End
Behavior = SlowDeathBehavior ModuleTag_07
DeathTypes = ALL -CRUSHED -SPLATTED
ProbabilityModifier = 100
DestructionDelay = 1500
DestructionDelayVariance = 600
FX = INITIAL FX_CrusaderCatchFire
OCL = FINAL OCL_AmericaDozerExplode
FX = FINAL FX_BattleMasterExplosionOneFinal
End
Behavior = CreateCrateDie ModuleTag_CratesChange
CrateData = SalvageCrateData
End
Behavior = FlammableUpdate ModuleTag_21
AflameDuration = 5000
AflameDamageAmount = 3
AflameDamageDelay = 500
End
ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_22
End
Behavior = FXListDie ModuleTag_23
DeathTypes = NONE +CRUSHED +SPLATTED
DeathFX = FX_CarCrush
End
Behavior = DestroyDie ModuleTag_24
DeathTypes = NONE +CRUSHED +SPLATTED
End
Behavior = FXListDie ModuleTag_HijackerEmerge
RequiredStatus = HIJACKED
DeathTypes = ALL -CRUSHED -SPLATTED
DeathFX = FX_HijackerEject
End
Geometry = BOX
GeometryMajorRadius = 15.0
GeometryMinorRadius = 10.0
GeometryHeight = 15.0
GeometryIsSmall = Yes
Shadow = SHADOW_VOLUME
ShadowSizeX = 45
End
Code:
CommandButton Command_ConstructDeltaDozer
Command = DOZER_CONSTRUCT
Object = DeltaVehicleDozer
TextLabel = CONTROLBAR:ConstructDeltaDozer
ButtonImage = SACDozer
ButtonBorderType = BUILD ; Identifier for the User as to what kind of button this is
DescriptLabel = CONTROLBAR:ToolTipDeltaBuildDozer
End
Code:
CommandSet DeltaCommandCenterCommandSet
1 = Command_ConstructDeltaDozer
14 = Command_Sell
End
I made a copy of the USA Dozer and recoded it as the new Dozer; same thing was done to the Command Center. I am doing these things as a test to make sure creating a new faction can be done in Generals.
The dozer's button may have a problem with it, because when I assign the Dozer command button to a war factory, for example, the same error occurs.