cannot resume dead coroutine
Bir şey, çoktan bitmiş ya da çoktan çökmüş bir işi sürdürmeye çalıştı. Neredeyse her zaman bunun üstünde GERÇEK bir hata vardır.
Önce şunu yap
Yukarı kaydır ve bu satırın üstündeki hatayı düzelt; bu genelde onunla birlikte kaybolur.
Ne anlama gelir
Bir şey, çoktan bitmiş ya da çoktan hata vermiş bir coroutine'i sürdürmeye çalıştı. FiveM'de bu neredeyse her zaman çalışma zamanının bir yan etkiyi bildirmesidir: coroutine, içindeki bir hata yüzünden öldü, ve bu İKİNCİ mesajdır.
Neden olur
Ne sıklıkla doğru cevap olduğuna göre sıralı.
- 1
Daha önceki bir hata coroutine'i öldürdü
Yukarı kaydır. Bunun üstünde gerçek bir hata var, ve düzeltilecek olan odur.
- 2
Saklanan ve iki kez çağrılan bir geri çağırma
İkinci kez çağrılan bir oxmysql ya da ox_lib geri çağırması — ilk sürdürme onu bitirdi, ikincisi onu ölü buluyor.
- 3
Çoktan dönmüş bir işleyicinin içinde await
Üst çağrısı tamamlanmış bir geri çağırmanın içinde
MySQL.query.await. - 4
Thread dışında yield etmek
Dosya kapsamında
Wait(), ya da thread olmayan bir bağlamdan çağrılan düz bir fonksiyonun içinde. FiveM bunu "attempt to yield from outside a coroutine" olarak bildirir.
Hangisinin seninki olduğu nasıl anlaşılır
Konsolda bu satırın ÜSTÜNDE ne olduğuna bak. Başka bir hata varsa önce onu düzelt, bu genelde onunla birlikte kaybolur. Tek mesaj buysa, coroutine'i olmayan bir yerde yield ediyorsun demektir.
Nereye bakmalı
Bu mesajın altındaki iz, ve üstündeki hata.
Nasıl düzeltilir
Bekleyen her şey bir thread'in içinde olmalı:
-- yanlış: dosya kapsamında Wait
Wait(1000)
-- doğru
CreateThread(function()
Wait(1000)
end)Geri çağırmalar bir kez tetiklenir — çift çağrıya karşı koru:
local done = false
someLib.request(function(result)
if done then return end
done = true
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 Script Optimizer script'i okur ve bunun arkasındaki kodu onarır.