local living = true -- This is what I use for the debounce
script.Parent.Touched:Connect(function(hit)
if living == true then -- Since it's true this part will run
local Player = game.Players[hit.Parent.Name]
local frame = Player.PlayerGui.DeathGui.Frame
local Countdown = frame.Countdown
if Player.Backpack.Lives.Value > 0 then -- The Lives value was set to 4
living = false -- But It does not change living to false
wait(1)
Player:LoadCharacter()
local getSpawns = workspace.Start:GetChildren()
local Spawn = getSpawns[math.random(1, #getSpawns)]
workspace[Player.Name]:MoveTo(Spawn.Position)
Player.Backpack.Lives.Value = Player.Backpack.Lives.Value - 1
Player.Backpack.Playing.Value = true
living = true
else
local timeleft = 10
frame:TweenPosition(UDim2.new(0.5,0,0.5,0))
for v = 1, 10 do
timeleft = timeleft - 1
Countdown.Text = timeleft
wait(1)
end
end
end
end)
How to fix this?

5 comments
you're not putting a wait before settings living back to true, so it's just true instantly.
But in line 9 i changed it to false and on 10 i put a wait(1) then later in 18 i set it back to true... But if this is still wrong can you answer with the corrected version of this?
you have to put the wait before setting it back to true.
I dont understand, can you send a corrected version?
I did.