2011-09-02 14 views
7

Mentre analizzo la documentazione di GKScore e GKLeaderboard, non c'è modo di ripristinare i punteggi riportati dal giocatore in una classifica specifica in GameCenter. Ho ragione?Un modo per reimpostare a livello di codice le classifiche?

Questo sembra abbastanza incoerente, in quanto è possibile azzerare i risultati:

[GKAchievement resetAchievementsWithCompletionHandler:^(NSError *error) { ... }]; 

Qualche idea?

+0

Sto cercando la stessa cosa, ma finora nulla. Nella loro Guida alla Programmazione di GameKit mostra come resettare gli Obiettivi, ma non i Comandi. Quindi immagino che al momento non sia possibile ... – Structurer

risposta

5

Sei corretto. Non c'è modo di reimpostare una categoria classifica di Game Center o di rimuovere una categoria una volta che è stata lanciata in un'app live.

Apple ha consentito il ripristino di un risultato.

L'unico lavoro che conosco è quello di consentire solo alle vecchie categorie di morire, ricorrere al fondo, modificare l'etichetta associata alla categoria per essere qualcosa come "Punteggio elevato (Archiviato)" e quindi creare un nuovo uno e etichettarlo "Punteggio alto" e ordinarlo in alto. Questo ti darà uno nuovo. Ma ovviamente c'è ancora un limite di 25 categorie di classifica - quindi ad un certo punto sei affondato a meno che non capisca come riutilizzare quelli vecchi. (Ad esempio, fai tutti i tuoi punteggi x10 in modo che tutti si alzino sopra i vecchi punteggi molto rapidamente)

MODIFICA ... In una versione recente ho effettivamente riutilizzato una categoria classifica in un recente aggiornamento dell'app. L'uso originale della categoria era per i punteggi che erano piuttosto bassi ... nei bassi 1000. Il nuovo uso della categoria sarebbe stato ovunque da 10x a 1000x quello. Quindi sapevo che qualsiasi vecchio punteggio in quella categoria sarebbe stato cancellato nelle prime due partite del gioco. Ovviamente l'ID della categoria non può cambiare (com.company.app.category), ma la descrizione (inglese o meno) può cambiare. Può diventare confuso perché stai usando una categoria che ha un id di una cosa quando si salvano i punteggi per qualcosa di completamente diverso. Ma con #define kBlahBlahBlah a @ "com.company.app.blah" il tuo codice può usare qualunque sia il nome che lo rende facile da mantenere. Spero possa aiutare.

+0

Grazie per la risposta, ma anche questa soluzione non risolve la situazione in cui voglio reimpostare il punteggio solo per un singolo giocatore (non reimpostare l'intera classifica della classifica stessa). – manicaesar

+0

Tecnicamente la mia risposta è corretta e potrei usare il segno di spunta. Hai chiesto se c'era un modo e non c'è modo .. risposta corretta. – badweasel

+0

Ho appena passato molto tempo a creare il mio sistema di punteggio elevato basato sul server in modo da poter fare ciò che volevo con le mie classifiche, incluso il bando dei cheater e la rimozione dei punteggi falsi. Ora posso crearli dinamicamente al volo. Potrei eventualmente aprire il mio sistema ad altri sviluppatori. – badweasel

Problemi correlati