类型 事件 修订 版本 2024.3703 关键词 steam, steamworks, 成就, achievementInfoUpdate 另请参阅 steamworks.addEventListener() steamworks.*
当当前登录用户的成就进度或解锁状态发生更改时,会发生此事件。它在成功调用 steamworks.setAchievementUnlocked() 或 steamworks.setAchievementProgress() 函数后分派。
您可以通过 steamworks.addEventListener() 函数向插件添加监听器 来接收这些事件。
local steamworks = require( "plugin.steamworks" )
-- Called when an achievement's progress or unlock status has changed
local function onAchievementInfoUpdated( event )
-- Fetch information about the achievement that has changed status
local achievementInfo = steamworks.getAchievementInfo( event.achievementName )
-- Print the achievement's current progress to the log
print( "Achievement Progress Updated" )
print( " Localized Name: " .. achievementInfo.localizedName )
print( " Localized Description: " .. achievementInfo.localizedDescription )
print( " Is Unlocked: " .. tostring(achievementInfo.unlocked) )
-- Print progress to the log
-- This is only relevant if "steamworks.setAchievementProgress()" was called
if ( event.currentProgress ) then
local percentProgress = ( event.currentProgress / event.maxProgress ) * 100
print( " Progress: " .. tostring(percentProgress) .. "%" )
end
end
-- Set up a listener to be invoked when achievement status has changed
steamworks.addEventListener( "achievementInfoUpdate", onAchievementInfoUpdated )