Menu
CoddyTech

Recorre el camino

Lección 2 de 18 del curso Juego de Roblox: defensa de torres de Coddy.

Los enemigos recorren un camino marcado por partes invisibles en workspace.Path.Waypoints, llamadas 1 a 6. GetChildren no garantiza ningún orden, así que primero ordénalas por el número de su nombre:

table.sort(waypoints, function(a, b)
	return tonumber(a.Name) < tonumber(b.Name)
end)

Cada enemigo es un modelo en ServerStorage.Enemies: clónalo, colócalo sobre el waypoint 1 con PivotTo y asígnale como padre workspace.Enemies.

Un Humanoid camina con MoveTo, y su evento MoveToFinished se activa cuando llega. Se rinde después de 8 segundos y se activa con false, así que se vuelve a enviar a un enemigo lento en un tramo largo hasta que llegue:

repeat
	humanoid:MoveTo(waypoints[i].Position)
until humanoid.MoveToFinished:Wait()

Caminar lleva tiempo, así que walkPath se ejecuta en su propio hilo con task.spawn, y el script continúa.

challenge icon

Desafío

Fácil
  1. Obtén ServerStorage y local enemies = workspace.Enemies.
  2. Pon los puntos de referencia en una lista y ordénala por número.
  3. Escribe walkPath(enemy): para los puntos de referencia desde el 2 hasta el último, muévelo con MoveTo hasta que MoveToFinished indique que llegó. Detente si el enemigo ya no está (not enemy.Parent).
  4. Escribe spawnEnemy(kind): clona el modelo, colócalo 5 studs por encima del punto de referencia 1, asígnalo como hijo de enemies, inicia walkPath con task.spawn y devuélvelo.
  5. Genera un "Zombie".

Pulsa Jugar y observa cómo camina. Después, pulsa Comprobar.

Pruébalo tú mismo

local Players = game:GetService("Players")
local Settings = require(game.ReplicatedStorage.Settings)

print("The base can take " .. Settings.BaseHealth .. " hits")

-- Cada jugador recibe Money en la tabla de clasificación
Players.PlayerAdded:Connect(function(player)
	local leaderstats = Instance.new("Folder")
	leaderstats.Name = "leaderstats"
	leaderstats.Parent = player

	local money = Instance.new("IntValue")
	money.Name = "Money"
	money.Value = Settings.StartMoney
	money.Parent = leaderstats
end)
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Juego de Roblox: defensa de torres