Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 14 additions & 4 deletions lua/nitrous/optimizations/shared/player_steamid.lua
Original file line number Diff line number Diff line change
@@ -1,23 +1,33 @@
local meta = FindMetaTable( "Player" )
local entMeta = FindMetaTable( "Entity" )
local getTable = entMeta.GetTable

meta.GMN_SteamID = GMN.StoreOriginal( "Player:SteamID", meta.SteamID )

function meta:SteamID()
local cached = self:GetTable().GMN_SteamIDVar
local tbl = getTable( self )
if tbl == nil then return self:GMN_SteamID() end

local cached = tbl.GMN_SteamIDVar
if cached then return cached end

local id = self:GMN_SteamID()
self.GMN_SteamIDVar = id
tbl.GMN_SteamIDVar = id

return id
end

meta.GMN_SteamID64 = GMN.StoreOriginal( "Player:SteamID64", meta.SteamID64 )

function meta:SteamID64()
local cached = self:GetTable().GMN_SteamID64Var
local tbl = getTable( self )
if tbl == nil then return self:GMN_SteamID64() end

local cached = tbl.GMN_SteamID64Var
if cached then return cached end

local id = self:GMN_SteamID64()
self.GMN_SteamID64Var = id
tbl.GMN_SteamID64Var = id

return id
end