Transparency Not Replicating to Client?

I honestly have no idea why this is happening. I used the same code when the player spawns and it works. When I use it in this script, it doesn’t change the face’s transparency. The face’s transparency changes from the server through a remotefunction and it doesn’t replicate to the client.

It’s changing on the server and doesn’t replicate which is why I have no idea what to do. I printed each thing that gets recognized by the for loop and the face is in there. If you have any questions, feel free to ask. Here’s the snippet of code:

for _, v in pairs(plr.Character:GetDescendants()) do
			local transparency = Functions:HasProperty(v, "Transparency")
			
			if transparency then
				if v:IsA("Decal") then print("Decal", v:GetFullName()) end
				pcall(function()
					if v:IsA("Decal") then print("Decal changed transparency", v:GetFullName()) end
					--incase there is a numbersequence, pcall the function
					v.Transparency = 1
					print(v.Transparency)
				end)
			end
		end

Ok first. Is it a localscript? If so then where is it located?

It’s on the server and it replicates everything except for the face

I recommend checking the transparency of the decal in the client explorer and submitting a bug report if transparency is not 1.

There’s a lot of good scripts, that you can use, to make player invivisble/ visible. I don’t really want to give you my code, so try using this:

plr.Character:WaitForChild("Head"):WaitForChild("face").Transparency = 1
for _, v in pairs(plr.Character:GetDescendants()) do
			local transparency = Functions:HasProperty(v, "Transparency")
			
			if transparency then
				if v:IsA("Decal") then print("Decal", v:GetFullName()) end
				pcall(function()
					if v:IsA("Decal") then print("Decal changed transparency", v:GetFullName()) end
					--incase there is a numbersequence, pcall the function
					v.Transparency = 1
					print(v.Transparency)
				end)
			end
		end

I just found a really weird bug where when I set the transparency to 1 in studio, the white parts don’t go invisible.


This is the 3rd Roblox Studio bug which I’ve found in just a few weeks. It’s really weird. The first one was that the toolbar wasn’t working (had to reopen studio). This other time I logged in and the camera FOV was set to 2.

I remade this code from ScriptingHelpers. (Script not LocalScript)

-- Loops through all of the character's children
for _, item in pairs (character:GetChildren()) do
    -- If the item is a part (This means that this is probably a body part), set the transparency to 1 (100% Transparent)
    if item.ClassName == "Part" then
if item.Name ~= "HumanoidRootPart" then --Use this when setting player visible.
        item.Transparency = 1
    -- If the item is an accesssory or a tool, loop through all of the accessory's children
end
    elseif item.ClassName == "Accessory" then --Do not make tools invisible, because it may have a bug that when you want player to be visible the tool is still invisible. If you want to make tools invisible too, you should add a code that will only set the transparency for tools.
        for _, accessoryPart in pairs (item:GetChildren()) do
            --If it finds a part, set it to transparent
            if accessoryPart.ClassName == "Part" then
                accessoryPart.Transparency = 1
            end
        end
    end

end
1 Like

This is the exact same as my script. The face still doesn’t replicate. Even setting the face’s transparency to 1 using chr.Head.face.Transparency = 1 doesn’t replicate. This works fine in normals scripts, but when I use it for the remotefunction, it doesn’t replicate

Set face transparency on Server, fire Remote next.

(Script)