editable.lua

local lang = config.langs[config.lang]
local tgiann_lumihud = GetResourceState("tgiann-lumihud") ~= "missing"

---@return string, number
function GetPlayerJobNameGrade()
    if not PlayerData.job then PlayerData = tgiCoreExports:getPlayerData() end
    if not PlayerData.job then return "unemployed", 0 end
    if config.framework == "esx" then
        return PlayerData.job.name, tonumber(PlayerData.job.grade)
    else
        return PlayerData.job.name, tonumber(PlayerData.job.grade.level)
    end
end

---@param vehicle number
---@param properties table
function SetPlayerVehicleFuel(vehicle, properties)
    SetVehicleFuelLevel(vehicle, properties.fuelLevel + 0.0)
    DecorSetFloat(vehicle, "_FUEL_LEVEL", properties.fuelLevel + 0.0)
end

---@param vehicle number
function RepairCar(vehicle)
    SetVehicleFixed(vehicle)
    SetVehicleDeformationFixed(vehicle)
    SetVehicleUndriveable(vehicle, false)
end

---@param vehicle number
---@param garageType "garageSpawn" | "impoundSpawn" | "buy"
function GiveVehicleKey(vehicle, garageType)
    local garageTypeToKey = {
        garageSpawn = "garage",
        impoundSpawn = "garage",
        buy = "giveKey"
    }
    tgiCore.GiveVehicleKey(vehicle, garageTypeToKey[garageType])
end

---@param vehicle number
---@param properties table
function SpawnPlayerVehicle(vehicle, properties)
    tgiCore.SetVehicleProperties(vehicle, properties)
    NetworkFadeInEntity(vehicle, true, true)
    SetModelAsNoLongerNeeded(properties.model)
    TaskWarpPedIntoVehicle(PlayerPedId(), vehicle, -1)
    SetVehicleHasBeenOwnedByPlayer(vehicle, true)
    SetNetworkIdCanMigrate(NetworkGetNetworkIdFromEntity(vehicle), true)
end

---@param plate string
---@param parkedVehicle boolean
tgiCore.Callback.Register("tgiann-realparking:client:newImpound", function(plate, parkedVehicle)
    local playerPed = PlayerPedId()
    TaskStartScenarioInPlace(playerPed, 'CODE_HUMAN_MEDIC_TEND_TO_DEAD', 0, true)
    local success = tgiCore.Progressbar("vehicle_del", lang.carTowing, 5000, false, true, {
        disableMovement = true,
        disableCarMovement = true,
        disableMouse = false,
        disableCombat = true,
    }, {}, {}, {})
    ClearPedTasksImmediately(playerPed)
    return success
end)

---@param plate string
---@return number | nil
function getMileage(plate)
    if tgiann_lumihud then
        return exports["tgiann-lumihud"]:GetTotalKm(plate)
    end
    return nil
end

Last updated