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

Multiple shooting with a rifle?

Asked by 3 years ago

I made an assault rifle with automatic firing, but if I quickly press the firing button several times, the firing script is triggered several times, and it turns out that the rifle makes several shots at once. How can I fix this?

Local Script

Mouse.Button1Down:Connect(function()

    script.Parent.shot.Value = true

    while true do

        if script.Parent.shot.Value == false then
            break
        end

        RemoteEvent:FireServer(Mouse.hit.p)

        wait(0.4)

    end

end)

Mouse.Button1Up:Connect(function()

    script.Parent.shot.Value = false

end)

Server Script

local Speed = 500
local BulletSize = Vector3.new(0.5,0.5,0.5)

script.Parent.RemoteEvent.OnServerEvent:Connect(function(plr,Pos)

    local Origin = TOOL.Handle.CFrame.Position
    local Bul = Instance.new("Part")
    local bod = Instance.new("BodyVelocity")

    Bul.Size = BulletSize
    Bul.Material = ("Neon")
    Bul.CanCollide = false

    local dmg = script.Parent.DamageScript:Clone()
    dmg.Parent = Bul
    dmg.Disabled = false

    local own = Instance.new("StringValue")
    own.Parent = Bul
    own.Value = TOOL.Parent.Name

    Bul.CFrame = CFrame.new(Origin) * CFrame.new(0,0,1)
    bod.Parent = Bul
    bod.Velocity = (Pos - Origin).Unit*Speed
    Bul.Parent = workspace
    script.Rifle:Play() 

end)

Sorry for my English, I use google translate :)

Answer this question