Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
Offline swatmansmith  
#1 Posted : Wednesday, July 25, 2012 9:23:34 PM(UTC)
swatmansmith
Private
Joined: 7/24/2012(UTC)
Posts: 13
United States
Location: Chicago

Thanks: 2 times
Was thanked: 1 time(s) in 1 post(s)
In C&C Generals, the B52(american fuel air bomber), C130 (american supply plane) and the A10 are all "used" in the game as super powers that originate off the map. How would I go about making them available from the Airfield as selectable units like the raptor, aurora bomber, and stealth fighter?

Id also like to know how to give tha following abilities to each specific aircraft:

B52---
*carpet bombing directly from the bomber (not call in an outside bomber)
*fuel air bomb drop directly from the bomber

C130---
*be able to send troops and vehicles inside the transport and be air dropped (parachuted) at desired location (same command set as the Chinook Helocopter but instead of having the plane touch the ground to release the unit, have the unit "kicked out" via parachute. Same goes for the "kick all units out" button...)
*perform the gunship ground attack move where it circles the area shooting the cannons and machine guns (the spectre gunship power in Zero Hour) directly and not call in an outside transport

What mods would i have do and where? so far i know that i have to change/modify the INI files for: commandsets and factionUnits... not sure about anything else.
Sponsor
Offline NewNightmare  
#2 Posted : Thursday, July 26, 2012 9:40:00 AM(UTC)
NewNightmare
Colonel
Joined: 5/24/2010(UTC)
Posts: 492

Was thanked: 48 time(s) in 40 post(s)
Ive been working on A10 myself a while ago, here's the topic
http://www.cnclabs.com/forums/default.aspx?g=posts&t=10448

For B52
2 weapons, and 2 buttons to switch between them, with reload requiring landing on an airfield, try copying aurora bomb, giving it like 10 bombs in a clip, 300ms time between shots, 20000ms reload time, and copy and edit the aurora bomb object, to make it a dumb object that just falls once spawned. you could also try using special powers to get them working, and even add a shortcut button at the side of the screen (like battleships from ZH US mission 2).

for C130, I'm not sure if you can kick units out mid-air. Also, generals does not cooperate with some of the code from Zero Hour, simply because it was not coded to use them like SpectreGunshipUpdate, which is a module only available in Zero Hour.. making mods for zero hour in general is much better, as you get more code to have fun with and less bugs.
Offline precision_bomber  
#3 Posted : Thursday, July 26, 2012 10:30:30 AM(UTC)
precision_bomber
Major
Joined: 12/18/2011(UTC)
Posts: 313
Location: Planet Cutezome

Thanks: 7 times
Was thanked: 75 time(s) in 58 post(s)
To make them available for building.

Make these units(AmericaJetA10Thunderbolt, AmericaJetCargoPlane, AmericaJetB52)
their buttons.

Example:
Code:
CommandButton Command_ConstructAmericaJetA10Thunderbolt
  Command = UNIT_BUILD
  Object = AmericaJetA10Thunderbolt_Controlable
  TextLabel = CONTROLBAR:ConstructAmericaJetRaptor
  ButtonImage = SSA10Attack
  ButtonBorderType = BUILD     ; Identifier for the User as to what kind of button this is
  DescriptLabel = CONTROLBAR:ToolTipUSABuildRaptor
End


Put these commands on the Airfield.

Then you have to go to the objects themselves. You might want to make copies of these units.

On your copy, rename these new objects to any object name you wish.

...

Now, for all copies, remove the ModuleTag 'DeliverPayloadAI Update'
Replace it with one like of the Raptor's, Stealth Fighter or Aurora, a JetAIUpdate.
Normal Jets
Code:

  Behavior = JetAIUpdate ModuleTag_06
    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
    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

Aurora
Code:

  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

Replace the Locomotor with either of the Locomotors mentioned above.

I'll leave you the rest with the weapons.
Death Label:
Reduced back to 3 main factions(and a couple of extras).
Each faction can choose a(or all of them) tech-tree via General's Powers.
Angel Wings: Jets and Anti-Air, Helicopters and Missiles, Hovercraft and Lasers
Red Skulls: Armor Division, Mecha Armada, Drone Swarm
Earth's Saviors: Air Raid, Homeworld Security, Stealth
thanks 1 user thanked precision_bomber for this useful post.
swatmansmith on 7/26/2012(UTC)
Offline swatmansmith  
#4 Posted : Thursday, July 26, 2012 6:58:03 PM(UTC)
swatmansmith
Private
Joined: 7/24/2012(UTC)
Posts: 13
United States
Location: Chicago

Thanks: 2 times
Was thanked: 1 time(s) in 1 post(s)
Ok Im trying to understand this correctly cuz im really lost here...

What did u mean by,
"Make these units(AmericaJetA10Thunderbolt, AmericaJetCargoPlane, AmericaJetB52)
their buttons." ?

And what commands was I to put on the airfield?
Im guessing the "Command = ConstructAmericaJet______" in the america airfield command set?

Was completly lost as to what you meant by,
"Then you have to go to the objects themselves. You might want to make copies of these units.
On your copy, rename these new objects to any object name you wish." Where do i find the objects? the faction unit files is what im assuming right?
Offline Annihilationzh  
#5 Posted : Thursday, July 26, 2012 7:41:07 PM(UTC)
Annihilationzh
General
Joined: 8/2/2008(UTC)
Posts: 1,779
United Kingdom

Thanks: 26 times
Was thanked: 476 time(s) in 331 post(s)
In the object folder, every unit will start something like this:

Code:
;------------------------------------------------------------------------------
Object ChinaJetCargoPlane


Then they'll end with something like this:

Code:
  Geometry = Box
  GeometryIsSmall = No
  GeometryMajorRadius = 40.0
  GeometryMinorRadius = 10.0
  GeometryHeight = 10.0
  Shadow = SHADOW_VOLUME
  ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
End


If you copy from the start to the finish of a unit, and paste it at the bottom of the file, then change it's name from, for example, 'ChinaJetCargoPlane' to 'NEWChinaJetCargoPlane,' you will then have an exact clone of the original unit. Then if you add entries for it in CommandButton.ini and CommandSet.ini, you will be able to build the clone.

Then you can make changes to the clone without changing the original.

Personally, I would clone the raptor, then delete from here:
Code:
   ; *** ART Parameters ***

to here:
Code:
  ; ***DESIGN parameters ***


Then replace what you deleted with the same section in the A10. Thus you'll have an A10 that behaves like a raptor, which is a great base you can adapt to your desires. Then repeat for the other planes.

Edited by user Thursday, July 26, 2012 7:42:29 PM(UTC)  | Reason: Not specified

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.
thanks 2 users thanked Annihilationzh for this useful post.
CommieDog on 7/27/2012(UTC), swatmansmith on 7/27/2012(UTC)
Offline swatmansmith  
#6 Posted : Friday, July 27, 2012 8:13:51 PM(UTC)
swatmansmith
Private
Joined: 7/24/2012(UTC)
Posts: 13
United States
Location: Chicago

Thanks: 2 times
Was thanked: 1 time(s) in 1 post(s)
omg dude thank you soooooooooooo much!!! got it working great finally lol. :D :D :D now im just goin to tweek the cannon gun for more of a strafing attack and then make the cannon attack and missile attack seperated so you can choose the attack method.

Again.. thanks soo much for the help!
Offline swatmansmith  
#7 Posted : Saturday, July 28, 2012 4:59:02 AM(UTC)
swatmansmith
Private
Joined: 7/24/2012(UTC)
Posts: 13
United States
Location: Chicago

Thanks: 2 times
Was thanked: 1 time(s) in 1 post(s)
Ok Im able to build the A10 and the B52 however im still running into glitches...

For some reason i cant seem to get the b52 to drop bombs at first i tried the DaisyCutter but that completely didnt work, so now i modified the aurora bomb file to make a carpet bombing feature for the B52 but now i cant get the damn plane to drop em...

heres the code for the modified aurora bomb:
Code:
Weapon NewAuroraBombCarpetBombWeapon
  PrimaryDamage           = 20.0            
  PrimaryDamageRadius     = 5.0      
  AttackRange             = -25.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             = 99999
  ProjectileObject        = AuroraBomb
  FireFX                  = FX_AuroraBombLaunch
  ProjectileDetonationFX  = FX_AuroraBombDetonate
  RadiusDamageAffects     = ENEMIES NEUTRALS
  DelayBetweenShots = 200        ; time between shots, msec
  ClipSize                = 50                       ; how many shots in a Clip (0 == infinite)
  ClipReloadTime          = 100              ; how long to reload a Clip, msec
  AutoReloadsClip         = RETURN_TO_BASE                 ; must return to base to reload this weapon
  ShowsAmmoPips           = No

  ; 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


and here are the Command Button, Command set (didnt include the airfield), and FactionUnit:
Code:
CommandButton

CommandButton Command_ConstructNewAmericaJetB52
  Command       = UNIT_BUILD
  Object        = NewAmericaJetB52
  TextLabel     = CONTROLBAR:ConstructNewAmericaJetB52
  ButtonImage   = SACDaisyCutter
  ButtonBorderType        = BUILD ; Identifier for the User as to what kind of button this is
  DescriptLabel           = CONTROLBAR:ToolTipUSABuildB52
End

CommandSet

CommandSet AmericaJetAuroraCommandSet
;  6  = Command_Guard
;  8  = Command_GuardFlyingUnitsOnly
  9  = Command_AttackMove
  11 = Command_Guard
  12 = Command_Stop
End

FactionUnit

;------------------------------------------------------------------------------
Object NewAmericaJetB52

  ; *** ART Parameters ***
  SelectPortrait         = SACDaisyCutter
  ButtonImage            = SACDaisyCutter
  UpgradeCameo1 = Upgrade_AmericaAdvancedTraining
  ;UpgradeCameo2 = NONE
  ;UpgradeCameo3 = NONE
  ;UpgradeCameo4 = NONE
  ;UpgradeCameo5 = NONE
  
  Draw = W3DModelDraw ModuleTag_01

    DefaultConditionState
      Model = AVBomber
      ParticleSysBone = Engine01 JetBlackTrailThin
      ParticleSysBone = Engine02 JetBlackTrailThin
      ParticleSysBone = Engine03 JetBlackTrailThin
      ParticleSysBone = Engine04 JetBlackTrailThin
      ParticleSysBone = WingTip01 JetContrailThin
      ParticleSysBone = WingTip02 JetContrailThin
    End
    ConditionState = DAMAGED
      Model = AVBomber_D
      ParticleSysBone = Smoke01 JetFireLarge
      ParticleSysBone = Smoke02 JetFireLarge
      ParticleSysBone = Engine01 JetBlackTrailThin
      ParticleSysBone = Engine02 JetBlackTrailThin
      ParticleSysBone = Engine03 JetBlackTrailThin
      ParticleSysBone = Engine04 JetBlackTrailThin
      ParticleSysBone = Smoke01 JetSmokeLarge
      ParticleSysBone = Smoke02 JetSmokeLarge
    End
    ConditionState = REALLYDAMAGED
      Model = AVBomber_D
      ParticleSysBone = Smoke01 JetFireLarge
      ParticleSysBone = Smoke02 JetFireLarge
      ParticleSysBone = Engine01 JetBlackTrailThin
      ParticleSysBone = Engine02 JetBlackTrailThin
      ParticleSysBone = Engine03 JetBlackTrailThin
      ParticleSysBone = Engine04 JetBlackTrailThin
      ParticleSysBone = Smoke01 JetSmokeLarge
      ParticleSysBone = Smoke02 JetSmokeLarge
    End
    ConditionState = RUBBLE
      Model = AVBomber_D1
      ParticleSysBone = Smoke01 JetFireLarge
      ParticleSysBone = Smoke02 JetFireLarge
      ParticleSysBone = Smoke01 JetSmokeLarge
      ParticleSysBone = Smoke02 JetSmokeLarge
    End
    OkToChangeModelColor = Yes
  End
  
    ; ***DESIGN parameters ***
  DisplayName         = OBJECT:B52
  EditorSorting       = VEHICLE
  Side                = America
  TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
  VisionRange         = 200.0 
  ShroudClearingRange = 600
  Prerequisites
    Object = AmericaAirfield
  End
  BuildCost           = 1
  BuildTime           = 1.0          ;in seconds     
  WeaponSet
    Conditions = None 
    Weapon = PRIMARY NewAuroraBombCarpetBombWeapon
  End
  ArmorSet
    Conditions      = None
    Armor           = AirplaneArmor
    DamageFX        = TankDamageFX
  End
  CommandSet        = AmericaJetAuroraCommandSet

  ; *** AUDIO Parameters ***
  VoiceSelect = AuroraBomberVoiceSelect
  VoiceMove = AuroraBomberVoiceMove
  VoiceGuard = AuroraBomberVoiceMove
  VoiceAttack = AuroraBomberVoiceAttack
  SoundAmbient = AuroraBomberAmbientLoop
  SoundAmbientRubble    = NoSound
  SoundDie = AuroraBomberVoiceFalling
  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       = 2000.0
    InitialHealth   = 2000.0
  End

  Behavior                          = JetSlowDeathBehavior ModuleTag_03
    FXOnGroundDeath                 = FX_JetOnGroundDeath
    OCLOnGroundDeath                = OCL_AuroraDeathFinalBlowUp
    DestructionDelay                = 2000 
    RollRate                        = 0.0
    RollRateDelta                   = 100%      ;each frame, rollrate = rollrate * rollrateDelta
    PitchRate                       = 0
    FallHowFast                     = 25.0%    ;Bigger is faster (can be over 100%,it's a fraction of gravity)
    FXInitialDeath                  = FX_JetBigDeathInitial
    OCLInitialDeath                 = OCL_AmericaJetCargoDeathStart
    DelaySecondaryFromInitialDeath  = 2000       ; in milliseconds     This guy won't hit the ground, so this time equals the above time
    OCLSecondary                    = OCL_AmericaJetCargoHulkDeath
    FXSecondary                     = FX_BigPlaneDeath
;   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
    TakeoffSpeedForMaxLift      = 100%   ; smaller numbers give more lift sooner when taking off
    TakeoffPause                = 500
    MinHeight                   = 5
    SneakyOffsetWhenAttacking   = -15.0  ; this is how far behind us people aim when we are in attack mode
    AttackLocomotorType         = SET_NORMAL
    AttackLocomotorPersistTime  = 999999   ; we start slowing down almost immediately
    AttackersMissPersistTime    = 999999 ; but remain untargetable fer a bit longer
    ReturnForAmmoLocomotorType  = SET_NORMAL
    ReturnToBaseIdleTime        = 5000         ; if idle for this long, return to base, even if not out of ammo
  End
  Locomotor = SET_NORMAL B52Locomotor
  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

  Behavior                 = TransitionDamageFX ModuleTag_22
    ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01
    ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition
  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


Offline NewNightmare  
#8 Posted : Saturday, July 28, 2012 2:17:59 PM(UTC)
NewNightmare
Colonel
Joined: 5/24/2010(UTC)
Posts: 492

Was thanked: 48 time(s) in 40 post(s)
Quote:
AttackRange = -25.0 ; this needs to be pretty high, since the Aurora moves so fast

Negative attack range? Change it to something like 250, for bombing like this, I'd look up Mig bomber from Shockwave mod, as they've done pretty good job with making the free-fall realistic.
Users browsing this topic
Guest
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.