--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
local reward=100
--Game Loop
while true do
Status.Value="Waiting for enough players"
repeat wait(1) until game.Players.NumPlayers >=1
Status.Value="Intermission"
wait(15)
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
--Teleport them
character:FindFirstChild("HumanoidRootPart").CFrame=AvailableSpawnPoints[1].CFrame+Vector3.new(0,10,0)
table.remove{AvailableSpawnPoints,1}
--Give them a sword
local sword=ServerStorage.Sword:Clone()
Sword.Parent=player.Backpack
local GameTag=Instance.new("BoolValue")
GameTag.Name="GameTag"
GameTag.Parent=player.Character
else
--There is no character
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
table.remove(plrs,x)
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)
print(player.Name.."has been removed!")
end
end
else
table.remove(plrs,x)
print(player.Name.."has been removed!")
end
end
Status.Value="There are "..i.."second remaining,and "..#players"left"
if #plrs==1 then
--Last person standing
StatusValue="The winner is "..plrs[1].Name
plrs[1].leaderstats.Bucks.Value=plrs[1].leaderstats.Bucks.Value+reward
break
elseif #plrs==0 then
Status.Value="Nobody won!"
break
elseif i==0 then
Status.Value="Time up!"
break
end
wait(1)
end
print("End of game")
wait(2)
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
play:LoadCharacter()
end
Clonedmap:Destroy()
Status.Value="Game ended"
wait(2)
end
I followed a tutorial but when I play only one player is teleported to the map?
2 answers
I'm going to assume it's because you run the for loop once.
Maybe try adding it inside a PlayerAdded event?
5 comments
What's a PlayerAdded event? I just started learning the basic of scripting can you help me please?
game.Players.PlayerAdded:Connect(function(player)
ok i pressed enter before i had the time to explain, basically an event that will fire everytime a player joins and if we put it in a function we can add "player" to the parameter, could be whatever you want. basically what's inside the parameter is what you reference the player that joined, for instance if you had boomer in the parameter and did print(boomer.Name) in the function it would print
But at what line do i put it?
Thanks man
This tutorial was by AlvinBlox if anyone wants to know that
This discussion is preserved as it was. New answers, comments, and votes are closed.

2 comments
have you tried playing with multiple players?
Yes i have tried with more than 2 players