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.
Faça isto primeiro
Esse precisa de uma olhada no código: é um erro do script, não da sua instalação.
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
Um nativo devolveu um identificador, não uma tabela
local ped = GetPlayerPed(-1)e depoisped.x. O identificador é um número. - 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
Um resultado de consulta lido um nível a mais
O
querydo oxmysql devolve um ARRAY de linhas.result.identifieré indexar o array;result[1].identifieré a linha. - 4
Um valor de configuração que é um número onde se esperava uma tabela
Config.Jobs.policeondeConfig.Jobsfoi escrito como um contador em vez de uma tabela. - 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 vetorAinda 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 FixerPara esse tipo de erro, o Script Optimizer lê o script e conserta o código por trás disso.