> ## 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.

# Cenários para criar conquistas baseadas em eventos

> Padrões comuns para conquistas do XBOX Live baseadas em eventos, abrangendo lógica AND/OR, ações repetidas, coleções, recordes pessoais e sinalizadores booleanos.

Este tópico descreve alguns cenários comuns para criar conquistas.

<Note>Este tópico se aplica se você usa atualmente conquistas baseadas em eventos (Achievements 2013) e deseja continuar usando a progressão entre plataformas. Caso contrário, recomendamos usar [conquistas gerenciadas pelo título](/pt-BR/services/xbox-services/player-data/achievements/title-managed/live-achievements-tm-overview).</Note>

* [Lógica AND/OR para várias condições](#scenario-1)
* [Ações repetidas](#scenario-2)
* [Coleção de ações](#scenario-3)
* [Recorde pessoal](#scenario-4)
* [Valor binário que indica condições atendidas](#scenario-5)

<a id="scenario-1" />

## Lógica AND/OR para várias condições

Há dois cenários AND comuns para conquistas: AND síncrono e AND assíncrono.

### AND assíncrono

A lógica AND assíncrona define uma conquista que é desbloqueada quando todas as regras da conquista são atendidas. O usuário pode cumprir cada regra independentemente das outras, em momentos diferentes.

Um exemplo desse tipo de conquista é "Mate 10 zumbis e 20 fantasmas". Para definir essa conquista, configure várias regras de conquista, conforme mostrado na tabela a seguir.

| Campo | Valor |
| - | - |
| **Nome da regra nº 1** | **Matar 10 zumbis** |
| Estatísticas | Kills.EnemyType.Zombie |
| Ação | SUM |
| Limite | 10 |
| **Nome da regra nº 2** | **Matar 20 fantasmas** |
| Estatísticas | Kills.EnemyType.Ghost |
| Ação | SUM |
| Limite | 20 |

### AND síncrono

A lógica AND síncrona define uma conquista que é desbloqueada quando todas as regras da conquista são atendidas, sendo que o usuário deve cumprir cada critério simultaneamente. Um exemplo desse tipo de conquista é "Mate 10 zumbis com um taco enquanto joga como Johnny".

Uma regra AND síncrona não pode ser definida simplesmente por várias regras de conquista que capturam cada critério separadamente. Isso não funciona como necessário porque cada regra de conquista pode ser atendida de forma independente. A conquista do exemplo seria desbloqueada incorretamente se um usuário fizesse o seguinte:

* Segunda-feira: jogar como Johnny e não matar ninguém.
* Terça-feira: jogar como Sam e matar 10 zumbis.
* Sexta-feira: jogar como Tim e matar cinco esqueletos usando um taco.

Para definir uma conquista como essa, você deve definir uma regra de estatística que abranja cada critério. Somente os eventos contêm o contexto completo da atividade de um usuário, porque expressam exatamente o que acontece em um jogo em um determinado momento. As estatísticas herdam dos eventos, e as conquistas herdam das estatísticas. Você deve definir os critérios da conquista como uma estatística para manter qualquer contexto pertinente à conquista. A conquista só é desbloqueada quando o limite é atingido por meio da instância de estatística específica que contém os valores exatos de que você precisa. A configuração a seguir define a conquista do exemplo.

| Campo | Valor |
| - | - |
| **Nome da regra nº 1** | Matar 10 zumbis com um taco enquanto joga como Johnny |
| Estatísticas | Kills.EnemyType.Zombie.WeaponType.Bat.PlayerCharacter.Johnny |
| Ação | SUM |
| Limite | 10 |

### Lógica OR para conquistas

O cenário OR mais comum para conquistas é descrever um objetivo específico como um conjunto de meios possíveis diferentes, enumerados explicitamente. A conquista pode ser desbloqueada desta forma OU daquela forma.

Você não pode implementar esse cenário definindo várias regras de conquista, uma para cada objetivo. Várias regras em uma conquista atuam como um AND lógico, portanto cada regra deve ser atendida para que a conquista seja desbloqueada. Usar uma regra de conquista para "terminar uma corrida em menos de três minutos na Pista A" e uma segunda regra de conquista para "dirigir 1.000 milhas na Pista B" resulta em uma conquista que só é desbloqueada quando o usuário cumpre ambos os objetivos.

Em vez disso, para definir uma conquista com lógica OR, você deve configurar uma única regra de conquista baseada em várias instâncias de estatística, em que cada instância de estatística acompanha um meio aceitável.

#### Usando uma regra MIN ou MAX

Um exemplo desse caso é "Termine uma corrida em menos de três minutos na Pista A, na Pista B ou na Pista F". A configuração da conquista para isso é mostrada na tabela a seguir.

| Campo | Valor |
| - | - |
| **Nome da regra nº 1** | Terminar a corrida em menos de três minutos na pista A, B ou F |
| Estatística(s) | FinishTimeInSeconds.TrackId.A |

FinishTimeInSeconds.TrackId.B

FinishTimeInSeconds.TrackId.F
Ação | MIN
Limite | 180

Como essa regra de conquista usa uma ação de regra MIN, a conquista é desbloqueada quando qualquer uma das instâncias de estatística listadas atende ao limite. Por exemplo, se `FinishTimeInSeconds.TrackId.A is 220`, `FinishTimeInSeconds.TrackId.B is 163` e `FinishTimeInSeconds.TrackId.F` for 199, a conquista será desbloqueada porque o usuário teve um tempo de chegada na Pista B que superou o limite.

#### Usando uma regra SUM

Um exemplo desse caso é "Dirija 1.000 milhas acumuladas na Pista A, na Pista B ou na Pista F". A configuração da conquista para isso é mostrada na tabela a seguir.

| Campo | Valor |
| - | - |
| **Nome da regra nº 1** | Dirigir mais de 1.000 milhas nas pistas A, B ou F |
| Estatísticas | MilesDriven.TrackId.A |

MilesDriven.TrackId.B

MilesDriven.TrackId.F
Ação | SUM
Limite | 1000

Como essa regra de conquista usa uma ação de regra SUM, a conquista é desbloqueada quando a combinação agregada das instâncias de estatística listadas atende ao limite. Por exemplo, se `MilesDriven.TrackId.A is 900`, `MilesDriven.TrackId.B is 115` e `MilesDriven.TrackId.F is 0`, a conquista será desbloqueada porque o total agregado do usuário nas três estatísticas superou o limite.

#### Alcançar este objetivo OU aquele objetivo

Um cenário de conquista sem suporte é exigir que o usuário realize um entre alguns objetivos diferentes. Por exemplo: "Termine uma corrida em menos de 3 minutos na Pista A OU dirija 1000 milhas na Pista B".

Esse cenário de conquista não tem suporte atualmente na lógica de conquistas. Você não pode fazer isso definindo várias regras de conquista, uma para cada objetivo. Várias regras em uma conquista atuam como um AND lógico, portanto cada regra deve ser atendida para que a conquista seja desbloqueada. Usar uma regra de conquista para "terminar uma corrida em menos de três minutos na Pista A" e uma segunda regra de conquista para "dirigir 1.000 milhas na Pista B" resultará em uma conquista que só é desbloqueada quando o usuário cumpre ambas as regras.

<a id="scenario-2" />

## Ações repetidas

Use este padrão para definir uma conquista que exige que um usuário repita uma ação mais de uma vez.

### Exemplo 1: Vencer 50 partidas multijogador

| Campo | Valor |
| - | - |
| **Nome da regra** | Vencer 50 partidas multijogador |
| Estatísticas | MatchesCompleted.Result.1.Mode.Multiplayer |
| Ação | SUM |
| Limite | 50 |

### Exemplo 2: Enviar 10 vídeos e avaliar 100 vídeos

| Campo | Valor |
| - | - |
| **Nome da regra nº 1** | **Enviar 10 vídeos** |
| Estatísticas | VideosUploaded |
| Ação | SUM |
| Limite | 10 |
| **Nome da regra nº 2** | **Avaliar 100 vídeos** |
| Estatísticas | VideosRated |
| Ação | SUM |
| Limite | 100 |

Para obter mais informações sobre como criar estatísticas de usuário, veja [Usando contadores para valores cumulativos](/pt-BR/services/xbox-services/player-data/stats-leaderboards/event-based/config/live-user-stats-scenarios#ucfcv).

<a id="scenario-3" />

## Coleção de ações

### Objetivo: Encontrar X de Y itens

Use este padrão para definir uma conquista que exige que um usuário realize uma ação em todos os membros (ou em um subconjunto deles) de um conjunto específico.

### Exemplo 1: Concluir todas as fases na dificuldade Hardcore

| Campo | Valor |
| - | - |
| **Nome da regra nº 1** | **Concluir a fase 1 no Hardcore** |
| Estatísticas | LevelCompleted.Mode.3.LevelId.1 |
| Ação | SUM |
| Limite | 1 |
| **Nome da regra nº 2** | **Concluir a fase 2 no Hardcore** |
| Estatísticas | LevelCompleted.Mode.3.LevelId.2 |
| Ação | SUM |
| Limite | 1 |
| **Nome da regra nº 3** | **Concluir a fase 3 no Hardcore** |
| Estatísticas | LevelCompleted.Mode.3.LevelId.3 |
| Ação | SUM |
| Limite | 1 |

### Exemplo 2: Terminar qualquer uma das pistas da Europa em menos de três minutos

Essa conquista pode ser definida como o mínimo dos tempos de chegada de pistas individuais ou usando o melhor tempo de chegada de um conjunto de pistas. Use um dos métodos a seguir, mas não ambos.

#### Método 1

| Campo | Valor |
| - | - |
| **Nome da regra** | Terminar qualquer pista da Europa em menos de três minutos |
| Estatísticas | LastFinishTimeInSeconds.TrackId.21 |

LastFinishTimeInSeconds.TrackId.22

LastFinishTimeInSeconds.TrackId.23

LastFinishTimeInSeconds.TrackId.24

LastFinishTimeInSeconds.TrackId.25

LastFinishTimeInSeconds.TrackId.26
Ação | MIN
Limite | 180

#### Método 2

| Campo | Valor |
| - | - |
| **Nome da regra** | Terminar qualquer pista da Europa em menos de três minutos |
| Estatísticas | BestFinishTimeInSeconds.TrackSet.Europe |
| Ação | MIN |
| Limite | 180 |

Para criar a estatística de usuário associada, veja [Acompanhando o mais recente](/pt-BR/services/xbox-services/player-data/stats-leaderboards/event-based/config/live-user-stats-scenarios#ttmr) e [Acompanhando um recorde pessoal](/pt-BR/services/xbox-services/player-data/stats-leaderboards/event-based/config/live-user-stats-scenarios#tapb).

<a id="scenario-4" />

## Recorde pessoal

Use este padrão para definir uma conquista que exige que um usuário supere a meta em uma única sessão ou partida completa. Essa conquista não pode ser alcançada por meio de esforço agregado, como várias tentativas.

#### Exemplo 1: Concluir o jogo com cinco mortes ou menos

| Campo | Valor |
| - | - |
| **Nome da regra** | Concluir o jogo com cinco mortes ou menos |
| Estatísticas | PlaythroughDeaths.GameResultId.1 |
| Ação | MIN |
| Limite | 5 |

#### Exemplo 2: Vencer uma partida tendo marcado pelo menos 50 pontos como Lebron James

| Campo | Valor |
| - | - |
| **Nome da regra** | Vencer a partida E jogar como Lebron E marcar pelo menos 50 pontos |
| Estatísticas | BestScore.PlayerId.3056.MatchResultId.1 |
| Ação | SUM |
| Limite | 10 |

<a id="scenario-5" />

## Valor binário que indica condições atendidas

Use este padrão para definir uma conquista que exige que um usuário realize uma atividade complexa que não pode ser acompanhada facilmente pelas estatísticas dos serviços XBOX ou que não tem suporte em outras opções de configuração de conquistas dos serviços XBOX.

### Exemplo: Conseguir 90 abates com espingarda ou 10 abates com rifle de precisão

| Campo | Valor |
| - | - |
| **Nome da regra** | 90 abates com espingarda OU 10 abates com rifle de precisão |
| Estatísticas | AchievementUnlocked.UnlockId.9010 |
| Ação | SUM |
| Limite | 1 |

<Info>Essa configuração de conquista não acompanha abates com espingarda nem abates com rifle de precisão. Ela apenas registra o fato de que uma dessas duas condições foi atendida. A conquista deve ser definida pelo título porque esse cenário não tem suporte na plataforma de dados.</Info>


## Related topics

- [Conceitos de conquistas baseadas em eventos](/pt-BR/services/xbox-services/player-data/achievements/event-based/concepts/live-achievements-eb-concepts-nav.md)
- [Conceitos](/pt-BR/services/xbox-services/player-data/achievements/event-based/concepts/index.md)
- [Conquistas baseadas em eventos](/pt-BR/services/xbox-services/player-data/achievements/event-based/live-achievements-eb-nav.md)
- [Configuração no portal de conquistas baseadas em eventos](/pt-BR/services/xbox-services/player-data/achievements/event-based/config/live-achievements-eb-portal.md)
- [Primeiros passos com estatísticas baseadas em eventos](/pt-BR/services/xbox-services/player-data/stats-leaderboards/event-based/config/live-stats-first-glance.md)
