joey55
  • joey55
  • 100% (Exalted)
  • Major Topic Starter
15 years ago
i made a new nuke launcher that has a primary weapon that fires a missil evry 5sec
and a secondary weapon that fires 10 misiles and than has a 1min cooldown
but sometimes when they are firing with the primary weapon they fire the secondary weapon.

how does this happen?

thanks๐Ÿ˜„

maybe you have something on this codes:
AM=primary wep BM=secondary wep
Weapon BM
  PrimaryDamage = 100.0            
  PrimaryDamageRadius = 5.0      
  SecondaryDamage = 80.0          
  SecondaryDamageRadius = 25.0 
  ScatterRadius = 50.0   
  ScatterRadiusVsInfantry     = 10.0     ;When this weapon is used against infantry, it can randomly miss by as much as this distance.
  AttackRange = 250.0
  MinimumAttackRange = 100.0
  DamageType = EXPLOSION          ; ignored for projectile weapons
  DeathType = EXPLODED
  WeaponSpeed = 600               ; ignored for projectile weapons
  ProjectileObject = ScorpionMissile
  ProjectileExhaust           = MissileExhaust
  VeterancyProjectileExhaust  = HEROIC HeroicMissileExhaust
  FireFX                      = FX_BuggyMissileIgnition
  FireSound                   = ScorpionMissileWeapon
  RadiusDamageAffects = ALLIES ENEMIES NEUTRALS
  DelayBetweenShots = 500 ; time between shots, msec
  ClipSize = 10           ; how many shots in a Clip (0 == infinite)
  ClipReloadTime = 60000  ; how long to reload a Clip, msec
  AutoReloadsClip = Yes 
  ProjectileDetonationFX = WeaponFX_RocketBuggyMissileDetonation
  ProjectileDetonationOCL = OCL_PoisonFieldGammaSmall
  AutoReloadsClip             = 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
  WeaponBonus = PLAYER_UPGRADE DAMAGE 125% ; AP weapon upgrade
End

Weapon AM
  PrimaryDamage = 200.0            
  PrimaryDamageRadius = 5.0      
  SecondaryDamage = 80.0          
  SecondaryDamageRadius = 25.0    
  ScatterRadiusVsInfantry     = 10.0     ;When this weapon is used against infantry, it can randomly miss by as much as this distance.
  AttackRange = 250.0
  MinimumAttackRange = 100.0
  DamageType = EXPLOSION          ; ignored for projectile weapons
  DeathType = EXPLODED
  WeaponSpeed = 600               ; ignored for projectile weapons
  ProjectileObject = ScorpionMissile
  ProjectileExhaust           = MissileExhaust
  VeterancyProjectileExhaust  = HEROIC HeroicMissileExhaust
  FireFX                      = FX_BuggyMissileIgnition
  FireSound                   = ScorpionMissileWeapon
  RadiusDamageAffects = ALLIES ENEMIES NEUTRALS
  DelayBetweenShots = 5000  ; time between shots, msec
  ClipSize = 0            ; how many shots in a Clip (0 == infinite)
  ClipReloadTime = 15000  ; how long to reload a Clip, msec
  AutoReloadsClip = Yes 
  ProjectileDetonationFX = WeaponFX_RocketBuggyMissileDetonation
  ProjectileDetonationOCL = OCL_PoisonFieldGammaSmall
  AntiAirborneVehicle         = Yes
  AntiGround                  = Yes
  AntiBallisticMissile        = 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
  WeaponBonus = PLAYER_UPGRADE DAMAGE 125% ; AP weapon upgrade
End

command set:
CommandSet ThunderReaperReaperCommandSet
  ;1  = Command_ChinaNukeWarhead
  3  = Command_BM
  11 = Command_AttackMove
  13 = Command_Guard
  14 = Command_Stop
End

command buttons:
CommandButton Command_ConstructThunderReaperReaper
  Command       = UNIT_BUILD
  Object        = ThunderReaperReaper
  TextLabel     = CONTROLBAR:ConstructThunderReaperReaper
  ButtonImage   = SNNukeCannon
  ButtonBorderType        = BUILD ; Identifier for the User as to what kind of button this is
  DescriptLabel           = CONTROLBAR:ToolTipChinaBuildNukeLauncher
End


CommandButton Command_BM
  Command                 = FIRE_WEAPON
  WeaponSlot              = SECONDARY ; Best if this matches up with an AutoChoose listing that forbids this slot normally
  Options                 = NEED_TARGET_POS 
  TextLabel               = CONTROLBAR:Contaminate
  ButtonImage             = SAPowTruck
  ButtonBorderType        = ACTION ; Identifier for the User as to what kind of button this is
  DescriptLabel           = CONTROLBAR:ToolTipGLAFireToxinTractorSlime
  UnitSpecificSound       = ToxinTractorVoiceModeContam
End

the unit itself:
Object ThunderReaperReaper

  ; *** ART Parameters ***
  SelectPortrait         = SNNukeCannon_L
  ButtonImage            = SNNukeCannon
  
  ;UpgradeCameo1 = Upgrade_ChinaNeutronShells
  ;UpgradeCameo2 = NONE
  ;UpgradeCameo3 = NONE
  ;UpgradeCameo4 = NONE
  ;UpgradeCameo5 = NONE

  Draw = W3DTankDraw ModuleTag_01
    
    InitialRecoilSpeed   = 120
    MaxRecoilDistance    = 8
    RecoilSettleSpeed    = 6

    OkToChangeModelColor = Yes

    ExtraPublicBone = Turret01

    DefaultConditionState
      Model                           = NVNukeCn
      WeaponLaunchBone                = PRIMARY Muzzle
      WeaponMuzzleFlash               = PRIMARY MuzzleFX
      WeaponFireFXBone                = PRIMARY Muzzle
      WeaponRecoilBone                = PRIMARY Barrel
      WeaponLaunchBone                = SECONDARY Muzzle
      WeaponMuzzleFlash               = SECONDARY MuzzleFX
      WeaponFireFXBone                = SECONDARY Muzzle
      WeaponRecoilBone                = SECONDARY Barrel
      HideSubObject                   = TURRET01      ;Hide controlled turret
      ShowSubObject                   = TURRETFRONT TURRETBACK  ;Show pack/unpack animated turret
      Turret                          = Turret01
      TurretPitch                     = TurretEL
    End
      
    ConditionState                    = RUBBLE
      Model                           = NVNukeCn_D1
      WeaponLaunchBone                = PRIMARY Muzzle
      WeaponMuzzleFlash               = PRIMARY MuzzleFX
      WeaponRecoilBone                = PRIMARY Barrel
      WeaponLaunchBone                = SECONDARY Muzzle
      WeaponMuzzleFlash               = SECONDARY MuzzleFX
      WeaponRecoilBone                = SECONDARY Barrel
      HideSubObject                   = TURRET01      ;Hide controlled turret
      ShowSubObject                   = TURRETFRONT TURRETBACK  ;Show pack/unpack animated turret
      Turret                          = Turret01
      TurretPitch                     = TurretEL
    End

    ;*** PACKED STATE -- ready to move ***
    ConditionState    = MOVING
      Animation       = NVNukeCn.NVNukeCn
      AnimationMode   = ONCE_BACKWARDS
      Flags           = START_FRAME_FIRST
    End
    AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A ;Very long shot delay -- possibly moving
    AliasConditionState = BETWEEN_FIRING_SHOTS_A
    ;***
    ConditionState    = REALLYDAMAGED MOVING
      Model           = NVNukeCn_D
      Animation       = NVNukeCn_D.NVNukeCn_D
      AnimationMode   = ONCE_BACKWARDS
      Flags           = START_FRAME_FIRST
    End
    AliasConditionState = REALLYDAMAGED MOVING BETWEEN_FIRING_SHOTS_A ;Very long shot delay -- possibly moving
     

    ;*** UNPACKING STATE  -- preparing to fire ***
    ConditionState    = UNPACKING
      Animation       = NVNukeCn.NVNukeCn
      AnimationMode   = MANUAL
    End
    AliasConditionState = UNPACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay
    ;***
    ConditionState    = REALLYDAMAGED UNPACKING
      Model           = NVNukeCn_D
      Animation       = NVNukeCn_D.NVNukeCn_D
      AnimationMode   = MANUAL
    End
    AliasConditionState = REALLYDAMAGED UNPACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay

    ;*** PACKING STATE -- preparing to move ***
    ConditionState    = PACKING
      Animation       = NVNukeCn.NVNukeCn
      AnimationMode   = MANUAL
    End

    AliasConditionState = PACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay
    ;***
    ConditionState    = REALLYDAMAGED PACKING
      Model           = NVNukeCn_D
      Animation       = NVNukeCn_D.NVNukeCn_D
      AnimationMode   = MANUAL
    End
    AliasConditionState = REALLYDAMAGED PACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay

    ;*** DEPLOYED STATE -- ready to fire ***
    ConditionState  = DEPLOYED 
      Animation       = NVNukeCn.NVNukeCn
      AnimationMode   = ONCE
      Flags           = START_FRAME_LAST
      TransitionKey   = TRANS_FIRING_A
      HideSubObject   = TURRETFRONT TURRETBACK   ;Hide pack/unpack animated turret
      ShowSubObject   = TURRET01      ;Show controlled turret
    End
    AliasConditionState = DEPLOYED FIRING_A
    AliasConditionState = DEPLOYED BETWEEN_FIRING_SHOTS_A
    AliasConditionState = DEPLOYED RELOADING_A
    AliasConditionState = DEPLOYED MOVING

    ConditionState  = DEPLOYED REALLYDAMAGED
      Model           = NVNukeCn_D
      Animation       = NVNukeCn_D.NVNukeCn_D
      AnimationMode   = ONCE
      Flags           = START_FRAME_LAST
      TransitionKey   = TRANS_FIRING_A
      HideSubObject   = TURRETFRONT TURRETBACK  ;Hide pack/unpack animated turret
      ShowSubObject   = TURRET01      ;Show controlled turret
    End
    AliasConditionState = DEPLOYED REALLYDAMAGED FIRING_A
    AliasConditionState = DEPLOYED REALLYDAMAGED BETWEEN_FIRING_SHOTS_A
    AliasConditionState = DEPLOYED REALLYDAMAGED RELOADING_A
    AliasConditionState = DEPLOYED REALLYDAMAGED MOVING
    
    TrackMarks              = EXTnkTrack.tga
    TreadAnimationRate      = 4.0  ; amount of tread texture to move per second
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:ThunderReaperReaper
  Side = ThunderReaper
  EditorSorting   = VEHICLE
  TransportSlotCount = 10                 ;how many "slots" we take in a transport (0 == not transportable)
  WeaponSet
    Conditions = None 
    Weapon = PRIMARY AM
    Weapon = SECONDARY BM
    PreferredAgainst    = SECONDARY None
  End

  
  ArmorSet
    Conditions      = None
    Armor           = TankArmor
    DamageFX        = TankDamageFX
  End
  BuildCost       = 1600
  BuildTime       = 20.0          ;in seconds    
  VisionRange     = 180
  ShroudClearingRange = 350
  Prerequisites
    Object = ThunderReaperWarFactory
  End

  ExperienceValue = 50 100 200 400    ;Experience point value at each level
  ExperienceRequired = 0 400 600 1000  ;Experience points needed to gain each level
  IsTrainable = Yes             ;Can gain experience
  CrusherLevel           = 2  ;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    = ThunderReaperReaperCommandSet

  ; *** AUDIO Parameters ***
  VoiceSelect           = NukeCannonVoiceSelect
  VoiceMove             = NukeCannonVoiceMove
  VoiceGuard            = NukeCannonVoiceMove
  VoiceAttack           = NukeCannonVoiceAttack
  SoundMoveStart        = NukeCannonMoveStart
  SoundMoveStartDamaged = NukeCannonMoveStart
  UnitSpecificSounds
    ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
    VoiceCreate         = NukeCannonVoiceCreate
    TurretMoveStart     = NoSound
    TurretMoveLoop      = NukeCannonTurretMoveLoop
    VoiceEnter          = NukeCannonVoiceMove
    Deploy              = NukeCannonDeploy
    Undeploy            = NukeCannonUnDeploy
  End


  ; *** ENGINEERING Parameters ***
  RadarPriority = UNIT
  KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE
  
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 240.0
    InitialHealth   = 240.0

    ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
    ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
    SubdualDamageCap = 480
    SubdualDamageHealRate = 500
    SubdualDamageHealAmount = 50
  End

  Behavior = VeterancyGainCreate ModuleTag_03
    StartingLevel = VETERAN
    ScienceRequired = SCIENCE_ArtilleryTraining
  End

  Behavior = DeployStyleAIUpdate ModuleTag_04
    Turret
      TurretTurnRate        = 80
      TurretPitchRate       = 80
      FirePitch             = 0            ; Instead of aiming pitchwise at the target, it will aim here
      AllowsPitch           = Yes
      RecenterTime          = 5000         ; how long to wait during idle before recentering
      ControlledWeaponSlots = PRIMARY SECONDARY
      NaturalTurretAngle    = 0
      InitiallyDisabled     = Yes
    End
    AutoAcquireEnemiesWhenIdle = No
    PackTime = 3333
    UnpackTime = 3333
    TurretsFunctionOnlyWhenDeployed = Yes
    TurretsMustCenterBeforePacking = Yes
    ManualDeployAnimations = Yes
  End

  Locomotor = SET_NORMAL ChinaNukeCannonLocomotor
  Behavior = PhysicsBehavior ModuleTag_05
    Mass = 50.0
  End

  Behavior = SlowDeathBehavior ModuleTag_06
    DeathTypes = ALL -CRUSHED -SPLATTED
    DestructionDelay  = 500
    DestructionDelayVariance  = 100
    FX  = INITIAL  FX_BattleMasterExplosionOneFinal
    OCL = INITIAL  OCL_RadiationFieldSmall
    OCL = MIDPOINT OCL_ChinaVehicleNukeCannonDie
    OCL = FINAL    OCL_RadiationFieldSmall
    FX  = FINAL    FX_ChinaVehicleNukeCannonDeathExplosion
  End
    
  ; A crushing defeat
  Behavior = FXListDie ModuleTag_07
    DeathTypes = NONE +CRUSHED +SPLATTED
    DeathFX = FX_CarCrush
  End
  Behavior = CreateObjectDie ModuleTag_08
    DeathTypes = NONE +CRUSHED +SPLATTED
    CreationList = OCL_CrusaderTank_CrushEffect
  End
  Behavior = CreateCrateDie ModuleTag_09
    CrateData = SalvageCrateData
    ;CrateData = EliteTankCrateData
    ;CrateData = HeroicTankCrateData
  End

  Behavior                 = TransitionDamageFX ModuleTag_10
    ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
    ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition
  End

  Behavior = DestroyDie ModuleTag_11
    DeathTypes = NONE +CRUSHED +SPLATTED
  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 = ProductionUpdate ModuleTag_12
    MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
  End

  Geometry = BOX
  GeometryMajorRadius = 32.0
  GeometryMinorRadius = 10.0
  GeometryHeight = 17.0     
  GeometryIsSmall = No
  Shadow = SHADOW_VOLUME
  ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length    

End

you have to be a happy man, to be a happy man ๐Ÿ™‚
Sponsor
Annihilationzh
15 years ago
Jarmen Kell:

  WeaponSet
    Conditions = None 
    Weapon = PRIMARY GLAJarmenKellRifle
    Weapon = SECONDARY GLAJarmenKellVehiclePilotSniperRifle
    AutoChooseSources = SECONDARY NONE
  End

Yours:

  WeaponSet
    Conditions = None
    Weapon = PRIMARY AM
    Weapon = SECONDARY BM
    PreferredAgainst    = SECONDARY None
  End

AutoChooseSources vs PreferredAgainst

I'm thinking this is the problem, but tbh, I'm not entirely sure what the problem is.
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.
joey55
  • joey55
  • 100% (Exalted)
  • Major Topic Starter
15 years ago
ill try it tomorow๐Ÿ˜‰
you have to be a happy man, to be a happy man ๐Ÿ™‚
joey55
  • joey55
  • 100% (Exalted)
  • Major Topic Starter
15 years ago
and you know what......it works๐Ÿ‘ ๐Ÿ˜„
you have to be a happy man, to be a happy man ๐Ÿ™‚