Issue with getting player's thumbnail

I am making a phone system where you can message different players. Everything works besides the image being displayed using the thumbnail async.

Local Script:

local function refresh()
	for i, plr in pairs(game.Players:GetPlayers()) do
		for i, v in pairs(script.Parent:GetChildren()) do
			if v.Name == plr.Name then
				return
			else
				local clone = script.Parent.Layout:Clone()
				local players = game.Players:GetPlayers()
				clone.Parent = script.Parent
				clone.Name = script.Name
				clone.TextLabel.Text = plr.Name
				clone.Visible = true
				clone.ImageLabel.Image = players:GetUserThumbnailAsync(plr.UserId, Enum.ThumbnailType.HeadShot, Enum.ThumbnailSize.Size420x420)
			end
		end
	end
end

while true do
	wait(1)
	refresh()
end

Error:

Players.drilinz.PlayerGui.ScreenGui.ImageLabel.iMessages.sendFrame.ScrollingFrame.Frame.LocalScript:13: attempt to call a nil value  -  Client - LocalScript:13

Help would be highly appreciated.

local players = game.Players

not

local players = game.Players:GetPlayers()

That’s all.

1 Like