Spec leltár

Indította Deadly2000, 2020-09-06, 14:14:08

Helló, lenne egy kérdésem,  bővítettem a speciális leltáram egy 4. opcióra. Minden működik csak 2 dolog nem,
1. Nem tudok kereskedni a tárgyakkal, ergó ráhúzok valamire valamit és nem mutatja kereskedésbe
2. Speciális leltárba a tárgy összerakásnál nem működik a 4. opciónál.

Exchange.cpp  https://pastebin.com/1fNisWdW
Tárgy forgatóra dolog  

ACMD (do_sort_items_spec)
{
    if (ch->IsDead())
    {
        ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<Rendszer> Halott"));
        return;
    }
    if (ch->GetExchange() || ch->GetShopOwner() || ch->GetMyShop() || ch->IsOpenSafebox() || ch->IsCubeOpen()
    )
    {
        ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<Rendszer> Fejezd be."));
        return;
    }
for (int m = 0; m < 4; m++)
{
for (int i = 0; i < SPECIAL_INVENTORY_MAX_NUM; ++i)
{
LPITEM item;
   
switch(m)
{
  case 0:
  item = ch->GetUpgradeInventoryItem(i);
  break;
  case 1:
  item = ch->GetBookInventoryItem(i);
  break;
  case 2:
  item = ch->GetStoneInventoryItem(i);
  break;
  case 3:
  item = ch->GetETCInventoryItem(i);
  break;
  default:
  item = ch->GetUpgradeInventoryItem(i);
  break;
}
   
if(!item)
continue;
   
if(item->isLocked())
continue;
   
if(item->GetCount() == ITEM_MAX_COUNT)
continue;
   
if (item->IsStackable() && !IS_SET(item->GetAntiFlag(), ITEM_ANTIFLAG_STACK))
{
for (int j = 0; j < SPECIAL_INVENTORY_MAX_NUM; ++j)
{
LPITEM item2;

switch(m)
{
case 0:
item2 = ch->GetUpgradeInventoryItem(j);
break;
case 1:
item2 = ch->GetBookInventoryItem(j);
break;
case 2:
item2 = ch->GetStoneInventoryItem(j);
break;
case 3:
item2 = ch->GetETCInventoryItem(j);
default:
item2 = ch->GetUpgradeInventoryItem(j);
break;
}
   
if(!item2)
continue;
   
if(item2->isLocked())
continue;
   
if (item2->GetVnum() == item->GetVnum())
{
bool bStopSockets = false;
   
for (int k = 0; k < ITEM_SOCKET_MAX_NUM; ++k)
{
if (item2->GetSocket(k) != item->GetSocket(k))
{
bStopSockets = true;
break;
}
}
   
if(bStopSockets)
continue;
   
BYTE bAddCount = MIN(ITEM_MAX_COUNT - item->GetCount(), item2->GetCount());
   
item->SetCount(item->GetCount() + bAddCount);
item2->SetCount(item2->GetCount() - bAddCount);
   
continue;
}
}
}
        }
    }
}