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

# Início rápido de torneios e placares

> Início rápido para torneios herdados do PlayFab: crie uma estatística HighScore e um placar no Game Manager e, em seguida, envie as pontuações dos jogadores do cliente com C#.

# Início rápido de torneios e placares

Este início rápido descreve como ter uma estatística que acompanha a pontuação mais alta dos jogadores e como obter um placar das melhores pontuações. Isso pode ser utilizado para um placar global ou em conjunto com [estatísticas redefiníveis](/pt-BR/services/playfab/community/leaderboards/tournaments-leaderboards/using-resettable-statistics-and-leaderboards) para redefinir em um evento ou torneio específico.

## Pré-requisitos

Seu jogador já está conectado ao PlayFab.

## Etapa 1 - Criar uma estatística e o placar associado

No Game Manager:

* Acesse **Leaderboards** no menu à esquerda.
* Selecione **NEW LEADERBOARD**.
* Adicione um **Leaderboard** chamado **HighScore** no campo **Statistic name**.
* Usando o menu suspenso fornecido, defina o campo **Reset frequency** como **Manually**.
* Vá para o campo **Aggregation method** e selecione **Maximum** (sempre usar o valor mais alto) no menu suspenso fornecido.

## Etapa 2 - Atualizar a estatística com a pontuação mais alta de um jogador

Antes de podermos usar [UpdatePlayerStatistics](xref:titleid.playfabapi.com.client.playerdatamanagement.updateplayerstatistics) do cliente, precisamos habilitá-la em **API Features**.

1. Selecione **Title settings** no menu Settings do seu título.
2. Selecione a guia **API Features**.
3. Marque a caixa **Allow client to post player statistics**.
   OBSERVAÇÃO: em geral, essa opção não deve ser usada em um jogo em produção, pois dá ao cliente autoridade sobre os valores enviados. Isso só é válido para casos em que não há preocupação de que os jogadores trapaceiem em suas estatísticas. Se as estatísticas precisarem ser seguras, elas só devem ser atualizadas por meio de uma operação com autoridade do servidor, como um Cloud Script ou um servidor de jogo personalizado.
4. Selecione **SAVE** na parte inferior da tela.

<img src="https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/api-features-allow-client-to-post-player-statistics.png?fit=max&auto=format&n=5IpvKlT-jmAaVkeY&q=85&s=71197d724d092da6b5ff0a4093ad843e" alt="Game Manager - Settings - API Features - Allow client to post player statistics" width="2079" height="1191" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/api-features-allow-client-to-post-player-statistics.png" />

### Exemplo de código C# - SubmitScore

Neste exemplo de código, teremos uma função `SubmitScore` que seria chamada no final de uma partida.

```csharp theme={null}

public void SubmitScore(int playerScore) {
    PlayFabClientAPI.UpdatePlayerStatistics(new UpdatePlayerStatisticsRequest {
        Statistics = new List<StatisticUpdate> {
            new StatisticUpdate {
                StatisticName = "HighScore",
                Value = playerScore
            }
        }
    }, result=> OnStatisticsUpdated(result), FailureCallback);
}

private void OnStatisticsUpdated(UpdatePlayerStatisticsResult updateResult) {
    Debug.Log("Successfully submitted high score");
}

private void FailureCallback(PlayFabError error){
    Debug.LogWarning("Something went wrong with your API call. Here's some debug information:");
    Debug.LogError(error.GenerateErrorReport());
}
```

### Etapa 3 - Solicitar o placar da pontuação mais alta

Para obter o placar das melhores pontuações de todos os jogadores que jogaram o jogo, você fará uma chamada para [GetLeaderboard](xref:titleid.playfabapi.com.client.playerdatamanagement.getleaderboard).

### Exemplo de código C# - RequestLeaderboard

Neste exemplo de código, teremos uma função `RequestLeaderboard` que seria chamada para obter o placar e passará os resultados para uma função `DisplayLeaderboard`, que preencheria a experiência no seu jogo que mostra as pontuações mais altas.

```csharp theme={null}
//Get the players with the top 10 high scores in the game
public void RequestLeaderboard() {
    PlayFabClientAPI.GetLeaderboard(new GetLeaderboardRequest {
            StatisticName = "HighScore",
            StartPosition = 0,
            MaxResultsCount = 10
    }, result=> DisplayLeaderboard(result), FailureCallback);
}

private void FailureCallback(PlayFabError error){
    Debug.LogWarning("Something went wrong with your API call. Here's some debug information:");
    Debug.LogError(error.GenerateErrorReport());
}
```


## Related topics

- [Início rápido de Ações e Regras](/pt-BR/services/playfab/data-analytics/acting-data/action-rules-quickstart.md)
- [Início rápido de notificações por push](/pt-BR/services/playfab/live-service-management/game-configuration/title-communications/push-notifications/quickstart.md)
- [Início rápido de matchmaking](/pt-BR/services/playfab/multiplayer/matchmaking/quickstart.md)
- [Início rápido de estatísticas](/pt-BR/services/playfab/player-progression/statistics/quickstart-statistics.md)
- [Início rápido de trocas](/pt-BR/services/playfab/economy-monetization/economy/trading/trading-quickstart.md)
