charinfo / metadata nil
Bir karakterin kayıtlı bilgileri okunamadı — ya yüklenmesi bitmemişti, ya da o karakterin verisi bozuk.
Önce şunu yap
Herkeste mi yoksa tek bir oyuncuda mı olduğunu kontrol et. Tek bir oyuncuysa, kayıtlı verisinin onarılması gerekiyor.
Ne anlama gelir
Oyuncu nesnesi var ama okunan alt tablo doldurulmamış. QBCore'da PlayerData.charinfo adı ve telefonu tutar, PlayerData.metadata gerisini; ikisi de JSON sütunudur, ve bozuk olan biri boş değil nil döner.
Neden olur
Ne sıklıkla doğru cevap olduğuna göre sıralı.
- 1
Karakter seçilmeden önce okunmuş
Bağlanmış olmak yüklenmiş olmak değildir. Katılmakla karakter seçmek arasında, hiç charinfo'su olmayan bir oyuncu vardır.
- 2
JSON sütunu bozuk
Kırpılmış bir yazma (bkz. "Data too long") geçersiz JSON bırakır, ve onu çözümlemek nil döndürür. O oyuncu, satır onarılana kadar her script'i bozar.
- 3
Hiç başlatılmamış bir metadata anahtarı
O anahtar var olmadan önce oluşturulmuş bir karakterde
metadata.thirst. Tablo sorunsuz, anahtar değil. - 4
Oyuncu içerideyken bir kaynak yeniden başlatması
Oyuncu, senin kaynağın başlamadan önce yüklenmişti, o yüzden yüklendi olayını hiç görmedi.
- 5
Framework sürüm farkları
Alanlar QBCore sürümleri arasında taşınır; biri için yazılmış bir script, diğerinin başka yerde tuttuğu bir anahtarı okur.
Hangisinin seninki olduğu nasıl anlaşılır
Satırı kontrol et:
SELECT charinfo, metadata FROM players WHERE citizenid = 'ABC12345';
İkisinden biri NULL ya da geçerli JSON değilse, sorun o karakterin verisidir. İkisi de doğru görünüyorsa, sorun zamanlamadır.
Nereye bakmalı
Okuma işlemi, ve dosyanın oyuncu-yüklendi olayını bekleyip beklemediği.
Nasıl düzeltilir
Anahtara varsayılan ver, ve asla dosya kapsamında okuma:
local meta = PlayerData.metadata or {}
local thirst = meta.thirst or 100
RegisterNetEvent('QBCore:Client:OnPlayerLoaded', function()
PlayerData = QBCore.Functions.GetPlayerData()
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 Çevirici bir kaynağı ESX, QBCore ve Qbox arasında çevirir.