Menu
CoddyTech

Percorra o Caminho

Lição 2 de 18 do curso Jogo no Roblox: Defesa de Torres da Coddy.

Os inimigos percorrem um caminho marcado por peças invisíveis em workspace.Path.Waypoints, nomeadas de 1 a 6. GetChildren não garante uma ordem, então ordene-as primeiro pelo número no nome:

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

Cada inimigo é um modelo em ServerStorage.Enemies: clone-o, coloque-o acima do waypoint 1 com PivotTo e defina workspace.Enemies como seu parent.

Um Humanoid caminha com MoveTo, e seu evento MoveToFinished é disparado quando ele chega. Ele desiste após 8 segundos e é disparado com false, então um inimigo lento em um trecho longo recebe outro comando até chegar lá:

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

Caminhar leva tempo, então walkPath é executada em sua própria thread com task.spawn, e o script continua.

challenge icon

Desafio

Fácil
  1. Obtenha ServerStorage e local enemies = workspace.Enemies.
  2. Coloque os pontos de referência em uma lista e ordene-a por número.
  3. Escreva walkPath(enemy): para os pontos de referência do 2 até o último, use MoveTo até que MoveToFinished indique que ele chegou. Pare se o inimigo não estiver mais presente (not enemy.Parent).
  4. Escreva spawnEnemy(kind): clone o modelo, coloque-o 5 studs acima do ponto de referência 1, defina enemies como seu pai, inicie walkPath com task.spawn e retorne-o.
  5. Gere um "Zombie".

Pressione Jogar e observe-o caminhar. Depois, Verificar.

Experimente você mesmo

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

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

-- Todo jogador recebe Money no placar de líderes
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 iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Jogo no Roblox: Defesa de Torres