I’m not sure what you’re doing wrong, the script seems to be working perfectly fine with me. Make sure it’s a server script, in ServerScriptService or Workspace.
local __thumbnail = game:GetService("Players"):GetUserThumbnailAsync(1, Enum.ThumbnailType.HeadShot, Enum.ThumbnailSize.Size420x420);
Clients CANNOT communicate with each other like this, this is done on the server. I’m loosing braincells over this, this should not be an 17+ reply chain.
I would encourage you to read up on that, I’m glad that you found the solution. I however should refer you to the post listed below due to the 2nd argument listed in the function, an exploiter can call the function with the userid “69” even though their actual userid is “420”.
The takeaway and the point of this reply is that you should try doing as much on the server as possible, rather than the client.
Not to be facetious but the account of user ID 420 is permanently banned, jokes aside, this is a good suggestion. He could combat it by adding sanity checks, like comparing the user ID between both scripts.