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

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

Asked by 4 years ago
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

Log in to vote
0
Answered by
crywink 419 Moderation Voter
4 years ago

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. :)

Ad

Answer this question