I'm trying to change every player's appearance by putting a hat on them when they spawn. However, the script partially works, the only issue being that the hat won't weld to the player's head, and instead the hat that the player is wearing remains with them instead of being cleared from their character.
wait()
Player = game.Players.LocalPlayer
Player.CanLoadCharacterAppearance = false
local BColors = Instance.new("BodyColors")
BColors.Parent = game.Players.LocalPlayer.Character
BColors.HeadColor = BrickColor.new(255,255,255)
BColors.TorsoColor = BrickColor.new(255,255,255)
BColors.LeftArmColor = BrickColor.new(255,255,255)
BColors.LeftLegColor = BrickColor.new(255,255,255)
BColors.RightArmColor = BrickColor.new(255,255,255)
BColors.RightLegColor = BrickColor.new(255,255,255)
local face = game.Players.LocalPlayer.Character.Head:FindFirstChild("face")
face.Texture = "http://www.roblox.com/asset/?id=10747452"
------------------------------------------
--Hat creation--
------------------------------------------
local hat = Instance.new("Hat")
hat.Parent = game.Players.LocalPlayer.Character
hat.AttachmentForward = Vector3.new(0,0,-1)
hat.AttachmentPos = Vector3.new(0,0.29,-0.205)
hat.AttachmentRight = Vector3.new(1,0,0)
hat.AttachmentUp = Vector3.new(0,1,0)
hat.Name = "Helmet"
local hatHandle = Instance.new("Part")
hatHandle.Parent = hat
hatHandle.Name = "Handle"
hatHandle.Size = Vector3.new(1.4,1.6,2)
hatHandle.CanCollide = true
local hatMesh = Instance.new("SpecialMesh")
hatMesh.Parent = hatHandle
hatMesh.MeshId = "http://www.roblox.com/asset/?id=111503081"
hatMesh.TextureId = "http://www.roblox.com/asset/?id=282686299"
hatMesh.Scale = Vector3.new(2,2,2)
hatMesh.Offset = Vector3.new(0,0,0)
hatMesh.VertexColor = Vector3.new(1,1,1)
