3 viisi Robloxi andmesalvestitega töötamiseks

Sisukord:

3 viisi Robloxi andmesalvestitega töötamiseks
3 viisi Robloxi andmesalvestitega töötamiseks
Anonim

Kas igaüks soovis andmeid salvestada ja uuesti laadida iga kord, kui mängija uuesti mängu siseneb? Sellest ajast peale, kui andmete püsivus on mõttetuks muutunud, tutvustab ROBLOX andmesalvesid, mis on palju toimivamad. Järgmine juhis võimaldab teil töötada ROBLOXi andmebaasidega.

Sammud

Meetod 1 /3: andmesalve seadistamine

7815950 1
7815950 1

Samm 1. Seadistage API

See ei hõlma skripte, kuid kõigi andmesalve API aktiveerimiseks peate esmalt lubama juurdepääsu API -le. Selleks minge vahekaardile Arendus ja klõpsake nuppu "Mängud". See peaks suunama teid kõikidesse praegustesse mängukohtadesse, mis teile kuuluvad. Otsige üles oma mäng ja klõpsake käigul. Ilmuma peaks rippmenüü ja vajutage lihtsalt nuppu "Seadista". Märkige ruut „Luba Studio juurdepääs API teenustele” ja salvestage. Nüüd peaks teil olema juurdepääs kogu API -le.

7815950 2
7815950 2

Samm 2. Andmesalve allalaadimine

Andmesalve otsimiseks kasutage Data Store API -d, sest me peame sellele viitama. Alustuseks avage ROBLOXis skript ja nimetage muutuja, mida sooviksime kasutada viite saamiseks.

    kohalik andmebaas = mäng: GetService ("DataStoreService"): GetDataStore ("nimi")

7815950 3
7815950 3

Samm 3. Kasutage muutujat vastavalt vajadusele

Olete edukalt helistanud andmesalve muutujaga „andmesalvestis”. Nüüd, kui teil on vaja andmesalvest alla laadida, saate selle lihtsalt nimetada selle muutuja järgi.

Pange tähele, et kui andmesalve pole veel loodud, loob see automaatselt uue

Meetod 2/3: Andmesalvestusmeetodite kasutamine

7815950 4
7815950 4

Samm 1. GetAsync

Kasutage GetAsynci abil andmesalves oleva kirje väärtuse tagastamiseks antud võtmega. Kindlasti andke igale mängijale ainulaadne võtmekomplekt, kuna kahe mängija sama võtme määramine tühistab nende enda mängusisesed andmed, põhjustades kahe osapoole vahel kaose. Kui soovite teada, kuidas unikaalset võtit määrata, lugege edasi.

  • Järgmine kood väljastab nulli, kuna server ei leidnud võtmega linkivat väärtust; on oluline näidata serverile täpselt seda, mida me üritame väljastada, et server teaks, mida kuvada tuleb.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId andmesalv: GetAsync (võti) lõpp)

7815950 5
7815950 5

Samm 2. SetAsync

Kasutage võtme väärtuse määramiseks SetAsynci ja tühistab kõik unikaalse võtme jaoks salvestatud andmed.

  • Kui eelmine teabekomplekt on oluline, kaaluge UpdateAsynci kasutamist, mida õpetatakse allpool.
  • Järgmine kood näitab, kuidas rakendada meetodeid ": GetAsync ()" ja ": SetAsync ()".
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId andmesalv: SetAsync (võti, 90) - - määrab võtme väärtusele, 90 kohalikku data_stored = andmesalvestus: GetAsync (võti) - suudab tuvastada väärtuse muutmise prindi (andmed_salvestatud) - prindib väljundi lõpu)

  • Märkus. See ei tööta, kui teil pole API -juurdepääsu lubatud. Selleks lugege selle juhendi esimest juhist.
7815950 6
7815950 6

Samm 3. Võtme väärtuse tagastamiseks kasutage värskendust UpdateAsync ja värskendage seda uue väärtusega

See kinnitab andmed ja peab seetõttu ootama, kuni server leiab aja nende värskendamiseks. Selle toimimiseks peate läbima kaks parameetrit; esimene on string, mis võtab teie seadistatud unikaalse võtme: "'user_'.. player.userId" ja teine funktsioon, mis võtab vana väärtuse.

    local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId andmesalv: UpdateAsync (võti, funktsioon (vana)) - tehke asjad otsa)))

  • Sel juhul nimetasime vana väärtust "vanaks". Selle funktsiooni sees peame looma muutuja, mis arvestab meie uuendatud skoori, ja tagastame selle, et see saaks meie uut tulemust kuvada.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId andmesalv: UpdateAsync (võti, funktsioon (vana)) kohalik uus = vana või 0 - võib olla null uus = uus + 1 - lisage vana väärtusele 1 tagastage uus - tagastab selle uue väärtusega)))

  • Pange tähele, et server tagastab nulli, kui võtit pole olemas või see pole õigesti määratud.
  • Kui seda funktsiooni pole, värskendus tühistatakse.
7815950 7
7815950 7

Samm 4. Kasutage nupu IncrementAsync abil võtme väärtuse suurendamiseks ja tagastab suurendatud väärtuse

See meetod töötab ainult täisarvude korral.

Meetod 3 /3: Andmesalve sündmused ja andmete värskendamine

7815950 8
7815950 8

Samm 1. Määrake unikaalne võti

On äärmiselt oluline, et igal mängijal oleks võti, mis on talle ainulaadne. Nad hoiavad seda võtit, mis salvestab kõik nende andmed. Selleks kasutame mängija isikutunnistust. Kui olete andmesalve seadistanud, helistage lihtsalt mängija laadimiseks funktsioonile ja leidke seejärel mängija ID. Kood peaks välja nägema järgmine:

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

  • See loob automaatselt ainult sellele mängijale ainulaadse võtme, sest igal mängijal on üks kordumatu ID. "Kasutaja_" pole oluline.
7815950 9
7815950 9

Samm 2. Värskendage andmeid

Nüüd, kui teil on iga mängija jaoks ainulaadne võti, olete seadistanud andmesalve värskendama ja andmeid hankima. Võtme alla soovite lisada oma vajadustele kõige sobivama meetodi. Sel juhul kasutame "UpdateAsync".

  • Alustage funktsiooniga, mis aitab serveril mõista, mida kavatsete teha.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId andmesalv: UpdateAsync (võti, funktsioon (vana)) local newValue = vana või 0 - võib olla null newValue = newValue + 50 return newValue end) end)

  • Selles funktsioonis seadistasime veel ühe vana funktsiooni. "vana" olid meie varem salvestatud andmed. Selle stsenaariumi korral tuvastaks server iga kord, kui mängija serverisse siseneb, selle võtme, mis on nende kasutaja ID, ning uuendaks andmeid 50 punkti võrra, tagastades ja kuvades uue väärtuse.
7815950 10
7815950 10

Samm 3. Õnnitleme

Olete mängija andmed edukalt salvestanud ja värskendanud.

Hoiatused

  • Andmehoidla esmakordsel loomisel veenduge, et sellel oleks õige mänguga „game: GetService („ DataStoreService “)”. See ei tööta tõhusalt, kui seda nimetatakse valesti.
  • Veenduge, et peaksite teadma, millal kasutada sätteid „SetAsync” ja „UpdateAsync”, kuna vale kasutamine võib andmete toomisel asjad sassi ajada. Enamikul juhtudel kasutavad arendajad "UpdateAsync".

Soovitan: