类型 函数 返回值 布尔值 修订 版本 2024.3703 关键词 steam, steamworks, requestUserProgress 另请参阅 steamworks.getAchievementInfo() steamworks.getUserStatValue() userProgressUpdate steamworks.*
从 Steam 服务器异步获取一位用户的游戏进度数据,例如成就和统计数据。如果userProgressUpdate事件的isError属性设置为false
,表示请求成功,则steamworks.getAchievementInfo()和steamworks.getUserStatValue()函数将提供该用户的更新进度数据。
如果请求已成功发送到 Steam,则返回true
。请注意,这并不一定意味着请求的操作将会成功。例如,如果没有互联网连接,此函数仍将返回true
。因此,监听器必须检查userProgressUpdate事件的isError属性,如上所述。
如果给定无效参数或steamworks.isLoggedOn属性也为false
,则返回false
。
Steam 插件会在应用启动时自动获取当前登录用户的进度数据。因此,您通常不会在游戏过程中为此用户调用此函数来
如果网络不可用,Steam 可能需要超过 1 分钟才能超时并分派userProgressUpdate事件。
steamworks.requestUserProgress( [userSteamId] )
字符串。用户的唯一字符串 ID。如果未提供此参数,则 ID 将默认为当前用户。
local steamworks = require( "plugin.steamworks" ) -- Set the user ID of the friend to fetch progression data from local friendSteamId = "FRIEND_ID" -- Called when user achievement/stat data has been received local function onUserProgressUpdated( event ) if ( event.isError ) then -- Failed to receive updated progression data else -- User progression was successfully loaded -- You might want to reload achievement and stat data for user here if ( event.userSteamId == steamworks.userSteamId ) then -- The currently logged in user's progression data has been updated elseif ( event.userSteamId == friendSteamId ) then -- The friend's progression data has been updated end end end -- Set up a listener to be invoked when achievement and stat data has been updated steamworks.addEventListener( "userProgressUpdate", onUserProgressUpdated ) -- Fetch the achievement and stat data from another user steamworks.requestUserProgress( friendSteamId )