2011-09-02 12 views
7

Al examinar la documentación de GKScore y GKLeaderboard, no hay forma de restablecer los puntajes reportados por el jugador a la tabla de clasificación en GameCenter. ¿Estoy en lo cierto?¿Hay alguna manera de restablecer las tablas de clasificación mediante programación?

Esto parece bastante inconsistente, ya que es posible restablecer logros:

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

Cualquier pensamiento?

+0

Estoy buscando lo mismo, pero hasta ahora nada. En su Guía de programación de GameKit, muestra cómo restablecer los logros, pero no las tablas de líderes. Así que supongo que actualmente no es posible ... – Structurer

Respuesta

5

Usted está correcto. No hay forma de restablecer una categoría de tabla de clasificación de Game Center o eliminar una categoría una vez que se ha lanzado en una aplicación en vivo.

Apple permitió una forma de restablecer un logro.

Lo único que sé es simplemente permitir que mueran las categorías antiguas, recurrir a la parte inferior, cambiar la etiqueta asociada a la categoría para ser algo así como "Puntuación alta (Archivado)" y luego crear una nueva uno y etiquetarlo como "Puntaje alto" y clasificarlo en la parte superior. Esto te dará uno nuevo. Pero, por supuesto, todavía hay un límite de 25 categorías de clasificación, por lo que en algún momento te hundirás a menos que solo descubras cómo reutilizar las antiguas. (Por ejemplo, haga todos sus puntajes x10 para que todos se eleven por encima de los puntajes anteriores muy rápidamente)

EDITAR ... En una versión reciente reutilicé una categoría de tabla de clasificación en una actualización reciente de la aplicación. El uso original de la categoría fue para puntajes que fueron bastante bajos ... en los 1000 bajos. El nuevo uso de la categoría iba a ser de 10x a 1000x eso. Así que sabía que cualquier puntaje viejo en esa categoría sería borrado dentro de las primeras dos jugadas del juego. Por supuesto, la identificación de la categoría no puede cambiarse (com.company.app.category), pero la descripción (en inglés u otra) puede cambiar. Puede ser confuso porque está usando una categoría que tiene una identificación de una cosa cuando guarda puntajes para algo totalmente diferente. Pero con #define kBlahBlahBlah a @ "com.company.app.blah" tu código puede usar cualquier nombre que te permita mantener las cosas en orden. Espero que ayude.

+0

Gracias por la respuesta, pero incluso esta solución no resuelve la situación en la que quiero restablecer el puntaje solo para un solo jugador (no restablecer toda la categoría de la tabla de clasificación). – manicaesar

+0

Técnicamente, mi respuesta es correcta y podría usar la marca de verificación. Preguntaste si había una manera y no hay forma ... respuesta correcta. – badweasel

+0

Acabo de pasar mucho tiempo creando mi propio servidor basado en el sistema de puntaje alto para poder hacer lo que quería con mis tablas de clasificación, incluyendo la prohibición de los tramposos y la eliminación de puntajes falsos. Ahora puedo crearlos dinámicamente sobre la marcha. Eventualmente podría abrir mi sistema a otros desarrolladores. – badweasel

Cuestiones relacionadas