Rezolva problema cu stackarea obiectelor atunci cand folosesti comanda /item.
Mai exact, atunci cand vei folosi comanda /i, itemele se vor stacka de acum peste alte iteme identice din inventar.
Exemplu: In inventar ai 50 de cufere clar de luna (50011), daca voi folosi comanda:
Code:
/i 50011 150*Link download / Code:
Deschidem common/CommonDefines.h / service.h si adaugam:
Code:
#define ENABLE_ITEM_CMD_AUTOSTACKCode:
bool PickupItem(DWORD vid);Deschidem game/char_item.cpp si cautam:
Code:
bool CHARACTER::PickupItem(DWORD dwVID)Deschidem game/char_item.cpp si cautam (in PickupItem):
Code:
if (!item || !item->GetSectree())Trebuie sa arate asa:
Deschidem game/char_item.cpp si cautam (in PickupItem):
Code:
if (item->DistanceValid(this))Deschidem game/char_item.cpp si cautam (in PickupItem):
Code:
if (item->IsOwnership(this))Deschidem game/char_item.cpp si cautam (in PickupItem) toate aparitiile:
Code:
item->RemoveFromGround();Deschidem game/cmd_gm.cpp si cautam (in ACMD(do_item)):
Code:
else
{
int iEmptyPos = ch->GetEmptyInventory(item->GetSize());
if (iEmptyPos != -1)
{
item->AddToCharacter(ch, TItemPos(INVENTORY, iEmptyPos));
LogManager::instance().ItemLog(ch, item, "GM", item->GetName());
}
else
{
M2_DESTROY_ITEM(item);
ch->ChatPacket(CHAT_TYPE_INFO, "Not enough inventory space.");
}
}

la acest mesaj și conținutul se va afișa automat.

