Tablas de clasificación

Puntuaciones clasificadas con reinicios automáticos, archivo de períodos anteriores y antitrampas en el servidor.

Los comentarios del código y los nombres de la API se mantienen en inglés para que coincidan con los SDK.

En esta página

Crear una tabla de clasificación#

Crea tablas de clasificación en la página Tablas de clasificación de tu proyecto y usa el slug en el código.

AjusteOpciones
SlugIdentificador en minúsculas que se usa en el código, p. ej., coins.
OrdenDESC (la más alta primero) o ASC (la más baja primero, p. ej., tiempos de carrera).
Modo de puntuaciónBEST conserva la mejor puntuación de cada jugador; LATEST siempre la sustituye.
ReinicioNONE, DAILY, WEEKLY o MONTHLY.
Puntuación mínima / máximaPuntuación mínima y máxima aceptadas (opcional).
Tiempo de espera entre envíosSegundos mínimos entre dos envíos del mismo jugador (opcional).

Enviar una puntuación#

El nombre del jugador sale de la cuenta, así que un cliente no puede enviar puntuaciones en nombre de otro.

C#
var submit = await Majacloud.Leaderboards.SubmitScoreAsync("coins", 340);
if (submit.Ok && submit.Value.Accepted)
    Debug.Log("New rank #" + submit.Value.Entry.Rank);

Leer la clasificación#

Las primeras posiciones no requieren iniciar sesión; la posición del propio jugador y las entradas a su alrededor requieren un jugador con sesión iniciada.

C#
var top = await Majacloud.Leaderboards.GetTopAsync("coins", limit: 10);
var me = await Majacloud.Leaderboards.GetMyRankAsync("coins");
var around = await Majacloud.Leaderboards.GetAroundMeAsync("coins", radius: 3);

if (me.Ok && me.Value.Entry != null) Debug.Log("You are #" + me.Value.Entry.Rank + " of " + me.Value.Total);

Reinicios y períodos anteriores#

Las tablas diarias, semanales (los lunes) y mensuales se reinician a las 00:00 UTC. El período terminado se archiva; léelo con el período previous:

C#
var yesterday = await Majacloud.Leaderboards.GetTopAsync("coins", 10, 0, MajacloudLeaderboardPeriod.Previous);
Cuántos períodos anteriores se conservan y cuántas entradas devuelve una tabla de clasificación depende del plan (consulta Límites).

Antitrampas#

  • Las puntuaciones por debajo del mínimo o por encima del máximo se rechazan con validation.
  • Enviar más rápido de lo que permite el tiempo de espera devuelve rate_limited.
  • Los clientes solo pueden enviar puntuaciones del jugador con sesión iniciada.
  • En juegos competitivos, deja que tu servidor decida la puntuación y la envíe con la clave secreta.

Enviar desde tu servidor#

Con la clave secreta, envía el player_id y la puntuación. El jugador debe existir.

JavaScript
// Node.js with secretKey: submit after your server validated the match
await admin.server.submitScore('coins', 'player_3f9c…', 980);

Busca en títulos, encabezados y texto de las páginas.

↑↓ para navegar ↵ para abrir Esc para cerrar