3 būdai, kaip dirbti su „Roblox“duomenų saugyklomis

Turinys:

3 būdai, kaip dirbti su „Roblox“duomenų saugyklomis
3 būdai, kaip dirbti su „Roblox“duomenų saugyklomis
Anonim

Kiekvienas norėjo išsaugoti duomenis ir vėl juos įkelti kiekvieną kartą, kai žaidėjas vėl pradeda žaidimą? Nuo tada, kai duomenų atkaklumas tapo beprasmis, „ROBLOX“pristato daug funkcionalesnes duomenų saugyklas. Šis vadovas padės jums dirbti su ROBLOX duomenų saugyklomis.

Žingsniai

1 metodas iš 3: duomenų saugyklos nustatymas

7815950 1
7815950 1

Žingsnis 1. Konfigūruokite API

Tai nereikalauja jokių scenarijų, tačiau norint suaktyvinti visą duomenų saugyklos API, pirmiausia turite įgalinti prieigą prie API. Norėdami tai padaryti, eikite į skirtuką „Kurti“ir spustelėkite „Žaidimai“. Tai turėtų nukreipti jus į visas jums priklausančias dabartines žaidimų vietas. Raskite savo žaidimą ir spustelėkite krumpliaratį. Turėtų pasirodyti išskleidžiamasis meniu ir tiesiog paspauskite „Konfigūruoti“. Pažymėkite laukelį „Įgalinti„ Studio “prieigą prie API paslaugų“ir išsaugokite. Dabar turėtumėte turėti prieigą prie visos API.

7815950 2
7815950 2

Žingsnis 2. Gaukite duomenų saugyklą

Naudokite duomenų saugyklos API, kad iškviestumėte duomenų saugyklą, nes turėsime ją nurodyti. Norėdami pradėti, atidarykite scenarijų „ROBLOX“ir pavadinkite kintamąjį, kurį norėtume naudoti norėdami iškviesti nuorodą.

    vietinis duomenų saugykla = žaidimas: „GetService“(„DataStoreService“): „GetDataStore“(„vardas“)

7815950 3
7815950 3

Žingsnis 3. Jei reikia, naudokite kintamąjį

Sėkmingai iškvietėte duomenų saugyklą su kintamuoju „duomenų saugykla“. Dabar, kai jums reikia gauti duomenų saugyklą, galite tiesiog pavadinti ją kintamuoju.

Atminkite, kad jei duomenų saugykla dar nebuvo sukurta, ji automatiškai sukurs naują

2 metodas iš 3: Duomenų saugojimo metodų naudojimas

7815950 4
7815950 4

Žingsnis 1. GetAsync

Naudokite „GetAsync“, kad grąžintumėte įrašo vertę duomenų saugykloje su pateiktu raktu. Būtinai suteikite kiekvienam žaidėjui unikalų raktų rinkinį, nes dviejų žaidėjų nustatymas tuo pačiu raktu pakeis jų pačių žaidimo duomenis ir sukels chaosą tarp dviejų šalių. Jei norite sužinoti, kaip nustatyti unikalų raktą, skaitykite toliau.

  • Šis kodas išves nulį, nes serveris nerado jokios reikšmės, susiejančios su raktu; svarbu parodyti serveriui tiksliai tai, ką bandome išvesti, kad serveris žinotų, ką reikia rodyti.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId duomenų saugykla: GetAsync (raktas) pabaiga)

7815950 5
7815950 5

Žingsnis 2. SetAsync

Naudodami „SetAsync“nustatykite rakto vertę ir nepaisykite visų esamų unikaliojo rakto duomenų.

  • Jei ankstesnis informacijos rinkinys yra svarbus, apsvarstykite galimybę naudoti „UpdateAsync“, kuris bus aprašytas toliau.
  • Šis kodas parodo, kaip įgyvendinti abu metodus: „: GetAsync ()“ir „: SetAsync ()“.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId duomenų saugykla: SetAsync (raktas, 90) - - nustato raktą į vertę, 90 vietinių duomenų_įrašyta = duomenų saugykla: „GetAsync“(raktas) - gali aptikti vertės pasikeitimo atspaudą (duomenys išsaugoti) - atspausdina išvesties pabaigą)

  • Pastaba: tai neveiks, nebent įgalinsite API prieigą. Norėdami tai padaryti, perskaitykite pirmąją šio vadovo instrukciją.
7815950 6
7815950 6

Žingsnis 3. Naudodami „UpdateAsync“grąžinkite rakto vertę ir atnaujinkite ją nauja verte

Tai patvirtina duomenis, todėl reikia palaukti, kol serveris ras laiko juos atnaujinti. Kad tai veiktų, turėsite perduoti du parametrus; pirmasis yra eilutė, kuri paima unikalų jūsų nustatytą raktą: "'user_'.. player.userId", o antroji - funkcija, kuri perims senąją vertę.

    local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId duomenų saugykla: UpdateAsync (raktas, funkcija (senas)) - padaryk dalykus galas) pabaiga)

  • Šiuo atveju senąją vertę pavadinome „sena“. Šios funkcijos viduje turėsime sukurti kintamąjį, kuris atsižvelgs į mūsų atnaujintą balą, ir tada grąžinti jį, kad jis galėtų parodyti mūsų naują rezultatą.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId duomenų saugykla: UpdateAsync (raktas, funkcija (senas)) vietinis naujas = senas arba 0 - gali būti nulis naujas = naujas + 1 - pridėti 1 prie senos vertės grąžinti naują - grąžina jį su nauja verte)))

  • Atminkite, kad serveris grąžins nulį, jei rakto nėra arba jis nėra priskirtas teisingai.
  • Jei šios funkcijos nėra, atnaujinimas bus atšauktas.
7815950 7
7815950 7

Žingsnis 4. Norėdami padidinti rakto vertę, naudokite „IncrementAsync“ir grąžina padidintą reikšmę

Šis metodas tinka tik sveikiems skaičiams.

3 metodas iš 3: Duomenų saugyklos įvykiai ir duomenų atnaujinimas

7815950 8
7815950 8

Žingsnis 1. Nustatykite unikalų raktą

Labai svarbu, kad kiekvienas žaidėjas turėtų unikalų raktą. Jie laikys tą raktą, kuriame bus saugomi visi jų duomenys. Norėdami tai padaryti, mes naudojame žaidėjo ID. Nustatę duomenų saugyklą, tiesiog įjunkite grotuvo įkėlimo funkciją ir suraskite grotuvo ID. Kodas turėtų atrodyti taip:

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

  • Tai automatiškai sukurs raktą, kuris yra unikalus tik tam žaidėjui, nes kiekvienas žaidėjas turės vieną unikalų ID. „Vartotojas_“nebus svarbus.
7815950 9
7815950 9

Žingsnis 2. Atnaujinkite duomenis

Dabar, kai turite unikalų kiekvieno žaidėjo raktą, esate pasiruošę atnaujinti duomenų saugyklą ir gauti duomenis. Po raktu norėsite pridėti metodą, kuris labiausiai tinka jūsų poreikiams. Šiuo atveju naudosime „UpdateAsync“.

  • Pradėkite nuo funkcijos, padedančios serveriui suprasti, ką ketinate daryti.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId duomenų saugykla: UpdateAsync (raktas, funkcija (senas)) local newValue = senas arba 0 - gali būti nulis newValue = newValue + 50 return newValue end) end)

  • Šioje funkcijoje mes nustatėme kitą, seną, funkciją. „seni“buvo mūsų anksčiau išsaugoti duomenys. Pagal šį scenarijų, kiekvieną kartą žaidėjui įėjus į serverį, serveris suras savo raktą, kuris yra jų vartotojo ID, ir atnaujins duomenis 50 taškų, grąžindamas ir rodydamas tą naują vertę.
7815950 10
7815950 10

Žingsnis 3. Sveikiname

Sėkmingai išsaugojote ir atnaujinote žaidėjo duomenis.

Įspėjimai

  • Kai pirmą kartą sukuriate duomenų saugyklą, įsitikinkite, kad yra „game: GetService („ DataStoreService “)“, su didžiosiomis raidėmis. Jis neveiks efektyviai, jei bus iškviestas neteisingai.
  • Įsitikinkite, kad žinote, kada naudoti „SetAsync“ir „UpdateAsync“, nes naudojant netinkamą parinktį, nuskaitant duomenis viskas gali virsti netvarka. Daugeliu atvejų kūrėjai naudos „UpdateAsync“.

Rekomenduojamas: