Hello Metin2 Dev.
TEST TO CHECK IF YOU HAVE IT - Someone told me about this problem that is present on all serverfiles, regarding the BELT SLOTS.
Basically, the slot number 14 from the belt is like a black hole - if you have an item there and you place another item on top of it, the first item disappears untill you restart the server.
This is how you can reproduce the bug: [Hidden Content]
What I learned so far from testing and debugging?
- The bug is only on slot number 14 (4th row - 2nd slot).
The slots before and after this slot are perfectly functional!
- The bug is maybe related to 4 inventories.
- You can even drag an item from inventory to that slot and the item that stands on that slot disappears.
- The slot number 14 from the belt is equivalent to slot 254 in inventory (total).
- After server restart, the items that disappear will reappear on random belt slots.
- The bug is on martysama source too. ( @ martysama0134 ).
If I replace the code from this function:
bool CHARACTER::IsEmptyItemGrid(TItemPos Cell, BYTE bSize, int iExceptionCell) const
..
if (Cell.IsBeltInventoryPosition())
{
LPITEM beltItem = GetWear(WEAR_BELT);
if (NULL == beltItem)
return false;
if (false == CBeltInventoryHelper::IsAvailableCell(bCell - BELT_INVENTORY_SLOT_START, beltItem->GetValue(0)))
return false;
if (m_pointsInstant.bItemGrid[bCell]) {
if (m_pointsInstant.bItemGrid[bCell] == iExceptionCell)
return true;
return false;
}
if (bSize == 1)
return true;
}
with this:
if (Cell.IsBeltInventoryPosition())
{
return false
}
the bug disappears, but now the slots are not functional at all (obviously).
How can we fix this bug?