 |
Forum Info
|
 |
Forum Members: 18,617
Total Threads: 8,723
Posts: 95,213
Administrators:
DeeZire, Redemption
There are currently 34 users online.
|
 |
Partner Links
|
 |
 |
Advertisements
|
 |
|
| Generals & Zero Hour Editing Discuss any modding related issues to do with Generals and Zero Hour here. |
04-05-2003, 04:31 PM
|
#11 (permalink)
|
|
Senior Member
Join Date: Feb 2003
Location: USA
Posts: 335
|
Okay, I got something that works.
Copy the Chinook code.
Replace the model with the rebuild comanche (or whatever)
Add the weapons sets from the comanche.
best I can do, at least the damn thing lands and picks up troops
|
|
|
04-05-2003, 07:08 PM
|
#12 (permalink)
|
|
Senior Member
Join Date: Apr 2003
Location: USA
Posts: 167
|
Thanks Tebry,
This is the modified code that works that im putting in my mod.
Object AmericaVehicleComanche
; *** ART Parameters ***
SelectPortrait = SAComanche_L
ButtonImage = SAComanche
;UpgradeCameo1 = Upgrade_ComancheRocketPods
;UpgradeCameo2 = Upgrade_AmericaAdvancedTraining
;UpgradeCameo3 = NONE
;UpgradeCameo4 = NONE
;UpgradeCameo5 = NONE
Draw = W3DModelDraw ModuleTag_01 ; Helicopter
ExtraPublicBone = RopeStart
ExtraPublicBone = RopeEnd
DefaultConditionState
Model = AVComanche
HideSubObject = MissileUpgrade
Animation = AVComanche.AVComanche
AnimationMode = LOOP
WeaponMuzzleFlash = PRIMARY TurretFX
WeaponFireFXBone = PRIMARY Muzzle
WeaponFireFXBone = SECONDARY Muzzle
WeaponLaunchBone = SECONDARY Muzzle
End
ConditionState = REALLYDAMAGED
Model = AVComanche_d
Animation = AVComanche_d.AVComanche_d
AnimationMode = LOOP
End
ConditionState = RUBBLE
Model = AVComanche_d
Animation = AVComanche_d.AVComanche_d
AnimationMode = LOOP
End
ConditionState = RUBBLE SPECIAL_DAMAGED
Model = AVComanche_d
HideSubObject = AVComanche_Prop
End
OkToChangeModelColor = Yes
End
Draw = W3DModelDraw ModuleTag_02 ; Cargo net
ConditionState = NONE
Model = None ; Nothing here
TransitionKey = TRANS_Empty
WaitForStateToFinishIfPossible = TRANS_Unloading
End
ConditionState = DYING
Model = None ; Nothing here
End
AliasConditionState = RUBBLE
AliasConditionState = CARRYING RUBBLE
AliasConditionState = DOCKING RUBBLE
AliasConditionState = DOCKING CARRYING RUBBLE
ConditionState = CARRYING
Model = AVComanche_d
Animation = AVComanche_d.AVComanche_d
AnimationMode = LOOP
TransitionKey = TRANS_Full
WaitForStateToFinishIfPossible = TRANS_PickingUp
End
ConditionState = DOCKING
Model = AVComanche_d
Animation = AVComanche_d.AVComanche_d
AnimationMode = LOOP
TransitionKey = TRANS_PickingUp
WaitForStateToFinishIfPossible = TRANS_Unloading ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both.
End
ConditionState = DOCKING CARRYING
Model = AVComanche_d
Animation = AVComanche_d.AVComanche_d
AnimationMode = LOOP
TransitionKey = TRANS_Unloading
WaitForStateToFinishIfPossible = TRANS_PickingUp ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both.
End
End
; ***DESIGN parameters ***
DisplayName = OBJECT:Comanche
EditorSorting = VEHICLE
Side = America
TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable)
VisionRange = 300.0
ShroudClearingRange = 600
BuildCost = 3500
BuildTime = 15.0 ;in seconds
Prerequisites
Object = AmericaAirfield
End
ExperienceValue = 50 50 50 50 ;Experience point value at each level
IsTrainable = No
CommandSet = AmericaVehicleComancheCommandSet
WeaponSet
Conditions = None
; -----
Weapon = PRIMARY Comanche20mmCannonWeapon
PreferredAgainst = PRIMARY INFANTRY
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
; -----
Weapon = SECONDARY ComancheAntiTankMissileWeapon
PreferredAgainst = SECONDARY VEHICLE STRUCTURE
AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI
; -----
Weapon = TERTIARY NONE
End
WeaponSet
Conditions = PLAYER_UPGRADE
; -----
Weapon = PRIMARY Comanche20mmCannonWeapon
PreferredAgainst = PRIMARY INFANTRY
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
; -----
Weapon = SECONDARY ComancheAntiTankMissileWeapon
PreferredAgainst = SECONDARY VEHICLE STRUCTURE
AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI
; -----
Weapon = TERTIARY ComancheRocketPodWeapon
AutoChooseSources = TERTIARY NONE
End
ArmorSet
Conditions = None
Armor = ChinookArmor
DamageFX = None
End
; *** AUDIO Parameters ***
VoiceSelect = ChinookVoiceSelect
VoiceMove = ChinookVoiceMove
VoiceAttack = ChinookVoiceAttack
SoundAmbient = ChinookAmbientLoop
SoundAmbientRubble = NoSound
SoundDie = ChinookVoiceFalling
SoundEnter = HumveeEnter
SoundExit = HumveeExit
UnitSpecificSounds
VoiceCreate = ChinookVoiceCreate
VoiceSupply = ChinookVoiceSupply
VoiceUnload = ChinookVoiceUnload
VoiceCombatDrop = ChinookVoiceCombatDrop
VoiceClearBuilding = RangerVoiceClearBuilding ;Special combat drop that clears buildings!
VoiceGarrison = ChinookVoiceMove
End
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at
; (well, "near" actually) an Airfield to get healed...
; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there.
KindOf = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AIRCRAFT SCORE PRODUCED_AT_HELIPAD
Behavior = WeaponSetUpgrade ModuleTag_02
TriggeredBy = Upgrade_ComancheRocketPods
End
Body = ActiveBody ModuleTag_03
MaxHealth = 350.0
InitialHealth = 350.0
End
Behavior = FXListDie ModuleTag_05
DeathFX = FX_HelicopterStartDeath
End
Behavior = TransitionDamageFX ModuleTag_06
ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown
ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition
End
Behavior = ChinookAIUpdate ModuleTag_07
;MaxBoxes = 8
;SupplyCenterActionDelay = 3000 ; ms for whole thing (one transaction)
;SupplyWarehouseActionDelay = 1250 ; 875 ; ms per box (many small transactions)
;SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan)
;SuppliesDepletedVoice = ChinookVoiceSuppliesDepleted
NumRopes = 4
; these define how long we can wait, once a guy is on-rope, before throwing another
; guy onto that same rope. (Hint: you don't want to use zero.) Omit entirely
; and we'll wait for each guy to clear before spawning another.
PerRopeDelayMin = 900
PerRopeDelayMax = 1500
RopeWidth = 0.5
RopeColor = R:0 G:0 B:0
RopeWobbleLen = 10
RopeWobbleAmplitude = 0.25
RopeWobbleRate = 180
RopeFinalHeight = 10 ; stop this far above ground
RappelSpeed = 30
MinDropHeight = 40 ; if dropping into a tall bldg, go at least this far above it
End
Locomotor = SET_NORMAL ChinookLocomotor
Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor
Behavior = TransportContain ModuleTag_08
Slots = 6
DamagePercentToUnits = 100%
AllowInsideKindOf = INFANTRY
ForbidInsideKindOf = AIRCRAFT VEHICLE HUGE_VEHICLE
ExitDelay = 100
NumberOfExitPaths = 1
End
Behavior = PhysicsBehavior ModuleTag_09
Mass = 50.0
End
Behavior = HelicopterSlowDeathBehavior ModuleTag_10
DestructionDelay = 99999999 ; the destruction delay
SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral
SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral
SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster
MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral)
SoundDeathLoop = ComancheDamagedLoop
MinSelfSpin = 100 ; in degrees per second
MaxSelfSpin = 300 ; in degrees per second
SelfSpinUpdateDelay = 100 ; in milliseconds
SelfSpinUpdateAmount = 10 ; in degrees
FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall
MinBladeFlyOffDelay = 1500 ; in milliseconds
MaxBladeFlyOffDelay = 1500 ; in milliseconds
AttachParticle = SootySmokeTrail
AttachParticleBone = Propeller02
BladeObjectName = ComancheBlades
BladeBoneName = Propeller01
FXBlade = FX_HelicopterBladeExplosion
OCLBlade = OCL_HelicopterBladeExplosion
FXHitGround = FX_HelicopterHitGround
OCLHitGround = OCL_HelicopterHitGround
FXFinalBlowUp = FX_GroundedHelicopterBlowUp
OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp
DelayFromGroundToFinalDeath = 30
FinalRubbleObject = ChinookRubbleHull
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
Geometry = BOX
GeometryMajorRadius = 20.0
GeometryMinorRadius = 6.0
GeometryHeight = 12.0
GeometryIsSmall = No
Shadow = SHADOW_VOLUME
ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length
End
You also need this commandset:
CommandSet AmericaVehicleComancheCommandSet
1 = Command_AmericaVehicleComancheFireRocketPods
2 = Command_Evacuate
3 = Command_TransportExit
5 = Command_TransportExit
6 = Command_TransportExit
7 = Command_TransportExit
8 = Command_TransportExit
4 = Command_TransportExit
10 = Command_AttackMove
11 = Command_Guard
12 = Command_Stop
End
Hope you guys enjoy
|
|
|
04-06-2003, 09:46 AM
|
#13 (permalink)
|
|
Senior Member
Join Date: Feb 2003
Location: USA
Posts: 335
|
Here is an update. This a more generic code that anyone can use to make flying craft that land.
It is a bit cleaner.
Apparently you need the docking transition states and the chinook ai module. They do not have to have anything in them.
ModuleTag_02
ModuleTag_08
ModuleTag_09
these are the three relevent modules. you should be able to add them to any flying vehicle to make it work right.
;------------------------------------------------------------------------------
Object FactionModelx
; *** ART Parameters ***
Draw = W3DModelDraw ModuleTag_01
DefaultConditionState
Model = Modelx
End
ConditionState = MOVING
Model = Modelx
End
ConditionState = DAMAGED
Model = Modelx
End
ConditionState = MOVING DAMAGED
Model = Modelx
End
ConditionState = REALLYDAMAGED
Model = Modelx
End
ConditionState = MOVING REALLYDAMAGED
Model = Modelx
End
ConditionState = RUBBLE
Model = Modelx
End
OkToChangeModelColor = Yes
End
Draw = W3DModelDraw ModuleTag_02
ConditionState = NONE
Model = None ; Nothing here
TransitionKey = TRANS_Empty
WaitForStateToFinishIfPossible = TRANS_Unloading
End
ConditionState = DYING
Model = None ; Nothing here
End
AliasConditionState = RUBBLE
AliasConditionState = CARRYING RUBBLE
AliasConditionState = DOCKING RUBBLE
AliasConditionState = DOCKING CARRYING RUBBLE
ConditionState = CARRYING
Model = Modelx
TransitionKey = TRANS_Full
WaitForStateToFinishIfPossible = TRANS_PickingUp
End
ConditionState = DOCKING
Model = Modelx
TransitionKey = TRANS_PickingUp
WaitForStateToFinishIfPossible = TRANS_Unloading ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both.
End
ConditionState = DOCKING CARRYING
Model = Modelx
TransitionKey = TRANS_Unloading
WaitForStateToFinishIfPossible = TRANS_PickingUp ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both.
End
End
; ***DESIGN parameters ***
DisplayName = OBJECT:Troopship
EditorSorting = VEHICLE
Side = Federation
TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable)
VisionRange = 500.0
ShroudClearingRange = 500
Prerequisites
;Object = FactionAirfield
End
WeaponSet
Conditions = None
Weapon = PRIMARY Modelxweapon ; replace this with whatever weapon you want
End
ArmorSet
Conditions = None
Armor = AirplaneArmor
DamageFX = None
End
BuildCost = 400 ; for now
BuildTime = 20
ExperienceValue = 50 50 100 150 ;Experience point value at each level
ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level
IsTrainable = Yes ;Can gain experience
CrusherLevel = 3 ;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 = FactionModelxCommandSet ; replace this with your commandset (needs to be like chinook)
; *** AUDIO Parameters ***
VoiceSelect = RaptorVoiceSelect
VoiceMove = RaptorVoiceMove
VoiceAttack = RaptorVoiceAttack
VoiceAttackAir = RaptorVoiceAttackAir
VoiceGuard = RaptorVoiceAirPatrol
SoundDie = RaptorVoiceFalling
SoundAmbient = RaptorAmbientLoop
SoundAmbientRubble = NoSound
SoundEnter = HumveeEnter
SoundExit = HumveeExit
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AIRCRAFT SCORE PRODUCED_AT_HELIPAD
Body = ActiveBody ModuleTag_03
MaxHealth = 1000.0
InitialHealth = 1000.0
End
Behavior = JetSlowDeathBehavior ModuleTag_04
FXOnGroundDeath = FX_JetOnGroundDeath
OCLOnGroundDeath = OCL_RaptorDeathFinalBlowUp
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_JetDeathInitial
OCLInitialDeath = OCL_RaptorDeathInitial
DelaySecondaryFromInitialDeath = 500 ; in milliseconds
FXSecondary = FX_JetDeathSecondary
OCLSecondary = OCL_RaptorDeathSecondary
FXHitGround = FX_JetDeathHitGround
OCLHitGround = OCL_RaptorDeathHitGround
DelayFinalBlowUpFromHitGround = 200 ; in milliseconds
FXFinalBlowUp = FX_JetDeathFinalBlowUp
OCLFinalBlowUp = OCL_RaptorDeathFinalBlowUp
; DeathLoopSound = MICAL NEEDS TO MAKE ME
End
Behavior = EjectPilotDie ModuleTag_05
ExemptStatus = HIJACKED
GroundCreationList = OCL_EjectPilotOnGround
AirCreationList = OCL_EjectPilotViaParachute
VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot
End
Behavior = PhysicsBehavior ModuleTag_06
Mass = 500.0
End
Behavior = TransitionDamageFX ModuleTag_07
ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01
ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition
End
Behavior = ChinookAIUpdate ModuleTag_08
; You don't need anything in here, it just needs to be here
End
Behavior = TransportContain ModuleTag_09
Slots = 8
DamagePercentToUnits = 100%
AllowInsideKindOf = INFANTRY VEHICLE
ForbidInsideKindOf = AIRCRAFT HUGE_VEHICLE
ExitDelay = 100
NumberOfExitPaths = 1
End
Locomotor = SET_NORMAL ChinookLocomotor
Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor
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
Scale = 1.2
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
|
|
|
04-06-2003, 06:29 PM
|
#14 (permalink)
|
|
Member
Join Date: Apr 2003
Location: USA
Posts: 63
|
we got it working and everything. Thanks for all your help Tebrey. Now the only problem is, our nee comanche model reverts back to the original comanche when its damaged enuf....... Duz anyone hav a black hawk, or apache that has all the w3d files completed? That would be agreat help.
(By the way, im a co-worker on the mod team that involved the transport comanche)
|
|
|
04-07-2003, 05:04 AM
|
#15 (permalink)
|
|
Senior Member
Join Date: Feb 2003
Location: USA
Posts: 335
|
As far as reverting back to the original model, just make sure your new model name is in all the places in the code.
No problem, I needed the code for my dropship anyway, just hadn't gotten around to making it yet. Grin.
|
|
|
04-07-2003, 02:16 PM
|
#16 (permalink)
|
|
Member
Join Date: Mar 2003
Location: Ireland
Posts: 83
|
The most important parts are the ChinookAI module and the SlideIntoPlace = Yes tag in the locomoter.
I used these tags without the cargonet module and it works fine.
|
|
|
04-07-2003, 04:57 PM
|
#17 (permalink)
|
|
Senior Member
Join Date: Feb 2003
Location: USA
Posts: 335
|
Slide into place only effects the turning of the model
|
|
|
04-07-2003, 05:04 PM
|
#18 (permalink)
|
|
Member
Join Date: Mar 2003
Location: Ireland
Posts: 83
|
You mean like sliding sideways instead of turning and moving forward?
|
|
|
04-07-2003, 06:05 PM
|
#19 (permalink)
|
|
Senior Member
Join Date: Feb 2003
Location: USA
Posts: 335
|
Ya, hence it is chinook ai portion that is really the important part. The locomotor is not really that important.
|
|
|
04-09-2003, 12:16 AM
|
#20 (permalink)
|
|
Senior Member
Join Date: Apr 2003
Location: USA
Posts: 167
|
Ya you dont have to have the slide into place just the behavior chinookaiupdate and a few other things just look at the examples on the other page 
|
|
|
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 08:47 AM.
|