The script is suppose to run through the intermission time, then once it has completed, assign teams randomly to the players, and start the round timer, but this does not happen, the timers run, but teams do not get assigned.
--Round Variables
local timeint = 10 --Numbers read as seconds
local inttime = 10 --Numbers read as seconds
local requiredplayers = 2
--Round Objects
local status = game.ReplicatedStorage.Status
local teams = {"Red","Blue"}
--Assign Teams
function Assign()
local players = game.Players:GetPlayers()
for i = 1,#players do
local ChosenTeam = teams[math.random(1,#teams)]
players[i].TeamColor = game.Teams:FindFirstChild(ChosenTeam).TeamColor
end
end
--Main
while wait() do
for i=inttime,1,-1 do
wait(1)
status.Value = "Intermission: "..i
end
for i=timeint,1,-1 do
wait(1)
Assign()
status.Value = "Time Left: "..i
end
end
Thanks!

1 comment
Not sure if this is the answer but one thing I noticed is that Assign() is called 10 times because it is in the for loop. Not sure if this is intended or not.