Revision Difference
Panel:SetSteamID#510798
<function name="SetSteamID" parent="Panel" type="classfunc">⤶
<description>Used by <page>AvatarImage</page> panels to load an avatar by its 64-bit Steam ID (community ID).</description>⤶
<realm>Client</realm>⤶
<args>⤶
<arg name="steamid" type="string">The 64bit SteamID of the player to load avatar of</arg>⤶
<arg name="size" type="number">The size of the avatar to use. Acceptable sizes are 32, 64, 184.</arg>⤶
</args>⤶
</function>⤶
⤶
<example>⤶
<description>Creates a grid of randomly generated Steam avatars which link to their corresponding Steam user pages.</description>⤶
<code>⤶
-- Returns a random 64-bit Steam ID between STEAM_0:0:1 and STEAM_0:1:100000000⤶
function GetRandomSteamID()⤶
return "7656119"..tostring(7960265728+math.random(1, 200000000))⤶
end⤶
⤶
-- Create the Steam User Grid⤶
-- Arg1: the size of each avatar⤶
-- Arg2: the size to load each avatar (16, 32, 64, 84, 128, 184)⤶
function CreateSteamUserGrid(av_size, av_res)⤶
⤶
-- Remove this block of code if you do not mind loading thousands of avatars⤶
if(av_size &lt; 64) then⤶
Error("Avatar size cannot be less than 64 square pixels.\n")⤶
return⤶
end⤶
⤶
-- Delete existing grid⤶
if(SteamUserGrid) then SteamUserGrid:Remove() end⤶
⤶
-- The amount of avatars we can fit width-wise and height-wise⤶
local w_count = math.floor(ScrW()/av_size)⤶
local h_count = math.floor((ScrH()-25)/av_size) -- 25 = frame header size⤶
⤶
-- Container panel⤶
SteamUserGrid = vgui.Create("DFrame")⤶
SteamUserGrid:SetSize(w_count*av_size, (h_count*av_size)+25)⤶
SteamUserGrid:Center()⤶
SteamUserGrid:SetTitle("Randomly Generated Grid of Steam Users")⤶
SteamUserGrid:MakePopup()⤶
⤶
-- Loop variables⤶
local avatar, random_id⤶
⤶
-- Create enough avatars to fill up screen without overflowing⤶
for i = 0, (w_count*h_count)-1 do⤶
⤶
random_id = GetRandomSteamID()⤶
⤶
-- Add avatar to container panel⤶
avatar = vgui.Create("AvatarImage", SteamUserGrid)⤶
⤶
-- Layout the avatars in a grid⤶
avatar:SetPos((i%w_count)*av_size, 25+math.floor(i/w_count)*av_size)⤶
⤶
-- Load the avatar image⤶
avatar:SetSteamID(random_id, av_res)⤶
⤶
avatar:SetSize(av_size, av_size)⤶
⤶
-- Open user's Steam page on avatar click⤶
avatar.OnMousePressed = function(self)⤶
⤶
local url = &lt;nowiki&gt;"http://steamcommunity.com/profiles/"&lt;/nowiki&gt;..random_id⤶
⤶
gui.OpenURL(url)⤶
⤶
end⤶
⤶
end⤶
⤶
end⤶
</code>⤶
<output>⤶
`CreateSteamUserGrid(64, 64)`⤶
⤶
⤶
⤶
⤶
⤶
⤶
⤶
⤶
⤶
The white question mark avatars mean no custom icon used or the user hasn't set up a community profile. The blue question mark avatars mean the user doesn't exist.⤶
</output>⤶
⤶
</example>