3 maniere om met datawinkels op Roblox te werk

INHOUDSOPGAWE:

3 maniere om met datawinkels op Roblox te werk
3 maniere om met datawinkels op Roblox te werk
Anonim

Wil u almal data stoor en weer laai elke keer as 'n speler weer in die spel kom? Sedert Data Persistence nutteloos geword het, stel ROBLOX data -winkels bekend wat baie meer funksioneer. Die volgende handleiding stel u in staat om met datastore vir ROBLOX te werk.

Stappe

Metode 1 van 3: Stel die datawinkel in

7815950 1
7815950 1

Stap 1. Stel die API op

Dit behels nie 'n bietjie script nie, maar om al die data -stoor -API te aktiveer, moet u eers die API -toegang aktiveer. Om dit te doen, gaan na die blad Ontwikkel en klik op "Speletjies". Dit moet u lei na al die huidige speletjies wat u besit. Soek u speletjie en klik op die rat. Daar moet 'n keuselys verskyn, en druk eenvoudig op 'Konfigureer'. Merk die kassie "Aktiveer Studio -toegang tot API -dienste" en stoor dit. U behoort nou toegang tot die volledige API te hê.

7815950 2
7815950 2

Stap 2. Haal die data stoor op

Gebruik die Data Store API om die data winkel te besoek, aangesien ons dit moet verwys. Om te begin, maak 'n script op ROBLOX oop en noem 'n veranderlike wat ons wil gebruik om die verwysing te noem.

    plaaslike datastore = game: GetService ("DataStoreService"): GetDataStore ("naam")

7815950 3
7815950 3

Stap 3. Gebruik die veranderlike soos benodig

U het die datastoor met die veranderlike 'datastore' suksesvol genoem. Elke keer as u die datastoor moet ophaal, kan u dit eenvoudig noem met die veranderlike.

Let daarop dat as daar nog nie 'n data -stoor geskep is nie, dit outomaties 'n nuwe een sal skep

Metode 2 van 3: Gebruik data -stoormetodes

7815950 4
7815950 4

Stap 1. GetAsync

Gebruik GetAsync om die waarde van die inskrywing in die databank met die gegewe sleutel terug te gee. Maak seker dat u elke speler 'n unieke stel sleutels gee, want as u twee spelers instel, sal dieselfde sleutel hul eie data in die spel oorheers en chaos tussen die twee partye veroorsaak. Lees verder as u wil weet hoe u 'n unieke sleutel kan instel.

  • Die volgende kode lewer nul, omdat die bediener geen waarde kon vind wat na die sleutel skakel nie; Dit is belangrik om die bediener presies te wys wat ons probeer uitvoer, sodat die bediener sal weet wat vertoon moet word.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId data store: GetAsync (key) end)

7815950 5
7815950 5

Stap 2. SetAsync

Gebruik SetAsync om die waarde van die sleutel in te stel en ignoreer alle bestaande data wat vir die unieke sleutel gestoor is.

  • As die vorige stel inligting belangrik is, oorweeg dit om UpdateAsync te gebruik, wat hieronder uiteengesit word.
  • Die volgende kode wys hoe u beide metodes ": GetAsync ()" en ": SetAsync ()" kan implementeer.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId data store: SetAsync (key, 90) - - stel die sleutel in op die waarde, 90 local data_stored = datastore: GetAsync (key) - is in staat om die waardeverandering afdruk (data_stored) op te spoor - druk die output -einde af)

  • Let wel: dit sal nie werk nie, tensy u die API -toegang geaktiveer het. Lees die eerste instruksie van hierdie gids om dit te doen.
7815950 6
7815950 6

Stap 3. Gebruik UpdateAsync om die waarde van die sleutel terug te gee en werk dit op met 'n nuwe waarde

Dit valideer data en moet dus wag totdat die bediener tyd kry om dit op te dateer. Om dit te laat werk, moet u twee parameters slaag; die eerste is 'n string wat die unieke sleutel neem wat u opgestel het: "'user_'.. player.userId", en die tweede is 'n funksie wat die ou waarde sal inneem.

    local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old) - doen dinge einde) eindig)

  • In hierdie geval noem ons die ou waarde 'oud'. Binne hierdie funksie sal ons 'n veranderlike moet maak wat ons opgedateerde telling verantwoord, en dit dan teruggee sodat ons ons nuwe telling kan vertoon.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old) plaaslik nuut = oud of 0 - kan nul wees nuut = nuut + 1 - voeg 1 by die ou waarde terugkeer nuut - gee dit terug met die nuwe waarde einde) einde)

  • Let daarop dat die bediener nul sal terugkeer as die sleutel nie bestaan nie of nie korrek toegewys is nie.
  • As die funksie nie bestaan nie, word die opdatering gekanselleer.
7815950 7
7815950 7

Stap 4. Gebruik IncrementAsync om die waarde vir 'n sleutel te verhoog, en gee die toegevoegde waarde terug

Hierdie metode werk slegs op heelgetalle.

Metode 3 van 3: Data -winkelgebeurtenisse en opdatering van data

7815950 8
7815950 8

Stap 1. Stel 'n unieke sleutel in

Dit is uiters noodsaaklik dat elke speler 'n unieke sleutel vir hulle het. Hulle sal die sleutel hou, wat al hul data sal stoor. Om dit te kan doen, gebruik ons die speler se ID. Sodra u die data stoor ingestel het, kan u eenvoudig 'n funksie oproep om die speler te laai en die speler se ID te vind. Die kode moet soos volg lyk:

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

  • Dit sal outomaties 'n unieke sleutel vir die speler skep, want elke speler sal 'n unieke ID hê. Die 'gebruiker_' maak nie saak nie.
7815950 9
7815950 9

Stap 2. Dateer die data op

Noudat u 'n unieke sleutel vir elke speler het, is u gereed om die datawinkel by te werk en data op te haal. Onder u sleutel wil u 'n metode byvoeg wat die beste by u behoeftes pas. In hierdie geval gebruik ons 'UpdateAsync'.

  • Begin met 'n funksie om die bediener te help verstaan wat u van plan is om te doen.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old) plaaslike newValue = oud of 0 - kan nul wees newValue = newValue + 50 return newValue end) end)

  • In hierdie funksie stel ons 'n ander funksie op, oud. 'oud' was ons data wat voorheen gestoor is. In hierdie scenario, elke keer as 'n speler die bediener binnegaan, sal die bediener sy sleutel, wat hul gebruikers -ID is, opspoor en die data met 50 punte bywerk, terugkeer en die nuwe waarde vertoon.
7815950 10
7815950 10

Stap 3. Baie geluk

U het die data van 'n speler suksesvol gestoor en bygewerk.

Waarskuwings

  • As u u datawinkel vir die eerste keer skep, moet u 'game: GetService (' DataStoreService ')' hê met die regte letters. Dit sal nie doeltreffend werk as dit verkeerd genoem word nie.
  • Maak seker dat u weet wanneer u 'SetAsync' en 'UpdateAsync' moet gebruik, aangesien die verkeerde een dinge in 'n gemors kan verander as u data opspoor. In die meeste gevalle sal ontwikkelaars 'UpdateAsync' gebruik.

Aanbeveel: