diff --git a/ReallifeGamemode.Client/Gui/vehiclemenu/main.ts b/ReallifeGamemode.Client/Gui/vehiclemenu/main.ts index 553bdb49..686d604f 100644 --- a/ReallifeGamemode.Client/Gui/vehiclemenu/main.ts +++ b/ReallifeGamemode.Client/Gui/vehiclemenu/main.ts @@ -73,6 +73,7 @@ export default function vehicleMenu(globalData: IGlobalData) { mp.events.callRemote("VehicleMenu_ToggleEngine"); break; case 2: // Gurt an-/ablegen + mp.events.callRemote("CLIENT:VehicleMenu_UseSeatbelt"); break; case 3: // Fahrzeug auf-/abschließen mp.events.callRemote("VehicleMenu_LockCar"); @@ -88,6 +89,18 @@ export default function vehicleMenu(globalData: IGlobalData) { } }); + mp.events.add("SERVER:ChangeSeatbeltState", () => { + var currentState = mp.players.local.getConfigFlag(32, true); + currentState = !currentState; + mp.players.local.setConfigFlag(32, currentState); + var msg = `Sicherheitsgurt ${(currentState ? '~r~abgelegt' : '~g~angelegt')}`; + mp.events.call("BN_Show", msg); + }); + + mp.events.add(RageEnums.EventKey.PLAYER_LEAVE_VEHICLE, (vehicle, seat) => { + mp.players.local.setConfigFlag(32, true); + }); + function showDoorsMenu() { globalData.InMenu = true; diff --git a/ReallifeGamemode.Server/Events/Vehicle.cs b/ReallifeGamemode.Server/Events/Vehicle.cs index c9bbe549..8c9ce883 100644 --- a/ReallifeGamemode.Server/Events/Vehicle.cs +++ b/ReallifeGamemode.Server/Events/Vehicle.cs @@ -324,5 +324,16 @@ namespace ReallifeGamemode.Server.Events VehicleStreaming.SetDoorState(veh, doorId, DoorState.DoorClosed); } } + + [RemoteEvent("CLIENT:VehicleMenu_UseSeatbelt")] + public void VehicleMenuUseSeatbelt(Player player) + { + if (!player.IsInVehicle) + { + return; + } + + player.TriggerEvent("SERVER:ChangeSeatbeltState"); + } } }