Menu
CoddyTech

Eine Karte laden

Lektion 5 von 18 im Kurs Roblox-Spiel: Katastrophen überleben von Coddy.

Runden finden auf einer Karte statt. Die Karten liegen in ServerStorage, einem Dienst, dessen Inhalte sich nicht in der Spielwelt befinden: Niemand sieht oder berührt sie. Öffne ServerStorage.Maps in der Explorer-Hierarchie, und du findest dort Island.

Eine Runde erstellt mit Clone eine Kopie einer Karte im Workspace und entfernt sie anschließend mit Destroy. Das Original bleibt in ServerStorage unangetastet und ist bereit für die nächste Runde:

local map = ServerStorage.Maps.Island:Clone()
map.Name = "Map"
map.Parent = workspace

-- ... die Runde ...

map:Destroy()

Eine Kopie behält die Positionen des Originals bei, sodass die Insel dort erscheint, wo sie gebaut wurde – weit entfernt von der Lobby. Das Original stattdessen zu verschieben, würde einmal funktionieren: Nach dem ersten Destroy wäre für die zweite Runde keine Island mehr übrig.

challenge icon

Aufgabe

Mittel

Lass jede Runde die Insel laden:

  1. Rufe am Anfang ServerStorage mit game:GetService ab.
  2. Wenn die Runde beginnt (nach dem Lobby-Countdown), klone ServerStorage.Maps.Island, nenne die Kopie Map und setze sie als untergeordnetes Element von workspace.
  3. Wenn der Countdown der Runde endet, zerstöre die Karte.

Drücke Play: Wenn die Runde beginnt, erscheint die Insel weit vor der Lobby. Klicke dann auf Check.

Probier es selbst

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

print("Rounds last " .. Settings.RoundLength .. " seconds")

-- Jeder Spieler erhält Wins auf der Bestenliste
Players.PlayerAdded:Connect(function(player)
	local leaderstats = Instance.new("Folder")
	leaderstats.Name = "leaderstats"
	leaderstats.Parent = player

	local wins = Instance.new("IntValue")
	wins.Name = "Wins"
	wins.Parent = leaderstats
end)

-- Die Statustafel in der Lobby
local gui = Instance.new("SurfaceGui")
gui.Parent = workspace.StatusBoard

local status = Instance.new("TextLabel")
status.Name = "Status"
status.Size = UDim2.fromScale(1, 1)
status.BackgroundColor3 = Color3.fromRGB(25, 25, 35)
status.TextColor3 = Color3.fromRGB(255, 255, 255)
status.TextScaled = true
status.Text = "Welcome to Disaster Survival!"
status.Parent = gui

local function setStatus(text)
	status.Text = text
end

-- Die Rundenschleife
while true do
	for seconds = Settings.Intermission, 1, -1 do
		setStatus("Intermission: " .. seconds)
		task.wait(1)
	end

	for seconds = Settings.RoundLength, 1, -1 do
		setStatus("Time left: " .. seconds)
		task.wait(1)
	end
end
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Roblox-Spiel: Katastrophen überleben