So I have a shotgun im making, and I have the firerate set at 2 just for testing, the gun holds 3 shots and when I fire the first shot, works perfectly, wont fire for 2 seconds, nothing, but then after that 2 seconds, the next 2 shots I can spam the trigger and it wont fire but itll do the camera tweens and shells, any help im stumped?
Mouse.Button1Down:Connect(function()
if script.Parent.Variables.Ammo.Value > 0 and Down == false and Equipped == true and EquipDebounce == false and Tool.Variables.Debounce.Value == false and ReloadCooldown == false and Humanoid.Health > 0 and Tool.Variables.FireDebounce.Value == false and Deb2 == true and Deb3 == true then
Tool.Variables.FireDebounce.Value = true
Tool.MuzzleEffect.FlashFX.Enabled = true
local mousePosition = Mouse.Hit.Position
Fire:Play()
wait(0.02)
script.Parent.Events.FireEvent:FireServer(mousePosition)
wait(0.06)
local Shell = game.ReplicatedStorage.Holes.Shell:Clone()
Shell.Parent = workspace.Casings
Shell.CFrame = script.Parent.Eject.CFrame
Shell.AssemblyLinearVelocity = Vector3.new(9,25,0)
game.Debris:AddItem(Shell, 17)
local TweenService = game:GetService("TweenService")
local time = 0.1
local tween2 = TweenService:Create(Player.PlayerGui.GunGUI.Screen, TweenInfo.new(time), {ImageTransparency = 0.35})
tween2:Play()
tween2.Completed:Connect(function()
local TweenService = game:GetService("TweenService")
local time = 1
local tween3 = TweenService:Create(Player.PlayerGui.GunGUI.Screen, TweenInfo.new(time), {ImageTransparency = 1})
tween3:Play()
end)
if not Tool.Attatchments:FindFirstChild("Suppressor") then
Tool.Flash.PointLight.Enabled = true
end
Recoil()
Tool.Flash.PointLight.Enabled = false
Tool.MuzzleEffect.FlashFX.Enabled = false
local camera = workspace.CurrentCamera
local TweenService = game:GetService("TweenService")
local time = 0.08
local tween2 = TweenService:Create(camera, TweenInfo.new(time), {FieldOfView = 33})
tween2:Play()
tween2.Completed:Connect(function()
local tween = TweenService:Create(camera, TweenInfo.new(time), {FieldOfView = 30})
tween:Play()
end)
wait(FireRate)
Tool.Variables.FireDebounce.Value = false
else
if Equipped and not EquipDebounce and Tool.Variables.Debounce.Value == false and not ReloadCooldown and not Down and Humanoid.Health > 0 and Tool.Variables.FireDebounce.Value == false and Deb2 == true and Deb3 == true then
Tool.Handle.Empty:Play()
Empty:Play()
end
wait(FireRate)
Tool.Variables.FireDebounce.Value = false
end
end)