Suelo de lava
Parte de la sección Creación de scripts para juegos de Roblox del Journey de Lua de Coddy. Lección 12 de 24.
Por la almohadilla táctil sabes que hit es una parte del cuerpo. Su Parent es el personaje, el modelo que contiene todas las partes del cuerpo. El personaje también contiene un Humanoid, que tiene Health.
FindFirstChild busca un elemento secundario por nombre y devuelve nil (nada) cuando no hay ninguno:
local humanoid = hit.Parent:FindFirstChild("Humanoid")
if humanoid then
print(humanoid.Health)
endEl if omite su bloque cuando humanoid es nil. Una pelota que cae no tiene Humanoid, y usar nil como si fuera un Humanoid provoca un error en Output cada vez que algo que no es un jugador toca la pieza.
Un Humanoid cuya Health llega a 0 queda derrotado, y el jugador reaparece unos segundos después.
Desafío
IntermedioLa franja naranja brillante es lava, y este script está dentro de ella. Cuando algo toque la lava, busca un Humanoid en hit.Parent y, si hay uno, establece su Health en 0.
Asegúrate de que tu script también funcione con objetos que no sean jugadores: una comprobación deja caer una pelota sobre la lava.
Pulsa Play y camina hacia la lava (reapareces después de 5 segundos); luego, pulsa Check.
Pruébalo tú mismo
local lava = script.Parent
lava.Touched:Connect(function(hit)
end)
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Creación de scripts para juegos de Roblox
2Bucles y funciones
Fila de pilaresConstructor de escalerasConstructor de torresFábrica de monedasLuz parpadeantePuente que desaparece5Tu primer juego
Tu primer Obby3Eventos y jugadores
Panel táctilSuelo de lavaEstadísticas de líder¿Quién lo tocó?Recolector de monedasPuerta de monedasPractica por tu cuenta: Compilador de Lua online