Yes it’s me again with another problem, surprise!

Basically what your seeing is what’s being printed to a console whenever my gun “fires”, those large gap like margins you see, occur when you let go of the left mouse button and then press (hold) it again. Each time you do this the gun “fires” more times than it’s suppose to (went from x1 to x2 to x3). If you think you can figure out what’s going on please leave a reply, it would be greatly appreciated. Thanks for reading.
peace!
(unless you comment or somethin… then I’ll probably like reply back… yeah)
My Code:
local function handleAction(actionName, inputState, inputObject)
-- Firing
elseif actionName == Action_Fire then
if Loaded then
if Status == "Aiming" then
-- Input Began
if inputState == Enum.UserInputState.Begin then
-- No Ammo
if Ammo == 0 then
GunEvent:FireServer("PlayAudio", Empty_Audio)
Status = "Aiming"
elseif Ammo > 0 then
Fire_Animation:Play()
Status = "Firing"
ConnectionOne = Fire_Animation:GetMarkerReachedSignal("FireEvent"):Connect(function(Hit)
if Ammo == 0 then
EndAnimations()
local Down = UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton2)
if Down then
Aim_Animation:Play()
Status = "Aiming"
Idle_Animation:Play()
Status = "Idle"
else
Idle_Animation:Play()
Status = "Idle"
end
end
if Ammo > 0 then
Ammo = Ammo - 1
end
GunEvent:FireServer("FireGun")
GunEvent:FireServer("PlayAudio", Fire_Audio)
Fire_Animation.Stopped:Wait(0.4)
GunEvent:FireServer("FireGun")
end)
end
-- Input Ended
elseif inputState == Enum.UserInputState.End then
local ButtonBeingHeld = UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton2)
Fire_Animation:Stop()
if ButtonBeingHeld then
Aim_Animation:Play()
Status = "Aiming"
elseif not ButtonBeingHeld then
Idle_Animation:Play()
Status = "Idle"
end
end
end
end
end
-- Bind Actions
ContextActionService:BindAction(Action_Aim, handleAction, true, Enum.UserInputType.MouseButton2)
ContextActionService:BindAction(Action_Fire, handleAction, true, Enum.UserInputType.MouseButton1)
ContextActionService:BindAction(Action_Load, handleAction, true, Enum.KeyCode.F)
ContextActionService:BindAction(Action_Reload, handleAction, true, Enum.KeyCode.R)