{$CLEO .cs}
0000: NOP 

:start0
wait 0 
if and
   Actor.DrivingVehicleType($PLAYER_ACTOR, #COPCARVG)
00E1:   player 0 pressed_key 3 // Special Control Up.
else_jump @start0 
0@ = Actor.CurrentCar($PLAYER_ACTOR)

073C: car 0@ damage_component 4
073C: car 0@ damage_component 5
wait 200

:start1
wait 0 
if
   Actor.DrivingVehicleType($PLAYER_ACTOR, #COPCARVG)
jf @close

wait 0
if
00E1:   player 0 pressed_key 3 // Special Control Up. 
jf @start2
jump @close

:start2
wait 0
if
00E1:   player 0 pressed_key 4 // Secondary Fire.
jf @start1

0208: 7@ = random_float_in_ranges -1.0 1.0 
0208: 8@ = random_float_in_ranges -1.0 1.0 

0407: store_coords_to 1@ 2@ 3@ from_car 0@ with_offset 7@ 100.0 8@

0407: store_coords_to 4@ 5@ 6@ from_car 0@ with_offset 0.58 2.31 0.01
0407: store_coords_to 10@ 11@ 12@ from_car 0@ with_offset -0.58 2.31 0.01
 
06BC: create_M4_shoot_from 4@ 5@ 6@ target 1@ 2@ 3@ energy 250 
06BC: create_M4_shoot_from 10@ 11@ 12@ target 1@ 2@ 3@ energy 250 
 
09F1: play_audio_at_actor $PLAYER_ACTOR event 1157 

066C: 9@ = attach_particle "GUNFLASH" to_car 0@ with_offset 0.58 2.31 0.01  rotation 0.0 90.0 0.0 type 1 
064C: make_particle 9@ visible 

066C: 13@ = attach_particle "GUNFLASH" to_car 0@ with_offset -0.58 2.31 0.01  rotation 0.0 90.0 0.0 type 1 
064C: make_particle 13@ visible

wait 100 
064F: remove_references_to_particle 9@
064F: remove_references_to_particle 13@

jump @start1

:close
068A: set_car 0@ repair_componentA 4
068A: set_car 0@ repair_componentA 5
wait 200
Car.RemoveReferences(0@)
jump @start0

0A93: end_custom_thread