esx:getSharedObject hiç tetiklenmiyor
Bir script, modern ESX'in kaldırdığı eski bir bağlanma yolunu kullanıyor. Hata yok — sadece sessizce hiç çalışmıyor.
Önce şunu yap
Script'te bir satırın değişmesi gerekiyor. Satıcıdan bir ESX Legacy sürümü iste.
Ne anlama gelir
TriggerEvent('esx:getSharedObject', cb), yıllarca her ESX script'inin core nesnesini edinme yoluydu. ESX Legacy olayı kaldırdı. Tetikleme hata vermez — hiçbir şey dinlemez, yani geri çağırma basitçe hiç çalışmaz ve ESX sonsuza kadar nil kalır.
Sessizce hiç başlamayan bir özellik, bir hatadan beterdir, ve bu, "script hiçbir şey yapmıyor ve konsolda hiçbir şey yok" durumunun en yaygın nedenidir.
Neden olur
Ne sıklıkla doğru cevap olduğuna göre sıralı.
- 1
ESX Legacy'de çalışan, ESX 1.1 için yazılmış bir script
Açık ara en yaygını. Yayınlanmış binlerce script hâlâ bunu kullanıyor.
- 2
Kalıbın eski bir rehberden kopyalanması
İnternetteki FiveM rehberlerinin çoğu Legacy'den öncedir.
- 3
Yarım göç ettirilmiş bir kaynak
Bir dosya export'a güncellenmiş, bir diğeri hâlâ olayı kullanıyor.
Hangisinin seninki olduğu nasıl anlaşılır
grep -rn "getSharedObject" my-script/
Bir TriggerEvent olarak görünüyorsa, eski kalıptır. ESX nil ise VE konsolda hiç hata yoksa, neredeyse kesinlikle nedeni budur.
Nereye bakmalı
Kaynaktaki her istemci ve sunucu dosyasının başı.
Nasıl düzeltilir
-- eski, ESX Legacy'de hiçbir şey yapmaz
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
-- güncel
ESX = exports['es_extended']:getSharedObject()Export eşzamanlıdır, yani altındaki satır ESX'i hemen kullanabilir.
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 Çevirici bir kaynağı ESX, QBCore ve Qbox arasında çevirir.