2026-04-14 17:41:39 +02:00

543 lines
18 KiB
Lua

Config = {}
Config.DMVSchool = {
vector3(240.7489, -1379.575, 33.74177)
}
Config.Language = "de" -- Auf "de" geändert
Config.SpeedMultiplier = 3.6 -- 3.6 für kmh, 2.236936 für mph
Config.MaxErrors = 3 -- Maximale Fehler vor dem Nichtbestehen
Config.MarkerSettings = {
type = 2,
size = vector3(1.0, 1.0, 1.0),
color = vector3(255, 255, 255),
rotate = false,
dump = false
}
Config.PuntiMinimi = 5 -- Mindestpunktzahl zum Bestehen der Theorieprüfung
-- ACHTUNG: Das Ändern der ID nach Erhalt einer Lizenz führt zum Verlust dieser
Config.License = {
{
label = 'Führerschein Klasse A',
id = 'drive_bike',
img = 'bike.png',
pricing = {
theory = 3000,
practice = 4000
},
vehicle = {
model = 'faggio',
coords = vector3(231.2591, -1392.982, 30.50785),
heading = 144.40260314941,
plate = "DMV1"
}
},
{
label = 'Führerschein Klasse B',
id = 'drive',
img = 'car.png',
pricing = {
theory = 3000,
practice = 4000
},
vehicle = {
model = 'blista',
coords = vector3(231.2591, -1392.982, 30.50785),
heading = 144.40260314941,
plate = "DMV1"
}
},
{
label = 'Führerschein Klasse C',
id = 'drive_truck',
img = 'truck.png',
pricing = {
theory = 3000,
practice = 4000
},
vehicle = {
model = 'pounder',
coords = vector3(231.2591, -1392.982, 30.50785),
heading = 144.40260314941,
plate = "DMV1"
}
}
}
Config.PracticeCoords = {
[1] = {
{
coordinate = vector3(227.1181, -1399.691, 30.1),
speedLimit = 50
},
{
coordinate = vector3(183.7479, -1394.595, 29.05295),
speedLimit = 50
},
{
coordinate = vector3(210.3608, -1327.127, 29.16619),
speedLimit = 50
},
{
coordinate = vector3(217.6466, -1145.248, 29.3349),
speedLimit = 50
},
{
coordinate = vector3(83.13854, -1136.699, 29.15778),
speedLimit = 50
},
{
coordinate = vector3(55.52874, -1248.127, 29.34311),
speedLimit = 50
},
{
coordinate = vector3(82.69904, -1338.678, 29.3447),
speedLimit = 50
},
{
coordinate = vector3(131.4893, -1387.581, 29.28993),
speedLimit = 50
},
{
coordinate = vector3(220.603, -1445.61, 29.24681),
speedLimit = 50
},
{
coordinate = vector3(242.2584, -1536.136, 29.24705),
speedLimit = 50
},
{
coordinate = vector3(301.6448, -1523.68, 29.34156),
speedLimit = 50
},
{
coordinate = vector3(256.1726, -1445.458, 29.24207),
speedLimit = 50
},
{
coordinate = vector3(233.427, -1397.215, 30.5071),
speedLimit = 50
},
}
}
Config.Question = {
[1] = {
{
label = "Welche Farbe hat ein Verbotszeichen?",
options = {
{
label = "Rot",
correct = true
},
{
label = "Blau",
correct = false
},
{
label = "Gelb",
correct = false
}
}
},
{
label = "Was bedeutet ein dreieckiges Verkehrsschild?",
options = {
{
label = "Drei-Wege-Kreuzung",
correct = false
},
{
label = "Vorfahrt gewähren",
correct = true
},
{
label = "Einbahnstraße",
correct = false
}
}
},
{
label = "Was bedeutet eine durchgezogene Linie am Fahrbahnrand?",
options = {
{
label = "Überholen erlaubt",
correct = false
},
{
label = "Überholverbot",
correct = true
},
{
label = "Überholen nur rechts erlaubt",
correct = false
}
}
},
{
label = "Wie hoch ist die Geschwindigkeitsbegrenzung innerorts?",
options = {
{
label = "50 km/h",
correct = true
},
{
label = "70 km/h",
correct = false
},
{
label = "90 km/h",
correct = false
}
}
},
{
label = "Was bedeutet das Gefahrenzeichen mit einer Kamera?",
options = {
{
label = "Parkzone",
correct = false
},
{
label = "Halteverbot",
correct = false
},
{
label = "Elektronische Geschwindigkeitskontrolle",
correct = true
}
}
},
{
label = "Was ist der Mindestsicherheitsabstand zum vorausfahrenden Fahrzeug?",
options = {
{
label = "1 Meter",
correct = false
},
{
label = "2 Sekunden Abstand (halber Tacho)",
correct = true
},
{
label = "0,5 Meter",
correct = false
}
}
},
{
label = "Was muss ein Fahrer tun, wenn er sich einem Bahnübergang mit geschlossenen Schranken nähert?",
options = {
{
label = "Beschleunigen, um noch schnell durchzufahren",
correct = false
},
{
label = "Anhalten und warten, bis die Schranken öffnen",
correct = true
},
{
label = "Hupen und weiterfahren",
correct = false
}
}
},
{
label = "Was bedeutet ein Stoppschild?",
options = {
{
label = "Vorfahrt gewähren",
correct = false
},
{
label = "Anhaltepflicht",
correct = true
},
{
label = "Einbahnstraße",
correct = false
}
}
},
{
label = "Was bedeutet ein Schild mit einem grünen Pfeil nach oben?",
options = {
{
label = "Nur für Fahrräder erlaubt",
correct = false
},
{
label = "Vorgeschriebene Fahrtrichtung geradeaus",
correct = true
},
{
label = "Nur für öffentliche Verkehrsmittel",
correct = false
}
}
},
{
label = "Was stellt das Andreaskreuz (rotes X auf weißem Grund) dar?",
options = {
{
label = "Bahnübergang / Vorrang des Schienenverkehrs",
correct = true
},
{
label = "Parken erlaubt",
correct = false
},
{
label = "Fußgängerzone",
correct = false
}
}
}
},
[2] = {
{
label = "Was bedeutet das Zeichen 'Verbot der Einfahrt'?",
options = {
{
label = "Pflicht, Vorfahrt zu gewähren",
correct = false
},
{
label = "Einfahrt verboten",
correct = true
},
{
label = "Überholen obligatorisch",
correct = false
}
}
},
{
label = "Was muss ein Fahrer tun, wenn er an eine Kreuzung ohne Schilder kommt?",
options = {
{
label = "Beschleunigen, um schnell zu queren",
correct = false
},
{
label = "Rechts vor Links beachten und bremsbereit sein",
correct = true
},
{
label = "Hupen, um andere zu warnen",
correct = false
}
}
},
{
label = "Was bedeutet das Schild 'Gefährliche Linkskurve'?",
options = {
{
label = "Nähe eines Parkplatzes",
correct = false
},
{
label = "Vorhandensein einer Kreuzung",
correct = false
},
{
label = "Ankündigung einer gefährlichen Linkskurve",
correct = true
}
}
},
{
label = "Was bedeutet das Ende des Überholverbots?",
options = {
{
label = "Überholen ist wieder gestattet",
correct = true
},
{
label = "Parkverbot",
correct = false
},
{
label = "Ende der Autobahn",
correct = false
}
}
},
{
label = "Was bedeutet das Schild für den Fußgängerüberweg?",
options = {
{
label = "Überqueren nur für Fahrräder erlaubt",
correct = false
},
{
label = "Überquerungsverbot für Fußgänger",
correct = false
},
{
label = "Stelle, an der Fußgänger sicher überqueren können",
correct = true
}
}
},
{
label = "Was bedeutet das Ende einer verkehrsberuhigten Zone?",
options = {
{
label = "Beginn einer verkehrsberuhigten Zone",
correct = false
},
{
label = "Ende einer Parkzone",
correct = false
},
{
label = "Ende der Zone mit besonderen Verkehrsbeschränkungen",
correct = true
}
}
},
{
label = "Was bedeutet das Verbot für Kraftwagen?",
options = {
{
label = "Vorfahrt gewähren",
correct = false
},
{
label = "Verbot nur für LKWs",
correct = false
},
{
label = "Verbot für mehrspurige Kraftfahrzeuge",
correct = true
}
}
},
{
label = "Was sollte ein Fahrer bei einer gelb blinkenden Ampel tun?",
options = {
{
label = "Beschleunigen, um vor Rot durchzukommen",
correct = false
},
{
label = "Mit erhöhter Vorsicht heranfahren und Vorrangregeln beachten",
correct = true
},
{
label = "Ohne Verlangsamung weiterfahren",
correct = false
}
}
},
{
label = "Was bedeutet das Verbot für Fußgänger?",
options = {
{
label = "Verbot nur für Radfahrer",
correct = false
},
{
label = "Verbot für Fußgänger",
correct = true
},
{
label = "Pflicht, nur mit dem Fahrrad zu queren",
correct = false
}
}
},
{
label = "Was bedeutet das Verbot für Fahrzeuge mit Anhänger?",
options = {
{
label = "Verbot nur für Wohnmobile",
correct = false
},
{
label = "Verbot für Kraftfahrzeuge mit Anhänger",
correct = true
},
{
label = "Pflicht, einen Anhänger zu ziehen",
correct = false
}
}
}
}
}
Config.Lang = {
['de'] = {
['speed_error'] = "Du fährst zu schnell, fahr langsamer!",
['open_dmv'] = "Drücke ~INPUT_CONTEXT~, um die Fahrschule zu öffnen",
['dmv'] = "FAHRSCHULE",
['point'] = "PUNKTE",
['error'] = "FEHLER",
['ok'] = "Weiter",
['start_theory'] = "Theorieprüfung starten",
['theory_before'] = "Absolviere zuerst die Theorieprüfung",
['start_practice'] = "Praktische Prüfung starten",
['test_passed'] = "Prüfung bestanden!",
['already_done'] = "Du hast diese Prüfung bereits abgelegt!",
['theory_success'] = "Glückwunsch! Du hast die Theorieprüfung bestanden. Komm bald zur praktischen Prüfung wieder!",
['theory_error'] = "Es tut uns leid, du hast die Theorieprüfung nicht bestanden. Lerne fleißig und versuche es bald noch einmal!",
['practice_success'] = "Glückwunsch! Du hast die praktische Prüfung bestanden und besitzt nun einen Führerschein!",
['practice_error'] = "Es tut uns leid, du hast die praktische Prüfung nicht bestanden. Komm vorbereitet wieder!",
['money_error'] = "Du hast nicht genug Geld für diese Prüfung! Dir fehlen %s€"
},
['it'] = {
['speed_error'] = "Vai troppo veloce, rallenta!",
['open_dmv'] = "Premi ~INPUT_CONTEXT~ per aprire la scuola guida",
['dmv'] = "SCUOLA GUIDA",
['point'] = "PUNTEGGIO",
['error'] = "ERRORI",
['ok'] = "Avanti",
['start_theory'] = "Inizia il Test Teorico",
['theory_before'] = "Fai il test teorico",
['start_practice'] = "Inizia il Test Pratico",
['test_passed'] = "Test Passato!",
['already_done'] = "Hai già fatto questo test!",
['theory_success'] = "Congratulazioni, hai passato il test teorico, torna presto per il test pratico!",
['theory_error'] = "Ci dispiace comunicarti che non hai passato il test teorico, non demordere, torna presto più preparato e riprova il test!",
['practice_success'] = "Congratulazioni, hai passato il test pratico, sei ora un guidatore con la patente!",
['practice_error'] = "Ci dispiace comunicarti che non hai passato il test pratico, non demordere, torna presto più preparato e riprova il test!",
['money_error'] = "Non hai abbastanza soldi per fare questo test! Ti mancano %s€"
},
['en'] = {
['speed_error'] = "You are going too fast, slow down!",
['open_dmv'] = "Press ~INPUT_CONTEXT~ to open the DMV",
['dmv'] = "DMV SCHOOL",
['point'] = "POINT",
['error'] = "ERROR",
['ok'] = "Ok",
['start_theory'] = "Start the Theory Test",
['theory_before'] = "Take the theory test",
['start_practice'] = "Start the Practice Test",
['test_passed'] = "Test Passed!",
['already_done'] = "You have already done!",
['theory_success'] = "Congratulations, you passed the theory test, come back soon for the practical test!",
['theory_error'] = "We are sorry to inform you that you did not pass the theory test, do not give up, come back soon more prepared and try the test again!",
['practice_success'] = "Congratulations, you passed the practical test, you are now a licensed driver!",
['practice_error'] = "We are sorry to inform you that you did not pass the practical test, do not give up, come back soon more prepared and try the test again!",
['money_error'] = "You don't have enough money to do this test! You are missing %s€"
}
}
-- Functions --
onCompleteTheory = function(license)
TriggerServerEvent('ricky-dmv:givelicense', license)
TriggerEvent('hex_4_hud:notify', "Fahrschule", "Du hast bestanden", "success", 5000)
end
onCompletePractice = function(license)
TriggerServerEvent('ricky-dmv:givelicense', license) -- Give license to sql
end