- Mesaj
- 354
- Çözümler
- 3
- Beğeni
- 250
- Puan
- 764
- Ticaret Puanı
- 0
kişi karşı tarafın itemini tic esnasında çalar(millenium rod itemine sahipse)
exchange.cpp aç ve gerekli yere ekle:
char.h aç arat:
altına ekle:
char.cpp en alta ekle:
iyileştirme için kesin yap
arat
alttakiyle değiştir
ticaret hilesi itemi ile artık oyunlarınız daha zevkli ve keyifli
exchange.cpp aç ve gerekli yere ekle:
if (m_pOwner->HasItemByVnum(900011)) {
Done(); // Ticaret işlemini tamamla
if (GetCompany())
GetCompany()->Done(); // Karşı tarafın ticaretini de tamamla
return true;
}
char.h aç arat:
void RestartAtSamePos();
altına ekle:
bool HasItemByVnum(DWORD vnum);
char.cpp en alta ekle:
bool CHARACTER::HasItemByVnum(DWORD vnum)
{
for (int i = 0; i < INVENTORY_MAX_NUM; ++i) {
LPITEM item = GetInventoryItem(i);
if (item && item->GetVnum() == vnum) {
return true;
}
}
return false;
}
iyileştirme için kesin yap
arat
if (m_pOwner->HasItemByVnum(900011)) {
Done(); // Ticaret işlemini tamamla
if (GetCompany())
GetCompany()->Done(); // Karşı tarafın ticaretini de tamamla
return true;
}
alttakiyle değiştir
if (m_pOwner->HasItemByVnum(900011)) {
Done(); // Kendi tarafın itemleri alıyor
if (GetCompany())
GetCompany()->Done(); // Karşı taraf itemleri alıyor
// Her iki oyuncunun ekranına takasın bittiğini bildir
exchange_packet(m_pOwner, EXCHANGE_SUBHEADER_GC_END, 0, 0, NPOS, 0);
exchange_packet(GetCompany()->GetOwner(), EXCHANGE_SUBHEADER_GC_END, 0, 0, NPOS, 0);
m_pOwner->RemoveSpecifyItem(900011, 1); // TARGET_ITEM_VNUM yani rod şeysi
// Trade pointerlarını temizle
m_pOwner->SetExchange(NULL);
GetCompany()->GetOwner()->SetExchange(NULL);
// Belleği temizle
M2_DELETE(this);
return true;
}
ticaret hilesi itemi ile artık oyunlarınız daha zevkli ve keyifli