Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

Is this statement a correct term for finding players inside of teams?

This is a portion of a script I am making, that's to find the player inside of teams, and divide evenly into 2 teams. But I'm not sure if this is a correct statement. Can someone notify me, if it's invalid, or correct?

if NumPlayers.T1 == 0 then

Message.Text = "T2 wins!"
end

2 answers

✓ Accepted answer

No, there is no way to get how many players there are directly from a Team object. You'd have to go through each player and see what team they are.

local T1Color, T2Color = T1.TeamColor, T2.TeamColor
local Team1, Team2 = { }, { }
for Index, Player in next, Game.Players:GetPlayers() do --in pairs is fine, too.
	if Player.TeamColor == T1Color then
		table.insert(Team1, Player)
	elseif Player.TeamColor == T2Color then
		table.insert(Team2, Player)
	end
end

Then from there you'd check how many people are on a specific team.

if #Team1 == 0 then
	Message.Text = "T2 wins!"
end

I have solved this problem by making a function that returns the number of players on a team. Code:

local function GetPlayerCountFromTeam(teamname)
		local counter = 0
	local team = game.Teams:FindFirstChild(teamname)
	if team then
		local players = game.Players:GetChildren()
		for count = 1, #players do
			if players[count].TeamColor == team.TeamColor  then
				counter = counter + 1
			end
			wait()
		end
	end
	return counter
end

In order to get the number of players on a team you would do:

local team1 = GetPlayerCountFromTeam("teamname")

You would replace teamname with whatever your team's name is. team1 would be the exact value of people on your team.

This discussion is preserved as it was. New answers, comments, and votes are closed.