3 sätt att arbeta med databutiker på Roblox

Innehållsförteckning:

3 sätt att arbeta med databutiker på Roblox
3 sätt att arbeta med databutiker på Roblox
Anonim

Alla ville spara data och ladda dem igen varje gång en spelare går in i spelet igen? Ända sedan Data Persistence har blivit meningslös introducerar ROBLOX datalager som är mycket mer fungerande. Följande instruktioner gör att du kan arbeta med datalagrar för ROBLOX.

Steg

Metod 1 av 3: Ställa in datalagret

7815950 1
7815950 1

Steg 1. Konfigurera API: et

Detta kräver inte lite skript, men för att aktivera alla datalagrings -API: er måste du först aktivera API -åtkomsten. För att göra detta, gå till fliken Utveckla och klicka på "Spel". Detta bör leda dig till alla de aktuella spelplatserna du äger. Hitta ditt spel och klicka på kugghjulet. Det ska visas en rullgardinsmeny och tryck helt enkelt på "Konfigurera". Markera kryssrutan "Aktivera Studio åtkomst till API -tjänster" och spara. Du bör nu ha tillgång till det fullständiga API: et.

7815950 2
7815950 2

Steg 2. Hämta datalagret

Använd datalagrings -API: et för att ringa efter datalagret, eftersom vi kommer att behöva referera till det. För att starta, öppna ett skript på ROBLOX och namnge en variabel som vi skulle vilja använda för att anropa referensen.

    lokal datastore = spel: GetService ("DataStoreService"): GetDataStore ("namn")

7815950 3
7815950 3

Steg 3. Använd variabeln efter behov

Du har framgångsrikt kallat datalagret med variabeln "datastore". Nu, när du behöver hämta datalagret, kan du helt enkelt namnge det med dess variabel.

Observera att om en datalagring inte har skapats ännu kommer den automatiskt att skapa en ny

Metod 2 av 3: Använda datalagringsmetoder

7815950 4
7815950 4

Steg 1. GetAsync

Använd GetAsync för att returnera värdet på posten i datalagret med den angivna nyckeln. Se till att ge varje spelare en unik uppsättning nycklar, eftersom att ställa in två spelare samma nyckel kommer att åsidosätta deras egna data i spelet, vilket orsakar kaos mellan de två parterna. Om du vill veta hur du ställer in en unik nyckel, läs vidare.

  • Följande kod kommer att matas ut noll, eftersom servern inte kunde hitta något värde som länkar till nyckeln; det är viktigt att visa servern exakt vad vi försöker mata ut, så att servern vet vad som måste visas.
  • 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

Steg 2. SetAsync

Använd SetAsync för att ställa in nyckelns värde och åsidosätter all befintlig data som lagras för den unika nyckeln.

  • Om den tidigare uppsättningen information är viktig, överväg att använda UpdateAsync, som kommer att beskrivas nedan.
  • Följande kod visar hur du implementerar både metoderna ": GetAsync ()" och ": SetAsync ()".
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: SetAsync (key, 90) - - ställer in nyckeln till värdet, 90 lokal data_stored = datalagring: GetAsync (nyckel) - kan upptäcka värdeförändringen print (data_stored) - skriver ut utgången)

  • Obs! Detta fungerar inte om du inte har API -åtkomst aktiverat. För att göra detta, läs den första instruktionen i den här guiden.
7815950 6
7815950 6

Steg 3. Använd UpdateAsync för att returnera värdet på nyckeln och uppdatera det med ett nytt värde

Detta validerar data och måste därför vänta tills servern kan hitta tid att uppdatera den. För att detta ska fungera måste du skicka två parametrar; den första är en sträng som tar den unika nyckeln du har konfigurerat: "'user_'.. player.userId", och den andra är en funktion som tar in det gamla värdet.

    local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old) - gör saker slut) slut)

  • I det här fallet kallade vi det gamla värdet "gammalt". Inuti den här funktionen måste vi göra en variabel som kommer att redogöra för vårt uppdaterade poäng och sedan returnera det så att det kan visa vårt nya poäng.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: connect (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old) lokalt nytt = gammalt eller 0 - kan vara noll nytt = nytt + 1 - lägg till 1 till det gamla värdet returnera nytt - returnerar det med det nya värdet slutet) slutet)

  • Observera att servern returnerar noll om nyckeln inte finns eller inte är korrekt tilldelad.
  • Om funktionen inte finns avbryts uppdateringen.
7815950 7
7815950 7

Steg 4. Använd IncrementAsync för att öka värdet för en nyckel och returnerar det ökade värdet

Denna metod fungerar bara på heltal.

Metod 3 av 3: Datalagringshändelser och uppdatering av data

7815950 8
7815950 8

Steg 1. Ställ in en unik nyckel

Det är oerhört viktigt att varje spelare har en nyckel som är unik för dem. De kommer att hålla kvar den nyckeln, som kommer att lagra all deras data. För att göra detta använder vi spelarens ID. När du har ställt in datalagret, anropar du bara en funktion för att ladda spelaren och hittar sedan spelarens ID. Koden ska se ut så här:

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

  • Detta skapar automatiskt en nyckel som är unik för den spelaren, eftersom varje spelare har ett unikt ID. "User_" spelar ingen roll.
7815950 9
7815950 9

Steg 2. Uppdatera data

Nu när du har en unik nyckel till varje spelare är du redo att göra datalagret uppdaterat och hämta data. Under din nyckel vill du lägga till en metod som passar dig bäst. I det här fallet använder vi "UpdateAsync".

  • Börja med en funktion som hjälper servern att förstå vad du tänker göra.
  • 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 = gammal eller 0 - kan vara noll newValue = newValue + 50 return newValue end) end)

  • I den här funktionen ställer vi in en annan funktion, gammal. "gammal" var vår tidigare sparade data. I det här scenariot, varje gång en spelare kom in på servern, skulle servern hitta sin nyckel, som är deras userId, och den skulle uppdatera data med 50 poäng, återvända och visa det nya värdet.
7815950 10
7815950 10

Steg 3. Grattis

Du har framgångsrikt lagrat och uppdaterat en spelares data.

Varningar

  • När du skapar din datalagring första gången, se till att ha "game: GetService (" DataStoreService ")", med rätt versaler. Det kommer inte att fungera effektivt om det kallas fel.
  • Se till att veta när du ska använda "SetAsync" och "UpdateAsync", eftersom fel användning kan göra saker till en röra när du hämtar data. I de flesta fall kommer utvecklare att använda "UpdateAsync".

Rekommenderad: