3 maneres de treballar amb botigues de dades a Roblox

Taula de continguts:

3 maneres de treballar amb botigues de dades a Roblox
3 maneres de treballar amb botigues de dades a Roblox
Anonim

Tots volíeu desar les dades i tornar-les a carregar cada vegada que un jugador torna a entrar al joc? Des que la persistència de dades s’ha tornat inútil, ROBLOX introdueix botigues de dades que funcionen molt més. La següent guia us permetrà treballar amb magatzems de dades per a ROBLOX.

Passos

Mètode 1 de 3: configuració del magatzem de dades

7815950 1
7815950 1

Pas 1. Configureu l'API

Això no implica cap script, però per activar tota l'API del magatzem de dades, primer heu d'activar l'accés a l'API. Per fer-ho, aneu a la pestanya Desenvolupament i feu clic a "Jocs". Això us hauria de dirigir a tots els llocs de joc actuals que teniu. Cerqueu el vostre joc i feu clic a l'engranatge. Hi hauria d'aparèixer un menú desplegable i simplement premeu "Configura". Marqueu la casella habilitada "Activa l'accés de Studio als serveis API" i deseu-la. Ara hauríeu de tenir accés a l'API completa.

7815950 2
7815950 2

Pas 2. Recupereu el magatzem de dades

Utilitzeu l’API Data Store per demanar el magatzem de dades, ja que l’haurem de fer referència. Per començar, obriu un script a ROBLOX i anomeneu una variable que ens agradaria utilitzar per demanar la referència.

    local datastore = joc: GetService ("DataStoreService"): GetDataStore ("nom")

7815950 3
7815950 3

Pas 3. Utilitzeu la variable segons sigui necessari

Heu trucat amb èxit al magatzem de dades amb la variable "magatzem de dades". Ara, sempre que necessiteu recuperar el magatzem de dades, només podeu anomenar-lo per la seva variable.

Tingueu en compte que si encara no s’ha creat un magatzem de dades, en crearà automàticament un de nou

Mètode 2 de 3: Ús de mètodes de magatzem de dades

7815950 4
7815950 4

Pas 1. GetAsync

Utilitzeu GetAsync per retornar el valor de l'entrada al magatzem de dades amb la clau donada. Assegureu-vos de proporcionar a cada jugador un conjunt de claus únic, ja que establir la mateixa tecla a dos jugadors anul·larà les seves pròpies dades del joc, provocant el caos entre les dues parts. Si voleu saber com configurar una clau única, seguiu llegint.

  • El següent codi serà nul perquè el servidor no ha trobat cap valor que enllaci amb la clau; és important mostrar al servidor exactament el que estem intentant produir, de manera que el servidor sàpiga què cal mostrar.
  • 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

Pas 2. SetAsync

Utilitzeu SetAsync per definir el valor de la clau i substitueix totes les dades existents emmagatzemades per a la clau única.

  • Si el conjunt d'informació anterior és important, penseu en utilitzar UpdateAsync, que s'ensenyarà a continuació.
  • El codi següent mostra com implementar els mètodes ": GetAsync ()" i ": SetAsync ()".
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: SetAsync (key, 90) - - estableix la clau al valor, 90 data_stored local = magatzem de dades: GetAsync (clau) - és capaç de detectar el canvi de valor imprès (data_stored) - imprimeix el final de sortida)

  • Nota: això no funcionarà, tret que tingueu l'accés a l'API habilitat. Per fer-ho, llegiu la primera instrucció d'aquesta guia.
7815950 6
7815950 6

Pas 3. Utilitzeu UpdateAsync per retornar el valor de la clau i actualitzeu-lo amb un valor nou

Això valida les dades i, per tant, ha d’esperar fins que el servidor pugui trobar el temps per actualitzar-les. Perquè això funcioni, haureu de passar dos paràmetres; la primera és una cadena que pren la clau única que heu configurat: "'user_'.. player.userId", i la segona és una funció que tindrà el valor antic.

    local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old)) - fer coses acabar) acabar)

  • En aquest cas, hem anomenat el vell valor "vell". Dins d'aquesta funció, haurem de fer una variable que expliqui la nostra puntuació actualitzada i, després, tornar-la perquè pugui mostrar la nostra nova puntuació.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old)) local new = old or 0 - could be nul new = new + 1 - add 1 to the old value return new - return it with the new value end) end)

  • Tingueu en compte que el servidor retornarà nul si la clau no existeix o no està assignada correctament.
  • Si la funció no existeix, l'actualització es cancel·larà.
7815950 7
7815950 7

Pas 4. Utilitzeu IncrementAsync per incrementar el valor d'una clau i retorna el valor incrementat

Aquest mètode només funciona en enters.

Mètode 3 de 3: esdeveniments del magatzem de dades i actualització de dades

7815950 8
7815950 8

Pas 1. Definiu una clau única

És extremadament vital que cada jugador tingui una clau única per a ells. Mantindran aquesta tecla que emmagatzemarà totes les seves dades. Per fer-ho, fem servir la identificació del jugador. Un cop hàgiu configurat el magatzem de dades, només cal que activeu una funció per carregar el reproductor i, a continuació, busqueu la identificació del jugador. El codi ha de tenir el següent aspecte:

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

  • Això crearà automàticament una clau única per a aquest jugador, ja que cada jugador tindrà un identificador únic. El "user_" no importarà.
7815950 9
7815950 9

Pas 2. Actualitzeu les dades

Ara que teniu una clau única per a cada jugador, esteu disposat a actualitzar i recuperar dades del magatzem de dades. Sota la vostra clau, voldreu afegir un mètode més adequat a les vostres necessitats. En aquest cas, utilitzarem "UpdateAsync".

  • Comenceu amb una funció per ajudar el servidor a entendre què voleu fer.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old)) local newValue = vell o 0 - podria ser nul newValue = newValue + 50 return newValue end) end)

  • En aquesta funció, configurem una altra funció, antiga. "vell" eren les nostres dades desades prèviament. En aquest escenari, cada vegada que un jugador entrava al servidor, el servidor localitzava la seva clau, que és el seu ID d’usuari, i actualitzaria les dades en 50 punts, retornant i mostrant aquest nou valor.
7815950 10
7815950 10

Pas 3. Enhorabona

Heu emmagatzemat i actualitzat correctament les dades d’un jugador.

Advertiments

  • Quan creeu el vostre magatzem de dades per primera vegada, assegureu-vos que teniu "joc: GetService (" DataStoreService ")", amb les majúscules correctes. No funcionarà de manera eficient si es crida incorrectament.
  • Assegureu-vos de saber quan heu d’utilitzar "SetAsync" i "UpdateAsync", ja que utilitzar-ne un pot convertir les coses en un embolic quan es recuperin dades. En la majoria dels casos, els desenvolupadors utilitzaran "UpdateAsync".

Recomanat: