- Mesaj
- 252
- Çözümler
- 9
- Beğeni
- 38
- Puan
- 454
- Ticaret Puanı
- 0
cmd_general.cpp kod kısmı ise şu şekildedir ;
C++:
ACMD (do_sort_items)
if (ch->IsDead() || ch->GetExchange() || ch->IsOpenSafebox() || ch->IsCubeOpen())
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<Sistem> Bu islemi yapmak icin aktif olan pencereleri kapatiniz"));
return;
}
for (int i = 0; i < INVENTORY_MAX_NUM; ++i)
{
LPITEM item = ch->GetInventoryItem(i);
if(!item)
continue;
if(item->isLocked())
continue;
if(item->GetCount() == 200)
continue;
if (item->IsStackable() && !IS_SET(item->GetAntiFlag(), ITEM_ANTIFLAG_STACK))
{
for (int j = i; j < INVENTORY_MAX_NUM; ++j)
{
LPITEM item2 = ch->GetInventoryItem(j);
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(200 - item->GetCount(), item2->GetCount());
item->SetCount(item->GetCount() + bAddCount);
item2->SetCount(item2->GetCount() - bAddCount);
continue;
}
}
}
}
En son bir moderatör tarafından düzenlenmiş: