135 lines
		
	
	
		
			No EOL
		
	
	
		
			7.3 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			No EOL
		
	
	
		
			7.3 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 < 10.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
 | 
						||
            QBCore.Functions.TriggerCallback('mh_garage:CheckownerVehicles', function(cb)
 | 
						||
                if cb then
 | 
						||
                    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
 | 
						||
                })
 | 
						||
                end
 | 
						||
            end, mods.plate)
 | 
						||
            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 |