Menu
CoddyTech

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.

challenge icon

Görev

Kolay
  1. ServerStorage ve local enemies = workspace.Enemies öğelerini al.
  2. Yol noktalarını bir listeye koy ve numaraya göre sırala.
  3. walkPath(enemy) yaz: 2. yol noktasından sonuncuya kadar, varış yaptığını MoveToFinished bildirene dek MoveTo ile oraya git. Düşman yoksa (not enemy.Parent) dur.
  4. spawnEnemy(kind) yaz: modeli klonla, 1. yol noktasının 5 stud üstüne koy, üst öğesini enemies olarak ayarla, task.spawn ile walkPath'i başlat ve modeli döndür.
  5. 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)
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Roblox Oyunu: Kule Savunması bölümündeki tüm dersler