3 Cara Bekerja dengan Kedai Data di Roblox

Isi kandungan:

3 Cara Bekerja dengan Kedai Data di Roblox
3 Cara Bekerja dengan Kedai Data di Roblox
Anonim

Setiap mahu menyimpan data, dan memuatkannya semula setiap kali pemain memasuki permainan lagi? Sejak Data Persistence menjadi sia-sia, ROBLOX memperkenalkan kedai data yang jauh lebih berfungsi. Panduan cara berikut akan membolehkan anda bekerja dengan kedai data untuk ROBLOX.

Langkah-langkah

Kaedah 1 dari 3: Menetapkan Penyimpanan Data

7815950 1
7815950 1

Langkah 1. Konfigurasikan API

Ini tidak melibatkan sedikit skrip, tetapi untuk mengaktifkan semua API penyimpanan data, anda mesti mengaktifkan akses API terlebih dahulu. Untuk melakukan ini, pergi ke tab Develop, dan klik pada "Games". Ini akan mengarahkan anda ke semua tempat permainan semasa yang anda miliki. Cari permainan anda, dan klik pada gear. Terdapat menu dropdown, dan tekan "Configure". Tandai kotak yang diaktifkan "Aktifkan Akses Studio ke Perkhidmatan API", dan simpan. Anda kini harus mempunyai akses ke API yang lengkap.

7815950 2
7815950 2

Langkah 2. Dapatkan semula stor data

Gunakan API Penyimpanan Data untuk meminta penyimpanan data, karena kita perlu merujuknya. Untuk memulakan, buka skrip di ROBLOX, dan namakan pemboleh ubah yang ingin kami gunakan untuk memanggil rujukan.

    datastore tempatan = permainan: GetService ("DataStoreService"): GetDataStore ("name")

7815950 3
7815950 3

Langkah 3. Gunakan pemboleh ubah mengikut keperluan

Anda berjaya memanggil datastore dengan pemboleh ubah "datastore". Sekarang, setiap kali anda perlu mendapatkan semula datastore, anda boleh menamakannya dengan pemboleh ubahnya.

Harap maklum bahawa jika penyimpanan data belum dibuat, ia akan membuat yang baru secara automatik

Kaedah 2 dari 3: Menggunakan Kaedah Penyimpanan Data

7815950 4
7815950 4

Langkah 1. GetAsync

Gunakan GetAsync untuk mengembalikan nilai entri di penyimpanan data dengan kunci yang diberikan. Pastikan untuk memberikan setiap pemain satu set kunci yang unik, kerana menetapkan dua pemain kunci yang sama akan menimpa data dalam permainan mereka sendiri, menyebabkan kekacauan antara kedua belah pihak. Sekiranya anda ingin mengetahui cara menetapkan kunci unik, baca terus.

  • Kod berikut akan menghasilkan sifar, kerana pelayan tidak dapat mencari nilai yang menghubungkan ke kunci; penting untuk menunjukkan kepada pelayan dengan tepat apa yang ingin kita keluarkan, supaya pelayan dapat mengetahui apa yang perlu dipaparkan.
  • datastore tempatan = permainan: GetService ("DataStoreService"): GetDataStore ("name") permainan. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: GetAsync (key) end)

7815950 5
7815950 5

Langkah 2. SetAsync

Gunakan SetAsync untuk menetapkan nilai kunci, dan mengesampingkan semua data yang ada yang disimpan untuk kunci unik.

  • Sekiranya kumpulan maklumat sebelumnya penting, pertimbangkan untuk menggunakan UpdateAsync, yang akan diajar di bawah.
  • Kod berikut menunjukkan cara melaksanakan kedua-duanya, kaedah ": GetAsync ()", dan ": SetAsync ()".
  • datastore tempatan = permainan: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: SetAsync (kunci, 90) - - menetapkan kunci ke nilai, 90 data_store tempatan = datastore: GetAsync (kunci) - dapat mengesan cetakan perubahan nilai (data_stored) - mencetak akhir output)

  • Catatan: Ini tidak akan berfungsi, melainkan jika akses API diaktifkan. Untuk melakukan ini, baca arahan pertama panduan ini.
7815950 6
7815950 6

Langkah 3. Gunakan UpdateAsync untuk mengembalikan nilai kunci, dan kemas kini dengan nilai baru

Ini mengesahkan data, dan oleh itu mesti menunggu sehingga pelayan dapat mencari masa untuk memperbaruinya. Untuk berjaya, anda perlu melewati dua parameter; yang pertama adalah rentetan yang mengambil kunci unik yang telah anda siapkan: "'user_'.. player.userId", dan yang kedua adalah fungsi yang akan mengambil nilai lama.

    datastore tempatan = permainan: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (kunci, fungsi (lama)) - buat barang akhir) akhir)

  • Dalam kes ini, kita memanggil nilai lama "lama". Di dalam fungsi ini, kita perlu membuat pemboleh ubah yang akan memperhitungkan skor kita yang dikemas kini, dan kemudian mengembalikannya sehingga dapat menampilkan skor baru kita.
  • datastore tempatan = permainan: GetService ("DataStoreService"): GetDataStore ("name") permainan. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (kunci, fungsi (lama) baru tempatan = lama atau 0 - boleh menjadi nil baru = baru + 1 - tambah 1 pada nilai lama kembali baru - mengembalikannya dengan nilai akhir yang baru) akhir)

  • Perhatikan bahawa pelayan akan mengembalikan nihil jika kunci tidak ada atau tidak diberikan dengan betul.
  • Sekiranya fungsi tersebut tidak ada, kemas kini akan dibatalkan.
7815950 7
7815950 7

Langkah 4. Gunakan IncrementAsync untuk menambah nilai untuk kunci, dan mengembalikan nilai kenaikan

Kaedah ini hanya berfungsi pada bilangan bulat.

Kaedah 3 dari 3: Acara Penyimpanan Data dan Mengemas kini Data

7815950 8
7815950 8

Langkah 1. Tetapkan kunci unik

Sangat penting bahawa setiap pemain mempunyai kunci yang unik bagi mereka. Mereka akan memegang kunci itu, yang akan menyimpan semua data mereka. Untuk melakukan ini, kami menggunakan ID pemain. Setelah anda menetapkan penyimpanan data, hanya memanggil fungsi untuk memuatkan pemain, dan kemudian cari ID pemain. Kodnya hendaklah seperti berikut:

    datastore tempatan = permainan: GetService ("DataStoreService"): GetDataStore ("name") permainan. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId end)

  • Ini secara automatik akan membuat kunci yang unik untuk pemain itu sahaja, kerana setiap pemain akan mempunyai satu ID unik. "User_" tidak akan menjadi masalah.
7815950 9
7815950 9

Langkah 2. Kemas kini data

Sekarang kerana anda mempunyai kunci unik untuk setiap pemain, anda sudah bersedia untuk membuat kemas kini penyimpanan data dan mengambil data. Di bawah kunci anda, anda ingin menambahkan kaedah yang paling sesuai dengan keperluan anda. Dalam kes ini, kami akan menggunakan "UpdateAsync".

  • Mulakan dengan fungsi untuk membantu pelayan memahami apa yang anda ingin lakukan.
  • datastore tempatan = permainan: GetService ("DataStoreService"): GetDataStore ("name") permainan. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (kunci, fungsi (lama)) local newValue = lama atau 0 - boleh jadi nil newValue = newValue + 50 return newValue end) end)

  • Dalam fungsi ini, kita menetapkan fungsi lain, lama. "lama" adalah data kami yang disimpan sebelumnya. Dalam senario ini, setiap kali pemain memasuki pelayan, pelayan akan mencari kuncinya, yang merupakan userId mereka, dan ia akan mengemas kini data sebanyak 50 mata, kembali dan menunjukkan nilai baru itu.
7815950 10
7815950 10

Langkah 3. Tahniah

Anda berjaya menyimpan dan mengemas kini data pemain.

Amaran

  • Semasa pertama kali membuat penyimpanan data anda, pastikan untuk memiliki "game: GetService (" DataStoreService ")", dengan huruf besar yang betul. Ia tidak akan berjalan dengan cekap, jika disebut dengan tidak betul.
  • Pastikan anda mengetahui kapan menggunakan "SetAsync" dan "UpdateAsync", kerana menggunakan yang salah dapat mengubah keadaan menjadi berantakan ketika mengambil data. Dalam kebanyakan kes, pembangun akan menggunakan "UpdateAsync".

Disyorkan: