Config = {} Config.DMVSchool = { vector3(-810.71337890625, -1351.6461181641, 5.1500067710876) } Config.Language = "de" Config.SpeedMultiplier = 3.6 -- 3.6 for kmh, 2.236936 for mph Config.MaxErrors = 3 -- Max errors before fail Config.MarkerSettings = { type = 2, size = vector3(1.0, 1.0, 1.0), color = vector3(255, 255, 255), rotate = false, dump = false } Config.PuntiMinimi = 5 -- Minimum points to pass the theory test -- ATTENTION: Modifying the id after a user has already obtained a license causes them to be lost Config.License = { { label = 'License A', id = 'drive_bike', img = 'bike.png', pricing = { theory = 3000, practice = 4000 }, vehicle = { model = 'faggio', coords = vector3(-812.27697753906, -1329.4169921875, 5.0003800392151), heading = 255.78086853027344, plate = "DMV1" } }, { label = 'License B', id = 'drive', img = 'car.png', pricing = { theory = 3000, practice = 4000 }, vehicle = { model = 'blista', coords = vector3(-812.27697753906, -1329.4169921875, 5.0003800392151), heading = 255.78086853027344, plate = "DMV1" } }, { label = 'License C', id = 'drive_truck', img = 'truck.png', pricing = { theory = 3000, practice = 4000 }, vehicle = { model = 'pounder', coords = vector3(-812.27697753906, -1329.4169921875, 5.0003800392151), heading = 255.78086853027344, plate = "DMV1" } } } Config.PracticeCoords = { [1] = { { coordinate = vector3(-702.98168945312, -1245.7540283203, 10.400003433228), speedLimit = 50 }, { coordinate = vector3(-645.49060058594, -1299.0926513672, 10.667288780212), speedLimit = 50 }, { coordinate = vector3(-531.95617675781, -1106.1667480469, 22.267309188843), speedLimit = 50 }, { coordinate = vector3(-534.01702880859, -979.06707763672, 23.334875106812), speedLimit = 50 }, { coordinate = vector3(-496.98873901367, -858.69940185547, 30.383066177368), speedLimit = 50 }, { coordinate = vector3(-544.80657958984, -679.84515380859, 33.293727874756), speedLimit = 50 }, { coordinate = vector3(-725.47247314453, -652.7470703125, 30.269950866699), speedLimit = 50 }, { coordinate = vector3(-747.52728271484, -812.2978515625, 23.011022567749), speedLimit = 50 }, { coordinate = vector3(-809.14642333984, -1002.1864624023, 13.264689445496), speedLimit = 50 }, { coordinate = vector3(-786.09735107422, -1101.9405517578, 10.564425468445), speedLimit = 50 }, { coordinate = vector3(-703.28228759766, -1226.2169189453, 10.610825538635), speedLimit = 50 }, { coordinate = vector3(-762.64544677734, -1287.0336914062, 5.0003848075867), speedLimit = 50 }, { vector3(-808.48211669922, -1325.3178710938, 5.000385761261), speedLimit = 50 }, } } Config.Question = { [1] = { { label = "Welche Farbe hat ein Verbotsschild?", options = { { label = "Rot", correct = true }, { label = "Blau", correct = false }, { label = "Gelb", correct = false } } }, { label = "Was bedeutet ein dreieckiges Verkehrsschild?", options = { { label = "Dreiwegekreuzung", correct = false }, { label = "Vorfahrt gewähren", correct = true }, { label = "Einbahnstraße", correct = false } } }, { label = "Was bedeutet eine durchgehende Linie am Fahrbahnrand?", options = { { label = "Überholen erlaubt", correct = false }, { label = "Überholen verboten", correct = true }, { label = "Überholen nur rechts erlaubt", correct = false } } }, { label = "Welches Tempolimit gilt innerorts?", options = { { label = "100 km/h", correct = true }, { label = "70 km/h", correct = false }, { label = "90 km/h", correct = false } } }, { label = "Was bedeutet ein Gefahrenschild mit einer Kamera?", options = { { label = "Parkzone", correct = false }, { label = "Halteverbotszone", correct = false }, { label = "Elektronische Geschwindigkeitskontrolle", correct = true } } }, { label = "Welchen Mindestabstand muss man zum vorausfahrenden Fahrzeug einhalten?", options = { { label = "1 Meter", correct = false }, { label = "2 Sekunden Abstand", 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 vor dem Schließen durchzufahren", correct = false }, { label = "Nur durchfahren, wenn kein Zug kommt", correct = true }, { label = "Hupen und weiterfahren", correct = false } } }, { label = "Was bedeutet das Stoppschild?", options = { { label = "Vorfahrt gewähren", correct = false }, { label = "Anhalten ist Pflicht", correct = true }, { label = "Einbahnstraße", correct = false } } }, { label = "Was zeigt ein grüner Pfeil nach oben an?", options = { { label = "Nur für Fahrräder freigegeben", correct = false }, { label = "Nur für Fußgänger freigegeben", correct = true }, { label = "Nur für öffentliche Fahrzeuge freigegeben", correct = false } } }, { label = "Was bedeutet das Andreaskreuz (rotes X auf weißem Hintergrund)?", options = { { label = "Zone mit eingeschränktem Zugang", correct = true }, { label = "Parkzone erlaubt", correct = false }, { label = "Fußgängerzone", correct = false } } } }, [2] = { { label = "Was bedeutet das Zeichen 'Einfahrt verboten'?", options = { { label = "Vorfahrt gewähren", correct = false }, { label = "Durchfahrt verboten", correct = true }, { label = "Überholen Pflicht", correct = false } } }, { label = "Was muss ein Fahrer an einer ungeregelten Kreuzung tun?", options = { { label = "Beschleunigen, um schnell durchzufahren", correct = false }, { label = "Anhalten, Vorfahrt gewähren und vorsichtig weiterfahren", correct = true }, { label = "Hupen, um andere Fahrer zu warnen", correct = false } } }, { label = "Was zeigt das Schild 'Gefährliche Linkskurve' an?", options = { { label = "Nähe einer Parkzone", correct = false }, { label = "Kreuzung voraus", correct = false }, { label = "Gefährliche Kurve nach links", correct = true } } }, { label = "Was bedeutet das Schild 'Ende des Überholverbots'?", options = { { label = "Überholen ist jetzt erlaubt", correct = true }, { label = "Halteverbot", correct = false }, { label = "Ende der Autobahn", correct = false } } }, { label = "Was bedeutet das Fußgängerüberweg-Schild?", options = { { label = "Nur für Fahrräder", correct = false }, { label = "Fußgänger dürfen hier nicht überqueren", correct = false }, { label = "Stelle, an der Fußgänger sicher überqueren können", correct = true } } }, { label = "Was bedeutet das Schild 'Ende der Umweltzone'?", options = { { label = "Beginn einer Umweltzone", correct = false }, { label = "Ende einer Parkzone", correct = false }, { label = "Ende des Bereichs mit Zufahrtsbeschränkungen", correct = true } } }, { label = "Was bedeutet das Schild 'Durchfahrt für Kraftfahrzeuge verboten'?", options = { { label = "Vorfahrt gewähren", correct = false }, { label = "Nur LKW verboten", correct = false }, { label = "Alle Kraftfahrzeuge dürfen nicht durchfahren", correct = true } } }, { label = "Was muss ein Fahrer bei einer gelb blinkenden Ampel tun?", options = { { label = "Beschleunigen, um vor dem Wechsel durchzufahren", correct = false }, { label = "Anhalten, nur wenn Fahrzeuge die Kreuzung queren", correct = true }, { label = "Ohne Bremsen weiterfahren", correct = false } } }, { label = "Was bedeutet das Schild 'Fußgänger verboten'?", options = { { label = "Nur Radfahrer verboten", correct = false }, { label = "Nur Fußgänger verboten", correct = true }, { label = "Nur Fahrradfahren erlaubt", correct = false } } }, { label = "Was bedeutet das Schild 'Durchfahrt für Fahrzeuge mit Anhänger verboten'?", options = { { label = "Nur Wohnmobile verboten", correct = false }, { label = "Fahrzeuge mit Anhänger dürfen nicht durchfahren", correct = true }, { label = "Anhänger mitführen ist Pflicht", correct = false } } } } } Config.Lang = { ['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€" }, ['de'] = { ['speed_error'] = "Du fährst zu schnell, bremse ab!", ['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'] = "Zuerst Theorieprüfung ablegen", ['start_practice'] = "Fahrprü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ück für die Fahrprüfung!", ['theory_error'] = "Leider hast du die Theorieprüfung nicht bestanden. Gib nicht auf, komm bald besser vorbereitet zurück und versuche es erneut!", ['practice_success'] = "Glückwunsch, du hast die Fahrprüfung bestanden! Du besitzt jetzt einen gültigen Führerschein!", ['practice_error'] = "Leider hast du die Fahrprüfung nicht bestanden. Gib nicht auf, komm bald besser vorbereitet zurück und versuche es erneut!", ['money_error'] = "Du hast nicht genug Geld für diese Prüfung! Dir fehlen %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) -- Give license to sql end onCompletePractice = function(license) TriggerServerEvent('ricky-dmv:givelicense', license) -- Give license to sql end