fix "Grabbed what you could but your inventory is full" not showing up

This commit is contained in:
SilicaAndPina 2021-02-05 14:37:19 +13:00
parent e58b1abd6b
commit 6ce2c33a42
2 changed files with 8 additions and 7 deletions

View file

@ -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]);
}

View file

@ -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);