diff --git a/ReallifeGamemode.Client/admin/aspeed.ts b/ReallifeGamemode.Client/admin/aspeed.ts index 8d1eb9e7..ccd8ea28 100644 --- a/ReallifeGamemode.Client/admin/aspeed.ts +++ b/ReallifeGamemode.Client/admin/aspeed.ts @@ -1,6 +1,18 @@ -export default function () { +import { VehicleSeat } from "../game"; + +export default function () { mp.events.addDataHandler("vehicleAdminSpeed", (entity, newValue) => { if (!entity.isAVehicle()) return; entity.setEnginePowerMultiplier(newValue); }); + mp.events.add("CLIENT:SetDoorOpen", (door, lose, permanent) => { + mp.players.local.vehicle.setDoorOpen(door, lose, permanent); + mp.players.local.vehicle.setIndicatorLights(0, true); + //mp.gui.chat.push(`setDoorOpen(${door}, ${lose}, ${permanent})`); + }); + mp.events.add("CLIENT:SetDoorShut", (door, permanent) => { + mp.players.local.vehicle.setDoorShut(door, permanent); + mp.players.local.vehicle.setIndicatorLights(0, false); + //mp.gui.chat.push(`setDoorShut(${door}, ${permanent})`); + }); } \ No newline at end of file diff --git a/ReallifeGamemode.Server/Commands/AdminCommands.cs b/ReallifeGamemode.Server/Commands/AdminCommands.cs index 9437252d..e4392dcd 100644 --- a/ReallifeGamemode.Server/Commands/AdminCommands.cs +++ b/ReallifeGamemode.Server/Commands/AdminCommands.cs @@ -2598,6 +2598,30 @@ namespace ReallifeGamemode.Server.Commands player.TriggerEvent("manageFactionRanks", json); } } + [Command("setdoor", "~m~Benutzung: ~s~/setdoor [open/shut] [Tür] [Boolean:Permanet] [Boolean:Lose]")] + public void CmdAdminSetDoorOpen(Player player, string status, int door, bool permanent = false, bool lose = true) + { + if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true) + { + ChatService.NotAuthorized(player); + return; + } + switch (status.ToLower()) + { + case "open": + { + player.TriggerEvent("CLIENT:SetDoorOpen", door, lose, permanent); + player.SendChatMessage($"CLIENT:SetDoorOpen, {door}, {lose}, {permanent}"); + break; + } + case "shut": + { + player.TriggerEvent("CLIENT:SetDoorShut", door, permanent); + player.SendChatMessage($"CLIENT:SetDoorShut, {door}, {permanent}"); + break; + } + } + } [Command("aplaysound", "~m~Benutzung: ~s~/aplaysound [Dateiname] [mp3/wav] [volume 0.0 - 100.0]", Alias ="aps")] public void CmdAdminPlaySound(Player player, string sound, string typ, double volume = 100) { diff --git a/ReallifeGamemode.Server/Util/CheckPointHandle.cs b/ReallifeGamemode.Server/Util/CheckPointHandle.cs index 48a0d881..98d40c65 100644 --- a/ReallifeGamemode.Server/Util/CheckPointHandle.cs +++ b/ReallifeGamemode.Server/Util/CheckPointHandle.cs @@ -51,6 +51,10 @@ namespace ReallifeGamemode.Server.Util if (user.GetUser().JobId == 4) { user.TriggerEvent("CLIENT:PlaySound", "jobs/busfahrer/AnfahrtHaltestelle", "wav", 50); + user.TriggerEvent("CLIENT:SetDoorOpen", 0, false, false); + user.TriggerEvent("CLIENT:SetDoorOpen", 1, false, false); + user.TriggerEvent("CLIENT:SetDoorOpen", 2, false, false); + user.TriggerEvent("CLIENT:SetDoorOpen", 3, false, false); } } @@ -76,6 +80,10 @@ namespace ReallifeGamemode.Server.Util { BusDriverJob.payWage(user, 100); user.TriggerEvent("CLIENT:PlaySound", "jobs/busfahrer/AbfahrtHaltestelle", "mp3", 25); + user.TriggerEvent("CLIENT:SetDoorShut", 0, false); + user.TriggerEvent("CLIENT:SetDoorShut", 1, false); + user.TriggerEvent("CLIENT:SetDoorShut", 2, false); + user.TriggerEvent("CLIENT:SetDoorShut", 3, false); } } else