Skip to content
49 changes: 49 additions & 0 deletions client/events.lua
Original file line number Diff line number Diff line change
Expand Up @@ -277,3 +277,52 @@ end)
RegisterNetEvent('QBCore:Client:SharedUpdate', function(table)
QBCore.Shared = table
end)

if GetResourceState('baseevents') ~= 'started' then
local isInVehicle = false
local isEnteringVehicle = false
local currentVehicle = 0
local currentSeat = 0

CreateThread(function()
while true do
local ped = PlayerPedId()
if not isInVehicle and not IsPlayerDead(PlayerId()) then
if DoesEntityExist(GetVehiclePedIsTryingToEnter(ped)) and not isEnteringVehicle then
local vehicle = GetVehiclePedIsTryingToEnter(ped)
local seat = GetSeatPedIsTryingToEnter(ped)
local netId = VehToNet(vehicle)
isEnteringVehicle = true
TriggerServerEvent('baseevents:enteringVehicle', vehicle, seat, GetDisplayNameFromVehicleModel(GetEntityModel(vehicle)), netId)
elseif not DoesEntityExist(GetVehiclePedIsTryingToEnter(ped)) and not IsPedInAnyVehicle(ped, true) and isEnteringVehicle then
TriggerServerEvent('baseevents:enteringAborted')
isEnteringVehicle = false
elseif IsPedInAnyVehicle(ped, false) then
isEnteringVehicle = false
isInVehicle = true
currentVehicle = GetVehiclePedIsUsing(ped)
currentSeat = GetPedVehicleSeat(ped)
local netId = VehToNet(currentVehicle)
TriggerServerEvent('baseevents:enteredVehicle', currentVehicle, currentSeat, GetDisplayNameFromVehicleModel(GetEntityModel(currentVehicle)), netId)
end
elseif isInVehicle then
if not IsPedInAnyVehicle(ped, false) or IsPlayerDead(PlayerId()) then
local netId = VehToNet(currentVehicle)
TriggerServerEvent('baseevents:leftVehicle', currentVehicle, currentSeat, GetDisplayNameFromVehicleModel(GetEntityModel(currentVehicle)), netId)
isInVehicle = false
currentVehicle = 0
currentSeat = 0
end
end
Wait(50)
end
end)

function GetPedVehicleSeat(ped)
local vehicle = GetVehiclePedIsIn(ped, false)
for i=-2,GetVehicleMaxNumberOfPassengers(vehicle) do
if(GetPedInVehicleSeat(vehicle, i) == ped) then return i end
end
return -2
end
end