game.Players.PlayerAdded:connect(function(player) if player:GetRankInGroup(2533886) == 8 then player.TeamColor = game.Teams.Security.TeamColor else if player:GetRankInGroup(2533886) >= 1 then player.TeamColor = game.Teams.Models.TeamColor else game.Players.PlayerAdded:connect(function(player) if player:GetRankInGroup(2533886) <= 0 then player.TeamColor = game.Teams.Spectators.TeamColor else game.Players.PlayerAdded:connect(function(player) if player:GetRankInGroup(2533886) >= 12 then player.TeamColor = game.Teams.HighRanks.TeamColor end end) end end) end end end)
You must format your code correctly so that your code is readable. Otherwise, you'll have no idea what you're writing:
game.Players.PlayerAdded:connect(function(player) if player:GetRankInGroup(2533886) == 8 then player.TeamColor = game.Teams.Security.TeamColor else if player:GetRankInGroup(2533886) >= 1 then player.TeamColor = game.Teams.Models.TeamColor else game.Players.PlayerAdded:connect(function(player) if player:GetRankInGroup(2533886) <= 0 then player.TeamColor = game.Teams.Spectators.TeamColor else game.Players.PlayerAdded:connect(function(player) if player:GetRankInGroup(2533886) >= 12 then player.TeamColor = game.Teams.HighRanks.TeamColor end end) end end) end end end)
This "pyramid" look is not a good sign. Having :Connect
ions inside :Connect
ions is not a good sign.
Right now, if you just read what your code does, you only start waiting for rank 12s and beyond AFTER
Use either separate :Connect
ions for each rank, or more simply, an if
...elseif
chain inside a single :Connect
handler