Posted by: Adjiesman - Friday, February 12, 2021 2:23:53 PM
I have completed my Flame Comanche model which has a flamethrower, the problem is this flamethrower can't hit the targets below it. How do you get the flamethrower to hit the target below?

Posted by: Annihilationzh - Friday, February 12, 2021 10:24:18 PM
This is a tough one because flamethrowers are finnicky. What's actually happening? Is it just refusing to fire or is missing the target? Does it aim ok otherwise?

Posted by: Adjiesman - Saturday, February 13, 2021 6:01:10 AM
[quote=Annihilationzh;150240]This is a tough one because flamethrowers are finnicky. What's actually happening? Is it just refusing to fire or is missing the target? Does it aim ok otherwise?[/quote] No, it can shoot it, but it can't aim it down, I've set the pitch code but it still can't. I don't know where it went wrong. This is my flame comanche code: [code=plain];----------------------------- Weapon Only ------------------------------------ ;------------------------------------------------------------------------------ Weapon ComancheFlameWeapon PrimaryDamage = 10.0 PrimaryDamageRadius = 5.0 SecondaryDamage = 1.0 SecondaryDamageRadius = 10.0 ScatterRadiusVsInfantry = 0.0 ;When this weapon is used against infantry, it can randomly miss by as much as this distance. AttackRange = 200.0 DamageType = FLAME DeathType = BURNED WeaponSpeed = 600 ; dist/sec WeaponRecoil = 0 ; angle to deflect the model when firing ProjectileObject = ComancheFlameProjectile FireFX = WeaponFX_DragonTankFlameWeapon ProjectileDetonationFX = WeaponFX_DragonTankMissileDetonation2 FireSound = DragonTankWeaponLoop FireSoundLoopTime = 80 ; loop the firing sound until there's this much delay between shots RadiusDamageAffects = ALLIES ENEMIES NEUTRALS DelayBetweenShots = 40 ; time between shots, msec ClipSize = 30 ; how many shots in a Clip (0 == infinite) ClipReloadTime = 40 ; how long to reload a Clip, msec ProjectileStreamName = FlamethrowerProjectileStream ; Drawing helper for this weapon. Tracks all projectiles in air ProjectileCollidesWith = ENEMIES STRUCTURES WALLS SHRUBBERY AllowAttackGarrisonedBldgs = Yes End ;----------------------------- Weapon Object Only ----------------------------- ;------------------------------------------------------------------------------ Object ComancheFlameProjectile ; Explanation - Particles can't do damage, so this is a fast shooting low ; damage invisible missile launcher with a flame trail for exhaust ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = NULL End End ; Must have a draw module to be allowed to draw detonation FX ; ***DESIGN parameters *** EditorSorting = SYSTEM VisionRange = 0.0 ArmorSet Conditions = None Armor = ProjectileArmor DamageFX = None End ; *** ENGINEERING Parameters *** KindOf = PROJECTILE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = DestroyDie ModuleTag_03 ;nothing End Behavior = PhysicsBehavior ModuleTag_04 Mass = 1 AllowCollideForce = No ; flames collide, but never apply forces when they do so End Behavior = MissileAIUpdate ModuleTag_05 TryToFollowTarget = No FuelLifetime = 1000 DetonateOnNoFuel = Yes InitialVelocity = 120 ; in dist/sec IgnitionDelay = 0 DistanceToTravelBeforeTurning = 2 GarrisonHitKillRequiredKindOf = INFANTRY GarrisonHitKillForbiddenKindOf = NONE GarrisonHitKillCount = 2 GarrisonHitKillFX = FX_DragonFlameGarrisonBuildingHit DistanceToTargetForLock = 0 ; If it gets within 100 of the target, it kills the target. End Locomotor = SET_NORMAL DragonTankFlameLocomotor Behavior = BoneFXUpdate ModuleTag_06 PristineParticleSystem1 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail01 ; Covers gap at beginning of line PristineParticleSystem2 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail02 PristineParticleSystem3 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail03 PristineParticleSystem4 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail04 PristineParticleSystem5 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerTrail06 PristineParticleSystem6 = bone:NULL OnlyOnce:Yes 0 0 PSys:FlameThrowerSmoke01 End Behavior = BoneFXDamage ModuleTag_07 ;nothing End Geometry = Sphere GeometryIsSmall = Yes GeometryMajorRadius = 2.0 End ;------------------------------------------------------------------------------ Object Flme_EquestriaVehicleComanche ; *** ART Parameters *** SelectPortrait = SACCommanche_L ButtonImage = SACCommanche ;UpgradeCameo1 = Upgrade_ComancheRocketPods UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_AmericaCountermeasures ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = FireCmche Turret = Turret TurretPitch = Turretel01 Animation = FireCmche.FireCmche AnimationMode = LOOP WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA WeaponFireFXBone = SECONDARY WeaponB WeaponLaunchBone = SECONDARY WeaponB End ;ConditionState = REALLYDAMAGED ; Model = AVComanche_d ; Animation = AVComanche_d.AVComanche_d ; AnimationMode = LOOP ;End ;ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED ; Model = AVComanche_d ; ShowSubObject = MissileUpgrade ; Animation = AVComanche_d.AVComanche_d ; AnimationMode = LOOP ; WeaponFireFXBone = TERTIARY WeaponB ; WeaponLaunchBone = TERTIARY WeaponB ;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 ; ***DESIGN parameters *** DisplayName = OBJECT:Comanche EditorSorting = VEHICLE Side = EquestriaFlameGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 200.0 ShroudClearingRange = 600 Prerequisites Object = Flme_EquestriaAirfield End WeaponSet Conditions = None Weapon = PRIMARY ComancheFlameWeapon Weapon = SECONDARY UEAComancheAntiTankMissileWeapon AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI End ArmorSet Conditions = None Armor = ComancheArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresComancheArmor DamageFX = None End BuildCost = 1500 BuildTime = 1 ; in seconds ExperienceValue = 50 50 100 200 ; Experience point value at each level ExperienceRequired = 0 100 200 400 ; Experience points needed to gain each level IsTrainable = Yes ; Can gain experience CommandSet = Flme_EquestriaVehicleComancheCommandSet ; *** AUDIO Parameters *** VoiceSelect = ComancheVoiceSelect VoiceMove = ComancheVoiceMove VoiceGuard = ComancheVoiceMove VoiceAttack = ComancheVoiceAttack SoundAmbient = ComancheAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = ComancheVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceGarrison = ComancheVoiceMove TurretMoveStart = NoSound TurretMoveLoop = NoSound VoiceFireRocketPods = ComancheVoiceAttackRocket End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT PRODUCED_AT_HELIPAD ;Behavior = WeaponSetUpgrade ModuleTag_02 ; TriggeredBy = Upgrade_ComancheRocketPods ;End Behavior = ExperienceScalarUpgrade ModuleTag_03 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Body = ActiveBody ModuleTag_04 MaxHealth = 220.0 InitialHealth = 220.0 End Behavior = FXListDie ModuleTag_05 DeathFX = FX_ComancheStartDeath End Behavior = JetAIUpdate ModuleTag_06 MinHeight = 5 NeedsRunway = No KeepsParkingSpaceWhenAirborne = No Turret TurretTurnRate = 120 TurretPitchRate = 120 FirePitch = -60 AllowsPitch = Yes ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL ComancheLocomotor Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor Behavior = PhysicsBehavior ModuleTag_07 Mass = 50.0 End Behavior = HelicopterSlowDeathBehavior ModuleTag_08 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 ; Most things that eject pilots do so immediately upon death, ; via use of EjectPilotDie, but Helicopters are a special case... ; they need to do so after their blades are ejected. OCLEjectPilot = OCL_EjectPilotViaParachute FXBlade = FX_HelicopterBladeExplosion OCLBlade = OCL_HelicopterBladeExplosion FXHitGround = FX_HelicopterHitGround OCLHitGround = OCL_HelicopterHitGround FXFinalBlowUp = FX_GroundedHelicopterBlowUp OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp DelayFromGroundToFinalDeath = 1500 FinalRubbleObject = ComancheRubbleHull End Behavior = TransitionDamageFX ModuleTag_09 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition 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 = 2 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 60.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 = 4000 ; 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 = 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 = 3.0 GeometryHeight = 25.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End [/code]

Posted by: Annihilationzh - Saturday, February 13, 2021 7:21:39 PM
You may just have to set a minimum range. Aside from that, you can mess around with the pitch settings and hope something works. You have a decent number of settings to play around with: [code=plain] TurretTurnRate = [integer] TurretPitchRate = [integer] NaturalTurretAngle = [integer, default 0 = horizontal] NaturalTurretPitch = [integer, default 0 = horizontal] FirePitch = [integer, default 0 = horizontal] MinPhysicalPitch = [integer, default 0 = horizontal] GroundUnitPitch = [integer, default 0 = horizontal] TurretFireAngleSweep = [weaponslot][integer] TurretSweepSpeedModifier = [weaponslot real number] ControlledWeaponSlots = [weaponslots] AllowsPitch = [Yes/No] MinIdleScanAngle = [real number] MaxIdleScanAngle = [real number] MinIdleScanInterval = [integer, milliseconds] MaxIdleScanInterval = [integer, milliseconds] RecenterTime = [integer,milliseconds] FiresWhileTurning = [Yes/No] InitiallyDisabled = [Yes/No][/code]

Posted by: Adjiesman - Sunday, February 14, 2021 4:35:25 AM
[quote=Annihilationzh;150242]You may just have to set a minimum range. Aside from that, you can mess around with the pitch settings and hope something works. You have a decent number of settings to play around with: [code=plain] TurretTurnRate = [integer] TurretPitchRate = [integer] NaturalTurretAngle = [integer, default 0 = horizontal] NaturalTurretPitch = [integer, default 0 = horizontal] FirePitch = [integer, default 0 = horizontal] MinPhysicalPitch = [integer, default 0 = horizontal] GroundUnitPitch = [integer, default 0 = horizontal] TurretFireAngleSweep = [weaponslot][integer] TurretSweepSpeedModifier = [weaponslot real number] ControlledWeaponSlots = [weaponslots] AllowsPitch = [Yes/No] MinIdleScanAngle = [real number] MaxIdleScanAngle = [real number] MinIdleScanInterval = [integer, milliseconds] MaxIdleScanInterval = [integer, milliseconds] RecenterTime = [integer,milliseconds] FiresWhileTurning = [Yes/No] InitiallyDisabled = [Yes/No][/code][/quote] Ok, thanks for helps. I'll try