Hello!
Firstly, make as many teams as you want. All teams must have a unique color and name, and set "AutoAssignable" to false.
Next, make at least 1 spawnlocation per team and make sure all spawnlocations have "Neutral" set to false and "AllowTeamChangeOnTouch" set to false. Assign the spawns to the teams you want by changing it's "TeamColor" to the same color of that team.
Lastly, paste this code into a normal script in ServerScriptService and do the necessary changes:
01 | local Players = game:GetService( "Players" ) |
02 | local Teams = game:GetService( "Teams" ) |
04 | local Team 1 = Teams.Team 1 |
05 | local Team 2 = Teams.Team 2 |
06 | local Team 3 = Teams.Team 3 |
08 | Players.PlayerAdded:Connect( function (player) |
10 | player:LoadCharacter() |
2nd Way Without Script: Choose the team you want players to spawn as and set "AutoAssignable" to true.
Hopefully I helped you!