function TeamManager:AssignPlayerToTeam(player)
local smallestTeam
local lowestCount = math.huge
for team, playerList in pairs(TeamPlayers) do
if playerList < lowestCount then
smallestTeam = team
lowestCount = playerList
end
end
table.insert(TeamPlayers[smallestTeam], player)
player.Neutral = false
player.TeamColor = smallestTeam.TeamColor
end
function GameManager.GameStart()
GameManager.gameRunning = true
print(tostring(GameManager.gameRunning))
local mapsAvailable = savedMaps:GetChildren()
mapsManager.LoadMap(mapsAvailable[math.random(1, #mapsAvailable)].Name)
print("success")
for i, plr in pairs(Players:GetPlayers()) do
DisplayManager:ShowFrame(plr:WaitForChild("PlayerGui").Main, "ScoreboardTwoTeams")
DisplayManager:HideFrame(plr:WaitForChild("PlayerGui").Main, "Intermission")
teamManager:AssignPlayerToTeam(plr)
plr:LoadCharacter()
print('succesS.')
end
end
Also more essential code:
for i, team in pairs(teamService:GetTeams()) do
TeamPlayers[team] = {}
TeamPlayers[team] = 0
end