table index is nil
Bir script, bir şeyi boş olan bir adın altına yerleştirmeye çalıştı — genelde henüz hazır olmayan bir oyuncu kimliği.
Önce şunu yap
Genelde biri hâlâ bağlanırken olur. Katılımda tetiklenip tetiklenmediğini not et.
Ne anlama gelir
Bir şey, bir tabloya nil bir anahtar altında KAYDEDİLDİ: k nil iken t[k] = v. Nil bir anahtarla okumak geçerlidir ve nil döndürür; onunla yazmak bir hatadır.
Neden olur
Ne sıklıkla doğru cevap olduğuna göre sıralı.
- 1
Başarısız olan bir aramadan gelen bir anahtar
Oyuncu henüz tam bağlanmadığı için tanımlayıcının nil olduğu
cache[GetPlayerIdentifier(src)] = data. - 2
Sondan sonra kullanılan bir döngü değişkeni
inin listenin dışına çıktığıitems[i]altında saklamak. - 3
Nesnede var olmayan bir alan
Mesleğin adı olmadığı hâlde
byJob[player.job.name] = x. - 4
NaN'a dönüşmüş sayısal bir anahtar
Sıfıra bölmek ya da ayrıştırılamaz bir şeyde
tonumber(), sonra onu indeks olarak kullanmak. Bu "table index is NaN" verir.
Hangisinin seninki olduğu nasıl anlaşılır
Tabloyu değil, anahtarı yazdır:
print('key =', tostring(theKey))Satır kısadır ve anahtar genelde tek bir ifadedir, o yüzden bu onu hemen tanımlar.
Nereye bakmalı
Adı geçen satırdaki atama, özellikle köşeli parantez içindeki kısım.
Nasıl düzeltilir
Anahtarı üretildiği noktada koru:
local id = GetPlayerIdentifier(src, 0) if not id then return end cache[id] = data
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.