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
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.
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")
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
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)
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)
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)
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)
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
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)
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)
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".