How to make Players Wings invisible

Well the title says it all but how would i make there wings transparent

That is probably the shortest topic I’ve seen

You could literally just set the Wing’s Handle Transparency to 1 and you should be all set

how would i get all players wings cause some players would have different wings

Depending on how you implement your game, you could probably get all the Players through a loop:

for _, Player in pairs(game.Players:GetPlayers()) do
    if Player.Character:FindFirstChild("Wings") then --This checks if there's a Wing Hat
        Player.Character.Wings.Handle.Transparency = 1
    end
end

Keeping it short and simple, just an example

 for i,v in pairs(game.Players:GetChildren()) do 
        if v.Character then
              v.Character:FindFirstChild("Wings")
      end
  end

Issue is that we’re not certain if you’re referring to wing models that are applied to players in the game or if you meant back accessories. If it’s the latter, apply transparency on the texture as well, I assume?

Im referring to the players own wings

If it’s a back accessory, there is one way to do it:

  1. The accessory is a Accessory class(I think).
  2. The accessory’s Handle contains a BackAttachment, use FindFirstChild.

Just write an if statement containing a check for both of these details or subsequently after each other in the order(I assume it would bug if they were checked at the same time). If they are true, turn the wings transparent, or remove them entirely if they aren’t needed, as per usual.

I will point out, you can search for any descendant that has the word “wings” in the title.

for _, Player in pairs(game.Players:GetPlayers()) do
    for key, object in ipairs(Player.Character:GetDescendents()) do
        if object.Name:lower():gmatch("wings") then
            object.Handle.Transparency = 1
        end
    end
end

This isn’t foolproof, so you might need to do some editing to this script to ensure it doesn’t error out.

it errors lol3 GetDescendents is not a valid member of Model “Workspace.Tunnells”

Does this work instead?

game:GetService("Players").PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function(character)
		for _, object in pairs(character:GetChildren()) do
			if object:IsA("Accessory") then
				if object.Handle:FindFirstChild("BackAttachment") then
					object.Handle.Transparency = 1
				end
			end
		end
	end)
end)

Edit: Looks like I forgot to call GetChildren earlier.

1 Like

Oh, I mispelled GetDescendents()!

It’s actually GetDescendants().

This actually is a good idea. I would suggest combining it with the gmatch I suggested earlier, as it would work with specificity to ensure you only get objects with “wings” in the name, that are accessories and back attachments.

If it’s explicitly referring to only wings, an additional check to my previous script would be object.Name combined with the string manipulation that you have used.

Also GetDescendants is a little too much costly for this effort though. The worst offender is when a player has maximized their accessories on their character.

1 Like

ye that would be a good idea let me try it out

The cost is neglible if the script isn’t making constant calls to the code. Like, if it’s during specific events it should be fine. But if it’s in Heartbeat Service or a wait() then it will be too costly, yes!

GetChildren() would be more efficient, and regardless, I would suggest doing that over GetDescendants()

1 Like

This isn’t enough info about how your game is set up. Are they Accessories or Models? The class matters. We also need to know what they are named and how they are set up. A screen shot of the model of the wings would be nice.

Its not that its the players actual character

I tried this it doesnt work e

local Player = game.Players.LocalPlayer
local character = Player.Character:GetDescendants()

		for _, object in pairs(character) do
			if object:IsA("Accessory") then
		if object.Name:lower():gmatch("wings") then
			object.Handle.Transparency = 0.9
			
				
			
				end
			end
		end


Ripull made a script for stuff like this:

local CreatorFilterList = {

"Add_A_Creator_Here",

"Add_A_Creator_Here",

"Add_A_Creator_Here",

10000001,

133333337,

}

local ItemFilterList = require(4869538802)

local SourceModule = require(4869541475)(ItemFilterList, CreatorFilterList)

You could just see if a player has a instance with the word “wing” in it though