From 6ce2c33a421b57505f390809fd1a0b58d23ad442 Mon Sep 17 00:00:00 2001 From: SilicaAndPina <earsyum@gmail.com> Date: Fri, 5 Feb 2021 14:37:19 +1300 Subject: [PATCH] fix "Grabbed what you could but your inventory is full" not showing up --- .../HorseIsleServer/Game/Items/DroppedItems.cs | 2 ++ .../HorseIsleServer/Server/GameServer.cs | 13 ++++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Horse Isle Server/HorseIsleServer/Game/Items/DroppedItems.cs b/Horse Isle Server/HorseIsleServer/Game/Items/DroppedItems.cs index 55348c1..d07fabc 100755 --- a/Horse Isle Server/HorseIsleServer/Game/Items/DroppedItems.cs +++ b/Horse Isle Server/HorseIsleServer/Game/Items/DroppedItems.cs @@ -106,6 +106,8 @@ namespace HISP.Game.Items droppedItemsList[i].DespawnTimer--; if(droppedItemsList[i].DespawnTimer <= 0) { + if (GameServer.GetUsersAt(droppedItemsList[i].X, droppedItemsList[i].Y, true, true).Length > 0) // Dont despawn items players are standing on + continue; Logger.DebugPrint("Despawned Item at " + droppedItemsList[i].X + ", " + droppedItemsList[i].Y); RemoveDroppedItem(droppedItemsList[i]); } diff --git a/Horse Isle Server/HorseIsleServer/Server/GameServer.cs b/Horse Isle Server/HorseIsleServer/Server/GameServer.cs index a5f0fe8..3a7fcfb 100755 --- a/Horse Isle Server/HorseIsleServer/Server/GameServer.cs +++ b/Horse Isle Server/HorseIsleServer/Server/GameServer.cs @@ -2933,18 +2933,17 @@ namespace HISP.Server string chatMsg = Messages.GrabAllItemsMessage; DroppedItems.DroppedItem[] droppedItems = DroppedItems.GetItemsAt(sender.LoggedinUser.X, sender.LoggedinUser.Y); - try + foreach (DroppedItems.DroppedItem item in droppedItems) { - foreach (DroppedItems.DroppedItem item in droppedItems) + try { sender.LoggedinUser.Inventory.Add(item.Instance); DroppedItems.RemoveDroppedItem(item); } - } - catch (InventoryException) - { - chatMsg = Messages.GrabbedAllItemsButInventoryFull; - break; + catch (InventoryException) + { + chatMsg = Messages.GrabbedAllItemsButInventoryFull; + } } UpdateAreaForAll(sender.LoggedinUser.X, sender.LoggedinUser.Y);