diff --git a/ReallifeGamemode.Server/Inventory/Items/Notfallkit.cs b/ReallifeGamemode.Server/Inventory/Items/Notfallkit.cs index 3a953a8e..5ea73a88 100644 --- a/ReallifeGamemode.Server/Inventory/Items/Notfallkit.cs +++ b/ReallifeGamemode.Server/Inventory/Items/Notfallkit.cs @@ -4,6 +4,7 @@ using System.Linq; using ReallifeGamemode.Server.Extensions; using ReallifeGamemode.Server.Managers; using ReallifeGamemode.Server.Services; +using ReallifeGamemode.Database.Models; namespace ReallifeGamemode.Server.Inventory.Items @@ -44,15 +45,25 @@ namespace ReallifeGamemode.Server.Inventory.Items return false; } - ChatService.SendMessage(player, $"~b~[AMDIN]~s~ Das Fahrzeug repariert"); - player.SendNotification("Du hast ~g~" + InventoryManager.GetItemById(uItem.ItemId).Name + " ~s~verwendet.", false); - InventoryManager.RemoveUserItem(player.GetUser(), uItem, 1); - ServerVehicle serverVehicle = VehicleManager.GetServerVehicleFromVehicle(veh); - Vehicle newVeh = serverVehicle.Spawn(veh); - newVeh.Repair(); - newVeh.Rotation = new Vector3(0, 0, serverVehicle.Heading); - return true; + if(veh.Controller == null) + { + player.SendNotification("Es sitzt jemand im Auto du kannst es nicht Reparieren!"); + return false; + } + using (var dbContext = new DatabaseContext()) + { + Vector3 position = veh.Position; + ChatService.SendMessage(player, $"~b~[AMDIN]~s~ Das Fahrzeug repariert"); + player.SendNotification("Du hast ~g~" + InventoryManager.GetItemById(uItem.ItemId).Name + " ~s~verwendet.", false); + InventoryManager.RemoveUserItem(player.GetUser(), uItem, 1); + ServerVehicle serverVehicle = veh.GetServerVehicle(dbContext); + serverVehicle.Spawn(veh).Position = position; + Vehicle newVeh = serverVehicle.Spawn(veh); + newVeh.Repair(); + newVeh.Rotation = new Vector3(0, 0, serverVehicle.Heading); + return true; + } } } } diff --git a/ReallifeGamemode.Server/Managers/VehicleManager.cs b/ReallifeGamemode.Server/Managers/VehicleManager.cs index 02012e69..db220f30 100644 --- a/ReallifeGamemode.Server/Managers/VehicleManager.cs +++ b/ReallifeGamemode.Server/Managers/VehicleManager.cs @@ -1151,7 +1151,7 @@ namespace ReallifeGamemode.Server.Managers Vehicle newVeh = sV.Spawn(vehicle); newVeh.Repair(); } - + if (sV is FactionVehicle || sV is GroupVehicle) { vehicle.Delete();