Schnellstart: Turniere und Bestenlisten

In dieser Schnellstartanleitung wird beschrieben, wie Sie eine Statistik erstellen, die die Highscore der Spieler nachverfolgt, und wie Sie eine Bestenliste mit den besten Highscores erhalten. Dies kann für eine globale Bestenliste oder in Verbindung mit zurückgesetzten Statistiken für ein bestimmtes Ereignis oder Turnier verwendet werden.

Voraussetzungen

Ihr Spieler ist bereits bei PlayFab angemeldet.

Schritt 1: Erstellen einer Statistik und einer zugehörigen Bestenliste

Im Game Manager:

  • Wechseln Sie im Menü auf der linken Seite zu Bestenlisten .
  • Wählen Sie NEUE BESTENLISTE aus.
  • Fügen Sie im Feld Statistikname eine Bestenliste mit dem Namen HighScore hinzu.
  • Legen Sie im angegebenen Dropdownmenü das Feld Häufigkeit zurücksetzen auf Manuell fest.
  • Wechseln Sie zum Feld Aggregationsmethode , und wählen Sie im bereitgestellten Dropdownmenü maximal (immer den höchsten Wert verwenden) aus.

Schritt 2: Aktualisieren der Statistik mit der hohen Punktzahl für einen Spieler

Bevor wir UpdatePlayerStatistics über den Client verwenden können, müssen wir es in API-Features aktivieren.

  1. Wählen Sie titeleinstellungen im Menü Einstellungen für Ihren Titel aus.
  2. Wählen Sie die Registerkarte API-Features aus.
  3. Aktivieren Sie das Kontrollkästchen für Zulassen, dass Client Spielerstatistiken veröffentlichen kann. HINWEIS: Im Allgemeinen sollte diese Option nicht in einem Livespiel verwendet werden, da sie dem Client Autorität für die übermittelten Werte gibt. Dies gilt nur für Fälle, in denen keine Bedenken bestehen, dass Spieler ihre Statistiken betrügen könnten. Wenn Statistiken sicher sein müssen, sollten sie nur über einen autoritativen Servervorgang aktualisiert werden, z. B. über ein Cloudskript oder einen benutzerdefinierten Spieleserver.
  4. Klicken Sie unten auf dem Bildschirm auf die Schaltfläche SPEICHERN .

Game Manager – Einstellungen – API-Features – Client darf Spielerstatistiken veröffentlichen

C#-Codebeispiel – SubmitScore

In diesem Codebeispiel wird eine SubmitScore Funktion verwendet, die am Ende eines Spiels aufgerufen wird.


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());
}

Schritt 3: Anfordern der Bestenliste für die hohe Punktzahl

Um die Bestenliste der besten Ergebnisse aller Spieler zu erhalten, die das Spiel gespielt haben, werden Sie getLeaderboard anrufen.

C#-Codebeispiel – RequestLeaderboard

In diesem Codebeispiel verfügen wir über eine RequestLeaderboard Funktion, die aufgerufen wird, um die Bestenliste abzurufen, und die Ergebnisse an eine Funktion von DisplayLeaderboardübergeben, die die Erfahrung in Ihrem Spiel auffüllt, die die Highscores anzeigt.

//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());
}