berkmenoo 1
berkmenoo
farkmt2official 1
farkmt2official
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Hikaye Ekle

Cevaplanmadı Soruce Build Hata***

  • Konuyu başlatan Konuyu başlatan TRend
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 3
  • Görüntüleme Görüntüleme 923
Merhaba,

Sandık İçgörü Sistemi eklemesi yaptıktan sonra source build işlemini başlatıyorum ama

item_manager.cpp: In member function 'void ITEM_MANAGER::GetChestItemList(DWORD, std::vector<SChestDropInfoTable, std::allocator<SChestDropInfoTable> >&)':
item_manager.cpp:1992: error: 'const class CSpecialItemGroup' has no member named 'GetGroupSize'


işlem sırasında bu hata ile karşılaşıyorum.

Bu sorunun çözümünü bilen var mı acaba ?

#ifdef ENABLE_SHOW_CHEST_DROP
#include "../../libgame/include/grid.h"
void ITEM_MANAGER::GetChestItemList(DWORD dwChestVnum, std::vector<TChestDropInfoTable>& vec_item)
{
TChestDropInfoTable kTempTab;

BYTE dwChestDropPageCount = 5;

CGrid* pGrids[dwChestDropPageCount];

for (int i = 0; i < dwChestDropPageCount; ++i)
{
pGrids = new CGrid(5, 8);
pGrids->Clear();
}

const CSpecialItemGroup* pGroup = GetSpecialItemGroup(dwChestVnum);

if (pGroup)
{
for (int i = 0; i < pGroup->GetGroupSize(); i++)
{
const TItemTable* itemTable = GetTable(pGroup->GetVnum(i));

if(itemTable != NULL)
{
for (int iPage = 0; iPage < dwChestDropPageCount; ++iPage)
{
int iPos = pGrids[iPage]->FindBlank(1, itemTable->bSize);

if (iPos >= 0)
{
pGrids[iPage]->Put(iPos, 1, itemTable->bSize);

kTempTab.bPageIndex = iPage + 1;
kTempTab.bSlotIndex = iPos;

kTempTab.bItemCount = pGroup->GetCount(i);
kTempTab.dwItemVnum = pGroup->GetVnum(i);

vec_item.push_back(kTempTab);

break;
}
}
}
}
}
}
#endif
 
Çözüm
Kod:
DWORD GetAttrVnum(DWORD dwVnum) const

bu satırı arat

altına bu kodu ekle:

Kod:
        int GetGroupSize() const
{
        return m_vecProbs.size();
}
Kod:
DWORD GetAttrVnum(DWORD dwVnum) const

bu satırı arat

altına bu kodu ekle:

Kod:
        int GetGroupSize() const
{
        return m_vecProbs.size();
}
 
Çözüm
Daha detaylı aktarmak gerekirse;
item_manager.h 'ye giriş yapın

Kod:
 DWORD GetAttrVnum(DWORD dwVnum) const
aratın

ve o Kod blogunu şu şekilde değiştirin.
Kod:
        DWORD GetAttrVnum(DWORD dwVnum) const
        {
            if (CSpecialItemGroup::SPECIAL != m_bType)
                return 0;
            for (itertype(m_vecItems) it = m_vecItems.begin(); it != m_vecItems.end(); it++)
            {
                if (it->vnum == dwVnum)
                {
                    return it->count;
                }
            }
            return 0;
        }
        int GetGroupSize() const
        {
            return m_vecProbs.size();
        }

        DWORD m_dwVnum;
        BYTE    m_bType;
        std::vector<int> m_vecProbs;
        std::vector<CSpecialItemInfo> m_vecItems; // vnum, count
};
 

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

Geri
Üst