es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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.

Tags:  , , ,

Answer

  1. Avatar for 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”.

Comments are closed.