131 lines
		
	
	
		
			No EOL
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			131 lines
		
	
	
		
			No EOL
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| RegisterNetEvent('mh_garage:storeVehicle')
 | ||
| AddEventHandler('mh_garage:storeVehicle', function()
 | ||
|     local ped = PlayerPedId()
 | ||
|     local coords = GetEntityCoords(ped)
 | ||
|     local vehicles = GetGamePool('CVehicle')
 | ||
|     local random = SelectName()
 | ||
| 
 | ||
|     local opt = {}
 | ||
|     for i = 1, #vehicles, 1 do
 | ||
|         local veh_coords = GetEntityCoords(vehicles[i])
 | ||
|         local distance = #(veh_coords - coords)
 | ||
|         if distance < 15.0 then
 | ||
|             local mods = QBCore.Functions.GetVehicleProperties(vehicles[i])
 | ||
|             local lc_fuelLevel = exports["lc_fuel"]:GetFuel(vehicles[i]) -- Get the fuel level
 | ||
| 
 | ||
|             mods.fuelLevel = lc_fuelLevel
 | ||
|             table.insert(opt, {
 | ||
|                 title = "Kennzeichen: "..mods.plate,
 | ||
|                 description = GetRandomCarDescription(),
 | ||
|                 icon = "car",
 | ||
|                 onSelect = function()
 | ||
|                     print(CurrentZone.price)
 | ||
|                     if CurrentZone.price ~= nil then
 | ||
|                         lib.hideContext("StoredVehicles")
 | ||
| 
 | ||
|                         lib.registerContext({
 | ||
|                             id = "thisVehicle",
 | ||
|                             title = random.name,
 | ||
|                             options = {
 | ||
|                                 {title = "Kosten: "..CurrentZone.price.."$"},
 | ||
|                                 {title = "", disabled = true},
 | ||
|                                 {
 | ||
|                                     title = "Akzeptieren", 
 | ||
|                                     description = "Geld wird vom Bankkonto abgebucht!", 
 | ||
|                                     icon = "check",
 | ||
|                                     onSelect = function()
 | ||
|                                         lib.hideContext("thisVehicle")
 | ||
|                                         QBCore.Functions.TriggerCallback('mh_garage:storedVehicle', function(cb)
 | ||
|                                             if cb.status then
 | ||
|                                                 TriggerServerEvent('mh_Parking:deleteVehicle', mods.plate, NetworkGetNetworkIdFromEntity(vehicles[i]))
 | ||
|                                                 --DeleteVehicle(vehicles[i])
 | ||
|                                                 Notification(cb.text, cb.type, CurrentZone.name)
 | ||
|                                             else
 | ||
|                                                 if cb.police and Config.EnabledPolice then
 | ||
|                                                     exports["roadphone"]:sendDispatch("Hier hat grade jemand versucht, ein Fahrzeug einzuparken.\nDas Zündschloss sah Beschädigt aus.\nKennzeichen: "..veh.plate, 'police', nil)
 | ||
|                                                 end
 | ||
|                                                 Notification(cb.text, cb.type)
 | ||
|                                             end
 | ||
|                                         end, mods, CurrentZone)
 | ||
|                                     end
 | ||
|                                 },
 | ||
|                                 {
 | ||
|                                     title = "Abbrechen",
 | ||
|                                     description = "Das ist sehr Schade,",
 | ||
|                                     icon = "close",
 | ||
|                                     onSelect = function()
 | ||
|                                         lib.hideContext("thisVehicle")
 | ||
|                                     end
 | ||
|                                 }
 | ||
|                             }
 | ||
|                         })
 | ||
| 
 | ||
|                         lib.showContext("thisVehicle")
 | ||
|                     else
 | ||
|                         QBCore.Functions.TriggerCallback('mh_garage:storedVehicle', function(cb)
 | ||
|                             if cb.status then
 | ||
|                                 TriggerServerEvent('mh_Parking:deleteVehicle', mods.plate, NetworkGetNetworkIdFromEntity(vehicles[i]))
 | ||
|                                 --DeleteVehicle(vehicles[i])
 | ||
|                                 Notification(cb.text, cb.type, CurrentZone.name)
 | ||
|                             else
 | ||
|                                 if cb.police and Config.EnabledPolice then
 | ||
|                                     exports["roadphone"]:sendDispatch("Hier hat grade jemand versucht, ein Fahrzeug einzuparken.\nDas Zündschloss sah Beschädigt aus.\nKennzeichen: "..veh.plate, 'police', nil)
 | ||
|                                 end
 | ||
|                                 Notification(cb.text, cb.type)
 | ||
|                             end
 | ||
|                         end, mods, CurrentZone)
 | ||
|                     end
 | ||
|                 end
 | ||
|             })
 | ||
|             lib.registerContext({
 | ||
|                 id = "StoredVehicles",
 | ||
|                 title = random.name.."\n\n"..random.description,
 | ||
|                 options = opt
 | ||
|             })
 | ||
|             lib.showContext("StoredVehicles")
 | ||
|         end
 | ||
|     end
 | ||
| end)
 | ||
| 
 | ||
| function SelectName()
 | ||
|     local names = {
 | ||
|         {name = "Garagen-Guru",
 | ||
|         description = "passt auf, dass keiner falsch parkt, Schranken nicht durchdrehen und Autos nicht fliegen!"},
 | ||
|         {name = "Torflüsterer",
 | ||
|         description = "Redet Schranken gut zu wenn diese wieder nicht funktionieren."},
 | ||
|         {name = "Parkplatz-Papst",
 | ||
|         description = "segnet jedes Auto, das diese heilige Halle betritt. Kein Ölverlust ohne dein Amen!"},
 | ||
|         {name = "Schranken-Schamane",
 | ||
|         description = "Elektronik und Technik? Kein Problem! Ich kontrolliere den Strom der Schranken mit reiner Willenskraft und Kabelbinder!"},
 | ||
|         {name = "Chef vom Schuppen",
 | ||
|         description = "Wer falsch parkt, kriegt nicht den Abschleppdienst, sondern eine Ansprache. Kurz. Hart. Legendär!"}
 | ||
|     }
 | ||
| 
 | ||
|     return names[math.random(1, #names)]
 | ||
| end
 | ||
| 
 | ||
| function GetRandomCarDescription()
 | ||
|     local descriptions = {
 | ||
|         "Das Auto für alle, die beim Beschleunigen mehr Spaß haben als beim Ankommen.",
 | ||
|         "Wenn du ein Auto suchst, das schneller fährt als dein WiFi, bist du hier richtig.",
 | ||
|         "Nicht das schnellste Auto, aber hey, es hat vier Räder und eine Hupe!",
 | ||
|         "Das einzig wahre Fahren – keine GPS-Fehler, nur pure Straßenmagie.",
 | ||
|         "Mit diesem Auto wirst du die Straße genauso lieben wie das Benzin in deinem Tank.",
 | ||
|         "Fahr‘ einfach, und schau, wie viele Leute sich fragen, ob du gerade von der Rennstrecke kommst.",
 | ||
|         "Dieses Auto bringt mehr Nervenkitzel als ein Achterbahn-Abenteuer!",
 | ||
|         "Dieses Fahrzeug hat mehr Charakter als deine letzte Beziehung.",
 | ||
|         "Es ist nicht das teuerste Auto, aber es fährt immer noch besser als deine Laune nach dem Montagmorgen!",
 | ||
|         "Mit diesem Wagen wirst du zur Legende – oder zumindest zum König des Parkhauses.",
 | ||
|         "Schneller als dein Chef’s Auto, langsamer als dein Instagram-Feed.",
 | ||
|         "Wenn der Sound des Motors dich mehr motiviert als dein Wecker am Morgen!",
 | ||
|         "Sicheres Fahren ist wichtig. Aber Spaß haben – das ist die wahre Kunst!",
 | ||
|         "Nicht der neueste Sportwagen, aber dafür ein echter Klassiker auf der Straße.",
 | ||
|         "Weniger PS als dein Laptop, aber hey, er fährt!"
 | ||
|     }
 | ||
| 
 | ||
|     -- Zufällige Beschreibung auswählen
 | ||
|     local randomIndex = math.random(1, #descriptions)
 | ||
|     
 | ||
|     -- Beschreibung zurückgeben
 | ||
|     return descriptions[randomIndex]
 | ||
| end | 
