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