Config = {} -- Debug-Modus Config.Debug = true -- Berechtigte Jobs Config.AuthorizedJobs = { ['police'] = true, ['sheriff'] = true, ['government'] = true, ['doj'] = true, ['ambulance'] = true, ['mechanic'] = true } -- Benachrichtigungen Config.Notifications = { no_permission = { message = "Du hast keine Berechtigung dafür!", type = "error" }, license_issued = { message = "Lizenz erfolgreich ausgestellt!", type = "success" }, license_revoked = { message = "Lizenz erfolgreich entzogen!", type = "success" } } -- Lizenz-Typen (ERWEITERT mit benutzerdefinierten Feldern) Config.LicenseTypes = { ['id_card'] = { label = 'Personalausweis', description = 'Offizieller Personalausweis', price = 50, validity_days = nil, -- Unbegrenzt gültig color = '#2E86AB', icon = 'fas fa-id-card', template = 'id_card', custom_fields = { { name = 'birth_date', label = 'Geburtsdatum', type = 'date', required = true, placeholder = 'TT.MM.JJJJ' }, { name = 'birth_place', label = 'Geburtsort', type = 'text', required = true, placeholder = 'z.B. Los Santos' }, { name = 'nationality', label = 'Staatsangehörigkeit', type = 'select', required = true, options = { {value = 'usa', label = 'USA'}, {value = 'germany', label = 'Deutschland'}, {value = 'uk', label = 'Vereinigtes Königreich'}, {value = 'france', label = 'Frankreich'}, {value = 'other', label = 'Andere'} } }, { name = 'address', label = 'Adresse', type = 'textarea', required = true, placeholder = 'Vollständige Adresse' }, { name = 'height', label = 'Größe (cm)', type = 'number', required = false, placeholder = 'z.B. 180' }, { name = 'eye_color', label = 'Augenfarbe', type = 'select', required = false, options = { {value = 'brown', label = 'Braun'}, {value = 'blue', label = 'Blau'}, {value = 'green', label = 'Grün'}, {value = 'gray', label = 'Grau'}, {value = 'hazel', label = 'Haselnuss'} } }, { name = 'photo_url', label = 'Foto-URL', type = 'url', required = false, placeholder = 'https://example.com/photo.jpg' } } }, ['driver_license'] = { label = 'Führerschein', description = 'Führerschein für Kraftfahrzeuge', price = 150, validity_days = 1825, -- 5 Jahre color = '#F18F01', icon = 'fas fa-car', template = 'driver_license', classes = { ['A'] = 'Motorräder', ['B'] = 'PKW', ['C'] = 'LKW', ['D'] = 'Busse' }, custom_fields = { { name = 'birth_date', label = 'Geburtsdatum', type = 'date', required = true, placeholder = 'TT.MM.JJJJ' }, { name = 'address', label = 'Adresse', type = 'textarea', required = true, placeholder = 'Vollständige Adresse' }, { name = 'restrictions', label = 'Beschränkungen', type = 'textarea', required = false, placeholder = 'z.B. Brille erforderlich' }, { name = 'photo_url', label = 'Foto-URL', type = 'url', required = false, placeholder = 'https://example.com/photo.jpg' } } }, ['weapon_license'] = { label = 'Waffenschein', description = 'Berechtigung zum Führen von Waffen', price = 500, validity_days = 365, -- 1 Jahr color = '#C73E1D', icon = 'fas fa-crosshairs', template = 'weapon_license', custom_fields = { { name = 'birth_date', label = 'Geburtsdatum', type = 'date', required = true, placeholder = 'TT.MM.JJJJ' }, { name = 'weapon_type', label = 'Waffentyp', type = 'select', required = true, options = { {value = 'pistol', label = 'Pistole'}, {value = 'rifle', label = 'Gewehr'}, {value = 'shotgun', label = 'Schrotflinte'}, {value = 'all', label = 'Alle Waffentypen'} } }, { name = 'purpose', label = 'Verwendungszweck', type = 'select', required = true, options = { {value = 'self_defense', label = 'Selbstverteidigung'}, {value = 'sport', label = 'Sport'}, {value = 'hunting', label = 'Jagd'}, {value = 'collection', label = 'Sammlung'}, {value = 'security', label = 'Sicherheitsdienst'} } }, { name = 'restrictions', label = 'Beschränkungen', type = 'textarea', required = false, placeholder = 'Besondere Auflagen oder Beschränkungen' }, { name = 'photo_url', label = 'Foto-URL', type = 'url', required = false, placeholder = 'https://example.com/photo.jpg' } } }, ['pilot_license'] = { label = 'Pilotenlizenz', description = 'Berechtigung zum Führen von Luftfahrzeugen', price = 1000, validity_days = 730, -- 2 Jahre color = '#6A994E', icon = 'fas fa-plane', template = 'pilot_license', classes = { ['PPL'] = 'Private Pilot License', ['CPL'] = 'Commercial Pilot License', ['ATPL'] = 'Airline Transport Pilot License', ['HELI'] = 'Helicopter License' }, custom_fields = { { name = 'birth_date', label = 'Geburtsdatum', type = 'date', required = true, placeholder = 'TT.MM.JJJJ' }, { name = 'medical_cert', label = 'Medical Certificate', type = 'text', required = true, placeholder = 'z.B. Class 1, Class 2' }, { name = 'flight_hours', label = 'Flugstunden', type = 'number', required = true, placeholder = 'Gesamte Flugstunden' }, { name = 'aircraft_types', label = 'Luftfahrzeugtypen', type = 'textarea', required = false, placeholder = 'Berechtigte Luftfahrzeugtypen' }, { name = 'restrictions', label = 'Beschränkungen', type = 'textarea', required = false, placeholder = 'z.B. nur bei Tageslicht' }, { name = 'photo_url', label = 'Foto-URL', type = 'url', required = false, placeholder = 'https://example.com/photo.jpg' } } }, ['business_license'] = { label = 'Gewerbeschein', description = 'Berechtigung zur Ausübung eines Gewerbes', price = 300, validity_days = 365, -- 1 Jahr color = '#7209B7', icon = 'fas fa-briefcase', template = 'business_license', custom_fields = { { name = 'business_name', label = 'Firmenname', type = 'text', required = true, placeholder = 'Name des Unternehmens' }, { name = 'business_type', label = 'Gewerbetyp', type = 'select', required = true, options = { {value = 'retail', label = 'Einzelhandel'}, {value = 'restaurant', label = 'Gastronomie'}, {value = 'service', label = 'Dienstleistung'}, {value = 'manufacturing', label = 'Herstellung'}, {value = 'transport', label = 'Transport'}, {value = 'other', label = 'Sonstiges'} } }, { name = 'business_address', label = 'Geschäftsadresse', type = 'textarea', required = true, placeholder = 'Vollständige Geschäftsadresse' }, { name = 'tax_number', label = 'Steuernummer', type = 'text', required = false, placeholder = 'z.B. 123/456/78901' }, { name = 'employees', label = 'Anzahl Mitarbeiter', type = 'number', required = false, placeholder = 'Geplante Mitarbeiterzahl' }, { name = 'logo_url', label = 'Firmenlogo-URL', type = 'url', required = false, placeholder = 'https://example.com/logo.jpg' } } } } -- UI-Einstellungen Config.UI = { position = 'center', -- 'center', 'top-left', 'top-right', 'bottom-left', 'bottom-right' animation = 'fade', -- 'fade', 'slide', 'zoom' theme = 'dark', -- 'dark', 'light' blur_background = true, max_image_size = 5 * 1024 * 1024, -- 5MB allowed_image_formats = {'jpg', 'jpeg', 'png', 'gif', 'webp'}, default_avatar = 'https://via.placeholder.com/150x200/cccccc/666666?text=Kein+Foto' } -- Validierung Config.Validation = { name_min_length = 2, name_max_length = 50, url_pattern = '^https?://.+', date_pattern = '^%d%d%.%d%d%.%d%d%d%d$', -- DD.MM.YYYY phone_pattern = '^%+?[%d%s%-%(%)]+$' }