So I did some research to see if I could find a script that would get the players avatar and change the image to it. I found this script which doesn't work, I put a local script in a decal tell me if this is wrong.
wait(0.1) script.Parent.Image = "http://www.roblox.com/thumbs/avatar.ashx?x=352&y=352&format=png&username="..game.Players.LocalPlayer.Name
you can do the function :GetUserThumbnailAsync(), i dont know much about it the code below is from the wiki
local Players = game:GetService("Players") local player = Players.LocalPlayer -- Fetch the thumbnail local userId = player.UserId local thumbType = Enum.ThumbnailType.HeadShot local thumbSize = Enum.ThumbnailSize.Size420x420 local content, isReady = Players:GetUserThumbnailAsync(userId, thumbType, thumbSize) -- Set the ImageLabel's content to the user thumbnail local imageLabel = script.Parent imageLabel.Image = content
you can read more about it at https://developer.roblox.com/en-us/api-reference/function/Players/GetUserThumbnailAsync