DataStoreService
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
DataStoreService esporrà metodi per ottenere GlobalDataStore e OrderedDataStore oggetti. I datastore possono essere accessibili solo ai server di gioco, quindi puoi utilizzare solo 0> Class.DataStoreService0> all'
Vedi Data Stores per una guida in dettaglio sulla struttura dei dati, la gestione, l'handling degli errori, ecc.
Campioni di codice
local DataStoreService = game:GetService("DataStoreService")
for _, enumItem in pairs(Enum.DataStoreRequestType:GetEnumItems()) do
print(enumItem.Name, DataStoreService:GetRequestBudgetForRequestType(enumItem))
end
Sommario
Proprietà
Imposta se le funzioni di memorizzazione dei dati dovrebbero riprovare automaticamente o no. DataStoreService non rispetta questa proprietà poiché la riprova automatica è stata disabilitata per motivi tecnici. Pertanto, devi implementare sistemi per riprovare le operazioni da solo.
Metodi
Crea un'istanza DataStore con il nome e lo scopo forniti.
Restituisce il Negoziodi dati predefinito.
Ottieni un OrderedDataStore con un nome e uno scopo opzionale.
Restituisce il numero di richieste che possono essere fatte dal inserisci / scrividi richiesta dato.
Restituisce un oggetto DataStoreListingPages per l'elenco attraverso tutti i negozi di dati dell'esperienza.
Proprietà
AutomaticRetry
Imposta se le funzioni di archiviazione dei dati dovrebbero riprovare automaticamente o no.
DataStoreService non rispetta questa proprietà poiché il riprova automatico è stato disabilitato per motivi tecnici. Pertanto, devi implementare sistemi per riprovare le operazioni da solo. È possibile che il riprova automatico venga abilitato di nuovo in futuro.
Metodi
GetDataStore
Questa funzione crea un'istanza DataStore con il nome e lo scopo forniti. Le chiamate successive a questo metodo con lo stesso nome/scopo restituiranno lo stesso oggetto.
Usando il parametro scope restrizionerà le operazioni a quel range automaticamente prestando il range alla chiave in tutte le operazioni eseguite sul data Negozio. Questa funzione accetta anche un'istanza opzionale DataStoreOptions che include opzioni per abilitare AllScopes . Vedi 1> Data Store1> per i dettagli sullo range
Parametri
Nome del Negoziodi dati.
(Opzionale) Una stringa che specifica lo scopo.
(Facoltativo) A DataStoreOptions instance to enable experimental features and v2 API features.
Restituzioni
GetGlobalDataStore
Questa funzione restituisce il valore predefinito GlobalDataStore . Se vuoi accedere invece a un determinato nome store dei dati, devi usare la funzione GetDataStore().
Restituzioni
Campioni di codice
local DataStoreService = game:GetService("DataStoreService")
local GlobalDataStore = DataStoreService:GetGlobalDataStore()
print(GlobalDataStore.Name)
GetOrderedDataStore
Questo metodo restituisce un OrderedDataStore , simile al modo in cui GetDataStore() fa con GlobalDataStores . Le chiamate successive a questo metodo con lo stesso nome/scopo restituiranno lo stesso oggetto.
Parametri
Restituzioni
Campioni di codice
local DataStoreService = game:GetService("DataStoreService")
local pointsStore = DataStoreService:GetOrderedDataStore("Points")
local function printTopTenPlayers()
local isAscending = false
local pageSize = 10
local pages = pointsStore:GetSortedAsync(isAscending, pageSize)
local topTen = pages:GetCurrentPage()
-- The data in 'topTen' is stored with the index being the index on the page
-- For each item, 'data.key' is the key in the OrderedDataStore and 'data.value' is the value
for rank, data in ipairs(topTen) do
local name = data.key
local points = data.value
print(name .. " is ranked #" .. rank .. " with " .. points .. "points")
end
-- Potentially load the next page...
--pages:AdvanceToNextPageAsync()
end
-- Create some data
pointsStore:SetAsync("Alex", 55)
pointsStore:SetAsync("Charley", 32)
pointsStore:SetAsync("Sydney", 68)
-- Display the top ten players
printTopTenPlayers()
GetRequestBudgetForRequestType
Questa funzione restituisce il numero di richieste di memorizzazione dei dati che il luogo attuale può fare in base al Enum.DataStoreRequestType fornito. Tutte le richieste fatte che superano questo budget sono soggette a un'accelerazione. Il monitoraggio e l'aggiustamento della frequenza delle richieste di memorizzazione dei dati utilizzando questa funzione è raccomandato.
Parametri
Restituzioni
Campioni di codice
local DataStoreService = game:GetService("DataStoreService")
local globalStore = DataStoreService:GetGlobalDataStore()
local function printBudget()
local budget = DataStoreService:GetRequestBudgetForRequestType(Enum.DataStoreRequestType.SetIncrementAsync)
print("Current set/increment budget:", budget)
end
for i = 1, 5 do
local key = "key" .. i
local success, err = pcall(function()
globalStore:SetAsync(key, true)
end)
if success then
printBudget()
else
print(err)
end
end
ListDataStoresAsync
Restituisce un oggetto DataStoreListingPages per l'elenco attraverso tutti i negozi di dati dell'esperienza. Accetta un parametro opzionale prefix per localizzare solo i negozi di dati i cui nomi iniziano con il prefisso fornito.
Solo i datastore che contengono almeno un oggetto saranno elencati tramite questa funzione.
Parametri
(Facoltativo)) Prefisso per elencare i magazzini di dati che iniziano con il prefisso fornito.
(Opzionale) Numero di oggetti da restituire in ogni pagina. Per impostazione predefinita 32.
(Opzionale) Cursor per continuare l'iterazione.
Restituzioni
DataStoreListingPages istanza che contiene DataStoreInfo istanze che forniscono dettagli come nome, creazione e l'ultimo aggiornamento.