Leaderboard

Skor berperingkat dengan reset otomatis, arsip periode sebelumnya, dan anti-cheat di sisi server.

Komentar kode dan nama API tetap dalam bahasa Inggris agar sesuai dengan SDK.

Di halaman ini

Buat leaderboard#

Buat leaderboard di halaman Leaderboard project Anda dan pakai slug-nya di kode.

PengaturanPilihan
SlugPengenal huruf kecil yang dipakai di kode, mis. coins.
Urutan peringkatDESC (tertinggi dulu) atau ASC (terendah dulu, mis. catatan waktu balapan).
Mode skorBEST menyimpan skor terbaik setiap pemain; LATEST selalu menggantinya.
ResetNONE, DAILY, WEEKLY, atau MONTHLY.
Skor minimum / maksimumSkor minimum dan maksimum yang diterima (opsional).
Jeda kirim skorJarak minimum dalam detik antara dua pengiriman oleh satu pemain (opsional).

Kirim skor#

Nama pemain diambil dari akun, sehingga klien tidak bisa mengirim skor atas nama orang lain.

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

Membaca peringkat#

Entri teratas bisa dibaca tanpa login; peringkat pemain sendiri dan entri di sekitarnya butuh pemain yang sudah login.

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

Reset dan periode sebelumnya#

Leaderboard harian, mingguan (Senin), dan bulanan direset pukul 00:00 UTC. Periode yang selesai diarsipkan; baca dengan periode previous:

C#
var yesterday = await Majacloud.Leaderboards.GetTopAsync("coins", 10, 0, MajacloudLeaderboardPeriod.Previous);
Berapa banyak periode lalu yang disimpan, dan berapa entri yang dikembalikan leaderboard, bergantung pada paket (lihat Batas).

Anti-cheat#

  • Skor di luar batas minimum atau maksimum ditolak dengan validation.
  • Mengirim lebih cepat dari jeda yang diatur menghasilkan rate_limited.
  • Klien hanya bisa mengirim skor untuk pemain yang sedang login.
  • Untuk game kompetitif, biarkan server Anda yang menentukan skor dan mengirimnya dengan secret key.

Kirim dari server Anda#

Dengan secret key, kirim player_id dan skornya. Pemain tersebut harus sudah ada.

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

Cari judul halaman, subjudul, dan teks.

↑↓ untuk berpindah ↵ untuk membuka Esc untuk menutup