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

0

Please provide more context. Is this script not working?