diff --git a/ReallifeGamemode.Server/Events/Death.cs b/ReallifeGamemode.Server/Events/Death.cs index 697e2159..beb87ae1 100644 --- a/ReallifeGamemode.Server/Events/Death.cs +++ b/ReallifeGamemode.Server/Events/Death.cs @@ -47,7 +47,9 @@ namespace ReallifeGamemode.Server.Events return; } - if(player.HasData("IsCarryingPlant") || player.GetData("IsCarryingPlant")) + player.ToggleInventory(InventoryToggleOption.HIDE); + + if (player.HasData("IsCarryingPlant") || player.GetData("IsCarryingPlant")) { var currentModel = player.GetData("HoldingCannabisPlant"); @@ -241,6 +243,7 @@ namespace ReallifeGamemode.Server.Events public void RespawnPlayerAtHospital(Player player) { logger.LogInformation("Player {0} respawned at the hospital", player.Name); + InventoryManager.RemoveIllegalItemsFromInventory(player); player.SetData("isDead", false); using (var dbContext = new DatabaseContext()) { diff --git a/ReallifeGamemode.Server/Managers/InventoryManager.cs b/ReallifeGamemode.Server/Managers/InventoryManager.cs index e8cfea56..a2ff976f 100644 --- a/ReallifeGamemode.Server/Managers/InventoryManager.cs +++ b/ReallifeGamemode.Server/Managers/InventoryManager.cs @@ -685,5 +685,24 @@ namespace ReallifeGamemode.Server.Managers //client.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney); } } + + public static void RemoveIllegalItemsFromInventory(Player player) + { + if (!player.IsLoggedIn()) + { + return; + } + + var user = player.GetUser(); + + List items = GetUserItems(player); + foreach (var item in items) + { + if (!GetItemById(item.ItemId).Legal) + { + RemoveUserItem(user, item, item.Amount); + } + } + } } }