ISteamUserStatsο
Note
This documentation is auto-generated. Methods marked with π€ are automatically generated bindings. Methods marked with βοΈ are manually implemented and methods marked with β are currently not implemented.
Note
Overloaded Steam methods are exposed as distinct Lua functions using a type suffix (for example GetStatInt32 and SetStatFloat).
List of Functionsο
List of Callbacksο
Function Referenceο
- UserStats.AttachLeaderboardUGC(hSteamLeaderboard, hUGC, callback)ο
π€ Auto-generated binding
- Parameters:
hSteamLeaderboard (uint64 - SteamLeaderboard_t) β
hUGC (uint64 - UGCHandle_t) β
callback (function) β CallResult callback receiving struct
LeaderboardUGCSet_tand a boolean
- Returns:
(uint64)
SteamAPICall_thandle for this async call. The result is delivered via thecallbackparameter whenSteam.RunCallbacks()is called.- SteamWorks:
- UserStats.ClearAchievement(pchName)ο
π€ Auto-generated binding
- Parameters:
pchName (str?) β
- Returns:
(bool) Return value
- SteamWorks:
Example:
Steam.UserStats.ClearAchievement('ach_name')
Steam.UserStats.StoreStats()
- UserStats.DownloadLeaderboardEntries(hSteamLeaderboard, eLeaderboardDataRequest, nRangeStart, nRangeEnd, callback)ο
π€ Auto-generated binding
- Parameters:
hSteamLeaderboard (uint64 - SteamLeaderboard_t) β
eLeaderboardDataRequest (int - ELeaderboardDataRequest) β
nRangeStart (int) β
nRangeEnd (int) β
callback (function) β CallResult callback receiving struct
LeaderboardScoresDownloaded_tand a boolean
- Returns:
(uint64)
SteamAPICall_thandle for this async call. The result is delivered via thecallbackparameter whenSteam.RunCallbacks()is called.- SteamWorks:
Example:
-- Download global entries 1-100
Steam.UserStats.DownloadLeaderboardEntries(handle, Steam.k_ELeaderboardDataRequestGlobal, 1, 100, function(data, err)
if err then
print('Error happened')
else
for i = 0, data.m_cEntryCount - 1 do
local ok, entry = Steam.UserStats.GetDownloadedLeaderboardEntry(data.m_hSteamLeaderboardEntries, i, 0)
if ok then
local name = Steam.Friends.GetFriendPersonaName(entry.m_steamIDUser)
print('Rank #' .. entry.m_nGlobalRank .. ': ' .. name .. ' - ' .. entry.m_nScore)
end
end
end
end)
- UserStats.DownloadLeaderboardEntriesForUsers(hSteamLeaderboard, prgUsers, cUsers, callback)ο
π€ Auto-generated binding
- Parameters:
hSteamLeaderboard (uint64 - SteamLeaderboard_t) β
prgUsers (uint64[]?) β
cUsers (int) β size of the input array
prgUserscallback (function) β CallResult callback receiving struct
LeaderboardScoresDownloaded_tand a boolean
- Returns:
(uint64)
SteamAPICall_thandle for this async call. The result is delivered via thecallbackparameter whenSteam.RunCallbacks()is called.- SteamWorks:
Example:
local friends = {friend1ID, friend2ID}
Steam.UserStats.DownloadLeaderboardEntriesForUsers(handle, friends, #friends, function(data, err)
if not err then
for i = 0, data.m_cEntryCount - 1 do
local ok, entry = Steam.UserStats.GetDownloadedLeaderboardEntry(data.m_hSteamLeaderboardEntries, i, 0)
if ok then
print(tostring(entry.m_steamIDUser) .. ': ' .. entry.m_nScore)
end
end
end
end)
- UserStats.FindLeaderboard(pchLeaderboardName, callback)ο
π€ Auto-generated binding
- Parameters:
pchLeaderboardName (str?) β
callback (function) β CallResult callback receiving struct
LeaderboardFindResult_tand a boolean
- Returns:
(uint64)
SteamAPICall_thandle for this async call. The result is delivered via thecallbackparameter whenSteam.RunCallbacks()is called.- SteamWorks:
Asynchronously finds a leaderboard by name.
Example:
Steam.UserStats.FindLeaderboard('TopScores', function(data, err)
if err or data.m_bLeaderboardFound == 0 then
print('Leaderboard not found')
else
uploadScoresHelper(data.m_hSteamLeaderboard)
end
end)
- UserStats.FindOrCreateLeaderboard(pchLeaderboardName, eLeaderboardSortMethod, eLeaderboardDisplayType, callback)ο
π€ Auto-generated binding
- Parameters:
pchLeaderboardName (str?) β
eLeaderboardSortMethod (int - ELeaderboardSortMethod) β
eLeaderboardDisplayType (int - ELeaderboardDisplayType) β
callback (function) β CallResult callback receiving struct
LeaderboardFindResult_tand a boolean
- Returns:
(uint64)
SteamAPICall_thandle for this async call. The result is delivered via thecallbackparameter whenSteam.RunCallbacks()is called.- SteamWorks:
Example:
Steam.UserStats.FindOrCreateLeaderboard('TopScores', Steam.k_ELeaderboardSortMethodDescending, Steam.k_ELeaderboardDisplayTypeNumeric, function(data, err)
if err or data.m_bLeaderboardFound == 0 then
print('Something happened')
else
uploadScoresHelper(data.m_hSteamLeaderboard)
end
end)
- UserStats.GetAchievement(pchName)ο
π€ Auto-generated binding
- Parameters:
pchName (str?) β The βAPI Nameβ of the achievement
- Returns:
(bool) Return value
- Returns:
(bool)
pbAchieved- SteamWorks:
Gets the unlock status of an Achievement.
Signature differences from C++ API:
Parameter
pbAchievedis not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.
Example:
local success, achieved = Steam.UserStats.GetAchievement('ach_name')
if success and achieved then
print('Yep, you have the achievement')
end
- UserStats.GetAchievementAchievedPercent(pchName)ο
π€ Auto-generated binding
- Parameters:
pchName (str?) β
- Returns:
(bool) Return value
- Returns:
(float)
pflPercent- SteamWorks:
Signature differences from C++ API:
Parameter
pflPercentis not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.
- UserStats.GetAchievementAndUnlockTime(pchName)ο
π€ Auto-generated binding
- Parameters:
pchName (str?) β
- Returns:
(bool) Return value
- Returns:
(bool)
pbAchieved- Returns:
(int)
punUnlockTime- SteamWorks:
Signature differences from C++ API:
Parameter
pbAchievedis not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.Parameter
punUnlockTimeis not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.
Example:
local ok, achieved, unlockTime = Steam.UserStats.GetAchievementAndUnlockTime('ach_name')
if ok and achieved then
print('Unlocked at:', unlockTime)
end
- UserStats.GetAchievementDisplayAttribute(pchName, pchKey)ο
π€ Auto-generated binding
- Parameters:
pchName (str?) β
pchKey (str?) β
- Returns:
(str) Return value
- SteamWorks:
Example:
local name = Steam.UserStats.GetAchievementDisplayAttribute('ach_name', 'name')
local desc = Steam.UserStats.GetAchievementDisplayAttribute('ach_name', 'desc')
print(name .. ': ' .. desc)
- UserStats.GetAchievementIcon(pchName)ο
π€ Auto-generated binding
- Parameters:
pchName (str?) β
- Returns:
(int) Return value
- SteamWorks:
- UserStats.GetAchievementName(iAchievement)ο
π€ Auto-generated binding
- Parameters:
iAchievement (int) β
- Returns:
(str) Return value
- SteamWorks:
Notes:
See
UserStats.GetNumAchievements()βs example.
- UserStats.GetAchievementProgressLimitsFloat(pchName)ο
π€ Auto-generated binding
- Parameters:
pchName (str?) β
- Returns:
(bool) Return value
- Returns:
(float)
pfMinProgress- Returns:
(float)
pfMaxProgress- SteamWorks:
Signature differences from C++ API:
In C++, this is an overloaded method called
GetAchievementProgressLimits. luasteam exposes each overload as a distinct function with a type suffix.Parameter
pfMinProgressis not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.Parameter
pfMaxProgressis not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.
- UserStats.GetAchievementProgressLimitsInt32(pchName)ο
π€ Auto-generated binding
- Parameters:
pchName (str?) β
- Returns:
(bool) Return value
- Returns:
(int)
pnMinProgress- Returns:
(int)
pnMaxProgress- SteamWorks:
Signature differences from C++ API:
In C++, this is an overloaded method called
GetAchievementProgressLimits. luasteam exposes each overload as a distinct function with a type suffix.Parameter
pnMinProgressis not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.Parameter
pnMaxProgressis not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.
Example:
local ok, minVal, maxVal = Steam.UserStats.GetAchievementProgressLimitsInt32('ach_progress')
if ok then
print(string.format('Progress range: %d - %d', minVal, maxVal))
end
- UserStats.GetDownloadedLeaderboardEntry(hSteamLeaderboardEntries, index, cDetailsMax)ο
π€ Auto-generated binding
- Parameters:
hSteamLeaderboardEntries (uint64 - SteamLeaderboardEntries_t) β
index (int) β
cDetailsMax (int?) β size of the buffer to allocate for
pDetails. Ifnilthen the buffer will beNULL.
- Returns:
(bool) Return value
- Returns:
(LeaderboardEntry_t)
pLeaderboardEntry- Returns:
(int[])
pDetails- SteamWorks:
Signature differences from C++ API:
Parameter
pLeaderboardEntryis not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.Parameter
pDetailsis not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.
Notes:
See
UserStats.GetDownloadedLeaderboardEntry()βs example.
- UserStats.GetGlobalStatDouble(pchStatName)ο
π€ Auto-generated binding
- Parameters:
pchStatName (str?) β
- Returns:
(bool) Return value
- Returns:
(float)
pData- SteamWorks:
Signature differences from C++ API:
In C++, this is an overloaded method called
GetGlobalStat. luasteam exposes each overload as a distinct function with a type suffix.Parameter
pDatais not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.
Example:
local ok, total = Steam.UserStats.GetGlobalStatDouble('total_playtime_hours')
if ok then
print('Total playtime hours worldwide:', total)
end
- UserStats.GetGlobalStatHistoryDouble(pchStatName, cubData)ο
π€ Auto-generated binding
- Parameters:
pchStatName (str?) β
cubData (int?) β size of the buffer to allocate for
pData. Ifnilthen the buffer will beNULL.
- Returns:
(int) Return value
- Returns:
(float[])
pData- SteamWorks:
Signature differences from C++ API:
In C++, this is an overloaded method called
GetGlobalStatHistory. luasteam exposes each overload as a distinct function with a type suffix.Parameter
pDatais not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.
- UserStats.GetGlobalStatHistoryInt64(pchStatName, cubData)ο
π€ Auto-generated binding
- Parameters:
pchStatName (str?) β
cubData (int?) β size of the buffer to allocate for
pData. Ifnilthen the buffer will beNULL.
- Returns:
(int) Return value
- Returns:
(uint64[])
pData- SteamWorks:
Signature differences from C++ API:
In C++, this is an overloaded method called
GetGlobalStatHistory. luasteam exposes each overload as a distinct function with a type suffix.Parameter
pDatais not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.
- UserStats.GetGlobalStatInt64(pchStatName)ο
π€ Auto-generated binding
- Parameters:
pchStatName (str?) β
- Returns:
(bool) Return value
- Returns:
(uint64)
pData- SteamWorks:
Signature differences from C++ API:
In C++, this is an overloaded method called
GetGlobalStat. luasteam exposes each overload as a distinct function with a type suffix.Parameter
pDatais not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.
Example:
local ok, total = Steam.UserStats.GetGlobalStatInt64('total_kills')
if ok then
print('Total kills across all players:', total)
end
- UserStats.GetLeaderboardDisplayType(hSteamLeaderboard)ο
π€ Auto-generated binding
- Parameters:
hSteamLeaderboard (uint64 - SteamLeaderboard_t) β
- Returns:
(int - ELeaderboardDisplayType) Return value
- SteamWorks:
Notes:
See
UserStats.GetLeaderboardName()βs example.
- UserStats.GetLeaderboardEntryCount(hSteamLeaderboard)ο
π€ Auto-generated binding
- Parameters:
hSteamLeaderboard (uint64 - SteamLeaderboard_t) β
- Returns:
(int) Return value
- SteamWorks:
Notes:
See
UserStats.GetLeaderboardName()βs example.
- UserStats.GetLeaderboardName(hSteamLeaderboard)ο
π€ Auto-generated binding
- Parameters:
hSteamLeaderboard (uint64 - SteamLeaderboard_t) β
- Returns:
(str) Return value
- SteamWorks:
Example:
local function printLeaderboardInfo(handle)
print('Leaderboard name: ' .. Steam.UserStats.GetLeaderboardName(handle))
print('Entries: ' .. Steam.UserStats.GetLeaderboardEntryCount(handle))
print('Sort Method: ' .. Steam.UserStats.GetLeaderboardSortMethod(handle))
print('Display Type: ' .. Steam.UserStats.GetLeaderboardDisplayType(handle))
end
- UserStats.GetLeaderboardSortMethod(hSteamLeaderboard)ο
π€ Auto-generated binding
- Parameters:
hSteamLeaderboard (uint64 - SteamLeaderboard_t) β
- Returns:
(int - ELeaderboardSortMethod) Return value
- SteamWorks:
Notes:
See
UserStats.GetLeaderboardName()βs example.
- UserStats.GetMostAchievedAchievementInfo(unNameBufLen)ο
π€ Auto-generated binding
- Parameters:
unNameBufLen (int?) β size of the buffer to allocate for
pchName. Ifnilthen the buffer will beNULL.- Returns:
(int) Return value
- Returns:
(str)
pchName- Returns:
(float)
pflPercent- Returns:
(bool)
pbAchieved- SteamWorks:
Signature differences from C++ API:
Parameter
pchNameis not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.Parameter
pflPercentis not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.Parameter
pbAchievedis not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.
Example:
local iter, name, percent, achieved = Steam.UserStats.GetMostAchievedAchievementInfo(256)
while iter ~= -1 do
print(string.format('%s: %.1f%%', name, percent))
iter, name, percent, achieved = Steam.UserStats.GetNextMostAchievedAchievementInfo(iter, 256)
end
- UserStats.GetNextMostAchievedAchievementInfo(iIteratorPrevious, unNameBufLen)ο
π€ Auto-generated binding
- Parameters:
iIteratorPrevious (int) β
unNameBufLen (int?) β size of the buffer to allocate for
pchName. Ifnilthen the buffer will beNULL.
- Returns:
(int) Return value
- Returns:
(str)
pchName- Returns:
(float)
pflPercent- Returns:
(bool)
pbAchieved- SteamWorks:
Signature differences from C++ API:
Parameter
pchNameis not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.Parameter
pflPercentis not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.Parameter
pbAchievedis not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.
- UserStats.GetNumAchievements()ο
π€ Auto-generated binding
- Returns:
(int) Return value
- SteamWorks:
Example:
local count = Steam.UserStats.GetNumAchievements()
for i = 0, count - 1 do
local name = Steam.UserStats.GetAchievementName(i)
local ok, achieved = Steam.UserStats.GetAchievement(name)
print(name .. ': ' .. (achieved and 'unlocked' or 'locked'))
end
- UserStats.GetNumberOfCurrentPlayers(callback)ο
π€ Auto-generated binding
- Parameters:
callback (function) β CallResult callback receiving struct
NumberOfCurrentPlayers_tand a boolean- Returns:
(uint64)
SteamAPICall_thandle for this async call. The result is delivered via thecallbackparameter whenSteam.RunCallbacks()is called.- SteamWorks:
Example:
Steam.UserStats.GetNumberOfCurrentPlayers(function(data, err)
if not err and data.m_bSuccess ~= 0 then
print('Players online right now:', data.m_cPlayers)
end
end)
- UserStats.GetStatFloat(pchName)ο
π€ Auto-generated binding
- Parameters:
pchName (str?) β
- Returns:
(bool) Return value
- Returns:
(float)
pData- SteamWorks:
Signature differences from C++ API:
In C++, this is an overloaded method called
GetStat. luasteam exposes each overload as a distinct function with a type suffix.Parameter
pDatais not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.
Example:
local success, value = Steam.UserStats.GetStatFloat('accuracy')
if success then
print('Accuracy: ' .. value)
end
- UserStats.GetStatInt32(pchName)ο
π€ Auto-generated binding
- Parameters:
pchName (str?) β
- Returns:
(bool) Return value
- Returns:
(int)
pData- SteamWorks:
Signature differences from C++ API:
In C++, this is an overloaded method called
GetStat. luasteam exposes each overload as a distinct function with a type suffix.Parameter
pDatais not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.
Example:
local success, value = Steam.UserStats.GetStatInt32('kills')
if success then
print('Kills: ' .. value)
end
- UserStats.GetUserAchievement(steamIDUser, pchName)ο
π€ Auto-generated binding
- Parameters:
steamIDUser (uint64 - CSteamID) β
pchName (str?) β
- Returns:
(bool) Return value
- Returns:
(bool)
pbAchieved- SteamWorks:
Signature differences from C++ API:
Parameter
pbAchievedis not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.
Example:
local ok, achieved = Steam.UserStats.GetUserAchievement(playerSteamID, 'ach_name')
if ok then
print('Achievement status:', achieved)
end
- UserStats.GetUserAchievementAndUnlockTime(steamIDUser, pchName)ο
π€ Auto-generated binding
- Parameters:
steamIDUser (uint64 - CSteamID) β
pchName (str?) β
- Returns:
(bool) Return value
- Returns:
(bool)
pbAchieved- Returns:
(int)
punUnlockTime- SteamWorks:
Signature differences from C++ API:
Parameter
pbAchievedis not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.Parameter
punUnlockTimeis not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.
- UserStats.GetUserStatFloat(steamIDUser, pchName)ο
π€ Auto-generated binding
- Parameters:
steamIDUser (uint64 - CSteamID) β
pchName (str?) β
- Returns:
(bool) Return value
- Returns:
(float)
pData- SteamWorks:
Signature differences from C++ API:
In C++, this is an overloaded method called
GetUserStat. luasteam exposes each overload as a distinct function with a type suffix.Parameter
pDatais not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.
- UserStats.GetUserStatInt32(steamIDUser, pchName)ο
π€ Auto-generated binding
- Parameters:
steamIDUser (uint64 - CSteamID) β
pchName (str?) β
- Returns:
(bool) Return value
- Returns:
(int)
pData- SteamWorks:
Signature differences from C++ API:
In C++, this is an overloaded method called
GetUserStat. luasteam exposes each overload as a distinct function with a type suffix.Parameter
pDatais not a parameter in Lua β it is an output-only pointer in C++ and is returned as an additional return value.
Example:
local ok, value = Steam.UserStats.GetUserStatInt32(playerSteamID, 'kills')
if ok then
print('Player kills:', value)
end
- UserStats.IndicateAchievementProgress(pchName, nCurProgress, nMaxProgress)ο
π€ Auto-generated binding
- Parameters:
pchName (str?) β
nCurProgress (int) β
nMaxProgress (int) β
- Returns:
(bool) Return value
- SteamWorks:
Example:
-- Show progress notification without unlocking yet
Steam.UserStats.IndicateAchievementProgress('ach_kills', currentKills, 100)
- UserStats.RequestGlobalAchievementPercentages(callback)ο
π€ Auto-generated binding
- Parameters:
callback (function) β CallResult callback receiving struct
GlobalAchievementPercentagesReady_tand a boolean- Returns:
(uint64)
SteamAPICall_thandle for this async call. The result is delivered via thecallbackparameter whenSteam.RunCallbacks()is called.- SteamWorks:
Example:
Steam.UserStats.RequestGlobalAchievementPercentages(function(data, err)
if not err and data.m_eResult == Steam.k_EResultOK then
local ok, pct = Steam.UserStats.GetAchievementAchievedPercent('ach_name')
print('Worldwide unlock rate:', pct .. '%')
end
end)
- UserStats.RequestGlobalStats(nHistoryDays, callback)ο
π€ Auto-generated binding
- Parameters:
nHistoryDays (int) β
callback (function) β CallResult callback receiving struct
GlobalStatsReceived_tand a boolean
- Returns:
(uint64)
SteamAPICall_thandle for this async call. The result is delivered via thecallbackparameter whenSteam.RunCallbacks()is called.- SteamWorks:
Example:
Steam.UserStats.RequestGlobalStats(7, function(data, err)
if not err and data.m_eResult == Steam.k_EResultOK then
local ok, total = Steam.UserStats.GetGlobalStatInt64('total_kills')
print('Global kills (last 7 days):', total)
end
end)
- UserStats.RequestUserStats(steamIDUser, callback)ο
π€ Auto-generated binding
- Parameters:
steamIDUser (uint64 - CSteamID) β
callback (function) β CallResult callback receiving struct
UserStatsReceived_tand a boolean
- Returns:
(uint64)
SteamAPICall_thandle for this async call. The result is delivered via thecallbackparameter whenSteam.RunCallbacks()is called.- SteamWorks:
Example:
Steam.UserStats.RequestUserStats(playerSteamID, function(data, err)
if err or data.m_eResult ~= Steam.k_EResultOK then
print('Failed to get user stats')
return
end
local ok, kills = Steam.UserStats.GetUserStatInt32(playerSteamID, 'kills')
print('Player kills:', kills)
end)
- UserStats.ResetAllStats(bAchievementsToo)ο
π€ Auto-generated binding
- Parameters:
bAchievementsToo (bool) β
- Returns:
(bool) Return value
- SteamWorks:
Example:
if dev_mode and keypressed('f10') then
Steam.UserStats.ResetAllStats(true)
end
- UserStats.SetAchievement(pchName)ο
π€ Auto-generated binding
- Parameters:
pchName (str?) β The βAPI Nameβ of the achievement
- Returns:
(bool) Return value
- SteamWorks:
Unlocks an achievement. Call StoreStats() to persist.
Example:
if achievementConditionSatisfied() then
Steam.UserStats.SetAchievement('ach_name')
Steam.UserStats.StoreStats() -- shows overlay notification
end
- UserStats.SetStatFloat(pchName, fData)ο
π€ Auto-generated binding
- Parameters:
pchName (str?) β
fData (float) β
- Returns:
(bool) Return value
- SteamWorks:
Signature differences from C++ API:
In C++, this is an overloaded method called
SetStat. luasteam exposes each overload as a distinct function with a type suffix.
Example:
Steam.UserStats.SetStatFloat('accuracy', 0.75)
Steam.UserStats.StoreStats()
- UserStats.SetStatInt32(pchName, nData)ο
π€ Auto-generated binding
- Parameters:
pchName (str?) β
nData (int) β
- Returns:
(bool) Return value
- SteamWorks:
Signature differences from C++ API:
In C++, this is an overloaded method called
SetStat. luasteam exposes each overload as a distinct function with a type suffix.
Example:
Steam.UserStats.SetStatInt32('kills', 43)
Steam.UserStats.StoreStats()
- UserStats.StoreStats()ο
π€ Auto-generated binding
- Returns:
(bool) Return value
- SteamWorks:
Stores the current stats and achievements on the server. This will cause a callback when complete.
Example:
Steam.UserStats.SetStatInt32('kills', 100)
Steam.UserStats.StoreStats()
- UserStats.UpdateAvgRateStat(pchName, flCountThisSession, dSessionLength)ο
π€ Auto-generated binding
- Parameters:
pchName (str?) β
flCountThisSession (float) β
dSessionLength (float) β
- Returns:
(bool) Return value
- SteamWorks:
Example:
-- Track rolling average of score per session length
Steam.UserStats.UpdateAvgRateStat('avg_score_per_hour', sessionScore, sessionSeconds / 3600)
Steam.UserStats.StoreStats()
- UserStats.UploadLeaderboardScore(hSteamLeaderboard, eLeaderboardUploadScoreMethod, nScore, pScoreDetails, cScoreDetailsCount, callback)ο
π€ Auto-generated binding
- Parameters:
hSteamLeaderboard (uint64 - SteamLeaderboard_t) β
eLeaderboardUploadScoreMethod (int - ELeaderboardUploadScoreMethod) β
nScore (int) β
pScoreDetails (int[]?) β
cScoreDetailsCount (int) β size of the input array
pScoreDetailscallback (function) β CallResult callback receiving struct
LeaderboardScoreUploaded_tand a boolean
- Returns:
(uint64)
SteamAPICall_thandle for this async call. The result is delivered via thecallbackparameter whenSteam.RunCallbacks()is called.- SteamWorks:
Uploads a user score to a specified leaderboard.
Example:
local function uploadScoresHelper(handle)
local score = getScore()
local KeepBest = Steam.k_ELeaderboardUploadScoreMethodKeepBest
Steam.UserStats.UploadLeaderboardScore(handle, KeepBest, score, nil, 0, function(data, err)
if err or data.m_bSuccess == 0 then
print('Upload score failed')
else
print('Upload score success. New rank is: ' .. data.m_nGlobalRankNew)
end
end)
end
Callbacksο
- UserStats.OnUserStatsReceived()ο
Callback for UserStatsReceived_t
callback(data) receives:
data.m_nGameID (uint64)
data.m_eResult (int - EResult)
data.m_steamIDUser (uint64 - CSteamID)
Example:
function Steam.UserStats.OnUserStatsReceived(data)
if data.m_eResult == Steam.k_EResultOK then
print('Stats loaded for user:', tostring(data.m_steamIDUser))
end
end
- UserStats.OnUserStatsStored()ο
Callback for UserStatsStored_t
callback(data) receives:
data.m_nGameID (uint64)
data.m_eResult (int - EResult)
Example:
function Steam.UserStats.OnUserStatsStored(data)
if data.m_eResult == Steam.k_EResultOK then
print('Stats saved successfully')
else
print('Stats save failed:', data.m_eResult)
end
end
- UserStats.OnUserAchievementStored()ο
Callback for UserAchievementStored_t
callback(data) receives:
data.m_nGameID (uint64)
data.m_bGroupAchievement (bool)
data.m_rgchAchievementName (string)
data.m_nCurProgress (int)
data.m_nMaxProgress (int)
Example:
function Steam.UserStats.OnUserAchievementStored(data)
print('Achievement stored:', data.m_rgchAchievementName)
if data.m_nMaxProgress > 0 then
print(data.m_nCurProgress .. '/' .. data.m_nMaxProgress)
end
end
- UserStats.OnLeaderboardFindResult()ο
Callback for LeaderboardFindResult_t
callback(data) receives:
data.m_hSteamLeaderboard (uint64 - SteamLeaderboard_t)
data.m_bLeaderboardFound (int)
Example:
function Steam.UserStats.OnLeaderboardFindResult(data)
if data.m_bLeaderboardFound then
print('Leaderboard handle:', tostring(data.m_hSteamLeaderboard))
end
end
- UserStats.OnLeaderboardScoresDownloaded()ο
Callback for LeaderboardScoresDownloaded_t
callback(data) receives:
data.m_hSteamLeaderboard (uint64 - SteamLeaderboard_t)
data.m_hSteamLeaderboardEntries (uint64 - SteamLeaderboardEntries_t)
data.m_cEntryCount (int)
- UserStats.OnLeaderboardScoreUploaded()ο
Callback for LeaderboardScoreUploaded_t
callback(data) receives:
data.m_bSuccess (int)
data.m_hSteamLeaderboard (uint64 - SteamLeaderboard_t)
data.m_nScore (int)
data.m_bScoreChanged (int)
data.m_nGlobalRankNew (int)
data.m_nGlobalRankPrevious (int)
Example:
function Steam.UserStats.OnLeaderboardScoreUploaded(data)
if data.m_bSuccess ~= 0 then
print('New rank:', data.m_nGlobalRankNew)
end
end
- UserStats.OnNumberOfCurrentPlayers()ο
Callback for NumberOfCurrentPlayers_t
callback(data) receives:
data.m_bSuccess (int)
data.m_cPlayers (int)
- UserStats.OnUserStatsUnloaded()ο
Callback for UserStatsUnloaded_t
callback(data) receives:
data.m_steamIDUser (uint64 - CSteamID)
- UserStats.OnUserAchievementIconFetched()ο
Callback for UserAchievementIconFetched_t
callback(data) receives:
data.m_nGameID (uint64 - CGameID)
data.m_rgchAchievementName (string)
data.m_bAchieved (bool)
data.m_nIconHandle (int)
- UserStats.OnGlobalAchievementPercentagesReady()ο
Callback for GlobalAchievementPercentagesReady_t
callback(data) receives:
data.m_nGameID (uint64)
data.m_eResult (int - EResult)
Example:
function Steam.UserStats.OnGlobalAchievementPercentagesReady(data)
if data.m_eResult == Steam.k_EResultOK then
local ok, pct = Steam.UserStats.GetAchievementAchievedPercent('first_kill')
print('First kill achievement: ' .. pct .. '% of players')
end
end
- UserStats.OnLeaderboardUGCSet()ο
Callback for LeaderboardUGCSet_t
callback(data) receives:
data.m_eResult (int - EResult)
data.m_hSteamLeaderboard (uint64 - SteamLeaderboard_t)
- UserStats.OnGlobalStatsReceived()ο
Callback for GlobalStatsReceived_t
callback(data) receives:
data.m_nGameID (uint64)
data.m_eResult (int - EResult)
- UserStats.OnGSStatsUnloaded()ο
Callback for GSStatsUnloaded_t
callback(data) receives:
data.m_steamIDUser (uint64 - CSteamID)