GlobalDataStore
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
Bir GlobalDataStore , DataStoreService için verileri kaydetme ve yükleme işlevlerini gösterir.
Veri yapısı, yönetimi, hata işleme vb. konularda geniş bir rehber için Veri Depoları bakın.
Sıralama depoları versiyonlama ve metin kayıtlarını desteklemiyor, bu yüzden DataStoreKeyInfo hep nil için anahtarlar için bir OrderedDataStore . Eğer versiyonlama ve metin kayıtları desteklemesi gerekiyorsa, bir 2> Class.DataStore2> kullanın.
Özet
Özellikler
Yöntemler
Bir anahtarın değerini belirli bir veri depolarında ve bir DataStoreKeyInfo durumiade eder.
- IncrementAsync(key : string,delta : number,userIds : Array,options : DataStoreIncrementOptions):Variant
Bir anahtarın değerini sağlanan miktar ile artırır (her ikisi de sayı olmalıdır).
Erişilebilir bir versiyonu korurken belirli anahtarı da kaldırır.
Veritabanının belirlenen anahtar için değerini ayarlar.
Bir anahtarın değerini yeni bir değerle belirlenen çağrı işlevinden alır.
Özellikler
Yöntemler
GetAsync
Bu işlev, sağlanan anahtarın en son değerini ve bir DataStoreKeyInfo istemcisi için bir durumdöndürür. Eğer anahtar mevcut değilse veya en son versiyon silinmiş olursa, iki değer de nil olur.
Anahtarlar ilk okumadan 4 saniye sonra yerel olarak saklanır. GlobalDataStore:GetAsync() çağrısı bu 4 saniye içinde bir değeri kaynaktan alır. GlobalDataStore:SetAsync() veya GlobalDataStore:UpdateAsync() ile anahtarın değiştirilmesi an
En son sürümden önceki bir versiyon almak için, DataStore:GetVersionAsync() kullanın.
Parametreler
Değer istendiği kлюe ismi. DataStoreOptions.AllScopes , aşağıdaki Class.DataStoreService:GetDataStore() bağlantısı aracılığıyla erişim sağlandığında doğrulandığında, bu kлюe ismi orijinal kapsayış ile birleştirilmelidir.
Dönüşler
Veritabanındaki girişin değeri, veri depolarındaki anahtarın verilmiş değeri ve bir DataStoreKeyInfo istemcisi ile bir versiyon numarası, oluşturulma tarihi ve saati ve işlevleri toplar. İşlevleri ile UserIds ve metadatasını alır.
IncrementAsync
Bu işlev, bir anahtarın değerini sağlanan miktar artırır (her ikisi de sayı olmalıdır).
OrderedDataStore versiyon desteklemiyor, bu nedenle bir OrderedDataStore anahtarında bu yöntemi çağırmak mevcut değerin artırılıp değiştirilmiş değeri üzerwrite ve daha önceki sürümleri yeniden yazma ile geçersiz hale getirir.
Parametreler
Değer güncellenmesi gereken anahtar ismi. DataStoreOptions.AllScopes , veri depolarına erişim için DataStoreService:GetDataStore() ile ayarlanırsa, bu anahtar ismi "sınıf/anahtar" ile başlayan orijinal kapsayıcıyla birleştirilmelidir.
Mevcut değerin artışını sağlayan miktar.
(isteğe bağlı) Bir anahtar ile ilişkilendirilecek UserIds tabeleri.
(isteğe bağlı) DataStoreIncrementOptions istemcisi, bir dizi ek gösterge olarak birleştirir ve gelecekte genişletilebilir.
Dönüşler
Veritabanındaki gönderilen anahtar ile girişin güncellenmiş değeri.
RemoveAsync
Bu işlev, yeni bir "mezar taşı" versiyonu oluşturmak için belirli anahtarı silerek işaret eder. Bu, önce kaldırma çağrısından önce en son versiyonu içerir.
Bir anahtar bu işlev aracılığıyla kaldırıldıktan sonra, GlobalDataStore:GetAsync() çağrıları, anahtar için nil dönecektir. Daha eski versiyonların anahtarı DataStore:ListVersionsAsync() ve 2> Class.DataStore:GetVersionAsync()2> ar
OrderedDataStore versiyon desteği olmadığı için, bir RemoveAsync() çağırmak daimi olarak bir OrderedDataStore anahtarını silecektir.
Kaldırılan nesneler 30 gün sonra kalıcı olarak silinecek.
Önceki değerleri GlobalDataStore:RemoveAsync() veya DataStore:RemoveVersionAsync() ile silmiş olsaydı, işlev nil , 1> nil1> değeri ve 4> Class.DataStoreKeyInfo4> ile ilgili olarak 7> 9>dil9> döndürür.
Parametreler
Kaldırılacak anahtar ismi. DataStoreOptions.AllScopes , veri depolarına erişim için DataStoreService:GetDataStore() ile ayarlanırsa, bu anahtar ismi " scope/key" ile aynı şekilde başlamalıdır.
Dönüşler
Veri depolarının silmeden önceki değeri ve bir DataStoreKeyInfo istemcisi, versiyon numarası, oluşturulma tarihi ve saati ve işlevleri toplar. İşlevleri UserIds ve metadatayı geri alır.
SetAsync
Bu işlev, UserIds ile verilen anahtar için metadır ve verilen anahtar için metadır.
Veri depolarındaki değerler versiyonlandırılır, yani GlobalDataStore:SetAsync() her çağrıldığında yeni bir versiyon oluşturur. Önceki versiyonların erişimine kalıcı olarak erişmek için DataStore:ListVersionsAsync() / DataStore:GetVersionAsync() üzer
OrderedDataStore versiyon desteği olmadığından, bu yöntemi bir OrderedDataStore anahtarında çağırmak mevcut değerleri yazıyor ve daha önceki versiyonları yeniden yazıyor.
Metadanımlar her zaman bir değerle güncellenmelidir, böylece mevcut değerle ilgili hiçbir değişiklik olursa bile mevcut değer kaybı olur.
Veri depolarında saklanan herhangi bir yazılım, geçerli olmalıdır UTF-8 . UTF-8'de, 127'den daha büyük değerler kod puanlarını kodlama için kullanılır, bu yüzden 127'den daha büyük bir değer kod puanı kodlaması için
Set vs. Güncelleme
GlobalDataStore:SetAsync() en iyi belirli bir anahtarın hızlı güncellenmesi için kullanılır ve sadece yazma sınırına sayılır. Ancak, iki sunucunun aynı anahtarı setlemesi girişiminde bul
Parametreler
Değerin ayarlagereken anahtar ismi. DataStoreOptions.AllScopes , veri depolarına erişim sağlayan DataStoreService:GetDataStore() ile etkinleştirildiğinde, bu anahtar ismi kapsayıcı olmalıdır. "kapsayıcı/anahtar" bakınız.
Veri depolama anahtarının ayarlanacağı değer.
Class.Player.UserId|UserIds , yardımcı olmak için GDPR izleme / kaldırma işlemlerine yardımcı olmak için şiddetle tavsiye edilir.
(isteğe bağlı) DataStoreSetOptions istemcisi, anahtarda metin belirtmeyi sağlayan istemci.
Dönüşler
Yeni oluşturulan versiyonun versiyon kimliği. GetVersionAsync() ile anahtar bilgileri alınabilir veya kullanıcı tarafından kaldırılabilir. RemoveVersionAsync() ile birlikte kullanılabilir.
UpdateAsync
Bu işlev, bir anahtarın veri depolarından değerini ve metadını alır ve onu geri arama işlevi belirlenmiş çağrı işlevi aracılığıyla yeni bir değerle günceller. Eğer çağrı işlevi nil döndürürse, yazma işlemi iptal edilir ve değer değiştirilmez.
Güncelleme başarılı olursa, değerin yeni bir versiyonu oluşturulur ve daha önceki versiyonlar DataStore:ListVersionsAsync() ve DataStore:GetVersionAsync() aracılığıyla erişilebilir.
OrderedDataStore sürüm desteği olmadığından, bu işlevi bir OrderedDataStore anahtarında çağırmak mevcut değerleri yazıyor ve daha önceki sürümleri yeniden yazıyor.
Başka bir oyun sunucusu, anahtarın kaynağını kısa süre içinde alıp, anahtarın değerini ayarladığı durumlarda, GlobalDataStore:UpdateAsync() çağrılır, sonraki çağrının sonucunu atar ve anahtarın değ
Veri depolarında saklanan herhangi bir yazılım, geçerli olmalıdır UTF-8 . UTF-8'de, 127'den daha büyük değerler kod puanlarını kodlama için kullanılır, bu yüzden 127'den daha büyük bir değer kod puanı kodlaması için
Set vs. Güncelleme
GlobalDataStore:SetAsync() en iyi belirli bir anahtarın hızlı güncellenmesi için kullanılır ve sadece yazma sınırına sayılır. Ancak, iki sunucunun aynı anahtarı setlemesi girişiminde bul
Geri çağırma işlevi
Çağrı fonksiyonu iki argüman kabul eder:
- güncelleönce anahtarın değerini.
- En son versiyon bilgilerini içeren Class.DataStoreKeyInfo istemcisi (metadaten kullanılmadığında bu argüman göz ardı edilebilir).
Döndüğüne göre, çağrı fonksiyonu üç değere kadar döndü:
- anahtariçin yeni değer ayarlanır.
- Bir anahtar ile ilişkilendirilecek UserIds bir matrisi. DataStoreKeyInfo:GetUserIds() şu anda mevcut ID'leri değiştirmediğiniz sürece tüm mevcut ID'leri temizlenmelidir; aksi takdirde tüm mevcut ID'ler silinecek.
- anahtarbağlanacak metadanolu içeren bir Lua tablosu. DataStoreKeyInfo:GetMetadata() , var olan metadanolu içermezse tüm var olan metadanolu temizlenir.
Eğer çağrı nil yerine dönerse, mevcut sunucu, anahtarı güncellemeye çalışmayı bırakacaktır.
Çağrı fonksiyonu üretemez, bu yüzden değilLibrary.task.wait() gibi çağrıları içermeyin.
Parametreler
Değer güncellenmesi gereken anahtar ismi. DataStoreOptions.AllScopes , veri depolarına erişim için DataStoreService:GetDataStore() ile ayarlanırsa, bu anahtar ismi "sınıf/anahtar" ile başlayan orijinal kapsayıcıyla birleştirilmelidir.
Mevcut değer ve DataStoreKeyInfo parçalarını alıp yeni değerle birlikte gelen yeni değeri ve metrik şemayi içerliğiyle döndürür.
Dönüşler
Güncellenmiş değer, veritabanındaki girişin gösterilen anahtarı ve bir DataStoreKeyInfo istemcisi ile güncellenmiş değer, versiyon numarası, oluşturulma tarihi ve saati ve işlevleri içeren bir iletkenin içinde.