Menu
CoddyTech

Gere um Zumbi

Lição 2 de 22 do curso Jogo de 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 específica, então ordene-as primeiro pelo número em seus nomes:

local points = workspace.Path.Waypoints:GetChildren()
table.sort(points, function(a, b)
	return tonumber(a.Name) < tonumber(b.Name)
end)

Cada inimigo é um modelo em ServerStorage.Enemies. Faça uma cópia dele, mova o modelo inteiro com PivotTo e defina o workspace como seu pai para que ele apareça:

local runner = ServerStorage.Enemies.Runner:Clone()
runner:PivotTo(points[3].CFrame + Vector3.new(0, 4, 0))
runner.Parent = workspace.Enemies
challenge icon

Desafio

Fácil

Coloque um Zombie no início do caminho.

  1. Perto do início: local ServerStorage = game:GetService("ServerStorage") e local enemies = workspace.Enemies.
  2. Ordene workspace.Path.Waypoints:GetChildren() por tonumber(a.Name) em waypoints.
  3. Escreva spawnEnemy(kind): clone ServerStorage.Enemies[kind], use PivotTo para posicioná-lo 5 studs acima de waypoints[1], defina enemies como pai dele e retorne-o. Chame spawnEnemy("Zombie").

Pressione “Jogar”: um Zombie aparece no início do caminho. Depois, pressione “Verificar”.

Experimente você mesmo

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

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

-- Cada 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)

-- Lição 2: o código para gerar um Zombie vai aqui

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

Pratique por conta própria: Playground de Roblox