Placares

Pontuações ranqueadas com reinícios automáticos, arquivo de períodos anteriores e anti-cheat no servidor.

Comentários de código e nomes da API ficam em inglês para corresponder aos SDKs.

Nesta página

Crie um placar#

Crie placares na página Placares do seu projeto e use o slug no código.

ConfiguraçãoOpções
SlugIdentificador em minúsculas usado no código, ex.: coins.
OrdenaçãoDESC (maior primeiro) ou ASC (menor primeiro, ex.: tempos de corrida).
Modo de pontuaçãoBEST mantém a melhor pontuação de cada jogador; LATEST sempre a substitui.
ReinícioNONE, DAILY, WEEKLY ou MONTHLY.
Pontuação mínima / máximaPontuação mínima e máxima aceitas (opcional).
Intervalo entre enviosMínimo de segundos entre dois envios do mesmo jogador (opcional).

Envie uma pontuação#

O nome do jogador vem da conta, então um cliente não pode enviar pontuações em nome de outra pessoa.

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

Leia a classificação#

As primeiras posições não exigem login; a posição do próprio jogador e as entradas ao redor dela exigem um jogador conectado.

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

Reinícios e períodos anteriores#

Placares diários, semanais (segunda-feira) e mensais reiniciam às 00:00 UTC. O período encerrado é arquivado; leia-o com o período previous:

C#
var yesterday = await Majacloud.Leaderboards.GetTopAsync("coins", 10, 0, MajacloudLeaderboardPeriod.Previous);
Quantos períodos anteriores são mantidos e quantas entradas um placar retorna depende do plano (veja Limites).

Anti-cheat#

  • Pontuações fora do mínimo ou do máximo são recusadas com validation.
  • Enviar mais rápido do que o intervalo permitido retorna rate_limited.
  • Os clientes só podem enviar pontuações do jogador conectado.
  • Em jogos competitivos, deixe seu servidor decidir a pontuação e enviá-la com a chave secreta.

Envie pelo seu servidor#

Com a chave secreta, envie o player_id e a pontuação. O jogador precisa existir.

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

Busca em títulos de páginas, seções e texto.

↑↓ para navegar ↵ para abrir Esc para fechar