2026-04-14 17:41:39 +02:00

35 lines
1.3 KiB
Lua

-- Beifahrer ohne Gurt rausschleudern
-- Der Fahrer sendet die Crash-Info, der Server leitet sie an alle Insassen weiter
-- Jeder Beifahrer entscheidet client-seitig selbst ob er Gurt hat
RegisterNetEvent('zseatbelt:checkPassengers')
AddEventHandler('zseatbelt:checkPassengers', function(speed, forwardX, forwardY, forwardZ)
local src = source
local srcPed = GetPlayerPed(src)
local veh = GetVehiclePedIsIn(srcPed, false)
if not veh or veh == 0 then return end
local maxSeats = GetVehicleMaxNumberOfPassengers(veh)
for seat = 0, maxSeats - 1 do
if not IsVehicleSeatFree(veh, seat) then
local passengerPed = GetPedInVehicleSeat(veh, seat)
for _, player in ipairs(GetPlayers()) do
if GetPlayerPed(player) == passengerPed then
TriggerClientEvent('zseatbelt:ejectPassenger', player, speed, forwardX, forwardY, forwardZ)
break
end
end
end
end
end)
-- Sound für Beifahrer
RegisterNetEvent('seatbelt:server:PlaySound')
AddEventHandler('seatbelt:server:PlaySound', function(action, passengersJson)
local passengers = json.decode(passengersJson)
for _, playerId in ipairs(passengers) do
TriggerClientEvent('seatbelt:client:PlaySound', playerId, action, 0.20)
end
end)