- Mesaj
- 751
- Çözümler
- 15
- Beğeni
- 102
- Puan
- 559
- Ticaret Puanı
- 0
hiç debug ile girmedim build etmedim releaseden giriyorum.Aleyküm selam, debug modda denedin mi ? Bazen ordan bir şeyler çıkabiliyor
beklemedeyim. Özelden hatırlatırım unutursan diye@therasmus ile çözmeye uğraşıp sonunda çözdüğümüz sorun. PC’ye geçince çözümü atarım.
case SHOP_SUBHEADER_CG_SELL2:
case SHOP_SUBHEADER_CG_SELL2:
{
#ifdef ENABLE_SPECIAL_STORAGE
if (uiBytes < sizeof(BYTE) + sizeof(BYTE) + sizeof(BYTE))
return -1;
const BYTE wPos = *reinterpret_cast<const BYTE*>(c_pData);
const BYTE bCount = *(c_pData + sizeof(BYTE));
const BYTE bType = *(c_pData + sizeof(BYTE) + sizeof(BYTE));
sys_log(0, "INPUT: %s SHOP: SELL2", ch->GetName());
CShopManager::instance().Sell(ch, wPos, bCount, bType);
return sizeof(BYTE) + sizeof(BYTE) + sizeof(BYTE);
#else
if (uiBytes < sizeof(BYTE) + sizeof(BYTE))
return -1;
BYTE pos = *(c_pData++);
BYTE count = *(c_pData);
sys_log(0, "INPUT: %s SHOP: SELL2", ch->GetName());
CShopManager::instance().Sell(ch, pos, count);
return sizeof(BYTE) + sizeof(BYTE);
#endif
}
case SHOP_SUBHEADER_CG_SELL:
case SHOP_SUBHEADER_CG_SELL:
{
#ifdef ENABLE_SPECIAL_STORAGE
if (uiBytes < sizeof(BYTE) + sizeof(BYTE) + sizeof(BYTE))
return -1;
const BYTE wPos = *reinterpret_cast<const BYTE*>(c_pData);
const BYTE bCount = *(c_pData + sizeof(BYTE));
const BYTE bType = *(c_pData + sizeof(BYTE) + sizeof(BYTE));
sys_log(0, "INPUT: %s SHOP: SELL", ch->GetName());
CShopManager::instance().Sell(ch, wPos, bCount, bType);
return sizeof(BYTE) + sizeof(BYTE) + sizeof(BYTE);
#else
if (uiBytes < sizeof(BYTE))
return -1;
BYTE pos = *c_pData;
sys_log(0, "INPUT: %s SHOP: SELL", ch->GetName());
CShopManager::instance().Sell(ch, pos);
return sizeof(BYTE);
#endif
}
bunun client tarafıda olmalı sanırıminput_main.cpp içinde arat;
Kod:case SHOP_SUBHEADER_CG_SELL2:
Değiştir;
C++:case SHOP_SUBHEADER_CG_SELL2: { #ifdef ENABLE_SPECIAL_STORAGE if (uiBytes < sizeof(BYTE) + sizeof(BYTE) + sizeof(BYTE)) return -1; const BYTE wPos = *reinterpret_cast<const BYTE*>(c_pData); const BYTE bCount = *(c_pData + sizeof(BYTE)); const BYTE bType = *(c_pData + sizeof(BYTE) + sizeof(BYTE)); sys_log(0, "INPUT: %s SHOP: SELL2", ch->GetName()); CShopManager::instance().Sell(ch, wPos, bCount, bType); return sizeof(BYTE) + sizeof(BYTE) + sizeof(BYTE); #else if (uiBytes < sizeof(BYTE) + sizeof(BYTE)) return -1; BYTE pos = *(c_pData++); BYTE count = *(c_pData); sys_log(0, "INPUT: %s SHOP: SELL2", ch->GetName()); CShopManager::instance().Sell(ch, pos, count); return sizeof(BYTE) + sizeof(BYTE); #endif }
Ara;
Kod:case SHOP_SUBHEADER_CG_SELL:
Değiştir;
C++:case SHOP_SUBHEADER_CG_SELL: { #ifdef ENABLE_SPECIAL_STORAGE if (uiBytes < sizeof(BYTE) + sizeof(BYTE) + sizeof(BYTE)) return -1; const BYTE wPos = *reinterpret_cast<const BYTE*>(c_pData); const BYTE bCount = *(c_pData + sizeof(BYTE)); const BYTE bType = *(c_pData + sizeof(BYTE) + sizeof(BYTE)); sys_log(0, "INPUT: %s SHOP: SELL", ch->GetName()); CShopManager::instance().Sell(ch, wPos, bCount, bType); return sizeof(BYTE) + sizeof(BYTE) + sizeof(BYTE); #else if (uiBytes < sizeof(BYTE)) return -1; BYTE pos = *c_pData; sys_log(0, "INPUT: %s SHOP: SELL", ch->GetName()); CShopManager::instance().Sell(ch, pos); return sizeof(BYTE); #endif }
İfdef kısmını kontrol et senin ifdef tanımın farklı olabilir.
Evet var ama orada bir sorun yok. Zaten konu sahibinin sorunu benim attığım çözüm ile alakalı değilmiş. Başka bir yerden kaynaklı onun sorunu. Bende aynı problemi yaşamıştım verdiğim kodlar ile çözmüştüm.bunun client tarafıda olmalı sanırım
bunun client tarafıda olmalı sanırım
çözemedim ama olsun başka bir şekilde yoluma devam edicem. İlginiz için çok teşekkür ederim.Evet var ama orada bir sorun yok. Zaten konu sahibinin sorunu benim attığım çözüm ile alakalı değilmiş. Başka bir yerden kaynaklı onun sorunu. Bende aynı problemi yaşamıştım verdiğim kodlar ile çözmüştüm.
//shop_manager.cpp'de sell fonksiyonunda
void CShopManager::Sell(LPCHARACTER ch, UINT bCell, BYTE bCount, BYTE bType)
// Oluşturulan değişken
LPITEM item = ch->GetItem(TItemPos(bType, bCell));
//GetItem fonksiyonuyla beraber çalışıyor.
// GetItem fonksiyonu;
LPITEM CHARACTER::GetItem(TItemPos Cell) const
//Buraya eğer k envanteriyle alakalı eklemeniz yoksa satmaması normal. Çünkü window_type switch'inin içine girmesi gerekiyor.
merhaba eski bir konu ama bununla ilgili herhangi birşeyt bulamadım nasıl eklerim k envanter npcye item satmıyo yada npcde sat tuşu açıkken iteme basınca 'ExtendedInventoryWindow' object has no attribute '_ExtendedInventoryWindow__SellItem' bu hatayı veriyo ExtendedInventoryWindow var ama içinde ...Sellİtem tanımlı değil yapamadım yapabilrmisinC++://shop_manager.cpp'de sell fonksiyonunda void CShopManager::Sell(LPCHARACTER ch, UINT bCell, BYTE bCount, BYTE bType) // Oluşturulan değişken LPITEM item = ch->GetItem(TItemPos(bType, bCell)); //GetItem fonksiyonuyla beraber çalışıyor. // GetItem fonksiyonu; LPITEM CHARACTER::GetItem(TItemPos Cell) const //Buraya eğer k envanteriyle alakalı eklemeniz yoksa satmaması normal. Çünkü window_type switch'inin içine girmesi gerekiyor.
Bir kontrol edin çözemezseniz dcden ulaşın yardımcı olmaya çalışayım.
Emir.#4017