3 načina rada sa skladištima podataka na Robloxu

Sadržaj:

3 načina rada sa skladištima podataka na Robloxu
3 načina rada sa skladištima podataka na Robloxu
Anonim

Svi su htjeli spremiti podatke i ponovo ih učitati svaki put kada igrač ponovo uđe u igru? Od kada je Data Persistence postao uzaludan, ROBLOX uvodi skladišta podataka koja su mnogo funkcionalnija. Sljedeći vodič s uputama omogućit će vam rad sa skladištima podataka za ROBLOX.

Koraci

Metoda 1 od 3: Postavljanje skladišta podataka

7815950 1
7815950 1

Korak 1. Konfigurirajte API

To ne uključuje ni malo skriptiranja, ali da biste aktivirali sav API skladišta podataka, prvo morate omogućiti pristup API -ju. Da biste to učinili, idite na karticu Razvoj i kliknite na "Igre". Ovo bi vas trebalo usmjeriti na sva trenutna mjesta igre koja posjedujete. Pronađite svoju igru i kliknite na zupčanik. Trebao bi se pojaviti padajući izbornik i jednostavno pritisnite "Konfiguriraj". Potvrdite izbor u polju za potvrdu "Omogući pristup studija API uslugama" i sačuvajte. Sada biste trebali imati pristup kompletnom API -ju.

7815950 2
7815950 2

Korak 2. Dohvatite spremište podataka

Koristite Data Store API za pozivanje skladišta podataka jer ćemo se na njega morati pozivati. Za početak, otvorite skriptu na ROBLOX -u i imenujte varijablu koju bismo htjeli koristiti za pozivanje za referencu.

    lokalno skladište podataka = igra: GetService ("DataStoreService"): GetDataStore ("ime")

7815950 3
7815950 3

Korak 3. Koristite varijablu po potrebi

Uspješno ste nazvali skladište podataka s varijablom "skladište podataka". Sada, kad god trebate dohvatiti skladište podataka, možete ga jednostavno nazvati po njegovoj varijabli.

Imajte na umu da ako spremište podataka još nije stvoreno, automatski će stvoriti novu

Metoda 2 od 3: Korištenje metoda pohrane podataka

7815950 4
7815950 4

Korak 1. GetAsync

Koristite GetAsync za vraćanje vrijednosti unosa u spremište podataka s datim ključem. Dajte svakom igraču jedinstven set ključeva jer će postavljanje dva igrača istim ključem nadjačati njihove vlastite podatke u igri, uzrokujući kaos između dvije strane. Ako želite znati kako postaviti jedinstveni ključ, čitajte dalje.

  • Sljedeći kôd će ispisati nulu, jer poslužitelj nije mogao pronaći nikakvu vrijednost koja povezuje ključ; važno je poslužitelju pokazati upravo ono što pokušavamo ispisati, tako da poslužitelj zna što treba prikazati.
  • lokalno skladište podataka = igra: GetService ("DataStoreService"): GetDataStore ("ime") igra. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: GetAsync (key) end)

7815950 5
7815950 5

Korak 2. SetAsync

Koristite SetAsync za postavljanje vrijednosti ključa i poništava sve postojeće podatke pohranjene za jedinstveni ključ.

  • Ako je prethodni skup informacija važan, razmislite o upotrebi UpdateAsync, o čemu će biti riječi u nastavku.
  • Sljedeći kôd pokazuje vam kako implementirati obje metode: ": GetAsync ()" i ": SetAsync ()".
  • lokalno skladište podataka = igra: GetService ("DataStoreService"): GetDataStore ("ime") igra. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: SetAsync (key, 90) - - postavlja ključ na vrijednost, 90 lokalnih data_stored = datastore: GetAsync (ključ) - može otkriti promjenu vrijednosti ispis (data_stored) - ispisuje kraj izlaza)

  • Napomena: Ovo neće raditi, osim ako nemate omogućen pristup API -ju. Da biste to učinili, pročitajte prvo uputstvo ovog vodiča.
7815950 6
7815950 6

Korak 3. Pomoću UpdateAsync vratite vrijednost ključa i ažurirajte ga novom vrijednošću

Ovo potvrđuje podatke i stoga mora pričekati dok poslužitelj ne nađe vremena za njihovo ažuriranje. Da bi ovo funkcioniralo, morate proći dva parametra; prvi je niz koji uzima jedinstveni ključ koji ste postavili: "'user_'.. player.userId", a drugi je funkcija koja će uzeti staru vrijednost.

    lokalno skladište podataka = igra: GetService ("DataStoreService"): GetDataStore ("ime") igra. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (ključ, funkcija (staro)) - završi stvari) kraj)

  • U ovom smo slučaju staru vrijednost nazvali "stara". Unutar ove funkcije morat ćemo napraviti varijablu koja će uzeti u obzir naš ažurirani rezultat, a zatim to vratiti kako bi mogla prikazati naš novi rezultat.
  • lokalno skladište podataka = igra: GetService ("DataStoreService"): GetDataStore ("ime") igra. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (ključ, funkcija (staro)) lokalno novo = staro ili 0 - može biti nula novo = novo + 1 - dodati 1 staroj vrijednosti vratiti novo - vraća ga s novom vrijednošću kraj) kraj)

  • Imajte na umu da će poslužitelj vratiti nulu ako ključ ne postoji ili nije pravilno dodijeljen.
  • Ako funkcija ne postoji, ažuriranje će biti otkazano.
7815950 7
7815950 7

Korak 4. Koristite IncrementAsync za povećanje vrijednosti ključa i vraća povećanu vrijednost

Ova metoda radi samo na cijelim brojevima.

Metoda 3 od 3: Događaji u skladištu podataka i ažuriranje podataka

7815950 8
7815950 8

Korak 1. Postavite jedinstveni ključ

Izuzetno je važno da svaki igrač ima ključ koji mu je jedinstven. Držat će se tog ključa koji će pohraniti sve njihove podatke. Da bismo to učinili, koristimo ID igrača. Nakon što postavite spremište podataka, jednostavno pozovite funkciju za učitavanje playera, a zatim pronađite ID igrača. Kod bi trebao izgledati ovako:

    lokalno skladište podataka = igra: GetService ("DataStoreService"): GetDataStore ("ime") igra. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId end)

  • Ovo će automatski stvoriti ključ koji je jedinstven samo za tog igrača, jer će svaki igrač imati jedan jedinstveni ID. "User_" neće biti važan.
7815950 9
7815950 9

Korak 2. Ažurirajte podatke

Sada kada imate jedinstveni ključ za svakog igrača, spremni ste za ažuriranje pohrane podataka i preuzimanje podataka. Ispod ključa želite dodati metodu koja najviše odgovara vašim potrebama. U ovom slučaju koristit ćemo "UpdateAsync".

  • Počnite s funkcijom koja će poslužitelju pomoći da shvati šta namjeravate učiniti.
  • lokalno skladište podataka = igra: GetService ("DataStoreService"): GetDataStore ("ime") igra. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old) lokalna nova vrijednost = stara ili 0 - može biti nula nova vrijednost = nova vrijednost + 50 vratiti vrijednost nove vrijednosti) kraj) kraj)

  • U ovoj smo funkciji postavili drugu funkciju, staru. "stari" su naši prethodno spremljeni podaci. U ovom scenariju, svaki put kada bi igrač ušao na poslužitelj, poslužitelj bi locirao njegov ključ, koji je njihov userId, i ažurirao bi podatke za 50 bodova, vraćajući i prikazujući tu novu vrijednost.
7815950 10
7815950 10

Korak 3. Čestitamo

Uspješno ste pohranili i ažurirali podatke igrača.

Upozorenja

  • Prilikom prvog stvaranja skladišta podataka, provjerite ima li "game: GetService (" DataStoreService ")", s ispravnim velikim slovima. Neće raditi efikasno ako se pogrešno pozove.
  • Obavezno saznajte kada koristiti "SetAsync" i "UpdateAsync", jer se pogrešnom upotrebom stvari mogu pretvoriti u nered pri preuzimanju podataka. U većini slučajeva programeri će koristiti "UpdateAsync".

Preporučuje se: