I want to prevent a gun from being able to be clicked twice to spend more bullets than needed and to make the FireRate able to be more than 0.0001 when firing.
Mouse.Button1Down:connect(function()
if DB==true and Ammo.Value > 0 and Jammed==false and Lid==true and Safety==false and Character.Humanoid.Health > 0 and Mouse_Held==false and Sprinting == false then
Mouse_Held = true
while true do
Can_Shoot = false
Delay(0, function()
local t = math.min(Settings.FireMouseAnimTime/3, Settings.FireRate/3)
if not Aiming then
Mouse.Icon = Settings.Icons.Fire1
end
wait(t)
if not Aiming then
if Reloading then return end
Mouse.Icon = Settings.Icons.Fire2
end
wait(t)
if not Aiming then
if Reloading then return end
Mouse.Icon = Settings.Icons.Fire3
end
wait(t)
if not Aiming then
if Reloading then return end
Mouse.Icon = Settings.Icons.Idle
end
end)
if Settings.Smoke then
for i, v in pairs(Settings.Smokes) do
local s = v[1]:Clone()
s.Parent = Settings.SmokePart
s.Enabled = true
game.Debris:AddItem(s, v[2])
if v[3] then
Delay(v[3], function()
s.Enabled = false
end)
end
end
end
for _ = 1, Settings.Bullets do
pcall(function() Fire(Mouse) end)
end
if Settings.Automatic == true then
Camera.CoordinateFrame = CFrame.new(Camera.Focus.p) * (Camera.CoordinateFrame - Camera.CoordinateFrame.p) * CFrame.Angles(0.018, 0, 0) * CFrame.new(0, 0, (Camera.Focus.p - Camera.CoordinateFrame.p).magnitude)
else
Camera.CoordinateFrame = CFrame.new(Camera.Focus.p) * (Camera.CoordinateFrame - Camera.CoordinateFrame.p) * CFrame.Angles(0.026, 0, 0) * CFrame.new(0, 0, (Camera.Focus.p - Camera.CoordinateFrame.p).magnitude)
end
Ammo.Value = Ammo.Value - 1
if Settings.Automatic == true then
Tool.Burst.Value = Tool.Burst.Value - 1
end
if Tool.Burst.Value == 1 then
BurstReset()
end
wait(60 / Settings.FireRate)
Camera.CoordinateFrame = CFrame.new(Camera.Focus.p) * (Camera.CoordinateFrame - Camera.CoordinateFrame.p) * CFrame.Angles(-0.012, 0, 0) * CFrame.new(0, 0, (Camera.Focus.p - Camera.CoordinateFrame.p).magnitude)
if not Settings.Automatic or Ammo.Value <= 0 or Character.Humanoid.Health <= 0 or not Mouse_Held then
break
end
end
Can_Shoot = true
elseif Can_Shoot and Character.Humanoid.Health > 0 and Tool.Handle:FindFirstChild("Click") then
end
end)

1 comment
Wow, your making a variable and never changing the boolean value? That is inefficient.