THE ORB
Iniciando o studio

tentativa de indexar um número, booleano ou texto

Um script recebeu uma resposta de outro tipo do que esperava, muitas vezes lendo errado um resultado do banco.

groupsAquela função para de funcionarcodePrecisa de um desenvolvedor

Faça isto primeiro

Esse precisa de uma olhada no código: é um erro do script, não da sua instalação.

bug_reportMelhor colar o console inteiro

O que significa

Foi usado . ou [] sobre um valor que existe mas não é uma tabela. Isso é diferente de indexar nil: alguma coisa ESTÁ lá, só que do tipo errado. Normalmente significa que uma API devolveu um formato diferente do que o código esperava.

O que causa isso

Ordenado pela frequência com que é a resposta.

  1. 1

    Um nativo devolveu um identificador, não uma tabela

    local ped = GetPlayerPed(-1) e depois ped.x. O identificador é um número.

  2. 2

    Uma função devolveu uma flag booleana de sucesso

    Muitos auxiliares devolvem success, data. Pegar só o primeiro valor e indexar dá exatamente isso.

  3. 3

    Um resultado de consulta lido um nível a mais

    O query do oxmysql devolve um ARRAY de linhas. result.identifier é indexar o array; result[1].identifier é a linha.

  4. 4

    Um valor de configuração que é um número onde se esperava uma tabela

    Config.Jobs.police onde Config.Jobs foi escrito como um contador em vez de uma tabela.

  5. 5

    Métodos de string chamados do lado errado

    ('x'):upper() está certo; x:upper() quando x é um número, não.

Como saber qual é o seu

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

O tipo da mensagem já diz o que é; o valor diz de onde veio.

Onde olhar

A linha, e a chamada que produziu o valor uma ou duas linhas acima.

Como consertar

-- o oxmysql devolve linhas, não uma linha
local rows = MySQL.query.await('SELECT * FROM users WHERE identifier = ?', { id })
local user = rows and rows[1]
if not user then return end

-- os nativos devolvem identificadores
local ped = PlayerPedId()
local coords = GetEntityCoords(ped)   -- ISTO é um vetor

Ainda travado no seu próprio código?

Esta página é o que esse erro costuma significar. Cole o seu console no Server Fixer e ele vai ordenar tudo o que estiver lá e te dizer o que fazer primeiro; e se você preferir não mexer, o ORBIE consegue consertar o script e te devolver o resource pronto para soltar.

bug_reportAbrir o Server Fixer

Para esse tipo de erro, o Script Optimizer lê o script e conserta o código por trás disso.

Erros que andam junto com este