Yikes! Can you try deselecting all the faces, and try the script again with the default face?
N̶o̶ ̶m̶a̶t̶t̶e̶r̶ ̶w̶h̶a̶t̶ ̶I̶ ̶d̶o̶,̶ ̶I̶ ̶c̶a̶n̶’̶t̶ ̶s̶e̶t̶ ̶m̶y̶ ̶f̶a̶c̶e̶ ̶t̶o̶ ̶a̶n̶y̶t̶h̶i̶n̶g̶ ̶u̶n̶l̶e̶s̶s̶ ̶I̶ ̶s̶e̶t̶ ̶i̶t̶ ̶t̶o̶ ̶a̶ ̶c̶o̶s̶t̶u̶m̶e̶!̶ ̶T̶h̶i̶s̶ ̶i̶n̶c̶l̶u̶d̶e̶s̶ ̶r̶e̶m̶o̶v̶i̶n̶g̶/̶s̶e̶t̶t̶i̶n̶g̶
I retract that statement, I’ve set my face back to default!
That’s good news! Does it work now?
I would also like to state that this is still active, I’ve set my face back to default and it seems to still be doing this glitch.
Well, that’s what I can do now. You should try reporting this bug to Roblox.
I think this is a problem with the avatars, as I’ve stated before this works perfectly fine with a StarterCharacter dummy! There is no way I can fix this, this is a bug on Roblox’s end!
Normal Avatar::
StarterCharacter Dummy:
local CustomFaces = {
["CoIeRB"] = "rbxassetid://362505168",
["ItsPlasmaRBLX"] = "rbxassetid://362505168",
}
game.Players.PlayerAdded:Connect(function(Player)
local Texture = CustomFaces[Player.Name]
if Texture then
Player.CharacterAdded:Connect(function(Character)
local Head = Character:WaitForChild("Head")
local Face = Head:WaitForChild("face")
if Face then
local NewFace = Face:Clone()
NewFace.Texture = Texture
NewFace:GetPropertyChangedSignal("Texture"):Connect(function()
NewFace.Texture = Texture
end)
Face:Destroy()
NewFace.Parent = Head
end
end)
end
end)
Same result, I’ve tried almost every method. I cannot change/remove the face. This is an error on Roblox’s end.
Same result, the bug also occurs in the app…
Alright, so I’m trying to report it to Roblox, yet I don’t have access to #bug-reports, #bug-reports:studio-bugs any way to report the bug in the correct category.
Properties are the exact same, Texture == rbxassetid://2222767231
The face also shows up like:
I have also posted a video of the bug!
Test 1: Spawning in as my Roblox character
Test 2: Spawning in as a StarterCharacter
It could be happening because you’re connecting CharacterAdded()
after checking for custom face ownership, creating something like a race condition;
See if this works
local Players = game:GetService("Players")
local FaceOwnership = {
["ItsPlasmaRBLX"] = "rbxassetid://362505168";
["CoIeRB"] = "rbxassetid://362505168";
}
local function GetCustomFace(Player : Player)
for UserName,TextureId in pairs(FaceOwnership) do
if UserName == Player.Name then
return TextureId
end
end
return nil
end
Players.PlayerAdded:Connect(function(Player)
Player.CharacterAdded:Connect(function(Character)
local CustomFaceTex = GetCustomFace(Player)
if CustomFaceTex ~= nil then
local Head = Character:WaitForChild("Head")
local Face = Character:FindFirstChildOfClass("Decal")
if Face ~= nil then
Face.Texture = CustomFaceTex
end
end
end)
end)
Seems to turn out as the same result
Roblox thinks it should return this:
for this:
Try this:
local CustomFaceTable_ = {
["ItsPlasmaRBLX"] = "rbxassetid://362505168",
["CoIeRB"] = "rbxassetid://362505168"
}
function checkCustomFaceFunction(player)
local Return = {false,0}
for Name,ID in pairs(CustomFaceTable_) do
print(Name,ID)
if player.Name == Name or player.UserId == ID then
warn("True")
Return = {true, ID}
end
end
if Return[1] == false and Return[2] == 0 then
warn("False")
end
return Return
end
Players.PlayerAdded:Connect(function(player)
local canUseFace, faceTextureID = table.unpack(checkCustomFaceFunction(player))
if canUseFace then
warn("Player can use custom face feature! | Continue!")
player.CharacterAdded:Connect(function(character)
warn("Character Added.")
character.Head.face.Texture = faceTextureID
end)
end
end)
fixed. works for me
local Players = game:GetService("Players")
local FaceOwnership = {
["ItsPlasmaRBLX"] = "rbxassetid://362505168";
["CoIeRB"] = "rbxassetid://362505168";
}
local function GetCustomFace(Player : Player)
for UserName,TextureId in pairs(FaceOwnership) do
if UserName == Player.Name then
return TextureId
end
end
return nil
end
Players.PlayerAdded:Connect(function(Player)
Player.CharacterAdded:Connect(function(Character)
Player.CharacterAppearanceLoaded:Wait()
local CustomFaceTex = GetCustomFace(Player)
print(CustomFaceTex)
if CustomFaceTex ~= nil then
local Head = Character:WaitForChild("Head")
local Face = Head:WaitForChild("face")
print(Head,Face)
if Face ~= nil then
print("Applying custom face")
Face.Texture = CustomFaceTex
end
end
end)
end)