function waitForChild(l,a)local d=l:findFirstChild(a)if d then return d end while true do d=l.ChildAdded:wait()if d.Name==a then return d end end end function onTeamChanged(l)wait(1)local a=l.Character if a==nil then return end if l.Neutral then local l=a:findFirstChild("\066\111\100\121 \067\111\108\111\114\115")if not l then return end;(l:clone()).Parent=a l.Parent=nil else local d=a:findFirstChild("\072\101\097\100")local u=a:findFirstChild("\084\111\114\115\111")local n=a:findFirstChild("\076\101\102\116 \065\114\109")local K=a:findFirstChild("\082\105\103\104\116 \065\114\109")local X=a:findFirstChild("\076\101\102\116 \076\101\103")local U=a:findFirstChild("\082\105\103\104\116 \076\101\103")if d then d.BrickColor=BrickColor.new(24)end if u then u.BrickColor=l.TeamColor end if n then n.BrickColor=BrickColor.new(26)end if K then K.BrickColor=BrickColor.new(26)end if X then X.BrickColor=BrickColor.new(26)end if U then U.BrickColor=BrickColor.new(26)end end end function onPlayerPropChanged(l,a)if l=="\067\104\097\114\097\099\116\101\114"then onTeamChanged(a)end if l=="\084\101\097\109\067\111\108\111\114"or l=="\078\101\117\116\114\097\108"then onTeamChanged(a)end end local l=game.Players:GetPlayerFromCharacter(script.Parent)l.Changed:connect(function(a)onPlayerPropChanged(a,l)end)onTeamChanged(l)


        function waitForChild(parent, childName)
        local child = parent:findFirstChild(childName)
        if child then return child end
        while true do
        child = parent.ChildAdded:wait()
        if child.Name==childName then return child end
        end
        end

        -- TEAM COLORS


        function onTeamChanged(player)

        wait(1)

        local char = player.Character
        if char == nil then return end

        if player.Neutral then
        -- Replacing the current BodyColor object will force a reset
        local old = char:findFirstChild("Body Colors")
        if not old then return end
        old:clone().Parent = char
        old.Parent = nil
        else
        local head = char:findFirstChild("Head")
        local torso = char:findFirstChild("Torso")
        local left_arm = char:findFirstChild("Left Arm")
        local right_arm = char:findFirstChild("Right Arm")
        local left_leg = char:findFirstChild("Left Leg")
        local right_leg = char:findFirstChild("Right Leg")

        if head then head.BrickColor = BrickColor.new(24) end
        if torso then torso.BrickColor = player.TeamColor end
        if left_arm then left_arm.BrickColor = BrickColor.new(26) end
        if right_arm then right_arm.BrickColor = BrickColor.new(26) end
        if left_leg then left_leg.BrickColor = BrickColor.new(26) end
        if right_leg then right_leg.BrickColor = BrickColor.new(26) end
        end
        end

        function onPlayerPropChanged(property, player)
        if property == "Character" then
        onTeamChanged(player)
        end
        if property== "TeamColor" or property == "Neutral" then
        onTeamChanged(player)
        end
        end


        local cPlayer = game.Players:GetPlayerFromCharacter(script.Parent)
        cPlayer.Changed:connect(function(property) onPlayerPropChanged(property, cPlayer) end )
        onTeamChanged(cPlayer)

      
