3 måter å jobbe med datalagre på Roblox

Innholdsfortegnelse:

3 måter å jobbe med datalagre på Roblox
3 måter å jobbe med datalagre på Roblox
Anonim

Alle ønsket å lagre data, og laste dem inn igjen hver gang en spiller går inn i spillet igjen? Helt siden Data Persistence har blitt meningsløs, introduserer ROBLOX datalagre som er mye mer fungerende. Følgende veiledning gjør at du kan jobbe med datalagre for ROBLOX.

Trinn

Metode 1 av 3: Angi datalagring

7815950 1
7815950 1

Trinn 1. Konfigurer API

Dette innebærer ikke noe scripting, men for å aktivere alle datalagrets API må du først aktivere API -tilgangen. For å gjøre dette, gå til kategorien Utvikle og klikk på "Spill". Dette bør lede deg til alle de nåværende spillstedene du eier. Finn spillet ditt, og klikk på tannhjulet. Det skal vises en rullegardinmeny, og bare trykke "Konfigurer". Merk av i boksen "Aktiver Studio -tilgang til API -tjenester", og lagre. Du bør nå ha tilgang til hele API -en.

7815950 2
7815950 2

Trinn 2. Hent datalagret

Bruk Data Store API til å ringe etter datalagret, da vi må referere til det. For å starte, åpne et skript på ROBLOX, og navngi en variabel som vi vil bruke til å kalle for referansen.

    lokal datastore = spill: GetService ("DataStoreService"): GetDataStore ("navn")

7815950 3
7815950 3

Trinn 3. Bruk variabelen etter behov

Du har vellykket kalt datalageret med variabelen "datastore". Nå, når du trenger å hente datalagringen, kan du ganske enkelt navngi den med variabelen.

Vær oppmerksom på at hvis en datalagring ikke er opprettet ennå, vil den automatisk opprette en ny

Metode 2 av 3: Bruke datalagringsmetoder

7815950 4
7815950 4

Trinn 1. GetAsync

Bruk GetAsync til å returnere verdien av oppføringen i datalageret med den angitte nøkkelen. Sørg for å gi hver spiller et unikt sett med nøkler, ettersom å sette to spillere den samme nøkkelen vil overstyre sine egne data i spillet og forårsake kaos mellom de to partene. Hvis du vil vite hvordan du setter en unik nøkkel, kan du lese videre.

  • Følgende kode sendes null, fordi serveren ikke kunne finne noen verdi som kobler til nøkkelen; Det er viktig å vise serveren nøyaktig hva vi prøver å sende ut, slik at serveren vet hva som må vises.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: GetAsync (key) end)

7815950 5
7815950 5

Trinn 2. SetAsync

Bruk SetAsync til å angi verdien til nøkkelen, og overstyrer alle eksisterende data som er lagret for den unike nøkkelen.

  • Hvis det forrige settet med informasjon er viktig, bør du vurdere å bruke UpdateAsync, som vil bli beskrevet nedenfor.
  • Følgende kode viser deg hvordan du implementerer begge metodene ": GetAsync ()" og ": SetAsync ()".
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: SetAsync (key, 90) - - setter nøkkelen til verdien, 90 lokale data_stored = datastore: GetAsync (nøkkel) - er i stand til å oppdage verdiendringen print (data_stored) - skriver ut utgangen)

  • Merk: Dette fungerer ikke, med mindre du har API -tilgang aktivert. For å gjøre dette, les den første instruksjonen i denne guiden.
7815950 6
7815950 6

Trinn 3. Bruk UpdateAsync til å returnere verdien av nøkkelen, og oppdater den med en ny verdi

Dette validerer data, og må derfor vente til serveren finner tid til å oppdatere dem. For at dette skal fungere, må du passere to parametere; den første er en streng som tar den unike nøkkelen du har satt opp: "'user_'.. player.userId", og den andre er en funksjon som tar inn den gamle verdien.

    local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old) - gjør ting slutt) slutt)

  • I dette tilfellet kalte vi den gamle verdien "gammel". Inne i denne funksjonen må vi lage en variabel som skal redegjøre for vår oppdaterte poengsum, og deretter returnere den slik at den kan vise vår nye poengsum.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old) lokal ny = gammel eller 0 - kan være null ny = ny + 1 - legg til 1 i den gamle verdien returnere ny - returnerer den med den nye verdien slutten) slutten)

  • Vær oppmerksom på at serveren returnerer null hvis nøkkelen ikke eksisterer eller ikke er riktig tilordnet.
  • Hvis funksjonen ikke eksisterer, blir oppdateringen kansellert.
7815950 7
7815950 7

Trinn 4. Bruk IncrementAsync til å øke verdien for en nøkkel, og returnerer den inkrementerte verdien

Denne metoden fungerer bare på heltall.

Metode 3 av 3: Datalagringshendelser og oppdatering av data

7815950 8
7815950 8

Trinn 1. Angi en unik nøkkel

Det er ekstremt viktig at hver spiller har en nøkkel som er unik for dem. De vil holde på nøkkelen, som lagrer alle dataene deres. For å gjøre dette bruker vi spillerens ID. Når du har angitt datalagret, kan du bare ringe til en funksjon for å laste inn spilleren, og deretter finne spillerens ID. Koden skal se slik ut:

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

  • Dette vil automatisk opprette en nøkkel som er unik for den spilleren, for hver spiller vil ha en unik ID. "User_" spiller ingen rolle.
7815950 9
7815950 9

Trinn 2. Oppdater dataene

Nå som du har en unik nøkkel til hver spiller, er du klar til å gjøre datalagret oppdatere og hente data. Under nøkkelen din vil du legge til en metode som passer best for dine behov. I dette tilfellet bruker vi "UpdateAsync".

  • Start med en funksjon for å hjelpe serveren å forstå hva du har tenkt å gjøre.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old) lokal newValue = gammel eller 0 - kan være null newValue = newValue + 50 return newValue end) end)

  • I denne funksjonen setter vi opp en annen funksjon, gammel. "gammel" var våre tidligere lagrede data. I dette scenariet, hver gang en spiller kom inn på serveren, ville serveren finne nøkkelen, som er deres bruker -ID, og den ville oppdatere dataene med 50 poeng, returnere og vise den nye verdien.
7815950 10
7815950 10

Trinn 3. Gratulerer

Du har lagret og oppdatert dataene til en spiller.

Advarsler

  • Når du lager datalagret for første gang, må du sørge for å ha "game: GetService (" DataStoreService ")" med riktig stor bokstav. Det vil ikke kjøre effektivt, hvis det kalles feil.
  • Sørg for å vite når du skal bruke "SetAsync" og "UpdateAsync", siden bruk av feil kan gjøre ting til rot når du henter data. I de fleste tilfeller vil utviklere bruke "UpdateAsync".

Anbefalt: