-- Define Variables

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local ServerStorage = game:GetService("ServerStorage")

local MapsFolder = ServerStorage:WaitForChild("Maps")

local Status = ReplicatedStorage:WaitForChild("Status")

local GameLength = 150

local reward = 100

-- Game Loop

while true do

Status.Value = "Waiting for enough players"

repeat wait() until game.Players.NumPlayers >= 2

Status.Value = "Intermisson"

wait (10)

local plrs = {}

for i, player in pairs(game.Players:GetPlayers())do

if player then

table.insert(plrs,player) -- Add each player into plrs table

end

end

wait (2)

local AvailableMaps = MapsFolder:GetChildren()

local ChosenMap = AvailableMaps[math.random(1,#AvailableMaps)]

Status.Value = ChosenMap.Name.." Chosen"

local ClonedMap = ChosenMap:Clone()

ClonedMap.Parent = workspace

--teleport players to the map

local SpawnPoints = ClonedMap:FindFirstChild("SpawnPoints")

if not SpawnPoints then

print ("SpawnPoints not found!")

end

local AvailableSpawnPoints = SpawnPoints:GetChildren()

for i, player in pairs(plrs) do

if player then

character = player.Character

if character then

character:FindFirstChild("HumanoidRootPart").CFrame = AvailableSpawnPoints[1].CFrame

table.remove(AvailableSpawnPoints,1)

local Sword = ServerStorage.Sword:Clone()

Sword.Parent = player.Backpack

else

if not player then

table.remove(plrs,i)

end

end

end

end

Status.Value = "Get ready to play!"

wait (2)

for i = GameLength,0,-1 do

for x, player in pairs(plrs) do

if player then

character = player.Character

if not character then

--Left the game

else

if character:FindFirstChild("GameTag") then

--They are still alive

print(player.Name.." is still in the game!")

else

--They are dead

table.remove(plrs,x)

end

end

else

table.remove(plrs,x)

print(player.Name.." has been removed!")

end

end

Status.Value = "There are "..i.." seconds remaining, and "..#plrs.." players left"

if #plrs == 1 then

-- Last person standing

Status.Value = "The winner is "..plrs[1].Name

plrs[1].leaderstats.Robux.Value = plrs[1].leaderstats.Robux.Value + reward

break

elseif #plrs == 0 then

Status.Value = "Nobody won!"

break

elseif i == 0 then

Status.Value = "Time up!"

break

end

end

print("End of game")

for i, player in pairs(game.Players:GetPlayers()) do

character = player.Character

if not character then

-- Ignore them

else

if character:FindFirstChild("GameTag") then

character.GameTag:Destroy()

end

if player.Backpack:FindFirstChild("Sword") then

player.Backpack.Sword:Destroy()

end

if character:FindFirstChild("Sword") then

character.Sword:Destroy()

end

end

player:LoadCharacter()

end

ClonedMap:Destroy()

Status.Value = "Game ended"

wait(2)

end

3 comments

0

You're getting that warning because the script can't find something, and will wait forever until that can be found. You do have something called "Maps" in ServerStorage, right? And is this a script or a localscript?

0

Please put this code in a code block. If you're getting that message its because it doesn't exist.

0

https://www.youtube.com/watch?v=vCpl5M_9mcQ dont post attempts that isnt yours