类型 事件 修订版 发行版 2024.3703 关键词 steam、steamworks、userInfoUpdate 另请参见 steamworks.addEventListener() steamworks.*
当某个用户的相关信息发生改变时,会触发此事件。此事件还会提供标志,表示此用户的哪些信息在游戏进行期间发生改变。
在调用 steamworks.requestLeaderboardEntries() 函数时,Steam 会自动获取用户信息并针对每个请求的条目派发这些事件。通过这种方式,你可以立即通过调用 steamworks.getUserInfo() 函数来获取每个排行榜条目的用户信息。
此外,如果你调用 steamworks.getUserInfo() 函数但它返回 nil
,Steam 将自动异步获取该用户的相关信息(假设它给定了一个有效的用户 ID),并在相关信息可用时派发此事件。收到此事件后,你可以再次调用 steamworks.getUserInfo() 函数来获取该用户的信息。
你可以通过 steamworks.addEventListener() 函数向插件添加 侦听器 来接收这些事件。
local steamworks = require( "plugin.steamworks" ) -- Called when info about one user has been received or changed local function onUserInfoUpdated( event ) -- Print information about the user local userInfo = steamworks.getUserInfo( event.userSteamId ) if ( userInfo ) then print( "User Name: " .. userInfo.name ) print( "User Nickname: " .. userInfo.nickname ) print( "Steam Level: " .. tostring(userInfo.steamLevel) ) print( "Status: " .. userInfo.status ) print( "Relationship: " .. userInfo.relationship ) end -- Print which aspects of the user info has changed print( "Has Name Changed: " .. tostring(event.nameChanged) ) print( "Has Nickname Changed: " .. tostring(event.nicknameChanged) ) print( "Has Steam Level Changed: " .. tostring(event.steamLevelChanged) ) print( "Has Status Changed: " .. tostring(event.statusChanged) ) print( "Has Relationship Changed: " .. tostring(event.relationshipChanged) ) print( "Has Facebook Info Changed: " .. tostring(event.facebookInfoChanged) ) print( "Has Small Avatar Changed: " .. tostring(event.smallAvatarChanged) ) print( "Has Medium Avatar Changed: " .. tostring(event.mediumAvatarChanged) ) print( "Has Large Avatar Changed: " .. tostring(event.largeAvatarChanged) ) end -- Set up a listener to be invoked when user info has been received or changed steamworks.addEventListener( "userInfoUpdate", onUserInfoUpdated )