FJX Studios Dokumentation

FAQ & Fehlerbehebung

Häufige Fragen sowie Lösungen zu Framework, Datenbank, Billing, Society-Payments und Keybinds.

Zuletzt aktualisiert: 21. August 2026

Allgemeine Fragen

Wie funktioniert die automatische Framework-Erkennung?

Das Skript prüft beim Start, ob ESX oder QBCore installiert ist:

lua
-- Versucht ESX zu erkennen
ESX = exports['es_extended']:getSharedObject()

-- Falls ESX nicht gefunden, versucht QBCore
QBCore = exports['qb-core']:GetCoreObject()

Danach passt es sich automatisch an das erkannte Framework an.

Welches Framework wird priorisiert?

ESX wird zuerst erkannt. Sind beide Frameworks installiert, wird ESX verwendet. Um QBCore zu nutzen, muss ESX deaktiviert sein.

Funktioniert das Skript ohne Framework (Standalone)?

Nein. Das Skript benötigt zwingend ESX oder QBCore für Player-Identification, Money-System, Billing-System und Society-System.

Beeinträchtigt die Framework-Erkennung die Performance?

Nein. Die Erkennung läuft nur einmal beim Start, danach gibt es keine Einbußen.

Kann ich das Framework wechseln?

Ja. Wechsle einfach von ESX zu QBCore oder umgekehrt — das Skript erkennt die Änderung beim nächsten Neustart automatisch.

Wie funktionieren die TÜV-Plaketten?

Das Skript zeigt automatisch die passende Plakette anhand des Ablaufdatums. Die Bilder liegen in html/img/ im Format MM_YY.png.

Was passiert bei abgelaufenem TÜV?
  • Die Plakette wird rot angezeigt
  • Status: „ABGELAUFEN"
  • Warnung beim Einsteigen, falls aktiviert
  • Der TÜV muss erneuert werden
Wie lange dauert eine TÜV-Erneuerung?

Standard: rund 11 Sekunden — 6 s Diagnose plus 5 s Erneuerung, dazu die Minigame-Zeit.

Anpassbar über:

lua
Config.DiagnosisDuration = 6000
Config.RenewTuevDuration = 5000
Muss ich das Minigame bestehen?

Ja, wenn Config.EnableMinigame = true gesetzt ist. Bei Fehlschlag muss die Diagnose wiederholt werden.

Kann ich mir als Mechaniker selbst TÜV ausstellen?

Hängt von der Config ab:

lua
Config.AllowSelfBilling = true   -- ja
Config.AllowSelfBilling = false  -- nein
Wie weit im Voraus kann ich den TÜV erneuern?

Über Config.ErneuerungAbTagen — Standard sind 7 Tage vor Ablauf.

Fehlerbehebung

Skript lädt nicht

Symptome: keine Startmeldung in der Konsole, keine Funktion im Spiel.

  1. Ressourcenname prüfen — ensure fjx_tuev muss mit dem Ordnernamen übereinstimmen
  2. Ladereihenfolge prüfen — das Framework muss zuerst geladen werden:
server.cfg
cfg
ensure es_extended  # Framework ZUERST
ensure fjx_tuev     # Skript DANACH
  1. Console-Logs prüfen — dort sollte [TÜV] System loaded - Framework: esx stehen

Framework wird nicht erkannt

Symptome: System loaded - Framework: none, das Skript funktioniert nicht.

  1. Framework-Namen prüfen — ESX muss es_extended heißen, QBCore qb-core
  2. Ladereihenfolge — Framework vor dem Skript:
server.cfg
cfg
ensure es_extended
ensure esx_addonaccount
ensure fjx_tuev
  1. Framework-Test — laden andere Framework-Skripte? Stehen Framework-Fehler in der Konsole?
  2. Server komplett neu starten — nicht nur refresh

Datenbank-Fehler

Symptome: „Failed to execute query", der TÜV wird nicht gespeichert.

  1. SQL manuell importieren — tuev_system.sql über phpMyAdmin oder HeidiSQL
  2. Datenbank-Verbindung prüfen — ist oxmysql bzw. mysql-async installiert, stimmen die Credentials in der server.cfg?
  3. Tabellen prüfen:
sql
SHOW TABLES LIKE 'vehicle_tuev%';

Erwartet werden vehicle_tuev und vehicle_tuev_history.

  1. Debug aktivieren — Config.Debug = true

TÜV-Plaketten nicht sichtbar

Symptome: keine Plakette, UI bleibt leer.

  1. Bilder vorhanden?
text
resources/fjx_tuev/html/img/
├── 00_00.png
├── 01_26.png
└── ...
  1. NUI testen — Config.Debug = true setzen und die Konsole auf NUI-Meldungen prüfen

Minigame startet nicht

Symptome: die Diagnose hängt, kein Minigame erscheint.

  1. Config prüfen — Config.EnableMinigame = true und Config.MinigameType gesetzt (nicht leer)
  2. Anderen Typ testen — z. B. Config.MinigameType = 'keyspam'
  3. Minigame deaktivieren — Config.EnableMinigame = false

Billing funktioniert nicht

Symptome: keine Rechnung wird erstellt, Fehler beim Billing.

  1. Ist esx_billing installiert? → ensure esx_billing
  2. Tabelle vorhanden?
sql
SHOW TABLES LIKE 'billing';
  1. Config prüfen:
lua
Config.PaymentMethod = 'bill'
Config.EnableBilling = true
  1. Ist qb-billing installiert? → ensure qb-billing
  2. Tabelle vorhanden?
sql
SHOW TABLES LIKE 'phone_invoices';
  1. Debug aktivieren: Config.Debug = true

Society-Payment funktioniert nicht

Symptome: Rechnung bezahlt, aber das Geld landet nicht auf dem Firmenkonto.

  1. esx_addonaccount installiert — und vor fjx_tuev geladen?
  2. Existiert die Society?
sql
SELECT * FROM addon_account
WHERE name = 'society_mechanic';

Falls nicht:

sql
INSERT INTO addon_account (name, label, shared)
VALUES ('society_mechanic', 'Mechanic', 1);
  1. Config prüfen — Config.SocietyName = 'mechanic' ohne society_-Prefix
  2. Debug aktivieren und nach „zur Society society_mechanic hinzugefügt" suchen
  1. qb-management installiert — und vor fjx_tuev geladen?
  2. Job konfiguriert? In qb-core/shared/jobs.lua:
lua
['mechanic'] = {
    label = 'Mechanic',
}
  1. Config prüfen:
lua
Config.PaymentTarget = 'society'
Config.SocietyName = 'mechanic'
  1. Debug aktivieren und nach „zur Society via qb-management" suchen
  2. Alternative: ensure qb-banking

Keybinds funktionieren nicht

Symptome: Tasten ohne Funktion, keine 3D-Text-Anzeige.

  1. Config prüfen:
lua
Config.Keybinds = {
    CheckTuev = 38,   -- E
    Diagnose = 74,    -- H
    RenewTuev = 26    -- C
}
  1. Target-System aktiviert? → Config.Target = 'ox_target' und Config.Use3DText = false
  2. Oder 3D-Text? → Config.Target = 'none' und Config.Use3DText = true
  3. Distanz prüfen → Config.Interaction3DDistance = 3.0
  4. Job prüfen — steht dein Job in Config.MechanicJobs?

Progress-Bars fehlen

Symptome: keine Progress-Bar, Aktionen enden sofort.

  1. Config.ProgressType prüfen — nicht 'none'
  2. Ist die Resource installiert? ensure ox_lib bzw. ensure qb-progressbar
  3. Oder bewusst deaktivieren: Config.ProgressType = 'none'

Warnungen fehlen

Symptome: keine Warnung beim Einsteigen.

  1. Config prüfen — Config.EnableReminders = true, Config.ReminderDays = 30
  2. TÜV-Status prüfen — als Admin /tuevcheck [kennzeichen]
  3. Benachrichtigung testen — Config.NotifyType = 'native'

Performance-Probleme

FPS-Drops
  1. 3D-Text deaktivieren: Config.Use3DText = false und Config.Target = 'ox_target'
  2. Progress-Bars reduzieren: Config.ProgressType = 'none'
  3. Debug ausschalten: Config.Debug = false
Hohe Server-Last
  1. Minigames deaktivieren: Config.EnableMinigame = false
  2. Weniger TÜV-Stationen in der Config eintragen

Escrow-Hinweise

Die config.lua ist vollständig editierbar, alle anderen Dateien sind verschlüsselt.

Skript aktualisieren: neue Version herunterladen, Dateien ersetzen — außer der config.lua — und den Server neu starten.

Auf einen Blick

Problem Lösung
Skript lädt nicht Framework vor dem Skript laden
Keine Plaketten Cache löschen (F5)
Billing fehlt esx_billing / qb-billing
Society-Payment fehlt esx_addonaccount / qb-management
Keybinds gehen nicht Job in der Config eingetragen?
FPS-Drops 3D-Text aus, Target an
Keine Warnung EnableReminders = true

Admin-Commands

text
/tuevcheck [kennzeichen]   # TÜV-Status prüfen

Debug-Modus: Config.Debug = true in der config.lua.

Support

Bitte gib bei einer Support-Anfrage folgende Informationen mit an:

  • ausführliche Problembeschreibung
  • Framework (ESX/QBCore) und Version
  • Config-Einstellungen
  • Console-Logs mit Config.Debug = true
  • Ladereihenfolge aus der server.cfg