Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 36 additions & 22 deletions resources/[system]/baseevents/vehiclechecker.lua
Original file line number Diff line number Diff line change
@@ -1,50 +1,64 @@
local isInVehicle = false
local isEnteringVehicle = false
local currentVehicle = 0
local currentSeat = 0

local isEnteringVehicle, isInVehicle, currentVehicle, currentSeat, ped

Citizen.CreateThread(function()
while true do
Citizen.Wait(0)

local ped = PlayerPedId()
ped = PlayerPedId()

if not isInVehicle then
local vehicleIsTryingToEnter = GetVehiclePedIsTryingToEnter(ped) or 0

if DoesEntityExist(vehicleIsTryingToEnter) and not isEnteringVehicle then
-- Entering Vehicle
isEnteringVehicle = true

if not isInVehicle and not IsPlayerDead(PlayerId()) then
if DoesEntityExist(GetVehiclePedIsTryingToEnter(ped)) and not isEnteringVehicle then
-- trying to enter a vehicle!
local vehicle = GetVehiclePedIsTryingToEnter(ped)
local seat = GetSeatPedIsTryingToEnter(ped)
local model = GetEntityModel(vehicleIsTryingToEnter)
local vehicleName = GetDisplayNameFromVehicleModel(model)
local netId = VehToNet(vehicle)
isEnteringVehicle = true
TriggerServerEvent('baseevents:enteringVehicle', vehicle, seat, GetDisplayNameFromVehicleModel(GetEntityModel(vehicle)), netId)
local seat = GetSeatPedIsTryingToEnter(ped)

TriggerEvent('baseevents:enteringVehicle', vehicle, seat, model, vehicleName)
TriggerServerEvent('baseevents:enteringVehicle', vehicle, seat, model, vehicleName, netId)
elseif not DoesEntityExist(GetVehiclePedIsTryingToEnter(ped)) and not IsPedInAnyVehicle(ped, true) and isEnteringVehicle then
-- vehicle entering aborted
TriggerServerEvent('baseevents:enteringAborted')
-- Vehicle Entering Aborted
isEnteringVehicle = false

TriggerEvent('baseevents:enteringAborted')
TriggerServerEvent('baseevents:enteringAborted')
elseif IsPedInAnyVehicle(ped, false) then
-- suddenly appeared in a vehicle, possible teleport
-- Entered Vehicle
isEnteringVehicle = false
isInVehicle = true

currentVehicle = GetVehiclePedIsUsing(ped)
currentSeat = GetPedVehicleSeat(ped)

local model = GetEntityModel(currentVehicle)
local name = GetDisplayNameFromVehicleModel()
local vehicleName = GetDisplayNameFromVehicleModel(model)
local netId = VehToNet(currentVehicle)
TriggerServerEvent('baseevents:enteredVehicle', currentVehicle, currentSeat, GetDisplayNameFromVehicleModel(GetEntityModel(currentVehicle)), netId)

TriggerEvent('baseevents:enteredVehicle', currentVehicle, currentSeat, model, vehicleName)
TriggerServerEvent('baseevents:enteredVehicle', currentVehicle, currentSeat, model, vehicleName, netId)
end
elseif isInVehicle then
if not IsPedInAnyVehicle(ped, false) or IsPlayerDead(PlayerId()) then
-- bye, vehicle
if not IsPedInAnyVehicle(ped, false) then
-- Exiting Vehicle
local model = GetEntityModel(currentVehicle)
local name = GetDisplayNameFromVehicleModel()
local vehicleName = GetDisplayNameFromVehicleModel(model)
local netId = VehToNet(currentVehicle)
TriggerServerEvent('baseevents:leftVehicle', currentVehicle, currentSeat, GetDisplayNameFromVehicleModel(GetEntityModel(currentVehicle)), netId)

TriggerEvent('baseevents:leftVehicle', currentVehicle, currentSeat, model, vehicleName)
TriggerServerEvent('baseevents:leftVehicle', currentVehicle, currentSeat, model, vehicleName, netId)

isInVehicle = false
currentVehicle = 0
currentSeat = 0
end
end
Citizen.Wait(50)

Citizen.Wait(100)
end
end)

Expand Down