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:

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.
Memilih UID sebagai Key akan secara otomatis mengubah kolom Key menjadi kartu pemain:
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.
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:

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


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

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:
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.
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.
Primitif tuple secara otomatis membaca semua tabel dan mengadopsi tipe data kolom tabel sebagai tipe data untuk item daftar:
Untuk tabel data peringkat, setelah kolom data kustom dibuat, nilainya sebenarnya akan berisi N kolom data, sehingga membentuk tuple:
Akibatnya, dalam penggunaan praktis, tuple dapat menjadi bersarang:
Primitif tuple tidak secara otomatis memperbarui nama kolom tabel atau informasi lainnya. Akibatnya, setiap perubahan memerlukan pembaruan manual pada primitif tuple.
Kode
Contoh kode:
- Tulis
WriteDBLeaderboardAssociationValue(``“rank”``, ``‘test_uid_1’``, {``60``, ``“1:00”``}, ``“”``, out var c, out var d)
go
- 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
- SetTuple
- GetTuple
- WriteDBLeaderboardAssociationValue
- RemoveFromLeaderboardDataStoreByKey
- ReadDBLeaderboardAssociationValue
- WriteToLeaderboardDataStore
- RemoveFromLeaderboardDataStoreByKey
- 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.
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.