PPPownage
  • PPPownage
  • 59.75% (Neutral)
  • Private Topic Starter
14 years ago
I've never really done this before so I kinda need some help. How can you make an A10 buildable and commandable just like a normal jet? I know this involves modding so...yeah...what do I do?

Edit: I've already got Final Big and XCC in order to view the BIG and INI files.
Sponsor
Annihilationzh
14 years ago
What have you tried so far?
If you need help, post in the forum. You'll get help a lot faster than if you send me a PM.

I reject all buddy requests. I don't think 'buddy' needs to be made official. It's not like you're marrying me.
NewNightmare
14 years ago
Ok, Here it is: an A10 capable of firing the gun, with a minimal range set so that it doesnt circle above its target like an idiot... with an upgrade triggered by Rocket Pods upgrade, gives the A10 6 high-damage rockets with long reload times:
For AmericaAir.ini
Add at the end:
Object AmericaJetA10Thunderbolt2

  ; *** ART Parameters ***
  SelectPortrait         = SAWarthog_L
  ButtonImage            = SAWarthog

  UpgradeCameo1 = Upgrade_ComancheRocketPods
  UpgradeCameo2 = Upgrade_AmericaAdvancedTraining
  UpgradeCameo3 = Upgrade_AmericaCountermeasures
  ;UpgradeCameo4 = NONE
  ;UpgradeCameo5 = NONE

  Draw = W3DModelDraw ModuleTag_01

    OkToChangeModelColor = Yes

    DefaultConditionState
      Model             = AVWarthog
      WeaponMuzzleFlash = PRIMARY MuzzleFX01
      WeaponFireFXBone  = PRIMARY Muzzle01
      ParticleSysBone = Engine01 JetBlackTrailThin
      ParticleSysBone = Engine02 JetBlackTrailThin
      ParticleSysBone = Wingtip01 JetContrailThin
      ParticleSysBone = Wingtip02 JetContrailThin
      WeaponMuzzleFlash = SECONDARY WeaponA
      WeaponFireFXBone  = SECONDARY WeaponA
    End

    ConditionState      = REALLYDAMAGED
      Model             = AVWarthog_D
      WeaponMuzzleFlash = PRIMARY MuzzleFX01
      WeaponFireFXBone  = PRIMARY Muzzle01
      WeaponMuzzleFlash = SECONDARY WeaponA
      WeaponFireFXBone  = SECONDARY WeaponA

    End
    AliasConditionState  = RUBBLE

   ParticlesAttachedToAnimatedBones = Yes 

  End

  ; ***DESIGN parameters ***
  DisplayName         = OBJECT:A10Thunderbolt
  EditorSorting       = VEHICLE
  Side                = America
  TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange         = 300.0 
  ShroudClearingRange = 450
  Prerequisites
    Object = AmericaAirfield
  End
  WeaponSet
    Conditions = None 
    Weapon = PRIMARY A10ThunderboltVulcan2
  End
  WeaponSet
    Conditions = PLAYER_UPGRADE
    Weapon              = PRIMARY A10ThunderboltVulcan3
    PreferredAgainst    = PRIMARY     INFANTRY
    AutoChooseSources   = PRIMARY     FROM_PLAYER FROM_SCRIPT FROM_AI
    Weapon              = SECONDARY A10ThunderboltMissileWeapon2
    PreferredAgainst    = SECONDARY   VEHICLE STRUCTURE
    AutoChooseSources   = SECONDARY   FROM_PLAYER FROM_SCRIPT FROM_AI
  End
  ArmorSet
    Conditions      = None
    Armor           = AirplaneArmor
    DamageFX        = None
  End
  ArmorSet
    Conditions            = PLAYER_UPGRADE
    Armor                 = CountermeasuresAirplaneArmor
    DamageFX              = None
  End


  BuildCost           = 2500
  BuildTime           = 25
  ExperienceValue = 100 200 300 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 = AmericaJetA10Thunderbolt2

  ; *** AUDIO Parameters ***
  VoiceSelect            = RaptorVoiceSelect
  VoiceMove              = RaptorVoiceMove
  VoiceAttack            = RaptorVoiceAttack
  VoiceAttackAir         = RaptorVoiceAttackAir
  VoiceGuard             = RaptorVoiceAirPatrol
  SoundAmbient           = RaptorAmbientLoop
  SoundAmbientRubble     = NoSound
  ; SoundMoveLoop          = RaptorAmbientLoop  ; don't want sound while sitting at airfield
  ; SoundAmbient           = NoSound
  UnitSpecificSounds
    VoiceCreate          = RaptorVoiceCreate
    SoundEject           = PilotSoundEject
    VoiceEject           = PilotVoiceEject
    Afterburner          = RaptorAfterburner
    VoiceLowFuel         = RaptorVoiceLowFuel
    VoiceGarrison        = RaptorVoiceMove
  End

  ; *** ENGINEERING Parameters ***
  RadarPriority = UNIT
  KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE AIRCRAFT SCORE SELECTABLE EMP_HARDENED
  Body = ActiveBody ModuleTag_31
    MaxHealth       = 400.0
    InitialHealth   = 400.0
  End
  
  Behavior = WeaponSetUpgrade ModuleTag_02
    TriggeredBy = Upgrade_ComancheRocketPods
  End

  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            = 3     ; Number of flares launched per volley (requires bones)
    VolleyArcAngle        = 90.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 = ExperienceScalarUpgrade ModuleTag_04
    TriggeredBy = Upgrade_AmericaAdvancedTraining
    AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
  End

  Behavior                          = JetSlowDeathBehavior ModuleTag_03
    DestructionDelay                = 99999999  ; destruction will happen when we
    RollRate                        = 0.0
    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_JetDeathInitial
    OCLInitialDeath                 = None
    DelaySecondaryFromInitialDeath  = 500       ; in milliseconds
    FXSecondary                     = FX_JetDeathSecondary
    OCLSecondary                    = None
    FXHitGround                     = FX_JetDeathHitGround
    OCLHitGround                    = OCL_A10DeathHitGround
    DelayFinalBlowUpFromHitGround   = 200       ; in milliseconds
    FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
    OCLFinalBlowUp                  = OCL_A10DeathFinalBlowUp
  End

  Behavior                    = EjectPilotDie ModuleTag_06
    ExemptStatus         = HIJACKED
    GroundCreationList = OCL_EjectPilotOnGround
    AirCreationList = OCL_EjectPilotViaParachute
    VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
  End

  Behavior = PhysicsBehavior ModuleTag_05
    Mass = 500.0
  End

Behavior = JetAIUpdate ModuleTag_09
    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
    ParkingOffset             = 3             ; scooch it a little forward so the tail doesn't hit the doors
    ReturnToBaseIdleTime      = 10000         ; if idle for this long, return to base, even if not out of ammo
  End
  Locomotor = SET_NORMAL RaptorJetLocomotor
  Locomotor = SET_TAXIING BasicJetTaxiLocomotor

  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

;;;;;;;;  ClientUpdate         = AnimatedParticleSysBoneClientUpdate ModuleTag_22
;;;;;;;;  End

  Geometry = Cylinder
  GeometryIsSmall = Yes
  GeometryMajorRadius = 10.0
  GeometryMinorRadius = 10.0
  GeometryHeight = 10.0
  Shadow = SHADOW_VOLUME
  ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length

End
For CommandSet.ini
Add at the end:
CommandSet AmericaJetA10Thunderbolt2
  11 = Command_AttackMove
  13 = Command_Guard
  14 = Command_Stop
End
Replace the original:
CommandSet AmericaAirfieldCommandSet
  1 = Command_ConstructAmericaJetRaptor
  2 = Command_ConstructAmericaVehicleComanche
  3 = Command_ConstructAmericaJetAurora
  4 = Command_ConstructAmericaJetStealthFighter
  5 = Command_ConstructAmericaA10Thunderbolt
  7 = Command_UpgradeComancheRocketPods
  8 = Command_UpgradeAmericaLaserMissiles
  9 = Command_UpgradeAmericaCountermeasures
 10 = Command_UpgradeAmericaBunkerBusters
 13 = Command_SetRallyPoint
 14 = Command_Sell 
End
CommandButton.ini
Add at the end
CommandButton Command_ConstructAmericaA10Thunderbolt
  Command           = UNIT_BUILD
  UnitSpecificSound = MoneyWithdraw
  Object            = AmericaJetA10Thunderbolt2
  ButtonImage       = SAWarthog
  ButtonBorderType  = BUILD ; Identifier for the User as to what kind of button this is
End
Weapons.ini
Add at the end

Weapon A10ThunderboltVulcan2
  PrimaryDamage         = 15.0
  PrimaryDamageRadius   = 4.0       ; 0 primary radius means "hits only intended victim"
  AttackRange           = 450.0
  MinimumAttackRange    = 30.0
  DamageType            = SMALL_ARMS
  DeathType             = NORMAL
  WeaponSpeed           = 999999.0          ; dist/sec (huge value == effectively instant)
  ProjectileObject      = NONE
  FireFX                = WeaponFX_Comanche20mmCannonFire
  FireSound             = SpectreGunshipGattlingWeapon
  RadiusDamageAffects   = ALLIES ENEMIES NEUTRALS
  DelayBetweenShots     = 60          ; time between shots, msec
  ClipSize              = 0                    ; how many shots in a Clip (0 == infinite)
  ClipReloadTime        = 0              ; how long to reload a Clip, msec
End

;---------------------------------------------------------------------
Weapon A10ThunderboltVulcan3
  PrimaryDamage         = 30.0
  PrimaryDamageRadius   = 4.0       ; 0 primary radius means "hits only intended victim"
  AttackRange           = 600.0
  MinimumAttackRange    = 30.0
  DamageType            = SMALL_ARMS
  DeathType             = NORMAL
  WeaponSpeed           = 999999.0          ; dist/sec (huge value == effectively instant)
  ProjectileObject      = NONE
  FireFX                = WeaponFX_Comanche20mmCannonFire
  FireSound             = SpectreGunshipGattlingWeapon
  RadiusDamageAffects   = ENEMIES NEUTRALS ALLIES NOT_SIMILAR
  DelayBetweenShots       = 60                   ; time between shots, msec
  ClipSize                = 15                    ; how many shots in a Clip (0 == infinite)
  ClipReloadTime          = 7500              ; how long to reload a Clip, msec
  AutoReloadsClip       = RETURN_TO_BASE
End
;------------------------------------------------------------------------------
Weapon A10ThunderboltMissileWeapon2
  PrimaryDamage         = 200.0      ;GS changed to what it was secretly doing pending review      
  PrimaryDamageRadius   = 20.0      
  AttackRange           = 450.0
  MinimumAttackRange    = 100.0
  DamageType            = EXPLOSION
  DeathType             = EXPLODED
  WeaponSpeed           = 800.0 
  ProjectileObject      = RaptorJetMissile
  ProjectileExhaust     = MissileExhaust
  VeterancyProjectileExhaust  = HEROIC HeroicMissileExhaust
  FireSound                   = PatriotBatteryWeapon
  FireFX                      = FX_BuggyMissileIgnition
  ProjectileDetonationFX = FX_A10ThunderboltMissileExplosion
  RadiusDamageAffects   = ENEMIES NEUTRALS ALLIES NOT_SIMILAR
  DelayBetweenShots     = 200      ; time between shots, msec
  ClipSize              = 6      ; how many shots in a Clip (0 == infinite)
  ClipReloadTime        = 7500  ; how long to reload a Clip, msec
  AutoReloadsClip       = RETURN_TO_BASE
  ShowsAmmoPips          = Yes
  ProjectileCollidesWith  = STRUCTURES
End
What I would like to ask some experienced forum users about is:
How to make the A10 fire Missiles from it's wings? (Bones called WeaponA01 to 06 throw an error when set as a SECONDARY Muzzle, it fires them like raptor so far...)
How can I remove the trails once the unit has landed?

EDIT:
Code updated - 18/08 2:00am
brncao
  • brncao
  • 71% (Friendly)
  • Captain
14 years ago
I'm also working on this too! I have a question. If you create a new projectile object in WeaponObjects.ini, will it be invisible to you? For some odd reason, I cloned RaptorJetMissile and called it RaptorJetMissile2. Everything is exactly the same, only the Object name is different. Now the projectile is invisible. wtf? Putting it back to RaptorJetMissile, it's back to normal. I don't understand... It's just a name or an ID for this object. It shouldn't turn invisible... Unless there's "something else" associated with the name. btw I changed ProjectileObject in Weapons.ini to match it.

About the missiles being fired under the wings, do you want it fired from the weapon bone with the missiles remaining intact (it looks kinda unrealistic), or do you want it to actually launch the projectile under its wings? I'm asking because it's awkward to see a raptor missile being launched out of an A10 missile if you know what I mean. I'm currently working on this problem.

Secondly, would you like to see the A10 perform strafing runs from its gatling cannon as opposed to directly shooting at single targets? It's possible. I haven't figured out how yet.

I've only been modding for about a month, but I'll do my best to help.

Edit: I used a blank model and the WeaponLaunchBone (no WeaponFireFXBone needed) was a success (it shoots straight at its target). All I can conclude from this is that it's beyond ini editing. The model AVWarthog requires editing itself (W3D file). That's where I'm stuck. I don't know where to find such tutorial for this advanced stuff.
NewNightmare
14 years ago
Hey, well I never created the new weapon in weaponobjects for the a10, but just in weapon.ini and gave it specific projectile. Weapon object is mainly for OCL-designed weapons i think.. e.g. I used it to create my napalm strike, which is all good except it doesn't change it's icon like daisy cutter-to-moab upgrade... everything else works well though.

EDIT:
I'd like to make it as realistic as it looks.. the actual projectile bit would probably the best ;P
+ I'm not sure about the strafing...Shockwave's Deert fly doesn't dive during it's strafing attacks

EDIT 2:
what do you mean by 'blank' model ?
brncao
  • brncao
  • 71% (Friendly)
  • Captain
14 years ago
Alright this is what I found. Using Shockwave mod as reference, this is what I did for the "A10 Warthog" (that's what I called mine).

Under Art Parameters
Draw                   = W3DModelDraw ModuleTag_01
    
    OkToChangeModelColor = Yes
    ParticlesAttachedToAnimatedBones = Yes 
    ProjectileBoneFeedbackEnabledSlots = SECONDARY

    DefaultConditionState
      Model             = 
      WeaponMuzzleFlash = PRIMARY MuzzleFX01
      WeaponFireFXBone  = PRIMARY Muzzle01
      WeaponLaunchBone  = SECONDARY WeaponA
    End

    ConditionState    = JETEXHAUST
      ParticleSysBone = Wingtip01 JetContrailThin
      ParticleSysBone = Wingtip02 JetContrailThin
      ParticleSysBone = Engine01 JetBlackTrailThin
      ParticleSysBone = Engine02 JetBlackTrailThin
    End

    ConditionState      = REALLYDAMAGED
      Model             = 
      WeaponMuzzleFlash = PRIMARY MuzzleFX01
      WeaponFireFXBone  = PRIMARY Muzzle01
      WeaponLaunchBone  = SECONDARY WeaponA
      ParticleSysBone   = Smoke01 JetSmoke
      ParticleSysBone   = EXHAUST01 JetEngineDamagedSmoke
    End

    ConditionState     = REALLYDAMAGED JETEXHAUST
       Model           = 
       ParticleSysBone = Wingtip01 JetContrailThin
       ParticleSysBone = Wingtip02 JetContrailThin
       ParticleSysBone = Engine01 JetBlackTrailThin
       ParticleSysBone = Engine02 JetBlackTrailThin
       ParticleSysBone = Smoke01 JetSmoke
       ParticleSysBone = EXHAUST01 JetEngineDamagedSmoke
    End

    AliasConditionState  = RUBBLE

  End
*Note: SECONDARY are the A10 missiles and PRIMARY is its gatling cannon. I've also added the smoke for when it's damaged as well. There's also EXHAUST02 and Smoke02 within the model if you want to add more smoke at different areas.

This code should work in and of itself. Everything else has to be done outside of these parameters (ie the W3D model). It's pointless trying to alter this code any further.

The SECONDARY weapon are the raptor missiles for testing purposes.

For Model = AVWarthog, everything looked fine except when it fires its missiles. 1. The projectile under its wings never really disappeared, and 2. the aim was horrible as you've mentioned.

Next I've replaced AVWarthog with NVMig37 (Mig Bomber). It's a good reference because those bombs under its wings do disappear upon firing its SECONDARY (Note the code ProjectileBoneFeedbackEnabledSlots = SECONDARY). The bad news was that the missiles shot straight down and not at its target; it was different from AVWarthog. The good news was that the projectiles under its wings did disappear.

Lastly Model = NVMig_37 (it was a typo). You should get a blank invisible model. The bad news was that you couldn't see anything (of course), and the good news was that the missile shot at the target as intended.

In conclusion, I believe it's highly dependent on the paramters within the W3D model. You'll need RenX and Gmax to edit it. If it's not that, then it's "something" from outside.



Slightly off-topic. I've renamed MigBombDummyProjectile to MigBombDummyProjectile2 in WeaponObjects.ini (as well as ProjectileObject = MigBombDummyProjectile2 in Weapons.ini); it's the EMP Bomb released by the EMP Mig Bomber. What I got was an invisible projectile that never released its EMP effect. Just a thud. What's wrong?


Edit: ah wait. try testing the Desert Fly as a reference. I noticed it's a lot different from the Mig Bomber. Maybe you can get something out of it.

Edit2: aw, it didnt work.

http://forums.swr-productions.com/index.php?showtopic=597 
NewNightmare
14 years ago
well, I have both, the renx and gmax... but how the hell can I import the damn w3ds? its easy to make one...
brncao
  • brncao
  • 71% (Friendly)
  • Captain
14 years ago
http://www.the3rdage.net/item-48 

I'll be away for a while, and I won't be working on this for some time. I hope you can figure it out ๐Ÿ˜„
NewNightmare
14 years ago
Ok, here are the files for A10 with partly fixed bones... I mean he gets the missiles right now... but the MG fire FX has a black border around... any ideas how to make it look normally ?
+ How to make each missile under the wings disappear once they are fired ?
+ Weird bug... the plane goes to 'damaged' (when its below 30%) ONLY if on airfield.. wtf?
Update: it just doesn't change its state from normal to damaged... + it doesn't react on any conditionstate changes if damaged.... I have made it so that the missiles appear only after weaponset upgrade, and if the A10 gets below the 30%, the missile suddenly dissappear... so it forces defaulconditionstate upon being damaged wtf2?
Update 2: there is no sound once the A10 is damaged (no engine loop)
Here is my code for the conditionstates:
    DefaultConditionState
      Model             = AVWarthog
      WeaponMuzzleFlash = PRIMARY MuzzleFX01
      WeaponFireFXBone  = PRIMARY Muzzle01
      WeaponMuzzleFlash = SECONDARY WeaponA
      WeaponFireFXBone  = SECONDARY WeaponA
      WeaponLaunchBone = SECONDARY WeaponA
      HideSubObject = Missile01 Missile02 Missile03 Missile04 Missile05 Missile06
    End
    ConditionState = WEAPONSET_PLAYER_UPGRADE
      Model             = AVWarthog
      WeaponMuzzleFlash = PRIMARY MuzzleFX01
      WeaponFireFXBone  = PRIMARY Muzzle01
      WeaponMuzzleFlash = SECONDARY WeaponA
      WeaponFireFXBone  = SECONDARY WeaponA
      WeaponLaunchBone = SECONDARY WeaponA
      ShowSubObject = Missile01 Missile02 Missile03 Missile04 Missile05 Missile06
    End

    ConditionState        = JETEXHAUST
      ParticleSysBone = Engine01 JetBlackTrailThin
      ParticleSysBone = Engine02 JetBlackTrailThin
      ParticleSysBone = Wingtip01 JetContrailThin
      ParticleSysBone = Wingtip02 JetContrailThin
    End

    ConditionState        = JETEXHAUST REALLYDAMAGED
      ParticleSysBone = Engine01 JetBlackTrailThin
      ParticleSysBone = Engine02 JetBlackTrailThin
      ParticleSysBone = Wingtip01 JetContrailThin
      ParticleSysBone = Wingtip02 JetContrailThin
    End

    ConditionState      = REALLYDAMAGED
      Model             = AVWarthog_D
      WeaponMuzzleFlash = PRIMARY MuzzleFX01
      WeaponFireFXBone  = PRIMARY Muzzle01
      WeaponMuzzleFlash = SECONDARY WeaponA
      WeaponFireFXBone  = SECONDARY WeaponA
      WeaponLaunchBone = SECONDARY WeaponA
     ParticleSysBone     = Smoke01 JetSmoke
     ParticleSysBone     = Smoke02 JetSmoke
    End
    ConditionState      = REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE
      Model             = AVWarthog_D
      WeaponMuzzleFlash = PRIMARY MuzzleFX01
      WeaponFireFXBone  = PRIMARY Muzzle01
      WeaponMuzzleFlash = SECONDARY WeaponA
      WeaponFireFXBone  = SECONDARY WeaponA
      WeaponLaunchBone = SECONDARY WeaponA
      ParticleSysBone     = Smoke01 JetSmoke
      ParticleSysBone     = Smoke02 JetSmoke
      ShowSubObject = Missile01 Missile02 Missile03 Missile04 Missile05 Missile06
    End
+ The unit only dies properly while in air.. disappears if it is destroyed on airfield
PARTLY FIXED: now there's an effect of stuff flying when A10 dies (like in all jets) but there's no hulk after it
(added FXOnGroundDeath = FX_JetOnGroundDeath [/code] to death behavior
added new OCL:
[code]ObjectCreationList OCL_A10DeathOnGround

  ;wings that rips off
  CreateDebris
    ModelNames  = AVWarthog_D1   
    Offset      = X:0 Y:0 Z:0
    Mass        = 3
    Count       = 1
    Disposition = SEND_IT_FLYING INHERIT_VELOCITY RANDOM_FORCE
    DispositionIntensity = 1
    MinForcePitch = 0.0
    MaxForcePitch = 20.0
    MinLifetime   = 4000
    MaxLifetime   = 6000
  End
As well as another line to death behavior.. should do
    OCLOnGroundDeath                = OCL_A10DeathOnGround
** for newbies **
Paste the Art folder into main ZH directory

the JPG shows the error I think also affected the spectre gunship

will update the solutions to the errors as soon as I find one
  Art.rar (43kb) downloaded 40 time(s).
A10Bug.JPG

Click to View Image170 View(s)

brncao
  • brncao
  • 71% (Friendly)
  • Captain
14 years ago
Good news. I got everything working except for the fins on the missiles (they won't disappear upon firing). The missiles disappear, but not the fins.
NewNightmare
14 years ago
You have to make sure you have the fins attached to missiles (hiarchy of the model)it works like this: when the missiles dissappear, every object below the stack gets removed as well :)
Or: here's how my defaultconditionstate looks like
    DefaultConditionState
      Model             = AVWarthog
      WeaponMuzzleFlash = PRIMARY MuzzleFX01
      WeaponFireFXBone  = PRIMARY Muzzle01
      WeaponMuzzleFlash = SECONDARY MISSILE
      WeaponFireFXBone  = SECONDARY MISSILE
      WeaponLaunchBone = SECONDARY MISSILE
      HideSubObject = Missile01 Missile02 Missile03 Missile04 Missile05 Missile06 HOUSECOLOR07 HOUSECOLOR02 HOUSECOLOR03 HOUSECOLOR04 HOUSECOLOR05 HOUSECOLOR06
    End
+ I have this just above the defaultconditionstate:
    ProjectileBoneFeedbackEnabledSlots = SECONDARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset
brncao
  • brncao
  • 71% (Friendly)
  • Captain
14 years ago
I have something that's similar to that code. In RenX I've linked the HOUSECOLOR (fins) to the missile itself (didn't work for some reason). Can I ask you something? Isn't it unnecessary to add HideSubObject? That would make the objects invisible when it comes out of the hangar.

Take a look at the Mig Bomber (NVMIG37). The bomb and the fins both disappear upon firing. The bomb is named 'WEAPONA' and the fins are named 'HOUSECOLOR'


DefaultConditionState
      Model               = NVMig37
      HideSubObject       = BurnerFX01 BurnerFX02
      WeaponLaunchBone    = PRIMARY WEAPONA
    End

I think there's more to it than simply linking each housecolors under each missiles respectively.

Here's something from the Mig Bomber. A10 puts all the housecolors and missiles as one type. So I think I'll have to separate them out for the A10.
RenX.JPG

Click to View Image72 View(s)

NewNightmare
14 years ago
I don't remember how the A10 original model looks like, since Ive done it like a month ago, and for the HideSubObject, I use is coz I have an upgrade that adds the rockets to the plane - it's MG only without it :)
In order to make missiles disappaer the moment they are fired there is an additional line to be put above the conditionastates
and thats the one I;ve already mentioned
    ProjectileBoneFeedbackEnabledSlots = SECONDARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset
I have this just below conditionstates, but I don't think it matters
   ParticlesAttachedToAnimatedBones = Yes 
My most annoying problem is the damaged model not appearing when in-flight

P.S do you have Model specified in the 'JETEXHAUST REALLYDAMAGED' conditionstate?
brncao
  • brncao
  • 71% (Friendly)
  • Captain
14 years ago
I was just gonna say. I too added an upgrade feature to it. Obviously you put ShowSubObject for that condition after upgrade right? I made it micromanagable. Instead of firing all 6 missiles at once, it fires only 2 anti-tank missiles at a time via the command button (once it's used up, it returns to the airbase to reload). Even if it runs out of missiles, it can still use its gattling cannon (unlimited ammo). Just a food for thought๐Ÿ˜„

You must put AVWarthog_D as the model for all REALLYDAMAGED conditions. It tells the game to switch to this model when it's damaged, otherwise it will use the default model (specified in the DefaultConditionstate).
NewNightmare
14 years ago
I've messed up the whole thing (or at least the code) in the morning... So, I'll have to re-write all conditionstates (will copy from raptor), What I have now is Just the fins that appear from the missile part (i.e. once upgraded, only fins appear, missiles are invisible untill fired, when the actual projectile appears). I have the model right, I think it might be problem with some of the material channel blending stuff in renx, since I just made a plain black texture (Black = transparent on Alpha)
I have everything else working though - JETEXHAUST REALLYDAMAGED is responsible for damaged model in air I think. are ur rockets scattering? coz I am thinking on adding some, since the radius of the explosion itself is more or less same as aurora's, and I wanna make it a Good vs. Groups aircraft ;P.
+ have you managed to get the plane dive when attacking ?
I think copying some of the Tomahawk or SCUD Launcher rockets' Loco might work (there's something set to 0.7 if my memo is right)... but these are just guesses from a school PC :)

P.S. I know how to get the damaged model on, just wasn't sure which conditionstate did I miss ๐Ÿ˜›