3 tapaa työskennellä Robloxin tietovarastojen kanssa

Sisällysluettelo:

3 tapaa työskennellä Robloxin tietovarastojen kanssa
3 tapaa työskennellä Robloxin tietovarastojen kanssa
Anonim

Jokainen halusi tallentaa tiedot ja ladata ne uudelleen aina, kun pelaaja tulee peliin uudelleen? Siitä lähtien, kun tietojen pysyvyydestä on tullut turhaa, ROBLOX tuo markkinoille paljon toimivampia tietovarastoja. Seuraavan oppaan avulla voit työskennellä ROBLOXin tietovarastojen kanssa.

Askeleet

Tapa 1 /3: Tietojen tallennus

7815950 1
7815950 1

Vaihe 1. Määritä sovellusliittymä

Tämä ei vaadi komentosarjoja, mutta kaikkien tietovarastojen sovellusliittymän aktivoimiseksi sinun on ensin otettava sovellusliittymän käyttö käyttöön. Voit tehdä tämän siirtymällä Kehitä -välilehteen ja napsauttamalla "Pelit". Tämän pitäisi ohjata sinut kaikkiin nykyisiin pelipaikkoihisi. Etsi pelisi ja napsauta vaihde. Pudotusvalikon pitäisi näkyä ja paina "Määritä". Valitse Salli Studio -pääsy API -palveluihin -valintaruutu ja tallenna. Sinulla pitäisi nyt olla pääsy koko sovellusliittymään.

7815950 2
7815950 2

Vaihe 2. Hae tietovarasto

Käytä Data Store -sovellusliittymää datamuistin hakemiseen, koska meidän on viitattava siihen. Aloita avaamalla komentosarja ROBLOXissa ja nimeä muuttuja, jonka avulla haluamme pyytää viitettä.

    paikallinen tietovarasto = peli: GetService ("DataStoreService"): GetDataStore ("nimi")

7815950 3
7815950 3

Vaihe 3. Käytä muuttujaa tarpeen mukaan

Olet onnistuneesti kutsunut tietovarastoa muuttujalla "datastore". Nyt, kun sinun on haettava tietovarasto, voit nimetä sen yksinkertaisesti sen muuttujan mukaan.

Huomaa, että jos tietovarastoa ei ole vielä luotu, se luo automaattisesti uuden

Tapa 2/3: Tietojen tallennusmenetelmien käyttö

7815950 4
7815950 4

Vaihe 1. GetAsync

Palauta GetAsyncin avulla tietovaraston syötteen arvo annetulla avaimella. Varmista, että annat jokaiselle pelaajalle ainutlaatuisen avainsarjan, sillä kahden pelaajan asettaminen samaan avaimeen ohittaa heidän omat pelitietonsa aiheuttaen kaaosta kahden osapuolen välillä. Jos haluat tietää, miten voit määrittää yksilöllisen avaimen, lue eteenpäin.

  • Seuraava koodi antaa nollaa, koska palvelin ei löytänyt mitään arvoa, joka linkittäisi avaimeen; On tärkeää näyttää palvelimelle täsmälleen, mitä yritämme tulostaa, jotta palvelin tietää, mitä on näytettävä.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId tietovarasto: GetAsync (avain) loppu)

7815950 5
7815950 5

Vaihe 2. SetAsync

SetAsyncin avulla voit määrittää avaimen arvon ja ohittaa kaikki yksilölliselle avaimelle tallennetut tiedot.

  • Jos edelliset tiedot ovat tärkeitä, harkitse UpdateAsyncin käyttöä, joka opetetaan alla.
  • Seuraava koodi näyttää, kuinka molemmat: ": GetAsync ()" ja ": SetAsync ()" -menetelmät otetaan käyttöön.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId tietovarasto: SetAsync (avain, 90) - - asettaa avaimen arvoon, 90 paikallista data_stored = datastore: GetAsync (avain) - pystyy havaitsemaan arvonmuutoksen tulostuksen (data_stored) - tulostaa tulosteen lopun)

  • Huomautus: Tämä ei toimi, ellei sovellusliittymän käyttö ole käytössä. Voit tehdä tämän lukemalla tämän oppaan ensimmäisen ohjeen.
7815950 6
7815950 6

Vaihe 3. Palauta avaimen arvo UpdateAsyncin avulla ja päivitä se uudella arvolla

Tämä vahvistaa tiedot, ja siksi on odotettava, kunnes palvelin löytää ajan päivittääkseen tiedot. Jotta tämä toimisi, sinun on annettava kaksi parametria; ensimmäinen on merkkijono, joka vie määrittämäsi yksilöllisen avaimen: "'user_'.. player.userId", ja toinen on funktio, joka ottaa vanhan arvon.

    local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId tietovarasto: UpdateAsync (avain, toiminto (vanha) - tee asiat loppuun) loppu)

  • Tässä tapauksessa kutsuimme vanhaa arvoa "vanhaksi". Tämän toiminnon sisällä meidän on tehtävä muuttuja, joka ottaa huomioon päivitetyt pisteet, ja palauttaa sen, jotta se voi näyttää uudet pisteet.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId tietovarasto: UpdateAsync (avain, toiminto (vanha) paikallinen uusi = vanha tai 0 - voi olla nolla uusi = uusi + 1 - lisää 1 vanhaan arvoon palauta uusi - palauttaa sen uuden arvon lopussa) loppu)

  • Huomaa, että palvelin palauttaa nollan, jos avainta ei ole tai sitä ei ole määritetty oikein.
  • Jos toimintoa ei ole, päivitys peruutetaan.
7815950 7
7815950 7

Vaihe 4. Suurenna avaimen arvoa IncrementAsyncin avulla ja palauttaa lisäarvon

Tämä menetelmä toimii vain kokonaislukuilla.

Tapa 3/3: Tietovarastojen tapahtumat ja tietojen päivittäminen

7815950 8
7815950 8

Vaihe 1. Aseta yksilöllinen avain

On erittäin tärkeää, että jokaisella pelaajalla on ainutlaatuinen avain. He pitävät kiinni tästä avaimesta, joka tallentaa kaikki heidän tietonsa. Tätä varten käytämme pelaajatunnusta. Kun olet asettanut tietovaraston, soita vain soittimen lataamiseen ja etsi sitten soittajan tunnus. Koodin pitäisi näyttää tältä:

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

  • Tämä luo automaattisesti avaimen, joka on ainutlaatuinen vain kyseiselle pelaajalle, sillä jokaisella pelaajalla on yksi yksilöllinen tunnus. Käyttäjällä ei ole väliä.
7815950 9
7815950 9

Vaihe 2. Päivitä tiedot

Nyt kun sinulla on jokaiselle pelaajalle yksilöllinen avain, olet valmis päivittämään tietovaraston ja noutamaan tiedot. Haluat lisätä avaimen alle menetelmän, joka sopii parhaiten tarpeisiisi. Tässä tapauksessa käytämme UpdateAsyncia.

  • Aloita toiminnolla, joka auttaa palvelinta ymmärtämään, mitä aiot tehdä.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId tietovarasto: UpdateAsync (avain, toiminto (vanha) paikallinen newValue = vanha tai 0 - voi olla nolla newValue = newValue + 50 return newValue end) end)

  • Tässä toiminnossa asetimme toisen toiminnon, vanhan. "vanha" oli aiemmin tallennettu tieto. Tässä tilanteessa aina, kun pelaaja tulee palvelimelle, palvelin etsii avaimensa, joka on heidän käyttäjätunnuksensa, ja päivittää tiedot 50 pisteellä palauttamalla ja näyttämällä uuden arvon.
7815950 10
7815950 10

Vaihe 3. Onnittelut

Olet tallentanut ja päivittänyt pelaajan tiedot.

Varoitukset

  • Kun luot tietovarastoasi ensimmäisen kerran, varmista, että siinä on "game: GetService (" DataStoreService ")", jossa on isot kirjaimet. Se ei toimi tehokkaasti, jos sitä kutsutaan väärin.
  • Varmista, että tiedät milloin käyttää "SetAsync" - ja "UpdateAsync" -palveluja, koska väärän käyttäminen voi muuttaa asiat sotkuiseksi tietoja noudettaessa. Useimmissa tapauksissa kehittäjät käyttävät UpdateAsyncia.

Suositeltava: