PcoWSkbVqDnWTu_dm2ix
We use cookies on this site to enhance your user experience
Collapse Sidebar

GetAccessories

This function returns an array of Accessory|Accessories that the Humanoid is currently wearing.

All Accessory objects parented to the Humanoid|Humanoid's parent will be included, regardless of if they are attached to the Humanoid or not. If the humanoid is not wearing any accessories, the array will be empty.

If the Humanoid has no Accessory|Accessories an empty array will be returned

See also

  • Use Humanoid/AddAccessory to attach an Accessory to a Humanoid

Returns

Return Type Summary

An array of Accessory|Accessories that are parented to the Humanoid|Humanoid's parent.


Code Samples


Remove and Return Hats

This code sample will remove all the hats from a Player/Character once the character has fully loaded. After five seconds, if the character still exists and is alive, it will return them.

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)