PrivateJoined: 7/24/2012(UTC) Posts: 13 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.
|
|
|
|
ColonelJoined: 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=10448For 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.
|
|
|
|
MajorJoined: 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
|
 1 user thanked precision_bomber for this useful post.
|
|
|
PrivateJoined: 7/24/2012(UTC) Posts: 13 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?
|
|
|
|
GeneralJoined: 8/2/2008(UTC) Posts: 1,779  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: 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. |
 2 users thanked Annihilationzh for this useful post.
|
|
|
PrivateJoined: 7/24/2012(UTC) Posts: 13 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!
|
|
|
|
PrivateJoined: 7/24/2012(UTC) Posts: 13 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
|
|
|
|
ColonelJoined: 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.