Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

How to fix Double Click Fire and more than 0.0001 Fire Rate?

Asked by 6 years ago

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)
0
Wow, your making a variable and never changing the boolean value? That is inefficient. hiimgoodpack 2009 — 6y

Answer this question