类型 函数 返回值 布尔值 修订 版本 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 )