<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.splashdamage.com/index.php?action=history&amp;feed=atom&amp;title=Script%3AFiles%3Ascript%2Fvehicles%2Fweapons%2Fantiair.script</id>
	<title>Script:Files:script/vehicles/weapons/antiair.script - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.splashdamage.com/index.php?action=history&amp;feed=atom&amp;title=Script%3AFiles%3Ascript%2Fvehicles%2Fweapons%2Fantiair.script"/>
	<link rel="alternate" type="text/html" href="https://wiki.splashdamage.com/index.php?title=Script:Files:script/vehicles/weapons/antiair.script&amp;action=history"/>
	<updated>2026-04-07T18:44:45Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.splashdamage.com/index.php?title=Script:Files:script/vehicles/weapons/antiair.script&amp;diff=1851&amp;oldid=prev</id>
		<title>Wizz at 10:03, 5 November 2007</title>
		<link rel="alternate" type="text/html" href="https://wiki.splashdamage.com/index.php?title=Script:Files:script/vehicles/weapons/antiair.script&amp;diff=1851&amp;oldid=prev"/>
		<updated>2007-11-05T10:03:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt; &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;object&amp;lt;/span&amp;gt; [[ScriptClass:vehicle_weapon_gatling|vehicle_weapon_gatling]] : [[ScriptClass:vehicle_weapon_base|vehicle_weapon_base]] {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            preinit();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            init();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            Fire();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            SpinBarrels();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            IdleEmpty();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            OnSetPlayer( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;            projectileIndex;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;            clientProjectileIndex;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;            jointHandle;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;            spinHandle;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;            fireRate;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;            triggerDelay;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;            spread;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;            nextFireTime;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;            spinSpeed;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;            spinStop;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;            spinFire;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt;            vehicle;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;            localSurface;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt;            playingFireSound;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt;            spinBarrelsActive;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt;            brassSoundActive;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt;            wantsFire;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt;            muzzleFlashFX;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt;            fireStartSound;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt;            fireStopSound;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt;            barrelLoopSound;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt;            barrelLoopLowSound;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt;            brassStartSound;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt;            brassStopSound;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;            barrelSoundChannel;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;            barrelLowSoundChannel;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;            fireSoundChannel;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;            brassSoundChannel;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;            showTracer;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:vehicle_weapon_gatling|vehicle_weapon_gatling]]::preinit() {&lt;br /&gt;
     projectileIndex            = GetEntityDef( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;def_projectile&amp;quot;&amp;lt;/span&amp;gt; ) );&lt;br /&gt;
     clientProjectileIndex    = GetEntityDef( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;client_projectile&amp;quot;&amp;lt;/span&amp;gt; ) );&lt;br /&gt;
 &lt;br /&gt;
     vehicle                    = [[ScriptEvent:getVehicle|getVehicle]]();&lt;br /&gt;
 &lt;br /&gt;
     jointHandle                = vehicle.[[ScriptEvent:getJointHandle|getJointHandle]]( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;muzzle&amp;quot;&amp;lt;/span&amp;gt; ) );&lt;br /&gt;
     spinHandle                = vehicle.[[ScriptEvent:getJointHandle|getJointHandle]]( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;spin_joint&amp;quot;&amp;lt;/span&amp;gt; ) );&lt;br /&gt;
 &lt;br /&gt;
     muzzleFlashFX            = [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;muzzle_flash&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     fireStartSound            = [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;fire_start_sound&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     fireStopSound            = [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;fire_stop_sound&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     barrelLoopSound            = [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;barrel_loop_sound&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     barrelLoopLowSound        = [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;barrel_loop_low_sound&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     brassStartSound            = [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;brass_start_sound&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     brassStopSound            = [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;brass_stop_sound&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
 &lt;br /&gt;
     barrelSoundChannel        = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;sound_channel_barrel&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( barrelSoundChannel == 0 ) {&lt;br /&gt;
         barrelSoundChannel = SND_WEAPON_MECH;&lt;br /&gt;
     }&lt;br /&gt;
     barrelLowSoundChannel    = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;sound_channel_barrel_low&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( barrelLowSoundChannel == 0 ) {&lt;br /&gt;
         barrelLowSoundChannel = SND_WEAPON_MOVE;&lt;br /&gt;
     }&lt;br /&gt;
     fireSoundChannel        = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;sound_channel_fire&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( fireSoundChannel == 0 ) {&lt;br /&gt;
         fireSoundChannel = SND_WEAPON_FIRE;&lt;br /&gt;
     }&lt;br /&gt;
     brassSoundChannel        = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;sound_channel_brass&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( brassSoundChannel == 0 ) {&lt;br /&gt;
         brassSoundChannel = SND_WEAPON_BRASS;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     fireRate                = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;fire_rate&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     triggerDelay            = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;trigger_delay&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     spread                    = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;spread&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
 &lt;br /&gt;
     spinStop                 = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;spin_stop&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     spinFire                 = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;spin_fire&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
 &lt;br /&gt;
     localSurface            = -1;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; localSurfaceName    = [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;surface_name&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( localSurfaceName != &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;&amp;quot;&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
         localSurface = vehicle.[[ScriptEvent:getSurfaceId|getSurfaceId]]( localSurfaceName );&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     showTracer                = TRACER_CHANCE;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:vehicle_weapon_gatling|vehicle_weapon_gatling]]::init() {&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:vehicle_weapon_gatling|vehicle_weapon_gatling]]::IdleEmpty() {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( playingFireSound ) {&lt;br /&gt;
         playingFireSound = false;&lt;br /&gt;
         vehicle.[[ScriptEvent:startSound|startSound]]( fireStopSound, fireSoundChannel );&lt;br /&gt;
     }&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( brassSoundActive ) {&lt;br /&gt;
         brassSoundActive = false;&lt;br /&gt;
         vehicle.[[ScriptEvent:startSound|startSound]]( brassStopSound, brassSoundChannel );&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:vehicle_weapon_gatling|vehicle_weapon_gatling]]::Fire() {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt; showMuzzle;&lt;br /&gt;
 &lt;br /&gt;
     playingFireSound = false;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( !spinBarrelsActive ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;thread&amp;lt;/span&amp;gt; SpinBarrels();&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; startFiringTime = sys.[[ScriptEvent:getTime|getTime]]() + triggerDelay;&lt;br /&gt;
 &lt;br /&gt;
     wantsFire = true;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;while&amp;lt;/span&amp;gt; ( user.[[ScriptEvent:getButton|getButton]]( PK_ATTACK ) &amp;amp;&amp;amp; !myVehicle.[[ScriptEvent:isWeaponEMPed|isWeaponEMPed]]() &amp;amp;&amp;amp; CanRemoveCharge() ) {&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( spinSpeed &amp;lt; spinFire ) {&lt;br /&gt;
             sys.[[ScriptEvent:waitFrame|waitFrame]]();&lt;br /&gt;
             continue;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         user.proxyFiringWeapon = true;&lt;br /&gt;
 &lt;br /&gt;
         showMuzzle = true;&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( localSurface != -1 ) {&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( vehicle.[[ScriptEvent:isSurfaceHidden|isSurfaceHidden]]( localSurface ) ) {&lt;br /&gt;
                 showMuzzle = false;&lt;br /&gt;
                 showTracer = TRACER_OFF;&lt;br /&gt;
             } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; {&lt;br /&gt;
                 showTracer = TRACER_CHANCE;&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         UpdateCharge();&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( !playingFireSound ) {&lt;br /&gt;
             playingFireSound = true;&lt;br /&gt;
             vehicle.[[ScriptEvent:startSound|startSound]]( fireStartSound, fireSoundChannel );&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( user == sys.[[ScriptEvent:getLocalViewPlayer|getLocalViewPlayer]]() ) {&lt;br /&gt;
                 vehicle.[[ScriptEvent:startSound|startSound]]( brassStartSound, brassSoundChannel );&lt;br /&gt;
                 brassSoundActive = true;&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( sys.[[ScriptEvent:getTime|getTime]]() &amp;gt;= nextFireTime ) {&lt;br /&gt;
             vehicle.[[ScriptEvent:launchBullet|launchBullet]]( user, vehicle, projectileIndex, spread, vehicle.[[ScriptEvent:getJointPos|getJointPos]]( jointHandle ), vehicle.[[ScriptEvent:getJointAxis|getJointAxis]]( jointHandle, 0 ), showTracer, true );&lt;br /&gt;
 &lt;br /&gt;
             nextFireTime = sys.[[ScriptEvent:getTime|getTime]]() + fireRate;&lt;br /&gt;
 &lt;br /&gt;
             RemoveCharge();&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( showMuzzle ) {&lt;br /&gt;
             vehicle.[[ScriptEvent:playJointEffect|playJointEffect]]( muzzleFlashFX, jointHandle, 0 );&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         sys.[[ScriptEvent:waitFrame|waitFrame]]();&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     wantsFire = false;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( user != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
         user.proxyFiringWeapon = false;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( playingFireSound ) {&lt;br /&gt;
         playingFireSound = false;&lt;br /&gt;
         vehicle.[[ScriptEvent:startSound|startSound]]( fireStopSound, fireSoundChannel );&lt;br /&gt;
     }&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( brassSoundActive ) {&lt;br /&gt;
         brassSoundActive = false;&lt;br /&gt;
         vehicle.[[ScriptEvent:startSound|startSound]]( brassStopSound, brassSoundChannel );&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     GoToIdle();&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:vehicle_weapon_gatling|vehicle_weapon_gatling]]::OnSetPlayer( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p ) { &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( p != user ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( user != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
             user.gatlingSpeed = 0.0f;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         wantsFire = false;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     OnSetPlayer_Base( p );&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:vehicle_weapon_gatling|vehicle_weapon_gatling]]::SpinBarrels() {&lt;br /&gt;
     spinBarrelsActive = true;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; ang;&lt;br /&gt;
 &lt;br /&gt;
     vehicle.[[ScriptEvent:startSound|startSound]]( barrelLoopLowSound, barrelLowSoundChannel );&lt;br /&gt;
     vehicle.[[ScriptEvent:fadeSound|fadeSound]]( barrelLowSoundChannel, -20.0f, 0.0f );&lt;br /&gt;
 &lt;br /&gt;
     vehicle.[[ScriptEvent:startSound|startSound]]( barrelLoopSound, barrelSoundChannel );&lt;br /&gt;
     vehicle.[[ScriptEvent:fadeSound|fadeSound]]( barrelSoundChannel, -20.0f, 0.0f );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;// start &amp;amp; end pitch for the main loop sound&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; basePitch        = 0.4f;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; maxPitch        = 0.8f;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;// start &amp;amp; end pitch for the low loop sound&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; basePitchLow    = 1.0f;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; maxPitchLow    = 1.5f;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; pitchRange    = maxPitch - basePitch;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; pitchRangeLow    = maxPitchLow - basePitchLow;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;while&amp;lt;/span&amp;gt; ( true ) {&lt;br /&gt;
         sys.[[ScriptEvent:waitFrame|waitFrame]]();&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( wantsFire ) {&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( spinSpeed &amp;lt; spinFire ) {&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( spinSpeed &amp;lt; spinStop ) {&lt;br /&gt;
                     spinSpeed = spinStop;&lt;br /&gt;
                 }&lt;br /&gt;
                 spinSpeed = spinSpeed + 90.f;&lt;br /&gt;
             } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; {&lt;br /&gt;
                 spinSpeed = spinFire;&lt;br /&gt;
             }&lt;br /&gt;
         } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; {&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( spinSpeed &amp;gt; spinStop ) {&lt;br /&gt;
                 spinSpeed = spinSpeed - 30.f;&lt;br /&gt;
             }&lt;br /&gt;
 &lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( spinSpeed &amp;lt;= spinStop ) {&lt;br /&gt;
                 spinSpeed = 0.f;&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( user != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
             user.gatlingSpeed = spinSpeed;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         ang_z += spinSpeed * sys.[[ScriptEvent:getFrameTime|getFrameTime]]();&lt;br /&gt;
         vehicle.[[ScriptEvent:setJointAngle|setJointAngle]]( spinHandle, JOINTMOD_LOCAL, ang );&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; fraction = ( spinSpeed - spinStop ) / ( spinFire - spinStop );&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( fraction &amp;lt; 0.0f ) {&lt;br /&gt;
             fraction = 0.0f;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; pitch = fraction * pitchRange + basePitch;&lt;br /&gt;
         vehicle.[[ScriptEvent:setChannelPitchShift|setChannelPitchShift]]( barrelSoundChannel, pitch );&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; pitchLow = fraction * pitchRangeLow + basePitchLow;&lt;br /&gt;
         vehicle.[[ScriptEvent:setChannelPitchShift|setChannelPitchShift]]( barrelLowSoundChannel, pitchLow );&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; volume = sys.[[ScriptEvent:sqrt|sqrt]]( sys.[[ScriptEvent:sin|sin]]( fraction * 90 ) ) * 20.0f - 20.0f;&lt;br /&gt;
         vehicle.[[ScriptEvent:fadeSound|fadeSound]]( barrelSoundChannel, volume, 0.0f );&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; volumeLow = sys.[[ScriptEvent:sqrt|sqrt]]( sys.[[ScriptEvent:sin|sin]]( ( 1.0f - fraction ) * 90 ) ) * 5.0f - 5.0f;&lt;br /&gt;
         vehicle.[[ScriptEvent:fadeSound|fadeSound]]( barrelLowSoundChannel, volumeLow, 0.0f );&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( spinSpeed == 0.0f ) {&lt;br /&gt;
             break;&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;// fade the sounds out&amp;lt;/span&amp;gt;&lt;br /&gt;
     vehicle.[[ScriptEvent:fadeSound|fadeSound]]( barrelSoundChannel, -60.0f, 0.25f );&lt;br /&gt;
     vehicle.[[ScriptEvent:fadeSound|fadeSound]]( barrelLowSoundChannel, -60.0f, 0.25f );&lt;br /&gt;
 &lt;br /&gt;
     spinBarrelsActive = false;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Wizz</name></author>
		
	</entry>
</feed>