Tablica prac jest nil
Nie dało się odczytać twojej listy prac. Jedna literówka w pliku prac psuje naraz każdy skrypt związany z pracami.
Zrób najpierw to
Jeśli ostatnio edytowałeś plik prac, cofnij tę zmianę i zrestartuj.
Co to znaczy
Kod odczytał rejestr prac frameworka, a tego rejestru nie było. W QBCore to QBCore.Shared.Jobs, w ESX wczytuje się on z tabeli jobs w bazie danych. Każdy skrypt zależny od pracy pada naraz, przez co wygląda to na większy problem, niż jest.
Co to powoduje
Uszeregowane według tego, jak często są odpowiedzią.
- 1
Błąd składni w konfiguracji prac
qb-core/shared/jobs.luato Lua. Jeden brakujący nawias klamrowy i cały plik się nie wczytuje, więc tablica nigdy nie zostaje przypisana — a błąd, który widzisz, jest w skrypcie, który ją czyta, nie w pliku, który się zepsuł. - 2
Tabela jobs nigdy nie została zaimportowana (ESX)
ESX czyta prace z bazy danych. Brak wierszy, brak prac.
- 3
Praca, która istnieje w jednym miejscu, a w drugim nie
Gracz, którego kolumna
jobnazywa pracę niezdefiniowaną w konfiguracji. Rejestr jest w porządku; nil jest ten jeden odczyt. - 4
Odczyt przed wczytaniem rdzenia
Ten sam problem z czasem co przy samym obiekcie rdzenia.
- 5
Edytowany plik shared nadpisany przez aktualizację
Aktualizacja nadpisała twoje własne prace.
Jak poznać, który jest twój
Przewiń w górę w poszukiwaniu błędu ładowania w plikach samego frameworka — zepsuty jobs.lua zawsze zgłasza się przed czymkolwiek innym. Potem:
print(json.encode(QBCore.Shared.Jobs and 'loaded' or 'nil'))
Gdzie szukać
qb-core/shared/jobs.lua albo tabela jobs w bazie, jeśli używasz ESX.
Jak to naprawić
Zwaliduj plik konfiguracji przed restartem:
luac -p qb-core/shared/jobs.lua
I zabezpiecz odczyt pojedynczej pracy, bo to prawdziwie brakujący klucz, a nie zepsuta tablica:
local job = QBCore.Shared.Jobs[player.PlayerData.job.name] if not job then return end
Wciąż utknąłeś na własnym kodzie?
Ta strona mówi, co ten błąd zwykle oznacza. Wklej swoją konsolę do Server Fixera, a uszereguje wszystko, co w niej jest, i powie, co zrobić najpierw; a jeśli wolisz tego nie ruszać, ORBIE naprawi skrypt i odda ci zasób gotowy do wrzucenia.
bug_reportOtwórz Server FixerDla tego rodzaju błędu Konwerter skryptów przenosi zasób między ESX, QBCore i Qbox.