Yolu İzle
Coddy'nin Roblox Oyunu: Kule Savunması kursunda ders 2 / 18.
Düşmanlar, workspace.Path.Waypoints içindeki görünmez parçalarla işaretlenmiş bir yolu izler; bu parçalar 1 ile 6 arasında adlandırılmıştır. GetChildren sıralama garantisi vermez, bu yüzden önce adlarındaki sayıya göre sıralayın:
table.sort(waypoints, function(a, b)
return tonumber(a.Name) < tonumber(b.Name)
end)Her düşman ServerStorage.Enemies içinde bir modeldir: modeli kopyalayın, PivotTo ile 1. kontrol noktasının üzerine yerleştirin ve workspace.Enemies içine üst öğe olarak ekleyin.
Bir Humanoid, MoveTo ile yürür ve hedefe vardığında MoveToFinished olayı tetiklenir. 8 saniye sonra vazgeçer ve false ile tetiklenir; bu nedenle uzun bir mesafedeki yavaş bir düşmana, hedefe ulaşana kadar tekrar yol tarif edilir:
repeat
humanoid:MoveTo(waypoints[i].Position)
until humanoid.MoveToFinished:Wait()Yürümek zaman alır, bu yüzden walkPath, task.spawn ile kendi iş parçacığında çalışır ve betik çalışmaya devam eder.
Görev
KolayServerStoragevelocal enemies = workspace.Enemiesöğelerini al.- Yol noktalarını bir listeye koy ve numaraya göre sırala.
walkPath(enemy)yaz: 2. yol noktasından sonuncuya kadar, varış yaptığınıMoveToFinishedbildirene dekMoveToile oraya git. Düşman yoksa (not enemy.Parent) dur.spawnEnemy(kind)yaz: modeli klonla, 1. yol noktasının 5 stud üstüne koy, üst öğesinienemiesolarak ayarla,task.spawnilewalkPath'i başlat ve modeli döndür.- Bir
"Zombie"oluştur.
Oyna'ya bas ve yürüyüşünü izle. Ardından Kontrol Et'e bas.
Kendin dene
local Players = game:GetService("Players")
local Settings = require(game.ReplicatedStorage.Settings)
print("The base can take " .. Settings.BaseHealth .. " hits")
-- Her oyuncu leaderboard üzerinde Money kazanır
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)
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.