Hey, I know I asked something similar to this before (Well, Actually not really.) But Is there a way to give a player a ROBLOX Face after they obtain a badge in-game? (The Face obviously only In-game not into their inventory)
Just put a script changing the face’s decal inside of the badge giver
That would work, however (not too sure about it) Would it only give them it if they touched the badge giver, because (I should’ve clarified this in the post) I want it to work when they join too, which I mean they could still technically just go back to the giver
Yes! This is actually very simple. All you would need to do is have a script detect when their character spawns in and delete their original face, then replace it with the face decal that you want. I’ll give an example here:
local badgeService = game:GetService("BadgeService")
local faceBadgeId = YOUR_BADGE_ID
game.Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(character)
if badgeService:UserHasBadgeAsync(player.UserId, faceBadgeId) then
local newFaceDecal = Instance.new("Decal")
newFaceDecal.Texture = YOUR_FACE_TEXTURE_ID
newFaceDecal.Parent = character:WaitForChild("Head")
newFaceDecal.Name = "face"
newFaceDecal.Face = Enum.NormalId.Front
character:WaitForChild("Head"):WaitForChild("face"):Destroy()
end
end)
end)
Check if they own the badge, and make it change the face if they do.
The pain of typing your script then someone posts one ;(
But wouldn’t you need to delete the old face before instancing the new face?
Oh, yes. That’s completely my fault! I wasn’t really thinking much about it. Just swap the lines and you should be good to go.
I think It’s (mostly) working lol but whenever I test it in studio my face goes blank when I spawn
kinda looks scary lol
Add a line that makes it check every few seconds so you will get the face back
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.