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)
