Adding clothing based on team

I’m trying to make this so that It gives clothing based on the team you are on. Any solutions?

local Players = game:GetService("Players")
local TeamService = game:GetService("Teams")
local Teams = {
    "Blue Team",
    "Red Team"
}

for _, v in ipairs(Teams) do
    local Team = Instance.new("StringValue")
    Team.Name = v
    Team.Parent = TeamService
end

Players.PlayerAdded:Connect(function(p)
    local RandTeam = Teams[math.random(1, #Teams)]
    local CurrentTeam = TeamService:WaitForChild(RandTeam)
    local Team = Instance.new("ObjectValue")
    local TeamPlayer = Instance.new("StringValue")
    
    TeamPlayer.Name = "Team"
    TeamPlayer.Value = CurrentTeam.Name
    TeamPlayer.Parent = p

    Team.Name = p.Name
    Team.Value = p
    Team.Parent = CurrentTeam
end)

Players.PlayerRemoving:Connect(function(p)
    local User = TeamService:FindFirstChild(p.Name, true)
    
    if (User) then
        User:Destroy()
        
        print("Removed")
        print(TeamService:GetDescendants())    
    end
end)```
1 Like
local Players = game:GetService("Players")
local TeamService = game:GetService("Teams")
local Teams = {
	"Blue Team",
	"Red Team"
}

for _, v in ipairs(Teams) do
	local Team = Instance.new("StringValue")
	Team.Name = v
	Team.Parent = TeamService
end

Players.PlayerAdded:Connect(function(p)
	local RandTeam = Teams[math.random(1, #Teams)]
	local CurrentTeam = TeamService:WaitForChild(RandTeam)
	local Team = Instance.new("ObjectValue")
	local TeamPlayer = Instance.new("StringValue")

	TeamPlayer.Name = "Team"
	TeamPlayer.Value = CurrentTeam.Name
	TeamPlayer.Parent = p

	Team.Name = p.Name
	Team.Value = p
	Team.Parent = CurrentTeam
	
	p.CharacterAdded:Connect(function(newCharacter)
		if not newCharacter:FindFirstChild("Shirt") then
			local newShirt = Instance.new("Shirt", newCharacter)
			newShirt.Name = "Shirt"
		end
		if TeamPlayer.Value == "Blue Team" then
			newCharacter.Shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=1431979168" --base on shirt template image id
		elseif TeamPlayer.Value == "Red Team" then
			game:GetService("ServerStorage")["Red Team Shirt"]:Clone().Parent = newCharacter --base on your game shirt storage
		end
	end)
end)

Players.PlayerRemoving:Connect(function(p)
	local User = TeamService:FindFirstChild(p.Name, true)

	if (User) then
		User:Destroy()

		print("Removed")
		print(TeamService:GetDescendants())    
	end
end)

-- Red Team Shirt: "http://www.roblox.com/asset/?id=674174722"

ภาพถ่ายหน้าจอ 2564-12-31 เวลา 14.08.32

1 Like

If you want to create a separate, here some:

game.Players.PlayerAdded:Connect(function(newPlayer)
	newPlayer.CharacterAdded:Connect(function(newCharacter)
		local teamPlayer = newPlayer.TeamPlayer.Value
		teamPlayer:GetPropertyChangedSignal("Value"):Connect(function()
			if teamPlayer.Value == "Blue Team" then
				newCharacter.Shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=1431979168" --base on shirt template image id
			elseif teamPlayer.Value == "Red Team" then
				game:GetService("ServerStorage")["Red Team Shirt"]:Clone().Parent = newCharacter --base on your game shirt storage
			end
		end)
	end)
end)