77 lines
		
	
	
		
			No EOL
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			No EOL
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
 | 
						|
 | 
						|
-----------------------------------------------------------------------------------------------------------------------------------------
 | 
						|
-- Fuel consumption chart
 | 
						|
-----------------------------------------------------------------------------------------------------------------------------------------
 | 
						|
 | 
						|
if Config.FuelConsumptionChart.enabled then
 | 
						|
    RegisterCommand(Config.FuelConsumptionChart.command,function(source)
 | 
						|
        toggleFuelConsumptionChart()
 | 
						|
    end, false)
 | 
						|
 | 
						|
    RegisterCommand("fuel_focus", function()
 | 
						|
        if isFuelConsumptionChartOpen then
 | 
						|
            SetNuiFocus(true,true)
 | 
						|
        end
 | 
						|
    end, false)
 | 
						|
 | 
						|
    RegisterKeyMapping(
 | 
						|
        "fuel_focus",             -- command triggered by key
 | 
						|
        "Focus Fuel Chart UI",    -- description in keybindings
 | 
						|
        "keyboard",
 | 
						|
        Config.FuelConsumptionChart.focusShortcut
 | 
						|
    )
 | 
						|
 | 
						|
    function toggleFuelConsumptionChart()
 | 
						|
        loadNuiVariables()
 | 
						|
        if isFuelConsumptionChartOpen then
 | 
						|
            closeFuelConsumptionChartUI()
 | 
						|
        else
 | 
						|
            local ped = PlayerPedId()
 | 
						|
            if not IsPedInAnyVehicle(ped, false) then
 | 
						|
                exports['lc_utils']:notify("error",Utils.translate("vehicle_not_found"))
 | 
						|
                return
 | 
						|
            end
 | 
						|
            local vehicle = GetVehiclePedIsIn(ped, false)
 | 
						|
            if GetPedInVehicleSeat(vehicle, -1) ~= ped or IsVehicleBlacklisted(vehicle) then
 | 
						|
                exports['lc_utils']:notify("error",Utils.translate("vehicle_not_found"))
 | 
						|
                return
 | 
						|
            end
 | 
						|
 | 
						|
            SendNUIMessage({
 | 
						|
                showFuelConsumptionChart = true,
 | 
						|
                isRecording = isRecording,
 | 
						|
                position = Config.FuelConsumptionChart.position,
 | 
						|
                focusShortcut = Config.FuelConsumptionChart.focusShortcut,
 | 
						|
            })
 | 
						|
            isFuelConsumptionChartOpen = true
 | 
						|
        end
 | 
						|
    end
 | 
						|
 | 
						|
    function updateFuelConsumptionChart(fuelConsumptionData)
 | 
						|
        SendNUIMessage({
 | 
						|
            updateFuelConsumptionChart = true,
 | 
						|
            fuelConsumptionData = fuelConsumptionData,
 | 
						|
        })
 | 
						|
    end
 | 
						|
 | 
						|
    function closeFuelConsumptionChartUI()
 | 
						|
        SendNUIMessage({
 | 
						|
            hideFuelConsumptionChart = true,
 | 
						|
        })
 | 
						|
        isFuelConsumptionChartOpen = false
 | 
						|
        SetNuiFocus(false,false)
 | 
						|
    end
 | 
						|
 | 
						|
    function storeDataForChart(vehicle, newFuelLevel, currentConsumption)
 | 
						|
        if not isRecording then 
 | 
						|
            updateFuelConsumptionChart({ fuel = nil, speed = nil, consumption = nil })
 | 
						|
            return
 | 
						|
         end
 | 
						|
 | 
						|
        local speed = GetEntitySpeed(vehicle) * 3.6
 | 
						|
        if isFuelConsumptionChartOpen then
 | 
						|
            updateFuelConsumptionChart({ fuel = newFuelLevel, speed = speed, consumption = currentConsumption })
 | 
						|
        end
 | 
						|
    end
 | 
						|
end |