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.
Faça isto primeiro
Se você editou o arquivo de empregos há pouco, desfaça a mudança e reinicie.
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
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
A tabela de empregos nunca foi importada (ESX)
O ESX lê os empregos do banco de dados. Sem linhas, sem empregos.
- 3
Um emprego que existe num lugar e no outro não
Um jogador cuja coluna
jobnomeia um emprego que a configuração não define. O registro está bem; nil é aquela busca. - 4
Ler antes de o core ter carregado
O mesmo problema de tempo que com o próprio objeto do core.
- 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 FixerPara esse tipo de erro, o Conversor de scripts traduz um resource entre ESX, QBCore e Qbox.