- Mesaj
- 384
- Çözümler
- 7
- Beğeni
- 1.961
- Puan
- 1.049
- Ticaret Puanı
- 0
DWORD CPythonPlayer::GetItemCountByVnum (DWORD dwVnum)
{
DWORD dwCount = 0;
for (int i = 0; i < c_Inventory_Count; ++i)
{
const TItemData& c_rItemData = m_playerStatus.aItem[i];
if (c_rItemData.vnum == dwVnum)
{
dwCount += c_rItemData.count;
}
}
#ifdef ENABLE_ADDITIONAL_INVENTORY
for (int i = 0; i < c_Special_ItemSlot_Count; ++i)
{
const TItemData& c_rItemDataUpgrade = m_playerStatus.aSSUItem[i];
const TItemData& c_rItemDataBook = m_playerStatus.aSSBItem[i];
const TItemData&...
evet basabiliyorum.k envanterdeyken + basabiliyor musun?
uirefineye bi bakmak lazım müsait bir zamanda bakıp döneyim.evet basabiliyorum.
bool CHARACTER::RefineInformation(BYTE bCell, BYTE bType, int iAdditionalCell)
{
if (bCell > INVENTORY_MAX_NUM)
return false;
LPITEM item = GetInventoryItem(bCell);
LPITEM CHARACTER::GetItem(TItemPos Cell) const
{
if (!IsValidItemPosition(Cell))
return NULL;
WORD wCell = Cell.cell;
BYTE window_type = Cell.window_type;
switch (window_type)
{
case INVENTORY:
case EQUIPMENT:
if (wCell >= INVENTORY_AND_EQUIP_SLOT_MAX)
{
sys_err("CHARACTER::GetInventoryItem: invalid item cell %d", wCell);
return NULL;
}
return m_pointsInstant.pItems[wCell];
case DRAGON_SOUL_INVENTORY:
if (wCell >= DRAGON_SOUL_INVENTORY_MAX_NUM)
{
sys_err("CHARACTER::GetInventoryItem: invalid DS item cell %d", wCell);
return NULL;
}
return m_pointsInstant.pDSItems[wCell];
default:
return NULL;
}
return NULL;
}
Demek istediğini bu kodlar senin dosyanda mevcut mu? ben bu şekilde anladım.
Pek aram iyi değil bu işlerde, kör ve cahilim.
Bakmak istediğin bir şey olur diye ekledim dosyayı, bu arada vakit ayırıp ilgilendiğin için çok teşekkür ederim.
17590 eklentisini görüntüle
17591 eklentisini görüntüle
DWORD CPythonPlayer::GetItemCountByVnum(DWORD dwVnum)
{
DWORD dwCount = 0;
for (int i = 0; i < c_Inventory_Count; ++i)
{
const TItemData & c_rItemData = m_playerStatus.aItem[i];
if (c_rItemData.vnum == dwVnum)
{
dwCount += c_rItemData.count;
}
}
return dwCount;
}
pythonplayer.cpp:DWORD CPythonPlayer::GetItemCountByVnum(DWORD dwVnum) { DWORD dwCount = 0; for (int i = 0; i < c_Inventory_Count; ++i) { const TItemData & c_rItemData = m_playerStatus.aItem[i]; if (c_rItemData.vnum == dwVnum) { dwCount += c_rItemData.count; } } return dwCount; }
burada c inventory count var ya onu sendeki en son eklenen k envanter koduyla değişip build alıp dener misin?
Tam olarak burası mı ? BYTE yazan yerleri sadece UINT mi yazacağım?BYTE değerini UINT çektir sorunun çözülcek.
RefineInformation içerisinde haberin olsun.
gametype.h bırak bana ben bakayım ordan sana söylerimK envanter kodu derken bundan mı bahsediyorsun?
17607 eklentisini görüntüle
for (int i = 0; i < c_Inventory_Count; ++i) bu kısımda 0 yazan değeri değiştireceğim değil mi?
Tam olarak burası mı ? BYTE yazan yerleri sadece UINT mi yazacağım?
17606 eklentisini görüntüle
gametype.h bırak bana ben bakayım ordan sana söylerim
DWORD CPythonPlayer::GetItemCountByVnum(DWORD dwVnum)
{
DWORD dwCount = 0;
for (int i = 0; i < (c_Special_ItemSlot_Count + c_Inventory_Count); ++i)
{
const TItemData & c_rItemData = m_playerStatus.aItem[i];
if (c_rItemData.vnum == dwVnum)
{
dwCount += c_rItemData.count;
}
}
return dwCount;
}
C++:DWORD CPythonPlayer::GetItemCountByVnum(DWORD dwVnum) { DWORD dwCount = 0; for (int i = 0; i < (c_Special_ItemSlot_Count + c_Inventory_Count); ++i) { const TItemData & c_rItemData = m_playerStatus.aItem[i]; if (c_rItemData.vnum == dwVnum) { dwCount += c_rItemData.count; } } return dwCount; }
kodu böyle yapıp dener misin?
akşam çözüm atarım bende yoktu bu sorun sankişu sorunu çözen varmı
baya uğraştık zamanında keremle olmamıştır hata aldıkakşam çözüm atarım bende yoktu bu sorun sanki
yarın pc geçebilirim haberleşirizÇok basit sorun şu an işteyim çözemezsen akşam yaparız.
çözümü konuya dahil ederseniz kapatalım konuyu
DWORD CPythonPlayer::GetItemCountByVnum (DWORD dwVnum)
{
DWORD dwCount = 0;
for (int i = 0; i < c_Inventory_Count; ++i)
{
const TItemData& c_rItemData = m_playerStatus.aItem[i];
if (c_rItemData.vnum == dwVnum)
{
dwCount += c_rItemData.count;
}
}
#ifdef ENABLE_ADDITIONAL_INVENTORY
for (int i = 0; i < c_Special_ItemSlot_Count; ++i)
{
const TItemData& c_rItemDataUpgrade = m_playerStatus.aSSUItem[i];
const TItemData& c_rItemDataBook = m_playerStatus.aSSBItem[i];
const TItemData& c_rItemDataStone = m_playerStatus.aSSSItem[i];
const TItemData& c_rItemDataFlower = m_playerStatus.aSSFItem[i];
const TItemData& c_rItemDataAttr = m_playerStatus.aSSAItem[i];
const TItemData& c_rItemDataChest = m_playerStatus.aSSCItem[i];
if (c_rItemDataBook.vnum == dwVnum)
{
dwCount += c_rItemDataBook.count;
}
if (c_rItemDataStone.vnum == dwVnum)
{
dwCount += c_rItemDataStone.count;
}
if (c_rItemDataUpgrade.vnum == dwVnum)
{
dwCount += c_rItemDataUpgrade.count;
}
if (c_rItemDataFlower.vnum == dwVnum)
{
dwCount += c_rItemDataFlower.count;
}
if (c_rItemDataAttr.vnum == dwVnum)
{
dwCount += c_rItemDataAttr.count;
}
if (c_rItemDataChest.vnum == dwVnum)
{
dwCount += c_rItemDataChest.count;
}
}
#endif
return dwCount;
}