THE ORB
Iniciando o studio

o campo 'Jobs' é nil

Não deu para ler a sua lista de empregos. Um erro de digitação no arquivo de empregos quebra de uma vez todos os scripts que dependem deles.

groupsTodos os empregos param de funcionarpersonVocê consegue consertar

Faça isto primeiro

Se você editou o arquivo de empregos há pouco, desfaça a mudança e reinicie.

bug_reportMelhor colar o console inteiro

O que significa

O código leu o registro de empregos do framework e ele não estava lá. No QBCore isso é o QBCore.Shared.Jobs, e no ESX é carregado da tabela jobs do banco. Quando acontece, falham de uma vez todos os scripts com acesso por emprego, e isso faz parecer maior do que é.

O que causa isso

Ordenado pela frequência com que é a resposta.

  1. 1

    Um erro de sintaxe na configuração de empregos

    qb-core/shared/jobs.lua é Lua. Uma chave faltando e o arquivo inteiro não carrega, então a tabela nunca é atribuída; e o erro que você vê está no script que lê, não no arquivo que quebrou.

  2. 2

    A tabela de empregos nunca foi importada (ESX)

    O ESX lê os empregos do banco de dados. Sem linhas, sem empregos.

  3. 3

    Um emprego que existe num lugar e no outro não

    Um jogador cuja coluna job nomeia um emprego que a configuração não define. O registro está bem; nil é aquela busca.

  4. 4

    Ler antes de o core ter carregado

    O mesmo problema de tempo que com o próprio objeto do core.

  5. 5

    Um arquivo compartilhado editado que uma atualização substituiu

    Uma atualização passou por cima dos seus empregos customizados.

Como saber qual é o seu

Suba procurando um erro de carga nos arquivos do próprio framework: um jobs.lua quebrado sempre se anuncia antes de qualquer outra reclamação. E depois:

print(json.encode(QBCore.Shared.Jobs and 'loaded' or 'nil'))

Onde olhar

qb-core/shared/jobs.lua, ou a tabela jobs do banco de dados se for ESX.

Como consertar

Valide o arquivo de configuração antes de reiniciar:

luac -p qb-core/shared/jobs.lua

E proteja a busca de um emprego específico, que é uma chave que legitimamente pode faltar em vez de uma tabela quebrada:

local job = QBCore.Shared.Jobs[player.PlayerData.job.name]
if not job then return end

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 Conversor de scripts traduz um resource entre ESX, QBCore e Qbox.

Erros que andam junto com este