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.EnemiesDesafio
FácilColoque um Zombie no início do caminho.
- Perto do início:
local ServerStorage = game:GetService("ServerStorage")elocal enemies = workspace.Enemies. - Ordene
workspace.Path.Waypoints:GetChildren()portonumber(a.Name)emwaypoints. - Escreva
spawnEnemy(kind): cloneServerStorage.Enemies[kind], usePivotTopara posicioná-lo 5 studs acima dewaypoints[1], definaenemiescomo pai dele e retorne-o. ChamespawnEnemy("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