Skip to main content

XblAchievementsManagerUpdateAchievement

允许更新成就进度并解锁成就。

语法

参数

xboxUserId   _In_
类型:uint64_t
玩家的 XBOX 用户 ID。 achievementId   _In_
类型:char*
由开发人员中心定义的 UTF-8 编码的成就 ID。 currentProgess   _In_
类型:uint8_t
用于指示进度的成就完成百分比。有效值为 1 到 100。设置为 100 可解锁成就。服务端会将进度设置为所发送值中的最大值。

返回值

类型:HRESULT 此 API 操作的 HRESULT 返回代码。

备注

在使用 XblAchievementsManagerAddLocalUser 成功初始化成就管理器之后,即使在 PC 和 XBOX 主机上离线时,此 API 也能正常工作。即使标题未在运行,系统也会在重新建立连接时发布离线更新。操作的结果不会立即在本地反映出来。该更改最快会在下一帧调用 DoWork 之后反映出来。一旦反映出来,DoWork 返回的数组中将包含一个事件类型为 AchievementProgressUpdated 的 XblAchievementsManagerEvent;如果新进度导致成就解锁,则可能还会附加一个事件类型为 AchievementUnlocked 的事件。如果成就已经解锁,或进度值小于或等于从服务端缓存的值,则此函数将分别返回 E_NOT_VALID_STATE 或 E_INVALIDARG。此函数只能更新基于标题的成就。基于事件的成就无法使用此函数进行更新。

REST 调用

V2 POST /users/xuid()/achievements//update

要求

头文件: achievements_manager_c.h 库: Microsoft.Xbox.Services.14x.GDK.C.lib

另请参阅

achievements_manager_c
最后修改于 2026年8月24日