35 lines
1.3 KiB
Lua
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)
|