> ## 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 de estatísticas de usuário

> Cenários comuns de estatísticas de usuário do XBOX Live para estatísticas baseadas em eventos, incluindo sinalizadores Boolean, contadores cumulativos, recordes pessoais e valores mais recentes.

<a id="top" />

Este tópico aborda os seguintes cenários comuns para criar estatísticas de usuário quando você usa estatísticas baseadas em eventos.

* [Usar valores Boolean para condições](#ubvfc)

* [Usar contadores para valores cumulativos](#ucfcv)

* [Acompanhar um recorde pessoal](#tapb)

* [Acompanhar o mais recente](#ttmr)

<a id="ubvfc" />

## Usar valores Boolean para condições

### Objetivo: acompanhar se uma condição específica foi atendida

Use este padrão quando quiser sinalizar se o usuário atendeu a uma condição específica na lógica do jogo.

### Casos de uso

* Sinalizar se o personagem do usuário morreu em uma fase específica

* Sinalizar se o usuário desbloqueou cada colecionável específico

* Sinalizar se o usuário está jogando atualmente na dificuldade hardcore

* Sinalizar se o usuário atendeu às cinco condições para desbloquear uma conquista complexa

### Exemplo: sinalizar se o usuário conseguiu 90 abates usando a espingarda ou 10 abates usando o rifle de precisão

| Campo | Valor |
| - | - |
| Nome do evento | `AchievementUnlocked` |
| Campos do evento | `UnlockId` (Tipo de dados: Int32) |
| Nome do modelo de estatística | `AchievementUnlocked.UnlockId` |
| Operador | `REPLACE` |
| Parâmetro | 1 |
| Acesso | `Open` |

### Regras

Aplique o operador `REPLACE` com um valor literal "1" se o sinalizador precisar ser lido como `TRUE`.

Aplique o operador `SUM` com um valor literal "1" se o sinalizador precisar ser igual ou maior que 1 para disparar a lógica do jogo.

### Cuidados

Se necessário, inicialize ou redefina o valor das estatísticas Boolean com `REPLACE`. Caso contrário, o valor definido mais recentemente será mantido.

Em alguns casos, é conveniente definir um evento que permita redefinir uma estatística Boolean como `FALSE`. Nesses casos, use uma operação `REPLACE` com um valor literal "0".

[Voltar ao início deste tópico.](#top)

<a id="ucfcv" />

## Usar contadores para valores cumulativos

### Objetivo: incrementar (ou decrementar) um valor cumulativo de todos os tempos do usuário em uma métrica específica

Use este padrão quando quiser incrementar o valor da estatística por uma quantidade fixa ou variável cada vez que o evento for processado.

### Casos de uso

* Nível do jogador

* Total de abates

* Número de vídeos carregados

* Número de vezes que o usuário jogou em cada mapa

* Distância cumulativa percorrida com cada tipo de veículo

* Número atual de itens no inventário

### Exemplo: contador de partidas multijogador vencidas

| Campo | Valor |
| - | - |
| Nome do evento | `MatchCompleted` |
| Campo do evento 1 | `Result` (Tipo de dados: Int32) |
| Campo do evento 2 | `Mode` (Tipo de dados: string Unicode) |
| Nome do modelo de estatística | `MatchesCompleted.Result.Mode` |
| Operador | `SUM` |
| Parâmetro | 1 |
| Acesso | `Open` |

### Regras

Aplique o operador `SUM` ao campo de evento correspondente ou especifique um valor constante fixo como parâmetro.

Para decrementar o valor da estatística, use um valor negativo como parâmetro, seja como uma constante fixa ou como um valor de tempo de execução no campo do evento.

### Cuidados

Não use valores "literais" do tipo de dados string como parâmetros com o operador `SUM`.

Não aplique o operador `SUM` a um campo de evento do tipo de dados string.

Se você tiver vários eventos atualizando a mesma estatística, verifique se todas as regras de estatística que atualizam essa estatística usam o mesmo operador.

[Voltar ao início deste tópico.](#top)

<a id="tapb" />

## Acompanhar um recorde pessoal

### Objetivo: acompanhar a "melhor" pontuação de todos os tempos do usuário em uma métrica específica

Use este padrão quando quiser manter o maior (`MAX`) ou o menor (`MIN`) registro do usuário. Descarte todos os valores que não melhoram o registro do usuário.

### Casos de uso

* Maior sequência de abates

* Menor número de mortes em uma rodada multijogador

* Tempo mais rápido para concluir cada pista de corrida

* Tacada mais longa em cada buraco de qualquer campo de golfe

### Exemplo: tempo mais rápido para concluir qualquer pista do conjunto Europa

| Campo | Valor |
| - | - |
| Nome do evento | `TrackCompleted` |
| Campo do evento 1 | `TrackSet` (Tipo de dados: string Unicode) |
| Campo do evento 2 | `TimeInSeconds` (Tipo de dados: Int32) |
| Nome do modelo de estatística | `BestFinishTimeInSeconds.TrackSet` |
| Operador | `MIN` |
| Parâmetro | `TimeInSeconds` |
| Acesso | `Open` |

### Regras

Aplique o operador `MAX` ou `MIN` ao campo de evento correspondente.

### Cuidados

Não use valores "literais" como parâmetros com o operador `MAX` ou `MIN`.

Não aplique o operador `MAX` ou `MIN` a um campo de evento do tipo de dados string.

Se você tiver vários eventos atualizando a mesma estatística, verifique se todas as regras de estatística que atualizam essa estatística usam o mesmo operador.

[Voltar ao início deste tópico.](#top)

<a id="ttmr" />

## Acompanhar o mais recente

### Objetivo: acompanhar a pontuação mais recente registrada pelo usuário em uma métrica específica

Use este padrão quando quiser manter o registro mais recente do usuário, independentemente de o valor melhorar ou não o melhor registro do usuário.

### Casos de uso

* Dificuldade atual

* Número de mortes na rodada multijogador atual

* Velocidade máxima na corrida mais recente em cada pista

* Sinalizador Boolean para taco de golfe premium equipado no momento

### Exemplo: tempo de conclusão mais recente em qualquer pista

| Campo | Valor |
| - | - |
| Nome do evento | `TrackCompleted` |
| Campo do evento 1 | `TrackId` (Tipo de dados: Int32) |
| Campo do evento 2 | `TimeInSeconds` (Tipo de dados: Int32) |
| Nome do modelo de estatística | `BestFinishTimeInSeconds.TrackId` |
| Operador | `REPLACE` |
| Parâmetro | `TimeInSeconds` |
| Acesso | `Open` |

### Regras

Aplique o operador `REPLACE` ao campo de evento correspondente ou ao valor literal.

### Cuidados

Se necessário, inicialize ou redefina o valor das estatísticas com `REPLACE`. Caso contrário, o valor definido mais recentemente será mantido.

[Voltar ao início deste tópico.](#top)


## Related topics

- [Configuração no portal de estatísticas e leaderboards baseados em eventos](/pt-BR/services/xbox-services/player-data/stats-leaderboards/event-based/config/live-statslb-eb-config-nav.md)
- [Configuração](/pt-BR/services/xbox-services/player-data/stats-leaderboards/event-based/config/index.md)
- [Configuração no portal de estatísticas baseadas em eventos](/pt-BR/services/xbox-services/player-data/stats-leaderboards/event-based/config/live-stats-eb-portal.md)
- [Exemplos de cenários e configurações de matchmaking](/pt-BR/services/playfab/multiplayer/matchmaking/config-examples.md)
- [Visão geral das estatísticas em destaque](/pt-BR/services/xbox-services/player-data/stats-leaderboards/featured-stats/live-featuredstats-overview.md)
