类型 函数 返回值 数字 版本 版本 2024.3703 关键词 steam, steamworks, getUserStatValue 另请参阅 steamworks.setUserStatValues() steamworks.requestUserProgress() steamworks.*
从用户获取一个数值统计值。请注意,统计数据在 Steamworks 网站的“统计与成就”部分下定义。统计数据用于存储开发者定义的用户游戏统计信息,例如已玩游戏数、获胜游戏数、失败游戏数等。
当从其他用户获取统计信息时,必须先使用该用户的 ID 调用 steamworks.requestUserProgress() 函数,并等待 userProgressUpdate 事件成功返回。
在以下情况下,此函数将返回 nil
steamworks.getUserStatValue( params )
表。 包含统计参数的表 — 有关详细信息,请参阅下一节。
params 表可以包含以下内容
字符串。 在 Steamworks 网站上,这是在“API 名称”列下设置的统计信息的唯一名称。
字符串。 指示要获取的统计值的类型。必须设置为 "int"、"float" 或 "averageRate"。在 Steamworks 网站上,这必须与“类型”列下设置的值类型匹配,否则 Steam 将无法获取统计值。
字符串。 用户的唯一字符串 ID。如果未提供此参数,则 ID 将默认为当前用户。
local steamworks = require( "plugin.steamworks" ) -- Called when user achievement/stat data has been received local function onUserProgressUpdated( event ) -- Do not continue if fetching user progression data failed if ( event.isError ) then return end -- We're only interested in the currently logged in user's stats (ignore info from other users) if ( event.userSteamId ~= steamworks.userSteamId ) then return end -- Fetch a stat from the currently logged in user local params = { statName = "Games Played", type = "int", } local statValue = steamworks.getUserStatValue( params ) -- If the value is "nil", this stat has not yet been set for this user -- This is typically the case for new players if ( statValue == nil ) then statValue = 0 end -- Print the stat value to the log print( "Games Played: " .. tostring(statValue) ) end -- Set up a listener to be invoked when achievement and stat data has been updated steamworks.addEventListener( "userProgressUpdate", onUserProgressUpdated )