noisiv 1
noisiv
Manwe Work 1
Manwe Work
Bodyguardd 1
Bodyguardd
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
[DEV]AB 1
[DEV]AB
R 1
Roksam
mavzermete 1
mavzermete
Hikaye Ekle

Ticareti Düzeltme C++

  • Konuyu başlatan Konuyu başlatan anagonda1
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 5
  • Görüntüleme Görüntüleme 898
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;
}


 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst