THE ORB
Studio başlatılıyor

attempt to index a number / boolean / string value

Bir script beklediğinden farklı türde bir yanıt aldı — çoğu zaman bir veritabanı sonucunu yanlış okuyarak.

groupsO özellik çalışmayı bırakıyorcodeGeliştirici gerektirir

Önce şunu yap

Bunun için koda bakmak gerekiyor — senin kurulumunda değil, script'te bir hata.

bug_reportBunun yerine tüm konsolunu yapıştır

Ne anlama gelir

. ya da [], var olan ama tablo olmayan bir değerde kullanıldı. Bu, nil'i indekslemekten farklıdır: bir şey VAR, sadece yanlış türde. Bu genelde bir API'nin, kodun beklediğinden farklı bir biçim döndürdüğü anlamına gelir.

Neden olur

Ne sıklıkla doğru cevap olduğuna göre sıralı.

  1. 1

    Bir native tablo değil tanıtıcı döndürdü

    local ped = GetPlayerPed(-1) sonra ped.x. Tanıtıcı bir sayıdır.

  2. 2

    Bir fonksiyon boolean başarı bayrağı döndürdü

    Pek çok yardımcı success, data döndürür. Yalnızca ilk değeri alıp onu indekslemek tam olarak bunu verir.

  3. 3

    Bir sorgu sonucunun bir kat fazla derinden okunması

    oxmysql query, satırlardan oluşan bir DİZİ döndürür. result.identifier diziyi indeksler; satır result[1].identifierdır.

  4. 4

    Tablo beklenen yerde sayı olan bir config değeri

    Config.Jobsın tablo yerine bir sayı olarak yazıldığı Config.Jobs.police.

  5. 5

    Yanlış tarafta çağrılan metin metotları

    ('x'):upper() sorunsuzdur; x bir sayıyken x:upper() değildir.

Hangisinin seninki olduğu nasıl anlaşılır

print(type(thing), json.encode(thing))

Mesajdaki tür sana zaten ne olduğunu söyler; değer nereden geldiğini söyler.

Nereye bakmalı

Satır, ve bir iki satır üstünde değeri üreten çağrı.

Nasıl düzeltilir

-- oxmysql tek bir satır değil, satırlar döndürür
local rows = MySQL.query.await('SELECT * FROM users WHERE identifier = ?', { id })
local user = rows and rows[1]
if not user then return end

-- native'ler tanıtıcı döndürür
local ped = PlayerPedId()
local coords = GetEntityCoords(ped)   -- BU bir vektör

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.

Bununla birlikte gelen hatalar