🔧 fix and refactor ToggleVehicleStatus feature

This commit is contained in:
Gellipapa
2024-05-18 12:24:12 +02:00
parent a5c2cb1c5d
commit fbeea28607
@@ -24,6 +24,11 @@ local function GetData(vehicle)
return displayName, netId
end
local function ToggleVehicleStatus(isInVehicle, seat)
ESX.SetPlayerData("vehicle", isInVehicle)
ESX.SetPlayerData("seat", seat)
end
CreateThread(function()
while not ESX.PlayerLoaded do Wait(200) end
while true do
@@ -64,15 +69,13 @@ CreateThread(function()
isEnteringVehicle = true
TriggerEvent("esx:enteringVehicle", vehicle, plate, seat, netId)
TriggerServerEvent("esx:enteringVehicle", plate, seat, netId)
ESX.SetPlayerData("vehicle", vehicle)
ESX.SetPlayerData("seat", seat)
ToggleVehicleStatus(vehicle, seat)
elseif not DoesEntityExist(GetVehiclePedIsTryingToEnter(playerPed)) and not IsPedInAnyVehicle(playerPed, true) and isEnteringVehicle then
-- vehicle entering aborted
TriggerEvent("esx:enteringVehicleAborted")
TriggerServerEvent("esx:enteringVehicleAborted")
isEnteringVehicle = false
ESX.SetPlayerData("vehicle", false)
ESX.SetPlayerData("seat", false)
ToggleVehicleStatus(false, false)
elseif IsPedInAnyVehicle(playerPed, false) then
-- suddenly appeared in a vehicle, possible teleport
isEnteringVehicle = false
@@ -83,8 +86,7 @@ CreateThread(function()
current.displayName, current.netId = GetData(current.vehicle)
TriggerEvent("esx:enteredVehicle", current.vehicle, current.plate, current.seat, current.displayName, current.netId)
TriggerServerEvent("esx:enteredVehicle", current.plate, current.seat, current.displayName, current.netId)
ESX.SetPlayerData("vehicle", vehicle)
ESX.SetPlayerData("seat", seat)
ToggleVehicleStatus(current.vehicle, current.seat)
end
elseif isInVehicle then
if not IsPedInAnyVehicle(playerPed, false) or IsPlayerDead(PlayerId()) then
@@ -93,8 +95,7 @@ CreateThread(function()
TriggerServerEvent("esx:exitedVehicle", current.plate, current.seat, current.displayName, current.netId)
isInVehicle = false
current = {}
ESX.SetPlayerData("vehicle", false)
ESX.SetPlayerData("seat", false)
ToggleVehicleStatus(false,false)
end
end
Wait(200)