Das Feld 'Jobs' ist nil
Deine Job-Liste ließ sich nicht lesen. Ein Tippfehler in der Jobs-Datei zerlegt auf einen Schlag jedes Job-Script.
Mach das zuerst
Wenn du kürzlich deine Jobs-Datei geändert hast, mach die Änderung rückgängig und starte neu.
Was es bedeutet
Der Code hat das Job-Register des Frameworks gelesen, und es war nicht da. In QBCore ist das QBCore.Shared.Jobs, in ESX wird es aus der Tabelle jobs geladen. Dann scheitern alle jobgebundenen Scripts auf einmal — das lässt es größer wirken, als es ist.
Was es auslöst
Sortiert danach, wie oft es die Antwort ist.
- 1
Ein Syntaxfehler in der Job-Konfiguration
qb-core/shared/jobs.luaist Lua. Eine fehlende Klammer, und die ganze Datei lädt nicht, also wird die Tabelle nie zugewiesen — und der Fehler, den du siehst, steckt im lesenden Script, nicht in der kaputten Datei. - 2
Die Job-Tabelle wurde nie importiert (ESX)
ESX liest Jobs aus der Datenbank. Keine Zeilen, keine Jobs.
- 3
Ein Job, den es an einer Stelle gibt und an der anderen nicht
Ein Spieler, dessen Spalte
jobeinen Job nennt, den die Konfiguration nicht definiert. Das Register ist in Ordnung; nil ist genau diese Suche. - 4
Es lesen, bevor der Core geladen ist
Dasselbe Timing-Problem wie beim Core-Objekt selbst.
- 5
Eine bearbeitete geteilte Datei, die ein Update ersetzt hat
Ein Update hat deine eigenen Jobs überschrieben.
Wie du erkennst, welcher deiner ist
Scroll nach oben und such einen Ladefehler in den Dateien des Frameworks: Eine kaputte jobs.lua meldet sich immer, bevor sich etwas anderes beschwert. Und dann:
print(json.encode(QBCore.Shared.Jobs and 'loaded' or 'nil'))
Wo du nachsehen musst
qb-core/shared/jobs.lua oder die Tabelle jobs in der Datenbank bei ESX.
Wie du es behebst
Prüf die Konfigurationsdatei vor dem Neustart:
luac -p qb-core/shared/jobs.lua
Und sichere die Suche nach einem einzelnen Job ab — das ist ein legitim fehlender Schlüssel und keine kaputte Tabelle:
local job = QBCore.Shared.Jobs[player.PlayerData.job.name] if not job then return end
Hängst du immer noch an deinem eigenen Code?
Diese Seite sagt, was dieser Fehler üblicherweise bedeutet. Füg deine Konsole in Server Fixer ein: es sortiert alles darin und sagt dir, was zuerst dran ist; und wenn du lieber nicht ranwillst, kann ORBIE das Script reparieren und dir die Resource fertig zum Einsetzen zurückgeben.
bug_reportServer Fixer öffnenFür diese Art Fehler Skript-Konverter übersetzt eine Resource zwischen ESX, QBCore und Qbox.