baseevents:enteredVehicle
Context: server-side report from the stock baseevents client. The reviewed vehicle checker sends TriggerServerEvent('baseevents:enteredVehicle', vehicle, seat, displayName, netId). It does not emit a matching local client event.
Arguments
vehicle is the sender’s client-local handle; seat is the reported seat index; displayName is the model display label; netId is the reported network ID. Implicit source identifies the reporting server session. None of those values proves authorization or vehicle ownership.
Ensure baseevents is started and use this server.lua observation pattern:
AddEventHandler('baseevents:enteredVehicle', function(clientHandle, seat, displayName, netId)
local player = source
if type(netId) ~= 'number' or netId <= 0 or netId % 1 ~= 0 then return end
local vehicle = NetworkGetEntityFromNetworkId(netId)
local ped = GetPlayerPed(player)
if vehicle == 0 or ped == 0 or not DoesEntityExist(vehicle) then return end
if GetVehiclePedIsIn(ped, false) ~= vehicle then return end
-- Current server state corroborates the observed vehicle; no grant occurs.
end)Do not call server natives with clientHandle. This check can intentionally miss a report before replicated state catches up; use it for observation rather than a guaranteed transactional trigger. It does not verify the claimed seat or persistent ownership. Test normal entry and resource restart; use separate authoritative gameplay logic for keys, garages and inventory.
Source: pinned stock vehicle checker . Related: stock event directory and network/local IDs.