diff --git a/Server/Commands/Admin.cs b/Server/Commands/Admin.cs index 6d894db2..f8c5ddb2 100644 --- a/Server/Commands/Admin.cs +++ b/Server/Commands/Admin.cs @@ -907,8 +907,8 @@ namespace reallife_gamemode.Server.Commands player.Vehicle.Repair(); } - [Command("vdestroy")] - public void CmdAdminVdestroy(Client player) + [Command("vdestroy", "~m~Benutzung: ~s~/vdestroy (ID)")] + public void CmdAdminVdestroy(Client player, int vid = -1) { if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN3) ?? true) { @@ -916,22 +916,35 @@ namespace reallife_gamemode.Server.Commands return; } - if (!player.IsInVehicle) + Vehicle targetVeh; + + if (vid == -1) { - player.SendChatMessage("~r~[FEHLER]~s~ Du sitzt momentan nicht in einem Fahrzeug."); - return; + if (!player.IsInVehicle) + { + player.SendChatMessage("~m~Benutzung: ~s~/vdestroy (ID)"); + return; + } + targetVeh = player.Vehicle; + } + else + { + targetVeh = VehicleManager.GetVehicleFromId(vid); + if(targetVeh == null) + { + player.SendChatMessage("~r~[FEHLER]~s~ Dieses Fahrzeug existiert nicht."); + return; + } } - Vehicle playerVeh = player.Vehicle; - - ServerVehicle veh = VehicleManager.GetServerVehicleFromVehicle(playerVeh); + ServerVehicle veh = VehicleManager.GetServerVehicleFromVehicle(targetVeh); if(veh != null) { player.SendChatMessage("~r~[FEHLER]~s~ Dieses Fahrzeug wird von einem Server-System benutzt: ~m~" + veh.GetType().Name); return; } - VehicleManager.DeleteVehicle(playerVeh); + VehicleManager.DeleteVehicle(targetVeh); } [Command("vlivery", "~m~Benutzung: ~s~/vlivery [Livery]")]