跳轉到主要內容

XblAchievementsManagerUpdateAchievement

允許更新成就進度及解除鎖定成就。

語法

參數

xboxUserId   _In_
類型:uint64_t
玩家的 XBOX 使用者識別碼。 achievementId   _In_
類型:char*
Dev Center 所定義的 UTF-8 編碼成就識別碼。 currentProgess   _In_
類型:uint8_t
表示進度的成就完成百分比。有效值為 1 到 100。設定為 100 即可解除鎖定成就。伺服器會將進度設定為所傳送的最高值。

傳回值

類型:HRESULT 此 API 作業的 HRESULT 傳回碼。

備註

假設已使用 XblAchievementsManagerAddLocalUser 成功初始化 Achievements Manager,即使在 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年10月6日