cl_utils.lua

Framework = nil
loadEvent = "QBCore:Client:OnPlayerLoaded"

CreateThread(function()
    if not Framework then
        if GetResourceState("qbx_core") == "started" then
            Framework = "qb"
        elseif GetResourceState("es_extended") == "started" then
            Framework = "esx"
        elseif GetResourceState("qb-core") == "started" then 
            Framework = "qb"
        end
    end
end)

CreateThread(function()
    if Framework == "qb" then
        Framework = exports['qb-core']:GetCoreObject()
        loadEvent = "QBCore:Client:OnPlayerLoaded"
    elseif Framework == "esx" then
        loadEvent = 'esx:playerLoaded'
        Framework = exports['es_extended']:getSharedObject()
    elseif Framework == "oldEsx" then
        loadEvent = 'esx:playerLoaded'
        Framework = nil
        CreateThread(function()
            while Framework == nil do
                TriggerEvent('esx:getSharedObject', function(obj) Framework = obj end)
                Wait(10)
            end
        end)
    end
end)

RegisterNetEvent(loadEvent, function()
    SendNUIMessage({
        action = "init",
        lang = Config.locales[Config.Locale],
    })
    TriggerServerEvent('ak4y-giveaway:JoinedGame')
end)

getCarData = function(name)
	local carData = nil
	local playerPed = PlayerPedId()
	local playerCoords = GetEntityCoords(playerPed)
	local vehItemNameHash = GetHashKey(name)
	if not IsModelInCdimage(vehItemNameHash) then return end RequestModel(vehItemNameHash)  while not HasModelLoaded(vehItemNameHash) do Wait(0) end
	local vehicle = CreateVehicle(vehItemNameHash, playerCoords.x, playerCoords.y, playerCoords.z - 200.0, 1.0, false, false)
	FreezeEntityPosition(vehicle, true)
	if Framework == "esx" or Framework == "oldEsx" then
		carData = Framework.Game.GetVehicleProperties(vehicle)
	else
		carData = Framework.Functions.GetVehicleProperties(vehicle)
	end
	DeleteVehicle(vehicle)
	DeleteEntity(vehicle)
	return carData
end

Last updated