 |
Forum Info
|
 |
Forum Members: 18,642
Total Threads: 8,744
Posts: 95,512
Administrators:
DeeZire, Redemption
There are currently 23 users online.
|
 |
Partner Links
|
 |
 |
Advertisements
|
 |
|
| Generals & Zero Hour Editing Discuss any modding related issues to do with Generals and Zero Hour here. |
08-08-2004, 05:38 PM
|
#1 (permalink)
|
|
Member
Join Date: Aug 2004
Posts: 69
|
Editing construction list
I am trying to modify the US General Granger to be able to construct more aircraft. I want to have a plane that looks like an aurora bomber, but drops a single nuclear bomb (which drops on a parachute and explodes 10 seconds later so that the plane has to get away). How can I add this plane to the construction queue of an airbase? This is for Zero Hour, by the way.
|
|
|
08-08-2004, 06:16 PM
|
#2 (permalink)
|
|
Senior Member
Join Date: Dec 2002
Location: Sydney, Australia
Posts: 202
|
First you'll have to go into AirforceGeneral.ini (after extracting the ini files. You'll need XCC Mixer. Type it into Google) and Copy the Aurora Entry and paste it below. You'll have to then modify the unit name (So it's not JetAurora but JetX where x is the new name)
You'll then have to modify the weapon on the unit and then create that weapon, as well as put it in the commandset and add a command button.
Give it a shot and if you have problems post some code.
~Wize/Skywaters
|
|
|
08-08-2004, 06:36 PM
|
#3 (permalink)
|
|
Member
Join Date: Aug 2004
Posts: 69
|
I found multiple entries dealing with aurora, but here is the main one for the actual Jet, I think. The rest I do not know how to do.
Edit: Oh, sorry, I thought you wanted me to post it below here.
Also, I will use a different armor for that plane. I already changed the armor and weapon name. I know where to find the weapon, but which file do I find the armors in?
|
|
|
08-08-2004, 08:41 PM
|
#4 (permalink)
|
|
Senior Member
Join Date: Dec 2002
Location: Sydney, Australia
Posts: 202
|
Armor Settings can be found in armor.ini. It's best to extract all files and then modify (Your files btw should be going to cncgzh/data/INI.
Tell you what, post your code here bit by bit (in the forums) and we/I will go through it with you.
|
|
|
08-08-2004, 09:09 PM
|
#5 (permalink)
|
|
Member
Join Date: Aug 2004
Posts: 69
|
I found everything and changed the files:
Armor:
Code:
Armor NukeJetArmor
Armor = DEFAULT 60% ;this sets the level for all nonspecified damage types
Armor = SMALL_ARMS 80% ;gives Quad and gattling a little more punch.
Armor = GATTLING 80% ;resistant to gattling tank
Armor = EXPLOSION 60% ;gives patriot some more punch
Armor = INFANTRY_MISSILE 80% ;gives missile guys some more punch
Armor = LASER 0% ;lasers are anti-personel and anti-projectile only (for point defense laser)
Armor = HAZARD_CLEANUP 0% ;Not harmed by cleaning weapons
Armor = KILL_PILOT 0% ;Jarmen Kell uses against vehicles only.
Armor = SURRENDER 0% ;Capture type weapons are effective only against infantry.
Armor = JET_MISSILES 15% ;aircraft do less damage to one another in the skies.
Armor = POISON 15% ;Poison does a little damage, just for balance reasons.
Armor = RADIATION 15% ;Radiation does a little damage, just for balance reasons.
Armor = MICROWAVE 0%
Armor = SNIPER 0%
Armor = SUBDUAL_MISSILE 0%
Armor = SUBDUAL_VEHICLE 0%
Armor = SUBDUAL_BUILDING 0%
End
;****************************************************
;***IF YOU CHANGE THESE, CHANGE AirplaneArmor TOO!***
;****************************************************
;This armor is the countermeasures upgrade based off AirplaneArmor. We reduce
;the damage of SMALL_ARMS and GATTLING by 25%.
Armor CountermeasuresNukeJetArmor
Armor = DEFAULT 60%
Armor = SMALL_ARMS 35% ; currently set to 37.5% increase (120 x 0.75 -- 25% reduction off AirplaneArmor)
Armor = GATTLING 35% ; currently set to 37.5% increase (120 x 0.75 -- 25% reduction off AirplaneArmor)
Armor = EXPLOSION 50%
Armor = INFANTRY_MISSILE 60%
Armor = LASER 0%
Armor = HAZARD_CLEANUP 0%
Armor = KILL_PILOT 0%
Armor = SURRENDER 0%
Armor = JET_MISSILES 10%
Armor = POISON 10%
Armor = RADIATION 10%
Armor = MICROWAVE 0%
Armor = SNIPER 0%
Armor = SUBDUAL_MISSILE 0%
Armor = SUBDUAL_VEHICLE 0%
Armor = SUBDUAL_BUILDING 0%
End
AirforceGeneral:
Code:
Object AirF_AmericaJetNuclearBomber
; *** ART Parameters ***
SelectPortrait = SAAurora_L
ButtonImage = SAAurora
UpgradeCameo1 = Upgrade_AmericaAdvancedTraining
UpgradeCameo2 = Upgrade_AmericaCountermeasures
;UpgradeCameo3 = NONE
;UpgradeCameo4 = NONE
;UpgradeCameo5 = NONE
Draw = W3DModelDraw ModuleTag_01
DefaultConditionState
Model = AVAurora
HideSubObject = BurnerFX03 BurnerFX04
WeaponLaunchBone = PRIMARY WeaponA
End
ConditionState = JETEXHAUST
; exhaust
ParticleSysBone = Wingtip01 JetContrail
ParticleSysBone = Wingtip02 JetContrail
End
ConditionState = JETEXHAUST JETAFTERBURNER
; exhaust
ParticleSysBone = Wingtip01 JetContrail
ParticleSysBone = Wingtip02 JetContrail
; afterburner
ShowSubObject = BurnerFX03 BurnerFX04
ParticleSysBone = Engine01 JetLenzflare
ParticleSysBone = Engine02 JetLenzflare
End
ConditionState = REALLYDAMAGED
Model = AVAurora_D
; damage
ParticleSysBone = Smoke01 JetSmoke
ParticleSysBone = Engine01 JetEngineDamagedSmoke
End
ConditionState = REALLYDAMAGED JETEXHAUST
Model = AVAurora_D
; damage
ParticleSysBone = Smoke01 JetSmoke
ParticleSysBone = Engine01 JetEngineDamagedSmoke
; exhaust
ParticleSysBone = Wingtip01 JetContrail
ParticleSysBone = Wingtip02 JetContrail
End
ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER
Model = AVAurora_D
; damage
ParticleSysBone = Smoke01 JetSmoke
ParticleSysBone = Engine01 JetEngineDamagedSmoke
; afterburner
ShowSubObject = BurnerFX03 BurnerFX04
ParticleSysBone = Engine01 JetLenzflare
ParticleSysBone = Engine02 JetLenzflare
; exhaust
ParticleSysBone = Wingtip01 JetContrail
ParticleSysBone = Wingtip02 JetContrail
End
ConditionState = RUBBLE
Model = AVAurora_D1
HideSubObject = None
ShowSubObject = None
End
ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER
Model = AVAurora_D1
;HideSubObject is needed cause there're inherited from default condition state
HideSubObject = None
ShowSubObject = None
ParticleSysBone = Engine01 JetExhaust
ParticleSysBone = Engine02 JetExhaust
; exhaust
ParticleSysBone = Wingtip01 JetContrail
ParticleSysBone = Wingtip02 JetContrail
End
OkToChangeModelColor = Yes
End
; ***DESIGN parameters ***
DisplayName = OBJECT:Aurora
EditorSorting = VEHICLE
Side = AmericaAirForceGeneral
TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable)
VisionRange = 240.0
ShroudClearingRange = 600
Prerequisites
Object = AirF_AmericaAirfield
Object = AirF_AmericaStrategyCenter
End
BuildCost = 4000
BuildTime = 40.0 ;in seconds
WeaponSet
Conditions = None
Weapon = PRIMARY JetNuclearBomb
End
ArmorSet
Conditions = None
Armor = NukeJetArmor
DamageFX = None
End
ArmorSet
Conditions = PLAYER_UPGRADE
Armor = CountermeasuresNukeJetArmor
DamageFX = None
End
ExperienceValue = 200 200 400 400 ;Experience point value at each level
ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level
IsTrainable = Yes ;Can gain experience
CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CommandSet = AmericaJetAuroraCommandSet
; *** AUDIO Parameters ***
VoiceSelect = AuroraBomberVoiceSelect
VoiceMove = AuroraBomberVoiceMove
VoiceGuard = AuroraBomberVoiceMove
VoiceAttack = AuroraBomberVoiceAttack
SoundAmbient = AuroraBomberAmbientLoop
SoundAmbientRubble = NoSound
UnitSpecificSounds
VoiceCreate = AuroraBomberVoiceCreate
SoundEject = PilotSoundEject
VoiceEject = PilotVoiceEject
Afterburner = RaptorAfterburner
VoiceLowFuel = AuroraBomberVoiceLowFuel
VoiceGarrison = AuroraBomberVoiceMove
End
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT
Body = ActiveBody ModuleTag_02
MaxHealth = 120 ;80.0
InitialHealth = 120 ;80.0
End
Behavior = JetSlowDeathBehavior ModuleTag_03
FXOnGroundDeath = FX_JetOnGroundDeath
OCLOnGroundDeath = OCL_AuroraDeathFinalBlowUp
DestructionDelay = 99999999; destruction will happen when we
RollRate = 0.2
RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta
PitchRate = 0.0
FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity)
FXInitialDeath = FX_AuroraDeathInitial
;OCLInitialDeath = None
DelaySecondaryFromInitialDeath = 500 ; in milliseconds
FXSecondary = FX_JetDeathSecondary
;OCLSecondary = None
FXHitGround = FX_JetDeathHitGround
;OCLHitGround = None
DelayFinalBlowUpFromHitGround = 200 ; in milliseconds
FXFinalBlowUp = FX_JetDeathFinalBlowUp
OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp
; DeathLoopSound = MICAL NEEDS TO MAKE ME
End
Behavior = EjectPilotDie ModuleTag_04
GroundCreationList = OCL_EjectPilotOnGround
AirCreationList = OCL_EjectPilotViaParachute
ExemptStatus = HIJACKED
VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot
End
Behavior = PhysicsBehavior ModuleTag_05
Mass = 500.0
End
Behavior = ExperienceScalarUpgrade ModuleTag_06
TriggeredBy = Upgrade_AmericaAdvancedTraining
AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
End
Behavior = JetAIUpdate ModuleTag_07
OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo
; note that it's expressed as a percent of max health, not an absolute
TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off
TakeoffPause = 500
MinHeight = 5
SneakyOffsetWhenAttacking = -20.0 ; this is how far behind us people aim when we are in attack mode
AttackLocomotorType = SET_SUPERSONIC
AttackLocomotorPersistTime = 100 ; we start slowing down almost immediately
AttackersMissPersistTime = 2000 ; but remain untargetable fer a bit longer
ReturnForAmmoLocomotorType = SET_SLUGGISH
ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo
End
Locomotor = SET_NORMAL AuroraJetLocomotor
Locomotor = SET_SUPERSONIC AuroraJetSupersonicLocomotor
Locomotor = SET_SLUGGISH AuroraJetSluggishLocomotor
Locomotor = SET_TAXIING BasicJetTaxiLocomotor
Behavior = ArmorUpgrade ModuleTag_Armor01
TriggeredBy = Upgrade_AmericaCountermeasures
End
Behavior = CountermeasuresBehavior ModuleTag_10
TriggeredBy = Upgrade_AmericaCountermeasures
FlareTemplateName = CountermeasureFlare
FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
VolleySize = 2 ; Number of flares launched per volley (requires bones)
VolleyArcAngle = 60.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare
will always goes straight back).
VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value.
DelayBetweenVolleys = 1000 ; Time between flare volleys
NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading
ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading
occurs at airstrip only.
EvasionRate = 30% ; With active flares, the specified percentage will be diverted.
ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of
countermeasures.
MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long
before acquiring countermeasures.
End
Behavior = FlammableUpdate ModuleTag_21
AflameDuration = 5000 ; If I catch fire, I'll burn for this long...
AflameDamageAmount = 3 ; taking this much damage...
AflameDamageDelay = 500 ; this often.
End
Behavior = TransitionDamageFX ModuleTag_22
ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01
ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition
End
Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One
WeaponTemplate = AirF_PointDefenseLaser
PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE
ScanRate = 0
ScanRange = 200.0
PredictTargetVelocityFactor = 1.0
End
Geometry = Box
GeometryIsSmall = Yes
GeometryMajorRadius = 14.0
GeometryMinorRadius = 7.0
GeometryHeight = 5.0
Shadow = SHADOW_VOLUME
ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length
End
CommandButton:
Code:
CommandButton Command_ConstructAmericaJetNuclearBomber
Command = UNIT_BUILD
Object = AirF_AmericaJetNuclearBomber
TextLabel = CONTROLBAR:ConstructAmericaJetAurora
ButtonImage = SAAurora
ButtonBorderType = BUILD ; Identifier for the User as to what kind of button this is
DescriptLabel = CONTROLBAR:ToolTipUSABuildAurora
End
CommandButton Command_UpgradeAmericaCountermeasuresNukeJetArmor
Command = PLAYER_UPGRADE
Upgrade = AirF_Command_UpgradeCountermeasuresNukeJetArmor
TextLabel = CONTROLBAR:AirF_Command_UpgradeCountermeasuresNukeJetArmor
ButtonImage = SAFlares
ButtonBorderType = UPGRADE ; Identifier for the User as to what kind of button this is
DescriptLabel = CONTROLBAR:TooltipUSAUpgradeCountermeasures
End
CommandSet:
Code:
CommandSet AirF_AmericaAirfieldCommandSet
1 = AirF_Command_ConstructAmericaJetRaptor
2 = AirF_Command_ConstructAmericaVehicleComanche
3 = AirF_Command_ConstructAmericaJetAurora
4 = AirF_Command_ConstructAmericaJetStealthFighter
5 = AirF_Command_ConstructAmericaJetNuclearBomber
7 = Command_UpgradeComancheRocketPods
8 = Command_UpgradeAmericaLaserMissiles
9 = Command_UpgradeAmericaCountermeasures
10 = Command_UpgradeAmericaBunkerBusters
11 = AirF_Command_UpgradeStealthComanche
12 = AirF_Command_UpgradeCountermeasuresNukeJetArmor
13 = Command_SetRallyPoint
14 = Command_Sell
End
Upgrade:
Code:
Upgrade AirF_Command_UpgradeCountermeasuresNukeJetArmor
DisplayName = UPGRADE:AmericaCountermeasures
BuildTime = 40.0
BuildCost = 2000
ButtonImage = SAFlares
ResearchSound = RaptorVoiceUpgradeCounterMeasures
End
I got an error when I started the game.
Error is:
Code:
Release Crash at Sun Aug 08 21:22:41 2004
; Reason Error parsing INI file 'Data\INI\CommandSet.ini' (Line: 'CommandSet AirF_AmericaAirfieldCommandSet ')
Last error:
Current stack:
|
|
|
08-08-2004, 09:43 PM
|
#6 (permalink)
|
|
Senior Member
Join Date: Dec 2002
Location: Sydney, Australia
Posts: 202
|
Allrighties. Just so you know you can run WorldBuilder in ZH as a debugging tool as well. It'll tell you any errors your having
Here's the problems:
The Commandset Error is because you have the Command Buttons as Command_XX whereas in the CommandSet they are called as AirF_Command_XX. Remove the AirF_ and that should fix that problem
1. Where's the weapon? No Weapon? No working.
2. In the "block" of the Aurora you have the countmeasures section but what you've done is added a space and therefore the game reads the next line which is "will etc. etc." Unless it's how I took it "down" from the forums that's probably another problem it's having. Just deleted everything after the ; it's just useless "stuff" that's featured on all the countermeasures modules.
It should look like this:
Code:
VolleyArcAngle = 60.0 ;
VolleyVelocityFactor = 2.0 ;
It also appears in the Tag "Reload Time". Just do the same (unless again it's the forum and not your file)
I keep finding it as i'm going which leads me to believe it's the forums however it might not be. Just go through the CountermeasuresBehavior ModuleTag_10 and delete all the comments after the ; Just to be safe
3. ResearchSound is NOT a valid tag in the upgrade section for the Aurora. You have to fix it. Is must read ResearchSound = xx (XX being a sound. Just put an Aurora one of some sort) otherwise it's crashes to death.
After that you should be fixed. Happy Hunting
~Skywaters/Wize
|
|
|
08-08-2004, 09:47 PM
|
#7 (permalink)
|
|
Member
Join Date: Aug 2004
Posts: 69
|
Oops, here's the weapon, I did do it, I just forgot to add it:
Code:
Weapon JetNuclearBomb
PrimaryDamage = 1000.0
PrimaryDamageRadius = 40.0
AttackRange = 350.0 ; this needs to be pretty high, since the Aurora moves so fast
AcceptableAimDelta = 45 ; we don't really need to be aimed directly at the target.
DamageType = AURORA_BOMB
DeathType = EXPLODED
WeaponSpeed = 1000
ProjectileObject = SupW_AuroraFuelAirBomb
; FireFX = FX_AuroraBombLaunch
; ProjectileDetonationFX = FX_AuroraBombDetonate
RadiusDamageAffects = ALLIES ENEMIES NEUTRALS NOT_SIMILAR
ClipSize = 1 ; how many shots in a Clip (0 == infinite)
ClipReloadTime = 5000 ; how long to reload a Clip, msec
AutoReloadsClip = RETURN_TO_BASE ; must return to base to reload this weapon
ShowsAmmoPips = Yes
; note, these only apply to units that aren't the explicit target
; (ie, units that just happen to "get in the way"... projectiles
; always collide with the Designated Target, regardless of these flags
ProjectileCollidesWith = STRUCTURES
End
|
|
|
08-08-2004, 09:50 PM
|
#8 (permalink)
|
|
Member
Join Date: Aug 2004
Posts: 69
|
Also, I did not even see/edit ResearchSound or the two Volley parameters. Those were copied and pasted from the BIG extraction. I don't think that it is the problem since the game works fine with it when it is with the aurora bomber.
|
|
|
08-08-2004, 09:54 PM
|
#9 (permalink)
|
|
Senior Member
Join Date: Dec 2002
Location: Sydney, Australia
Posts: 202
|
Hmmm... Try the CommandSet "Stuff" and see what happens 
|
|
|
08-08-2004, 10:08 PM
|
#10 (permalink)
|
|
Member
Join Date: Aug 2004
Posts: 69
|
Quote:
|
Originally Posted by Wize
Hmmm... Try the CommandSet "Stuff" and see what happens 
|
What CommandSet stuff?
|
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 03:33 AM.
|