Untitled

mail@pastecode.io avatar
unknown
lua
a year ago
1.9 kB
5
Indexable
Never
-- Tworzymy zmienną, która będzie przechowywać wszystkie miejsca do wygenerowania zombiaków
-- Metoda GetChildren() pozwala na pobranie wszystkich elementów znajdujących się w folderze Miejsca
local miejsca = game.Workspace.Miejsca:GetChildren()
-- Pętla while, która wykonuje się co 0.2 sekundy
while true do
	-- Jeżeli jest aktywna gra
	if game.ReplicatedStorage.AktywnaGra.Value == true then
		-- Jeżeli są zombiaki do wygenerowania
		if game.ReplicatedStorage.ZombieDoWygenerowania.Value > 0 then 
			-- Sklonuj zombiaka, utworzona zmienna pozwoli na zmianę jego parametrów
			local nowyZombie = game.ReplicatedStorage.Zombie:Clone()
			-- Odwołanie do podstawowej części postaci,
			-- która pozwala na zmianę pozycji modelu gracza
			local root = nowyZombie:FindFirstChild("HumanoidRootPart")
			-- Losujemy miejsce do wygenerowania zombiaka,
			-- zapis #miejsca pozwala na pobranie informacji na temat ilości elementów
			local losoweMiejsce = math.random(1,#miejsca)
			-- Losujemy wartość X oraz Z, aby zombiaki nie generowały się w jednym miejscu,
			-- tylko w losowych miejscach od wylosowanego miejsca do wygenerowania
			local losowyX = math.random(-10,10)
			local losowyZ = math.random(-10,10)
			-- Poprzez element HumanoidRootPart, możemy ustawić pozycję nowego zombiaka,
			-- Vector3.new() pozwala na stworzenie nowego wektora w przestrzeni 3D,
			root.Position = Vector3.new(
				miejsca[losoweMiejsce].Position.X + losowyX,
				6,
				miejsca[losoweMiejsce].Position.Z + losowyZ )
			-- Przypisanie nowego zombiaka do modelu Zombiaki
			nowyZombie.Parent = workspace.Zombiaki
			-- Zmniejszenie ilości zombiaków do wygenerowania o jeden
			game.ReplicatedStorage.ZombieDoWygenerowania.Value -= 1 -- game.ReplicatedStorage.ZombieDoWygenerowania = game.ReplicatedStorage.ZombieDoWygenerowania - 1 
		end
	end
	wait(0.2) -- spawn zombie co 0.2 sekundy 
end