State bag hız sınırı / state bag'ler çoğaltılmıyor
Bir script paylaşılan bilgiyi fazlasıyla sık güncelliyor, o yüzden o güncellemelerin bir kısmı çöpe atılıyor.
Önce şunu yap
Bunun için script'te bir değişiklik gerekiyor — sürekli değil, bir şey değiştiğinde güncellemeli.
Ne anlama gelir
State bag'ler varlık başına hız sınırlıdır. Sınırdan hızlı yazmak, güncellemelerin düşürülmesi, kısılması, ya da kötü durumlarda sunucunun tüm zamanını çoğaltmaya harcaması demektir. Hiçbir şey hata vermez — değer basitçe istemciye ulaşmaz, ya da geç ulaşır.
Neden olur
Ne sıklıkla doğru cevap olduğuna göre sıralı.
- 1
Her tick'te bir state bag yazmak
Sınır tam da bunu durdurmak için vardır. Her karede yazılan yakıt, hız ve konum kısılacaktır.
- 2
Çok büyük değerler
Bir state bag'deki komple envanter, her değişimde kapsamdaki herkese çoğaltılır. O boyutta bir yük, hangi sıklıkta olursa olsun bir sorundur.
- 3
Tek varlıkta çok sayıda bag
Aynı varlıkta düzinelerce anahtar, her biri ayrı ayrı çoğaltılıyor.
- 4
Gerek yokken çoğaltılmış
:set(key, value, true)çoğaltır. Yalnızca yerel olan durumfalsegeçmeli. - 5
Varlığı göremeyen bir istemcide bag okumak
Kapsam dışı olmak, bag olmaması demektir. Bir hız sınırı değil, ama aynı "değer orada yok" belirtisi.
Hangisinin seninki olduğu nasıl anlaşılır
Bir kez yaz ve oku: tek bir yazma ulaşıyor ve bir yazma döngüsü ulaşmıyorsa, sorun hız sınırıdır. İkisi de ulaşmıyorsa, varlık kapsam dışındadır.
Nereye bakmalı
Kaynaktaki her .state:set, ve ne sıklıkta çalıştığı.
Nasıl düzeltilir
Yalnızca değiştiğinde yaz, ve yalnızca ağı geçmesi gerekeni:
local last
CreateThread(function()
while true do
Wait(1000) -- 0 değil
local fuel = math.floor(GetFuel(veh))
if fuel ~= last then -- yalnızca değişimde
last = fuel
Entity(veh).state:set('fuel', fuel, true)
end
end
end)Hâlâ kendi kodunda mı takıldın?
Bu sayfa, bu hatanın genelde ne anlama geldiğini anlatır. Konsolunu Server Fixer'a yapıştır; içindeki her şeyi sıraya dizer ve önce ne yapman gerektiğini söyler. Kendin uğraşmak istemiyorsan ORBIE script'i onarır ve kaynağı sunucuna atmaya hazır geri verir.
bug_reportServer Fixer'ı açBu tür bir hata için Güvenlik Tarayıcısı buraya götüren olay işleme biçimini işaretler.