I have been trying so long but the script just won’t work. its a script placed in ServerScriptService
local groupId = 5901406 -- Replace with your actual group ID
local function assignPlayerToTeam(player, teamName)
local teamToAssign = game:GetService("Teams"):FindFirstChild(teamName)
if teamToAssign then
player.Team = teamToAssign
print(player.Name, "assigned to team:", teamName)
else
print("Team not found:", teamName)
end
end
game.Players.PlayerAdded:Connect(function(player)
local groupRank = player:GetRoleInGroup(groupId)
print(player.Name, "Group Rank:", groupRank)
if groupRank >= 0 and groupRank <= 9 or groupRank == 249 then
assignPlayerToTeam(player, "[-] Customer")
elseif groupRank >= 10 and groupRank <= 20 then
assignPlayerToTeam(player, "[LR] Staff Barista")
elseif groupRank >= 119 and groupRank <= 123 then
assignPlayerToTeam(player, "[MR] Manager")
elseif groupRank == 248 or groupRank == 253 then
assignPlayerToTeam(player, "[HR] Supervisor")
elseif groupRank == 252 then
assignPlayerToTeam(player, "[DEV] Game Developer")
elseif groupRank >= 247 and groupRank <= 255 then
assignPlayerToTeam(player, "[SHR] Executive")
end
end)
-- Set custom order for teams
local teamOrder = {
["[-] Customer"] = 1,
"[LR] Staff Barista"] = 2,
"[MR] Manager"] = 3,
"[HR] Supervisor"] = 4,
"[DEV] Game Developer"] = 5,
"[SHR] Executive"] = 6,
}
local teams = game:GetService("Teams"):GetChildren()
table.sort(teams, function(a, b)
local orderA = teamOrder[a.Name] or 0
local orderB = teamOrder[b.Name] or 0
return orderA < orderB
end)
-- Update the TeamNumber property based on the sorted order
for index, team in ipairs(teams) do
team.TeamNumber = index
end