Hi! So I have been following a AlvinBlox Tutorial
I have wrote down everything he did but only one player get teleported to the map.
The code below 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 local reward = 25 -- Game Loop while true do Status.Value = "Waiting for enough players" repeat wait(1) until game.Players.NumPlayers >= 2 Status.Value = "Intermission" 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 --Teleport them character:FindFirstChild("HumanoidRootPart").CFrame = AvailableSpawnPoints[1].CFrame 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 else if character:FindFirstChild("GameTag") then -- 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.Bucks.Value = plrs[1].leaderstats.Bucks + reward break elseif #plrs == 0 then Status.Value = "Nobody won!" break elseif i == 0 then Status.Value = "Nobody Won!" end wait(1) 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:Destroy() end if character:FindFirstChild("Sword")then character.Sword:Destroy() end end player:LoadCharacter() end ClonedMap:Destroy() Status.Value = "Game Ended" wait(2) end
There are no errors in the code. (Nothing in the output or the script analyser) Please help me. Thanks to all of you in advance.
Are you sure that only one player is teleported? Can you do a local test with atleast 2 players? By skimming over the code everything seems fine, though I would probably change this line:
repeat wait(1) until game.Players.NumPlayers >= 2
to
repeat wait(1) until #game:GetService('Players'):GetPlayers() >= 2
Apart from that everything looks fine. I assume that code snippet above also works fine, but I'm not entirely sure what NumPlayers is. The best you can do is debug your code and look through Alvin's tutorial carefully again.