local Players = game:GetService("Players")
local function playerAdded(player) player.CharacterAppearanceLoaded:Connect(function(character) local humanoid = character:WaitForChild("Humanoid")
-- save hats for later
local accessories = {}
for _, accessory in pairs(humanoid:GetAccessories()) do
table.insert(accessories, accessory:Clone())
end
-- remove hats
humanoid:RemoveAccessories()
wait(5)
-- make sure the player still exists, and has the same character
if player and player.Character and player.Character == character then
local humanoid = character:FindFirstChildOfClass("Humanoid")
if humanoid:GetState() ~= Enum.HumanoidStateType.Dead then
-- give back the hats
for _, accessory in pairs(accessories) do
humanoid:AddAccessory(accessory)
end
end
end
accessories = nil
end)
end
-- get existing players for _, player in pairs(Players:GetPlayers()) do playerAdded(player) end -- listen for new players Players.PlayerAdded:Connect(playerAdded)
--By elijahhtown

1 comment
Please provide more context. Is this script not working?