Papan Peringkat Baru - Internal

Materi Terkait

Pengantar Modul Penyimpanan Data Historis

Modul Penyimpanan Data

Memberikan informasi detail dalam materi di atas; berikut ini ringkasan singkat tentang modul penyimpanan data.Penyimpanan Data adalah modul opsional. Saat diaktifkan, modul ini memungkinkan pengembang peta untuk menggunakan tabel data berbasis server untuk penyimpanan data. Modul ini terutama digunakan untuk sinkronisasi data antar peta dan antar pertandingan, papan peringkat, dan fungsi serupa. Artikel ini akan fokus pada penerapan tabel penyimpanan data baru khusus untuk fungsi papan peringkat.

Titik Akses

Muat modul Penyimpanan Data dari daftar modul untuk memulai konfigurasi. Anda dapat mengonfigurasi informasi kolom untuk empat tabel data yang berbeda:

image-20250806162055343

Pengenalan Tabel Baru

Seperti halnya semua tabel data, setiap tabel memerlukan kolom “Key” yang berfungsi sebagai kunci utama tabel. Data dalam kolom Key harus unik dan bertindak sebagai kolom indeks untuk seluruh tabel. Dengan mengakses kolom Key, Anda dapat mengidentifikasi baris data spesifik dalam tabel yang dimaksud. Saat mengedit baris data dengan Key yang sama berulang kali melalui editor, pengeditan selanjutnya akan selalu menggantikan data sebelumnya.

Lembar Data Peringkat

Lembar data peringkat adalah tabel multi-daftar khusus. Anda dapat menyesuaikan beberapa kolom untuk menyimpan informasi tambahan, seperti poin, durasi bertahan, waktu permainan total, dll. Namun, lembar data peringkat harus mengandung satu kolom data (kolom Nilai) untuk pengurutan naik atau turun.

image-20250806170632723

Memilih UID sebagai Key akan secara otomatis mengubah kolom Key menjadi kartu pemain:

image-20250901154851187

Contoh Lembar Data

Daftar peringkat datasheet1

Peringkat Kunci Nilai Kolom Kustom1 Kolom Kustom2 Kolom Kustom……
1 Player1 UUID 100 apa pun yang ingin Anda simpan
2 Player2 UUID 90

Tabel Data Multi-Kolom

Tabel multi-kolom mendukung beberapa kolom data (berbeda dari tabel data satu kolom sebelumnya). Anda dapat menyimpan data yang beragam di bawah satu Kunci. Skrip elemen menyediakan API untuk mengedit tabel peringkat dan tabel data multi-kolom yang terkait. Ketika Kunci cocok (misalnya, keduanya adalah UUID pemain), elemen tertentu dapat mengedit kedua tabel peringkat dan tabel data multi-kolom secara bersamaan.

image-20250806170813281

Ilustrasi Tabel

Tabel Data Multi-Kolom1

Kunci Nilai Kolom Kustom1 Kolom Kustom2 Kolom Kustom……
Player1 UUID 100 apa pun yang ingin Anda simpan
Player2 UUID 90

Fungsi Papan Peringkat

Mengaktifkan Fitur

Untuk mengaktifkan fungsi papan peringkat, Anda harus mengaktifkan modul Penyimpanan Data dalam proyek Anda dan membuat setidaknya satu tabel data papan peringkat.

Setelah siap, edit peta yang ingin Anda publikasikan di antarmuka publikasi peta Creator Centre untuk mengakses pengaturan terkait papan peringkat:

image-20250806164442617

Mengaktifkan fitur ini akan menampilkan tombol Leaderboard di halaman detail peta Anda, memungkinkan pemain untuk melihat informasi leaderboard yang telah Anda edit:

image-20250806171313422 image-20250806164728942

Pengedit Peringkat

Dalam antarmuka pengedit peringkat untuk peta yang telah diterbitkan, saat ini Anda hanya dapat memilih satu tabel data untuk menampilkan informasi peringkat. (Meskipun beberapa tabel dapat digunakan untuk penyimpanan data dalam proyek)
image-20250806164912096

Anda dapat mengedit aspek lain dari papan peringkat: termasuk apakah akan menampilkan papan peringkat di luar permainan, kolom mana yang akan digunakan untuk tata letak papan peringkat, dan urutannya.

Memilih beberapa bahasa memungkinkan Anda untuk mengedit informasi multibahasa judul papan peringkat secara manual:

image-20250806173701944

Bahasa yang tidak diisi akan menggunakan nama kolom tabel default.

Setelah diedit, pratinjau papan peringkat Anda akan ditampilkan di halaman informasi peta. Teks multibahasa tidak akan muncul di pratinjau:

image-20250806165547462

Metadata

Gunakan elemen grafis pada titik-titik yang tepat—seperti saat pemain mencetak poin atau pada akhir setiap pertandingan—untuk menyimpan data dalam basis data papan peringkat.

image-20250806165732042

Perhatikan bahwa parameter SheetName hanya akan membaca dari lembar data papan peringkat yang dibuat jika elemen grafis secara khusus terkait dengan lembar data papan peringkat.

Untuk memudahkan pengeditan dua format daftar multi yang diperkenalkan dalam tutorial ini, jenis daftar khusus bernama Tuple telah ditambahkan. Jenis Tuple secara otomatis mengenali nilai dari lembar data yang ditentukan atau lembar data papan peringkat, membentuk daftar khusus di mana setiap elemen mematuhi jenis data yang ditunjuk.

image-20250806174722968

Primitif tuple secara otomatis membaca semua tabel dan mengadopsi tipe data kolom tabel sebagai tipe data untuk item daftar:

image-20250806175459462

Untuk tabel data peringkat, setelah kolom data kustom dibuat, nilainya sebenarnya akan berisi N kolom data, sehingga membentuk tuple:

image-20250806175601013

Akibatnya, dalam penggunaan praktis, tuple dapat menjadi bersarang:

image-20250806180055942

Primitif tuple tidak secara otomatis memperbarui nama kolom tabel atau informasi lainnya. Akibatnya, setiap perubahan memerlukan pembaruan manual pada primitif tuple.

Kode

Contoh kode:

  1. Tulis
WriteDBLeaderboardAssociationValue(``“rank”``, ``‘test_uid_1’``, {``60``, ``1:00``}, ``“”``, out var c, out var d)
go
  1. Baca
ReadDBLeaderboardAssociationValue(``“rank”``, ``‘test_uid_1’``, out var data, ``“”``, out var a, out var b)``var data_normal List<object> = data[``2``] as List<object>``LogWarning(data_normal[``1``])
go

Daftar API Terkait

  1. SetTuple
  2. GetTuple
  3. WriteDBLeaderboardAssociationValue
  4. RemoveFromLeaderboardDataStoreByKey
  5. ReadDBLeaderboardAssociationValue
  6. WriteToLeaderboardDataStore
  7. RemoveFromLeaderboardDataStoreByKey
  8. ReadFromLeaderboardDataStore

Secara khusus, untuk fungsi: ReadDBLeaderboardAssociationValue, nilai kembaliannya adalah tuple:

Hasil: Tipe adalah {rankname_value}Tuple

  • {rank, key, value}
  • rank: int
  • key: string
  • value: tuple
  • {value, GameCompletionTime}

Untuk fungsi: WriteDBLeaderboardAssociationValue, parameter Key dan Value:

  • Key: Disarankan untuk mengonversi UID pemain menjadi string sebagai kunci, sehingga panggilan pemain dapat ditampilkan di Craftland
  • Value: Tipe adalah {rankname} Tuple. Setelah memilih SheetName, klik ganda Value untuk menambahkan blok yang sesuai dengan cepat
    Untuk detail parameter API dan dokumentasi lebih lanjut, silakan merujuk ke: Dokumentasi Resmi

Debugging Lokal

Selama pengeditan peta, data pemain secara langsung tidak dapat diakses. Namun, Craftland Studio PC menyediakan metode untuk melihat data debug yang disimpan melalui file JSON lokal.

image-20250806170248163

Setelah data disimpan selama proses debugging, mengklik opsi yang ditampilkan pada gambar akan mengarahkan ke folder JSON lokal. Informasi tabel data disimpan dalam format JSON, memungkinkan pengembang untuk memverifikasi keakuratan logika.

image-20250806170420358