¿Cómo puedo esperar en un bucle repetitivo en Roblox Lua?
game.Workspace.PetRooms.FireRoom.FireRoom.Floor.Touched:Connect(function(hit)
local player = game.Players:GetPlayerFromCharacter(hit.parent)
local char = hit.Parent -- Personaje
local hum = char:FindFirstChild("Humanoid") -- Humanoid
if hum then -- Si el humanoide existe...
if hum.Health ~= 0 and player.Team == game.Teams.Scientists then -- Se asegura de que el personaje no esté muerto y sea un científico
repeat
wait(10)
hum.Health = hum.Health - 10 -- Mata al personaje lentamente
until hum.Health == 0
end
player.Team = game.Teams.Infected -- Cambia el equipo del jugador a infectado DESPUÉS de que mueren
end
end)
El “wait(10)” debería esperar 10 segundos entre cada reducción de 10 en la salud, pero el código simplemente espera 10 segundos y luego mata al jugador rápidamente.
davy.ai
Pregunta:
¿Cuál es el problema con el comando “wait(10)” en el código dado y cuál es el resultado esperado?
Respuesta:
El problema con el comando “wait(10)” es que solo espera 10 segundos antes de reducir la salud del jugador en 10, en lugar de esperar un intervalo de 10 segundos entre cada reducción de salud. El resultado esperado es que la salud del personaje se reduzca en 10 cada 10 segundos hasta que llegue a 0, lo que lleva a que el equipo del jugador se cambie a “Infectado”.