2025-08-04 06:14:47 +02:00
|
|
|
Config = {}
|
|
|
|
|
2025-08-04 07:40:06 +02:00
|
|
|
-- Allgemeine Einstellungen
|
|
|
|
Config.Debug = true
|
|
|
|
Config.UseBackgroundImages = true
|
|
|
|
Config.MaxLicenseAge = 365 -- Tage bis Ablauf
|
|
|
|
Config.RenewalDays = 30 -- Tage vor Ablauf für Verlängerung
|
2025-08-04 06:14:47 +02:00
|
|
|
|
2025-08-04 07:40:06 +02:00
|
|
|
-- Berechtigte Jobs
|
2025-08-04 06:14:47 +02:00
|
|
|
Config.AuthorizedJobs = {
|
2025-08-04 07:40:06 +02:00
|
|
|
['police'] = true,
|
|
|
|
['sheriff'] = true,
|
|
|
|
['government'] = true,
|
|
|
|
['judge'] = true,
|
|
|
|
['lawyer'] = true,
|
|
|
|
['ambulance'] = true, -- Für medizinische Lizenzen
|
|
|
|
['mechanic'] = true -- Für Fahrzeug-Lizenzen
|
2025-08-04 06:14:47 +02:00
|
|
|
}
|
|
|
|
|
2025-08-04 07:40:06 +02:00
|
|
|
-- Lizenz-Typen
|
|
|
|
Config.LicenseTypes = {
|
2025-08-04 06:14:47 +02:00
|
|
|
['id_card'] = {
|
|
|
|
label = 'Personalausweis',
|
|
|
|
icon = 'fas fa-id-card',
|
2025-08-04 07:40:06 +02:00
|
|
|
color = '#667eea',
|
|
|
|
price = 50,
|
|
|
|
required_items = {},
|
|
|
|
can_expire = true,
|
|
|
|
validity_days = 3650, -- 10 Jahre
|
|
|
|
required_job = nil,
|
|
|
|
description = 'Offizieller Personalausweis'
|
2025-08-04 06:14:47 +02:00
|
|
|
},
|
|
|
|
['drivers_license'] = {
|
|
|
|
label = 'Führerschein',
|
|
|
|
icon = 'fas fa-car',
|
2025-08-04 07:40:06 +02:00
|
|
|
color = '#f093fb',
|
|
|
|
price = 500,
|
|
|
|
required_items = {'driving_test_certificate'},
|
|
|
|
can_expire = true,
|
|
|
|
validity_days = 5475, -- 15 Jahre
|
|
|
|
required_job = 'driving_school',
|
|
|
|
description = 'Berechtigung zum Führen von Kraftfahrzeugen',
|
|
|
|
classes = {
|
|
|
|
'A', 'A1', 'A2', 'B', 'BE', 'C', 'CE', 'D', 'DE'
|
|
|
|
}
|
2025-08-04 06:14:47 +02:00
|
|
|
},
|
|
|
|
['weapon_license'] = {
|
|
|
|
label = 'Waffenschein',
|
2025-08-04 07:40:06 +02:00
|
|
|
icon = 'fas fa-crosshairs',
|
|
|
|
color = '#4facfe',
|
|
|
|
price = 2500,
|
|
|
|
required_items = {'weapon_course_certificate', 'psychological_evaluation'},
|
|
|
|
can_expire = true,
|
|
|
|
validity_days = 1095, -- 3 Jahre
|
|
|
|
required_job = 'police',
|
|
|
|
description = 'Berechtigung zum Führen von Schusswaffen',
|
|
|
|
restrictions = {
|
|
|
|
'Nur für registrierte Waffen',
|
|
|
|
'Regelmäßige Überprüfung erforderlich',
|
|
|
|
'Nicht übertragbar'
|
|
|
|
}
|
2025-08-04 06:14:47 +02:00
|
|
|
},
|
|
|
|
['passport'] = {
|
|
|
|
label = 'Reisepass',
|
|
|
|
icon = 'fas fa-passport',
|
2025-08-04 07:40:06 +02:00
|
|
|
color = '#43e97b',
|
|
|
|
price = 150,
|
|
|
|
required_items = {'birth_certificate', 'id_card'},
|
|
|
|
can_expire = true,
|
|
|
|
validity_days = 3650, -- 10 Jahre
|
|
|
|
required_job = 'government',
|
|
|
|
description = 'Internationales Reisedokument'
|
2025-08-04 06:14:47 +02:00
|
|
|
},
|
|
|
|
['business_license'] = {
|
|
|
|
label = 'Gewerbeschein',
|
|
|
|
icon = 'fas fa-briefcase',
|
2025-08-04 07:40:06 +02:00
|
|
|
color = '#fa709a',
|
|
|
|
price = 1000,
|
|
|
|
required_items = {'business_plan', 'tax_certificate'},
|
|
|
|
can_expire = true,
|
|
|
|
validity_days = 1825, -- 5 Jahre
|
|
|
|
required_job = 'government',
|
|
|
|
description = 'Berechtigung zur Ausübung eines Gewerbes'
|
|
|
|
},
|
|
|
|
['pilot_license'] = {
|
|
|
|
label = 'Pilotenlizenz',
|
|
|
|
icon = 'fas fa-plane',
|
|
|
|
color = '#667eea',
|
|
|
|
price = 5000,
|
|
|
|
required_items = {'flight_hours_log', 'medical_certificate'},
|
|
|
|
can_expire = true,
|
|
|
|
validity_days = 730, -- 2 Jahre
|
|
|
|
required_job = 'airport',
|
|
|
|
description = 'Berechtigung zum Führen von Luftfahrzeugen'
|
|
|
|
},
|
|
|
|
['boat_license'] = {
|
|
|
|
label = 'Bootsführerschein',
|
|
|
|
icon = 'fas fa-ship',
|
|
|
|
color = '#00f2fe',
|
|
|
|
price = 800,
|
|
|
|
required_items = {'boat_course_certificate'},
|
|
|
|
can_expire = true,
|
|
|
|
validity_days = 1825, -- 5 Jahre
|
|
|
|
required_job = 'harbor',
|
|
|
|
description = 'Berechtigung zum Führen von Wasserfahrzeugen'
|
|
|
|
},
|
|
|
|
['medical_license'] = {
|
|
|
|
label = 'Approbation',
|
|
|
|
icon = 'fas fa-user-md',
|
|
|
|
color = '#ff6b6b',
|
|
|
|
price = 0, -- Kostenlos für Ärzte
|
|
|
|
required_items = {'medical_degree', 'medical_exam'},
|
|
|
|
can_expire = false,
|
|
|
|
validity_days = nil,
|
|
|
|
required_job = 'ambulance',
|
|
|
|
description = 'Berechtigung zur Ausübung der Heilkunde'
|
|
|
|
},
|
|
|
|
['hunting_license'] = {
|
|
|
|
label = 'Jagdschein',
|
|
|
|
icon = 'fas fa-crosshairs',
|
|
|
|
color = '#8b5a3c',
|
|
|
|
price = 300,
|
|
|
|
required_items = {'hunting_course_certificate'},
|
|
|
|
can_expire = true,
|
|
|
|
validity_days = 1095, -- 3 Jahre
|
|
|
|
required_job = 'ranger',
|
|
|
|
description = 'Berechtigung zur Ausübung der Jagd'
|
|
|
|
},
|
|
|
|
['fishing_license'] = {
|
|
|
|
label = 'Angelschein',
|
|
|
|
icon = 'fas fa-fish',
|
|
|
|
color = '#4ecdc4',
|
|
|
|
price = 50,
|
|
|
|
required_items = {},
|
|
|
|
can_expire = true,
|
|
|
|
validity_days = 365, -- 1 Jahr
|
|
|
|
required_job = nil,
|
|
|
|
description = 'Berechtigung zum Angeln in öffentlichen Gewässern'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
-- Standorte für Lizenz-Ausgabe
|
|
|
|
Config.LicenseLocations = {
|
|
|
|
['city_hall'] = {
|
|
|
|
label = 'Rathaus',
|
|
|
|
coords = vector3(-544.85, -204.13, 38.22),
|
|
|
|
blip = {
|
|
|
|
sprite = 419,
|
|
|
|
color = 2,
|
|
|
|
scale = 0.8
|
|
|
|
},
|
|
|
|
available_licenses = {
|
|
|
|
'id_card', 'passport', 'business_license'
|
|
|
|
},
|
|
|
|
ped = {
|
|
|
|
model = 'a_m_m_business_01',
|
2025-08-04 08:45:50 +02:00
|
|
|
coords = vector4(-544.9543, -204.8450, 37.2151, 219.1676)
|
2025-08-04 07:40:06 +02:00
|
|
|
}
|
|
|
|
},
|
|
|
|
['driving_school'] = {
|
|
|
|
label = 'Fahrschule',
|
|
|
|
coords = vector3(-829.22, -1209.58, 7.33),
|
|
|
|
blip = {
|
|
|
|
sprite = 225,
|
|
|
|
color = 46,
|
|
|
|
scale = 0.8
|
|
|
|
},
|
|
|
|
available_licenses = {
|
|
|
|
'drivers_license'
|
|
|
|
},
|
|
|
|
ped = {
|
|
|
|
model = 'a_m_y_business_02',
|
|
|
|
coords = vector4(-829.22, -1209.58, 6.33, 90.0)
|
|
|
|
}
|
|
|
|
},
|
|
|
|
['police_station'] = {
|
|
|
|
label = 'Polizeiwache',
|
|
|
|
coords = vector3(441.07, -979.76, 30.69),
|
|
|
|
blip = {
|
|
|
|
sprite = 60,
|
|
|
|
color = 29,
|
|
|
|
scale = 0.8
|
|
|
|
},
|
|
|
|
available_licenses = {
|
|
|
|
'weapon_license'
|
2025-08-04 06:14:47 +02:00
|
|
|
},
|
2025-08-04 07:40:06 +02:00
|
|
|
ped = {
|
|
|
|
model = 's_m_y_cop_01',
|
|
|
|
coords = vector4(441.07, -979.76, 29.69, 270.0)
|
|
|
|
}
|
|
|
|
},
|
|
|
|
['hospital'] = {
|
|
|
|
label = 'Krankenhaus',
|
|
|
|
coords = vector3(307.7, -1433.4, 29.9),
|
|
|
|
blip = {
|
|
|
|
sprite = 61,
|
|
|
|
color = 1,
|
|
|
|
scale = 0.8
|
|
|
|
},
|
|
|
|
available_licenses = {
|
|
|
|
'medical_license'
|
|
|
|
},
|
|
|
|
ped = {
|
|
|
|
model = 's_m_m_doctor_01',
|
|
|
|
coords = vector4(307.7, -1433.4, 28.9, 180.0)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
-- Kommandos
|
|
|
|
Config.Commands = {
|
|
|
|
['license'] = {
|
|
|
|
name = 'lizenz',
|
|
|
|
help = 'Lizenz-System öffnen',
|
|
|
|
restricted = true -- Nur für berechtigte Jobs
|
|
|
|
},
|
|
|
|
['mylicense'] = {
|
|
|
|
name = 'meinelizenz',
|
|
|
|
help = 'Eigene Lizenzen anzeigen',
|
|
|
|
restricted = false -- Für alle Spieler
|
|
|
|
},
|
|
|
|
['givelicense'] = {
|
|
|
|
name = 'givelicense',
|
|
|
|
help = 'Lizenz an Spieler vergeben',
|
|
|
|
restricted = true,
|
|
|
|
admin_only = true
|
|
|
|
},
|
|
|
|
['revokelicense'] = {
|
|
|
|
name = 'revokelicense',
|
|
|
|
help = 'Lizenz entziehen',
|
|
|
|
restricted = true,
|
|
|
|
admin_only = false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
-- Keybinds
|
|
|
|
Config.Keybinds = {
|
|
|
|
['open_license_menu'] = {
|
|
|
|
key = 'F6',
|
|
|
|
command = 'lizenz',
|
|
|
|
description = 'Lizenz-System öffnen'
|
|
|
|
},
|
|
|
|
['show_my_licenses'] = {
|
|
|
|
key = 'F7',
|
|
|
|
command = 'meinelizenz',
|
|
|
|
description = 'Meine Lizenzen anzeigen'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
-- Benachrichtigungen
|
|
|
|
Config.Notifications = {
|
|
|
|
['no_permission'] = {
|
|
|
|
message = 'Du hast keine Berechtigung!',
|
|
|
|
type = 'error'
|
|
|
|
},
|
|
|
|
['no_players_nearby'] = {
|
|
|
|
message = 'Keine Spieler in der Nähe!',
|
|
|
|
type = 'error'
|
|
|
|
},
|
|
|
|
['license_not_found'] = {
|
|
|
|
message = 'Keine Lizenz gefunden!',
|
|
|
|
type = 'error'
|
|
|
|
},
|
|
|
|
['license_expired'] = {
|
|
|
|
message = 'Diese Lizenz ist abgelaufen!',
|
|
|
|
type = 'warning'
|
|
|
|
},
|
|
|
|
['license_expires_soon'] = {
|
|
|
|
message = 'Diese Lizenz läuft bald ab!',
|
|
|
|
type = 'warning'
|
|
|
|
},
|
|
|
|
['license_granted'] = {
|
|
|
|
message = 'Lizenz erfolgreich ausgestellt!',
|
|
|
|
type = 'success'
|
|
|
|
},
|
|
|
|
['license_revoked'] = {
|
|
|
|
message = 'Lizenz wurde entzogen!',
|
|
|
|
type = 'info'
|
|
|
|
},
|
|
|
|
['photo_saved'] = {
|
|
|
|
message = 'Foto gespeichert!',
|
|
|
|
type = 'success'
|
|
|
|
},
|
|
|
|
['insufficient_funds'] = {
|
|
|
|
message = 'Nicht genügend Geld!',
|
|
|
|
type = 'error'
|
|
|
|
},
|
|
|
|
['missing_items'] = {
|
|
|
|
message = 'Benötigte Gegenstände fehlen!',
|
|
|
|
type = 'error'
|
2025-08-04 06:14:47 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2025-08-04 07:40:06 +02:00
|
|
|
-- Sounds
|
|
|
|
Config.Sounds = {
|
|
|
|
['card_flip'] = 'sounds/card_flip.mp3',
|
|
|
|
['camera_shutter'] = 'sounds/camera_shutter.mp3',
|
|
|
|
['notification'] = 'sounds/notification.mp3'
|
2025-08-04 06:14:47 +02:00
|
|
|
}
|
|
|
|
|
2025-08-04 07:40:06 +02:00
|
|
|
-- Datenbank-Einstellungen
|
|
|
|
Config.Database = {
|
|
|
|
['table_name'] = 'player_licenses',
|
|
|
|
['auto_cleanup'] = true, -- Alte Lizenzen automatisch löschen
|
|
|
|
['cleanup_days'] = 365 -- Nach wie vielen Tagen löschen
|
2025-08-04 06:14:47 +02:00
|
|
|
}
|