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

Debounce Not Working To Give EXP? Is There a Better Way?

Asked by 7 years ago
Edited 7 years ago

I tried adding a debounce to the giving EXP because when the NPC is dead, and you click, it still gives you EXP. My debounce is not working. Is there a better way to give EXP when the killer kills the NPC? I want it to give EXP once. Thanks!

local debounce = false
local player = game.Players.LocalPlayer

function onTouched(hit)
    if not debounce then
        debounce = true
        if hit.Parent.Name:sub(1,17) == "AFK Noob Lv 1 HP " then
            hit.Parent.Humanoid.Health = hit.Parent.Humanoid.Health - 25
            if hit.Parent.Humanoid.Health == 0 then
                player.leaderstats.EXP.Value = player.leaderstats.EXP.Value + 16
                wait(5) -- I want it to wait 5 seconds before it gives EXP
                debounce = false -- I tried this, but it doesn't work xD
            end
            wait(0.5)
            debounce = false
            elseif hit.Parent.Name:sub(1,4) == "Noob" then
            hit.Parent.Humanoid.Health = hit.Parent.Humanoid.Health - 25
            wait(0.5)
            debounce = false
        end
    end
end

script.Parent.Touched:connect(onTouched)

I also tried this:

local debounce = false
local player = game.Players.LocalPlayer

function onTouched(hit)
    if not debounce then
        debounce = true
        if hit.Parent.Name:sub(1,17) == "AFK Noob Lv 1 HP " then
            if not debounce then
            debounce = true
            hit.Parent.Humanoid.Health = hit.Parent.Humanoid.Health - 25
            if hit.Parent.Humanoid.Health == 0 then
                player.leaderstats.EXP.Value = player.leaderstats.EXP.Value + 16
                wait(5)
                debounce = false
            end
            wait(0.5)
            debounce = false
            elseif hit.Parent.Name:sub(1,4) == "Noob" then
            hit.Parent.Humanoid.Health = hit.Parent.Humanoid.Health - 25
            wait(0.5)
            debounce = false
            end
        end
    end
end

script.Parent.Touched:connect(onTouched)

Answer this question