FJX TÜV-System ist über die config.lua umfassend anpassbar. Diese Seite erklärt alle Optionen im Detail.
Sprache & Debug
config.lua
Config.Locale = 'de' -- 'de' oder 'en'
Config.Debug = false -- true = Console-Ausgaben
Config.LocalestringStandard: 'de'Sprache für alle Texte. Möglich sind 'de' und 'en'.
Config.DebugbooleanStandard: falseConsole-Logs für die Entwicklung und Fehlersuche.
Keybinds
config.lua
Config.Keybinds = {
CheckTuev = 38, -- E - TÜV prüfen
Diagnose = 74, -- H - Fahrzeugdiagnose
RenewTuev = 26 -- C - TÜV erneuern
}
Häufige Key-Codes
| Taste | Code | Taste | Code |
|---|---|---|---|
| E | 38 | F | 23 |
| H | 74 | X | 73 |
| C | 26 | Q | 44 |
| G | 47 | R | 45 |
Target-System
config.lua
Config.Target = 'none' -- 'ox_target', 'qb-target', 'none'
Config.Use3DText = true -- 3D-Text über Fahrzeugen
Config.Interaction3DDistance = 3.0 -- Radius in Metern
| Option | Werte | Beschreibung |
|---|---|---|
Target |
'ox_target', 'qb-target', 'none' |
Target-System |
Use3DText |
true, false |
3D-Text bei Target = 'none' |
Interaction3DDistance |
Zahl | maximale Distanz für 3D-Text |
UI-Systeme
config.lua
Config.NotifyType = 'ox_lib' -- Benachrichtigungen
Config.ProgressType = 'ox_lib' -- Progress-Bars
Config.MenuType = 'ox_lib' -- Menüs
| Bereich | Mögliche Werte |
|---|---|
| Benachrichtigungen | 'ox_lib' (empfohlen), 'esx', 'qb', 'chat', 'native' |
| Progress-Bars | 'ox_lib' (empfohlen), 'progressBars', 'qb-progressbar', 'esx_progressbar', 'none' |
| Menüs | 'ox_lib' (empfohlen), 'esx_menu_default', 'qb-menu', 'native' |
TÜV-Einstellungen
config.lua
Config.TuevGueltigTage = 14 -- Gültigkeit in Tagen
Config.WarnungAbTagen = 3 -- Warnung ab X Tagen vor Ablauf
Config.ErneuerungAbTagen = 7 -- Erneuerung möglich ab X Tagen vor Ablauf
Status-System
| Tage übrig | Status | Farbe |
|---|---|---|
| mehr als 3 | GÜLTIG | Grün |
| 1 – 3 | WARNUNG | Gelb |
| 0 oder negativ | ABGELAUFEN | Rot |
| kein Eintrag | KEIN TÜV | Grau |
Zahlungssystem
config.lua
Config.Price = 750 -- Preis in €
Config.PaymentMethod = 'bill' -- 'direct' oder 'bill'
Config.PaymentTarget = 'society' -- 'player' oder 'society'
Config.SocietyName = 'mechanic' -- Society-Name
| Option | Werte | Beschreibung |
|---|---|---|
Price |
Zahl | Kosten für die TÜV-Erneuerung |
PaymentMethod |
'direct', 'bill' |
Sofortzahlung oder Rechnung |
PaymentTarget |
'player', 'society' |
Empfänger der Zahlung |
SocietyName |
String | Name der Society, ohne society_-Prefix |
Billing-Optionen
config.lua
Config.EnableBilling = true -- Rechnungssystem aktiviert
Config.BillingRadius = 15.0 -- Radius für Spieler-Auswahl
Config.AllowSelfBilling = true -- Selbst abrechnen erlaubt
Config.BillingSystem = 'auto' -- 'auto', 'esx_billing', 'qb-management'
Config.UseCharacterName = true -- RP-Namen statt Steam-Namen
Jobs
config.lua
Config.MechanicJobs = {
'mechanic',
'tuner',
'bennys'
}
Config.PoliceJobs = {
'police',
'sheriff'
}
Beliebig viele Jobs möglich. Die Job-Namen müssen mit deinem Framework übereinstimmen.
TÜV-Stationen
config.lua
Config.InspectionStations = {
{
coords = vec3(-339.85, -136.92, 39.01),
heading = 70.0,
blip = {
enabled = true,
sprite = 446,
color = 5,
scale = 0.8,
label = 'TÜV Station'
}
}
}
Station hinzufügen
config.lua
{
coords = vec3(X, Y, Z), -- Position
heading = 0.0, -- Fahrzeug-Ausrichtung
blip = {
enabled = true, -- Blip anzeigen
sprite = 446, -- Blip-Symbol
color = 5, -- Farbe (5 = Gelb)
scale = 0.8, -- Größe
label = 'TÜV Station' -- Name
}
}
Koordinaten ermittelst du mit /coords in der F8-Konsole.
Progress-Bars & Animationen
config.lua
Config.DiagnosisDuration = 6000 -- Diagnose-Dauer (ms)
Config.RenewTuevDuration = 5000 -- TÜV-Erneuerung-Dauer (ms)
Zeit in Millisekunden — 1000 ms = 1 Sekunde.
Diagnose-Anforderungen
config.lua
Config.MinimumEngineHealth = 700.0 -- Min. Motor (0-1000)
Config.MinimumBodyHealth = 800.0 -- Min. Karosserie (0-1000)
Config.RequireAllLights = true -- Lichter prüfen
Config.CheckTireCondition = true -- Reifen prüfen
Defekt-Kategorien
config.lua
Config.DefectCategories = {
critical = {
engineHealth = {
threshold = 700,
message = 'Motor stark beschädigt - Nicht verkehrssicher'
},
bodyHealth = {
threshold = 800,
message = 'Karosserie stark beschädigt - Unfallschaden'
}
},
warning = {
engineHealth = {
threshold = 900,
message = 'Motor leicht beschädigt - Reparatur empfohlen'
},
bodyHealth = {
threshold = 950,
message = 'Karosserie Kratzer und Beulen'
}
},
info = {
tirePressure = { message = 'Reifendruck prüfen' },
fluidLevels = { message = 'Flüssigkeitsstände kontrollieren' }
}
}
| Level | Bedeutung |
|---|---|
critical |
Fahrzeug besteht den TÜV nicht |
warning |
Reparatur empfohlen |
info |
Hinweise |
Minigames
Diagnose-Minigame
config.lua
Config.EnableMinigame = true
Config.MinigameType = 'sequence' -- 'sequence', 'path', 'keyspam', 'random'
Config.MinigameDifficulty = 'medium' -- 'easy', 'medium', 'hard'
| Typ | Beschreibung |
|---|---|
sequence |
Tastenfolge merken und wiederholen |
path |
Pfad mit der Maus folgen |
keyspam |
Taste schnell drücken |
random |
zufälliger Typ |
Schwierigkeitsgrade
| Schwierigkeit | Sequence | Path | Keyspam |
|---|---|---|---|
| Easy | 3 Tasten, 12 s | 4 Schritte, 10 s | 15 Klicks, 8 s |
| Medium | 4 Tasten, 10 s | 6 Schritte, 8 s | 25 Klicks, 8 s |
| Hard | 5 Tasten, 8 s | 8 Schritte, 6 s | 35 Klicks, 8 s |
Plaketten-Minigame
config.lua
Config.EnablePlaketteMinigame = true -- Plaketten-Auswahl aktivieren
Config.PlaketteMinigameOptions = 6 -- Anzahl Optionen (3-9)
Warnungen
config.lua
Config.EnableReminders = true -- Warnung beim Einsteigen
Config.ReminderDays = 30 -- Warnung ab X Tagen vor Ablauf
Der Spieler wird beim Einsteigen gewarnt, wenn der TÜV bald abläuft.
Admin-Einstellungen
config.lua
Config.AdminGroups = {
'admin',
'superadmin'
}
Admin-Gruppen für Commands wie /tuevcheck [kennzeichen].
Beispiel-Konfigurationen
Config.TuevGueltigTage = 365 -- 1 Jahr
Config.WarnungAbTagen = 14 -- 2 Wochen Warnung
Config.Price = 1500
Config.PaymentMethod = 'bill'
Config.PaymentTarget = 'society'
Config.AllowSelfBilling = false
Config.MinimumEngineHealth = 800.0
Config.MinimumBodyHealth = 900.0
Config.MinigameDifficulty = 'hard'
Config.TuevGueltigTage = 730 -- 2 Jahre
Config.WarnungAbTagen = 60
Config.Price = 500
Config.PaymentMethod = 'direct'
Config.AllowSelfBilling = true
Config.MinimumEngineHealth = 600.0
Config.MinimumBodyHealth = 700.0
Config.MinigameDifficulty = 'easy'
Config.EnablePlaketteMinigame = false
Config.Debug = false
Config.Use3DText = false
Config.Target = 'ox_target'
Config.ProgressType = 'none'
Config.EnableMinigame = false
Config.EnablePlaketteMinigame = false
Framework-spezifische Hinweise
config.lua
Config.NotifyType = 'esx'
Config.ProgressType = 'esx_progressbar'
Config.MenuType = 'esx_menu_default'
Config.BillingSystem = 'esx_billing'
Wichtig:
esx_addonaccountfür Society-Payments- Die Society muss in der Datenbank existieren
config.lua
Config.NotifyType = 'qb'
Config.ProgressType = 'qb-progressbar'
Config.MenuType = 'qb-menu'
Config.BillingSystem = 'qb-management'
Wichtig:
qb-managementfür Society-Payments- Der Job muss in qb-core konfiguriert sein
Erweiterte Anpassungen
Eigene Übersetzungen
config.lua
Config.Translations['de']['notif_tuev_success'] = 'TÜV erfolgreich erneuert!'
Config.Translations['en']['notif_tuev_success'] = 'MOT renewed successfully!'
Mehrere Mechaniker-Jobs
config.lua
Config.MechanicJobs = {
'mechanic',
'tuner',
'bennys',
'lsc',
'autohaus',
'customshop'
}