> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XblAchievementsManagerUpdateAchievement

> XblAchievementsManagerUpdateAchievement

# XblAchievementsManagerUpdateAchievement

Permite actualizar el progreso de los logros y desbloquear logros.

## Sintaxis

```cpp theme={null}
HRESULT XblAchievementsManagerUpdateAchievement(  
         uint64_t xboxUserId,  
         const char* achievementId,  
         uint8_t currentProgess  
)  
```

### Parámetros

*xboxUserId*   \_In\_\
Tipo: uint64\_t

El identificador de usuario de XBOX del jugador.

*achievementId*   \_In\_\
Tipo: char\*

El identificador del logro codificado en UTF-8 tal como se define en el Centro de desarrollo.

*currentProgess*   \_In\_\
Tipo: uint8\_t

El porcentaje de finalización del logro para indicar el progreso. Los valores válidos van de 1 a 100. Establézcalo en 100 para desbloquear el logro. El servidor establecerá el progreso en el valor más alto enviado.

### Valor devuelto

Tipo: HRESULT

Código de retorno HRESULT de esta operación de API.

## Comentarios

Suponiendo que el administrador de logros se haya inicializado correctamente con [XblAchievementsManagerAddLocalUser](/reference/live/xsapi-c/achievements_manager_c/functions/xblachievementsmanageraddlocaluser), esta API funcionará incluso sin conexión en PC y en consolas XBOX. El sistema publicará las actualizaciones sin conexión cuando se restablezca la conexión, incluso si el título no se está ejecutando. El resultado de la operación no se representará localmente de inmediato. Lo más pronto que se reflejará la actualización será después de la llamada a DoWork del siguiente fotograma. Una vez que se refleje el cambio, la matriz devuelta por DoWork contendrá un [XblAchievementsManagerEvent](/reference/live/xsapi-c/achievements_manager_c/structs/xblachievementsmanagerevent) con un tipo de evento AchievementProgressUpdated y, posiblemente, un evento adicional de tipo AchievementUnlocked si el nuevo progreso desbloqueó el logro. Si el logro ya se ha desbloqueado o el valor de progreso es menor o igual que el almacenado en caché desde el servidor, esta función devolverá E\_NOT\_VALID\_STATE o E\_INVALIDARG respectivamente. Solo los logros basados en el título se pueden actualizar con esta función. Los logros basados en eventos no se pueden actualizar con esta función.

## Llamada REST

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

## Requisitos

**Encabezado:** achievements\_manager\_c.h

**Biblioteca:** Microsoft.Xbox.Services.14x.GDK.C.lib

## Consulte también

[achievements\_manager\_c](/reference/live/xsapi-c/achievements_manager_c/achievements_manager_c_members)


## Related topics

- [Información general sobre la API XBOX Achievements Manager](/es/services/xbox-services/player-data/achievements/achievements-manager/live-achievements-manager-overview.md)
- [XblAchievementsManagerAddLocalUser](/es/reference/live/xsapi-c/achievements_manager_c/functions/xblachievementsmanageraddlocaluser.md)
- [XblAchievementsUpdateAchievementAsync](/es/reference/live/xsapi-c/achievements_c/functions/xblachievementsupdateachievementasync.md)
- [XblAchievementsManagerGetAchievements](/es/reference/live/xsapi-c/achievements_manager_c/functions/xblachievementsmanagergetachievements.md)
- [XblAchievementsManagerGetAchievement](/es/reference/live/xsapi-c/achievements_manager_c/functions/xblachievementsmanagergetachievement.md)
