So my script is supposed to detect when a player touches it, take away a life, and teleport them back to the start. If they have no lives left, it’s supposed to teleport them to the lobby. I think the issue has something to do with the debounce. When I touch it, my lives value goes to this: 
With some more testing, I found out that it works the second time I touch it, but not the first time.
local Debounce = true
script.Parent.Touched:Connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid") ~= nil then
if Debounce == true then
local Player = game.Players:GetPlayerFromCharacter(hit.Parent)
Debounce = false
Player.PlayerVariables.Lives.Value = Player.PlayerVariables.Lives.Value - 1
if Player.PlayerVariables.Lives.Value >= 1 then
local DestinationObj = game.Workspace.StartingIsland["Teleport Pad"].Teleport
local Destination = CFrame.new(Vector3.new(DestinationObj.Position.X, DestinationObj.Position.Y, DestinationObj.Position.Z))
Player.Character.HumanoidRootPart.Anchored = true
Player.Character.HumanoidRootPart.CFrame = Destination
Player.Character.HumanoidRootPart.Anchored = false
else
local DestinationObj = game.Workspace.Lobby["Teleport Pad"].Teleport
local Destination = CFrame.new(Vector3.new(DestinationObj.Position.X, DestinationObj.Position.Y, DestinationObj.Position.Z))
Player.Character.HumanoidRootPart.Anchored = true
Player.Character.HumanoidRootPart.CFrame = Destination
Player.Character.HumanoidRootPart.Anchored = false
end
wait(2.5)
Debounce = true
end
end
end)