DataStoreService

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Oluşturulamaz
Hizmet
Çoğaltılmamış

DataStoreService GlobalDataStore ve OrderedDataStore nesnelerini almak için yöntemleri açar.Veri depoları yalnızca oyun sunucuları tarafından erişilebilir, bu nedenle yalnızca DataStoreService bir Script veya bir ModuleScript oyun tarafından kullanılan Script içinde erişebilirsiniz.

Veri yapısı, yönetimi, hata ele alma gibi konularda derin bir rehberlik için Veri depolarına bakın

Kod Örnekleri

This code sample prints the request budget for all data store request types.

DataStore Budget

local DataStoreService = game:GetService("DataStoreService")
for _, enumItem in pairs(Enum.DataStoreRequestType:GetEnumItems()) do
print(enumItem.Name, DataStoreService:GetRequestBudgetForRequestType(enumItem))
end

Özet

Özellikler

  • Çoğaltılmamış
    Yerel Kullanıcı Güvenliği
    Paralel oku

    Veri depolama işlevlerinin otomatik olarak yeniden denemesi gereip geremediğini ayarlar.DataStoreService bu özelliğe saygı göstermiyor çünkü teknik nedenlerden dolayı otomatik yeniden deneme devre dışı bırakıldı.Bu nedenle, kendiniz işlemleri yeniden denemek için sistemler uygulamanız gerekir.

Yöntemler

Özellikler

AutomaticRetry

Çoğaltılmamış
Yerel Kullanıcı Güvenliği
Paralel oku

Veri depolama işlevlerinin otomatik olarak yeniden denemesi gereip geremediğini ayarlar.

DataStoreService bu özelliğe saygı göstermiyor çünkü teknik nedenlerden dolayı otomatik yeniden deneme devre dışı bırakıldı.Bu nedenle, kendiniz işlemleri yeniden denemek için sistemler uygulamanız gerekir.Otomatik yeniden deneme gelecekte tekrar etkinleştirilebilir.

Yöntemler

GetDataStore

Bu işlev, verilen ad ve alanla bir DataStore örneği oluşturur.Aynı adı/alanı ile bu yönteme yapılan sonraki çağrılar aynı nesneyi döndürecektir.

scope parametresini kullanmak, operasyonları veri depolamasında yapılan tüm işlemlerde mağazaotomatik olarak ekleyerek bu alana sınırlayacaktır.Bu işlev ayrıca DataStoreOptions seçeneği içeren bir seçici örnek kabul eder, bu da AllScopes etkinleştirme seçenekleri içerir.Scope'a ilişkin ayrıntılar için Veri depoları bakın.

Parametreler

name: string

Veri mağazaadı.

Varsayılan değer: ""
scope: string

(Opsiyonel) Scope'u tanımlayan bir dize.

Varsayılan değer: "global"
options: Instance

(Opsiyonel) Deneysel özellikleri ve v2 API özelliklerini etkinleştirmek için bir DataStoreOptions örneği.

Varsayılan değer: "nil"

Dönüşler

Verilen ad ve seçeneği olan bir DataStore örneği ile isim ve seçenekli alan.

GetGlobalDataStore

Bu işlev varsayılan GlobalDataStore 'yi döndürür.Bunun yerine belirli bir adlı veri depolarına erişmek istiyorsanız, GetDataStore() işlevini kullanmalısınız.

Bu işlev tarafından döndürülen DataStore her zaman alanı u kullandığını unutmayın. Ayrıntılar için Veri depoları bakınız.


Dönüşler

Kod Örnekleri

The following example retrieves a default data store instance which behaves like a regular Instance. Since a GlobalDataStore is an Instance, functions such as GlobalDataStore:GetChildren() will execute without error.

Get GlobalDataStore Instance

local DataStoreService = game:GetService("DataStoreService")
local GlobalDataStore = DataStoreService:GetGlobalDataStore()
print(GlobalDataStore.Name)

GetOrderedDataStore

Bu yöntem bir OrderedDataStore , GetDataStore() ile yaptığı şekilde benzer bir şekilde döndürür GlobalDataStores .Aynı adı/alanı ile bu yönteme yapılan sonraki çağrılar aynı nesneyi döndürecektir.

Parametreler

name: string
Varsayılan değer: ""
scope: string
Varsayılan değer: "global"

Dönüşler

Kod Örnekleri

This code sample demonstrates usage of an OrderedDataStore and pages.

OrderedDataStore Basics

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

Bu işlev, mevcut yerin verilen Enum.DataStoreRequestType üzerine dayanarak yapabileceği veri depolama isteği sayısını döndürür.Bu bütçeyi aşan herhangi bir istek kısıtlanmaya tabidir.Bu işlevi kullanarak veri depolama isteklerinin frekansını izlemek ve ayarlamak önerilir.

Parametreler

Varsayılan değer: ""

Dönüşler

Kod Örnekleri

Print Request Budget

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

Bekletir

Tüm deneyim veri depoları aracılığıyla listelenmek için bir DataStoreListingPages nesnesi döndürürVerilen ön ek ile başlayan sadece veri depolarını bulmak için isteğe bağlı bir prefix parametresi kabul eder.

En az bir nesne içeren sadece veri depoları bu işlev aracılığıyla listelenecektir.

Parametreler

prefix: string

(Opsiyonel) Verilen tercih ile başlayan veri depolarını saymak için ön ek.

Varsayılan değer: ""
pageSize: number

(Opsiyonel) Her sayfada döndürülecek öğe sayısı.Değer verilmezse, motor veri depolama web hizmetine varsayılan bir değer olan 0'ı gönderir, ki bu da sayfa başına 32 öğeye düşer.

Varsayılan değer: 0
cursor: string

(Opsiyonel) Döngüyü devam ettirmek için kursor.

Varsayılan değer: ""

Dönüşler

DataStoreListingPages adı, yaratım zamanı ve son güncelleme zamanı gibi ayrıntılar sağlayan DataStoreInfo örnekleri içeren örnekler.

Etkinlikler