DataStoreService
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
DataStoreService expose des méthodes pour obtenir GlobalDataStore et OrderedDataStore des objets.Les magasins de données ne peuvent être accessés que par les serveurs de jeu, vous ne pouvez donc utiliser que DataStoreService dans un Script ou un ModuleScript qui est utilisé par un Script .
Voir magasins de données pour un guide complet sur la structure des données, la gestion, la gestion des erreurs, etc.
Échantillons de code
This code sample prints the request budget for all data store request types.
local DataStoreService = game:GetService("DataStoreService")
for _, enumItem in pairs(Enum.DataStoreRequestType:GetEnumItems()) do
print(enumItem.Name, DataStoreService:GetRequestBudgetForRequestType(enumItem))
end
Résumé
Propriétés
Définit si les fonctions de stockage de données doivent automatiquement réessayer ou non.DataStoreService ne respecte pas cette propriété car la réessai automatique a été désactivée pour des raisons techniques.Vous devez donc mettre en œuvre des systèmes pour réessayer les opérations vous-même.
Méthodes
Crée une instance DataStore avec le nom et la portée fournis.
Retourne le boutiquede données par défaut.
Obtenez un OrderedDataStore donné un nom et une portée facultative.
Retourne le nombre de demandes qui peuvent être faites par le taperde demande donné.
Retourne un objet DataStoreListingPages pour effectuer une liste à travers tous les magasins de données de l'expérience.
Propriétés
AutomaticRetry
Méthodes
GetDataStore
Paramètres
Retours
GetGlobalDataStore
Retours
Échantillons de code
local DataStoreService = game:GetService("DataStoreService")
local GlobalDataStore = DataStoreService:GetGlobalDataStore()
print(GlobalDataStore.Name)
GetOrderedDataStore
Paramètres
Retours
Échantillons de code
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
Paramètres
Retours
Échantillons de code
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