NetworkGetEntityFromNetworkId 0 döndürdü
Bir oyuncunun oyununa, bir şey henüz onun ekranına ulaşmadan önce o şeyden söz edildi.
Önce şunu yap
Ara sıra olması normaldir. Sürekli olması, script'in düzgün beklemediği anlamına gelir.
Ne anlama gelir
Bir ağ kimliği yerel bir varlık tanıtıcısına çevrildi ve bu istemcide henüz öyle bir varlık yok. Native hata vermek yerine 0 döndürür, o yüzden arıza daha sonra bir bad argument ya da index-nil olarak yüzeye çıkar.
Bu genelde kimlikteki bir hata değil, bir YARIŞTIR: sunucu varlığı oluşturmuştur ve bu istemci onu henüz almamıştır.
Neden olur
Ne sıklıkla doğru cevap olduğuna göre sıralı.
- 1
İstemciye, varlık eşitlenmeden önce söylendi
Sunucu bir araç oluşturur ve hemen ağ kimliğiyle bir istemci olayı tetikler. Olay, varlıktan önce varır.
- 2
Varlık kapsam dışında
OneSync yalnızca oyuncunun yakınındaki varlıkları eşitler. Haritanın öbür ucundaki bir şeyin ağ kimliği, o istemcide hiçbir şeye çözülmez.
- 3
Farklı bir routing bucket'ta
Kapsam dışıyla aynı, ama bilerek.
- 4
Varlık, gönderimle alım arasında silindi
Mesaj yoldayken kaldırılan bir araç.
- 5
Kimlik eski
Ağ kimlikleri yeniden kullanılır. Dakikalar önceden tutulan bir kimlik artık başka bir şey, ya da hiçbir şey anlamına gelebilir.
Hangisinin seninki olduğu nasıl anlaşılır
print(NetworkDoesNetworkIdExist(netId), NetworkDoesEntityExistWithNetworkId(netId))
Oyuncu hemen yanında dururken ikisi de false ise gerçek bir sorundur; haritanın öbür ucundan ikisi de false ise bu sadece kapsamdır.
Nereye bakmalı
Ağ kimliğinin alındığı yer, ve varlığı bekleyen bir şey olup olmadığı.
Nasıl düzeltilir
Onu bekle, ama bir son tarihle — asla sınırsız bir döngüyle değil:
local function entityFromNet(netId, timeoutMs)
local deadline = GetGameTimer() + (timeoutMs or 5000)
while not NetworkDoesEntityExistWithNetworkId(netId) do
if GetGameTimer() > deadline then return nil end
Wait(0)
end
return NetToEnt(netId)
endHâ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.