Learn how to place a player into a vehicle or wagon seat.
So, this snippet demonstrates how to synchronize player entry and exit from vehicles across the network using server events and vehicle network IDs:
---------------------------------------------------------------------
-- Utility
---------------------------------------------------------------------
local function GetVehicleFromNetId(netId)
if not netId then
return nil
end
local vehicle = NetworkGetEntityFromNetworkId(netId)
if vehicle == 0 or not DoesEntityExist(vehicle) then
return nil
end
return vehicle
end
---------------------------------------------------------------------
-- Place Player Into Vehicle
---------------------------------------------------------------------
RegisterNetEvent("your-police-script:PutInVehicle", function(vehicleNetworkId, seat)
local ped = PlayerPedId()
local vehicle = GetVehicleFromNetId(vehicleNetworkId)
if not vehicle then
return
end
if not IsVehicleSeatFree(vehicle, seat) then
return
end
SetPedIntoVehicle(ped, vehicle, seat)
end)
---------------------------------------------------------------------
-- Remove Player From Vehicle
---------------------------------------------------------------------
RegisterNetEvent("your-police-script:RemoveFromVehicle", function(vehicleNetworkId, seat, targetPed)
local vehicle = GetVehicleFromNetId(vehicleNetworkId)
if not vehicle then
return
end
if GetPedInVehicleSeat(vehicle, seat) ~= targetPed then
return
end
-- TaskLeaveVehicle
Citizen.InvokeNative(0xE0B61ED8BB37712F, targetPed)
end)