--This is the Main Script--

-- Define variables

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local ServerStorage = game:GetService("ServerStorage")

local MapsFolder = ServerStorage:WaitForChild("Maps")

local Status = ReplicatedStorage:WaitForChild("Status")

local GameLength = 50

-- Game Loop

while true do

Status.Value = "Waiting for enough players"

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

Status.Value = "Intermision"

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 map

local SpawnPoints = ClonedMap:FindFirstChild("SpawnPoints")

if not SpawnPoints then
	print("Spawns Not Found")
end

local AvailableSpawnPoints = SpawnPoints:GetChildren()

for i, players in pairs(plrs) do
	if players then
		character = players.Character
		
		if character then
			-- Teleport them
			
			
			character:FindFirstChild("HumanoidRootPart").CFrame = AvailableSpawnPoints[1].CFrame
			table.remove(AvailableSpawnPoints,1)
			
			
			-- Give them a Sword

local Sword = ServerStorage.Sword:Clone() Sword.Parent = players.Backpack

local GameTag = Instance.new("BoolValue") GameTag.Name = "GameTag" GameTag.Parent = players.Character

		else
			-- There is no charcter
			
			if not players then
				table.remove(plrs,i)
			end
		end
		
	end



end

end

   --This is the local script--

local Status = game:GetService("ReplicatedStorage"):WaitForChild("Status")

script.Parent.Text = Status.Value

Status:GetPropertyChangedSignal("Value"):Connect(function()

script.Parent.Text = Status.Value

end)

The String Value's Name is "Status" and the Value is "Waiting for enough players"