Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

My local script for a tool doesn't work and output doesn't say anything , help ?

local tool = script.Parent
local player = game:GetService("Players").LocalPlayer
local oGUI = script:FindFirstChild("ScreenGui")
local db = false


tool.Equipped:Connect(function(mouse)
    local GUI = oGUI:Clone()
GUI.Parent = player.PlayerGui
    wait(1)
    GUI.Equiping.Visible = false

    mouse.Button1Down:connect(function()
    if not db == true then
        db = true

        local ray = Ray.new(tool.Glowstone.CFrame.p, (mouse.Hit.p - tool.Glowstone.CFrame.p).unit * 400)
        local part, position = workspace:FindPartOnRay(ray, player.Character, false, true)
        local beam = Instance.new("Part",workspace)
        beam.FormFactor = "Custom"
        beam.Material = "Ice"
        beam.BrickColor = BrickColor.new("Cyan")
        beam.CanCollide = false
        beam.Anchored = true
        beam.Transparency = 0.15
        beam.Locked = true
        local distance = (tool.Glowstone.CFrame.p - position).magnitude
        beam.Size = Vector3.new(0.3 , 0.3 , distance)
        beam.CFrame = CFrame.new(tool.Glowstone.CFrame.p, position) * CFrame.new(0,0, -distance /2)
        game:GetService("Debris"):AddItem(beam, 0.1)
        if part then

            local human = part.Parent:FindFirstChild("Humanoid")
            if not human then
                human = part.Parent.Parent:FindFirstChild("Humanoid")
                end
            if human then

               human:TakeDamage(3)
               human.WalkSpeed = 1
               wait(1)
               GUI.Time.Visible = true
               GUI.Time.Text = "4"
               wait(1)
               GUI.Time.Text = "3"
               wait(1)
               GUI.Time.Text = "2"
               wait(1)
               GUI.Time.Text = "1"
               wait(1)
               GUI.Time.Visible = false
        wait(5)
        db = false
        end
            end
        end
    end)
end)


	

Soo i'm trying to make a laser staff , for some reason when mouse click it only shoots 1 single time . This is a local script BTW

1 answer

Hey!

After taking a quick look at your code, it seems like you're only changing the debounce (db) back to false if you've hit a character. I would recommend taking the db = false statement out of your two if/then clauses surrounding it so that it'll go back to false regardless of whether or not something is hit. If you have any questions, feel free to ask.

note: Lua is synchronous so you don't have to worry about the debounce going back to false before everything is finished running.

If this helped, please make sure to accept the answer. :)

This discussion is preserved as it was. New answers, comments, and votes are closed.