次の方法で共有


XblAchievementsManagerUpdateAchievement

実績の進行状況の更新と実績のロック解除を許可します。

構文

HRESULT XblAchievementsManagerUpdateAchievement(  
         uint64_t xboxUserId,  
         const char* achievementId,  
         uint8_t currentProgess  
)  

パラメーター

xboxUserId _In_
型: uint64_t

プレイヤーの Xbox ユーザー ID。

achievementId _In_
型: char*

開発センターで定義されている UTF-8 エンコードされた実績 ID。

currentProgess _In_
型: uint8_t

進行状況を示す、実績の完了パーセント値。 有効な値は 1 ~ 100 です。 実績をロック解除するには、100 に設定します。 進行状況は、サーバーによって送信された最大値に設定されます。

戻り値

型: HRESULT

この API 操作の HRESULT 結果コード。

解説

この API は、PC と Xbox でオフラインの場合でも動作します。 タイトルが実行されていない場合でも、接続が再確立されると、システムによってオフラインの更新プログラムが送信されます。 この操作の結果はただちにローカルには表示されません。 最も早く反映される更新プログラムは、次のフレームの DoWork 呼び出しの後になります。 変更が反映されると、DoWork によって返される配列には、[AchievementProgressUpdated] のイベントの種類を持つ [XblAchievementsManagerEvent]が含まれ、新しい進捗状況によってアチーブメントのロックが解除された場合は、型 [AchievementUnlocked] の追加イベントが発生する可能性があります。 アチーブメントが既にロック解除されている場合、または [進捗] 値がサーバーからキャッシュされている値以下の場合、この関数はそれぞれ[E_NOT_VALID_STATE または E_INVALIDARG] を返します。 この関数では、タイトル ベースのアチーブメントのみを更新できます。 この関数では、イベント ベースのアチーブメントを更新できません。

REST 呼び出し

V2 POST /users/xuid({xuid})/achievements/{scid}/update

要件

ヘッダー: achievements_manager_c.h

ライブラリ: Microsoft.Xbox.Services.14x.GDK.C.lib

関連項目

achievements_manager_c