game / exchange.cpp Açın
Kod:
//Arat
bool CExchange::CheckSpace()
//Değiştirmeden önce kendinize göre düzenleyiniz ve yedek almayı unutmayın..
bool CExchange::CheckSpace()
{
int INVENTORY_PAGE_COUNT = 9; //Max Envanter sayısı
int INVENTORY_PAGE_SIZE = 63; //maksimum envanter boyutunuz (Benim durumumda 9 * 7, inventorywindow.py slot func'ınızı kontrol edin ve onunla biraz matematik yapın)
CGrid* pGrids[INVENTORY_PAGE_COUNT];
for (int i = 0; i < INVENTORY_PAGE_COUNT; ++i)
{
pGrids[i] = new CGrid(9, INVENTORY_PAGE_SIZE / 9); //Envanter Sayısı ile kurulum yapın
pGrids[i]->Clear();
}
LPCHARACTER victim = GetCompany()->GetOwner();
LPITEM item;
for (int iPage = 0; iPage < INVENTORY_PAGE_COUNT; ++iPage)
{
int iAdd = iPage * INVENTORY_PAGE_SIZE;
for (int i = 0; i < INVENTORY_PAGE_SIZE; ++i)
{
if (!(item = victim->GetInventoryItem(iAdd + i)))
continue;
pGrids[iPage]->Put(i, 1, item->GetSize());
}
}
for (int i = 0; i < EXCHANGE_ITEM_MAX_NUM; ++i)
{
if (!(item = m_apItems[i]))
continue;
bool bFree = false;
for (int iPage = 0; iPage < INVENTORY_PAGE_COUNT; ++iPage)
{
int iPos = pGrids[iPage]->FindBlank(1, item->GetSize());
if (iPos >= 0)
{
pGrids[iPage]->Put(iPos, 1, item->GetSize());
bFree = true;
break;
}
}
if (!bFree)
{
for (int i = 0; i < INVENTORY_PAGE_COUNT; ++i)
M2_DELETE(pGrids[i]);
return false;
}
}
for (int i = 0; i < INVENTORY_PAGE_COUNT; ++i)
M2_DELETE(pGrids[i]);
return true;
}
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Envanter Sayısı kontrolünü yapıyor
ticaretin neyi düzeldi bilgi verirmisin.
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 9
- Görüntüleme
- 475
- Cevaplar
- 11
- Görüntüleme
- 967
- Cevaplar
- 3
- Görüntüleme
- 454
