Great'da çalışması için [tabii bunun için 20 kere src derledim sonuca öyle ulaştım] diğer türlü pazardan item aldığınızda oyundan atar. Yada ıoyundan atmasının sebebi great kuararken buy fonksyionunu ben kompe değiştir dediği için değiştirmedim oraya bakarak kendime uyarladım. Bende fazlalıklar kaldı bu nedenle o fazlalıklar item satın alırken clienti kapatıyordu (arama camı için demiyorum normal item alırken pazardan) sonra fazlalıkları sildim düzeldi. Neleri silmenizi gerektiğini aşağıda yazdım.
Her yere ChatPacket yerleştirerek çözdüm.
Burası Böyle olacak
if (!bIsShopSearch)
{
if (it == m_map_guest.end())
return SHOP_SUBHEADER_GC_END;
}
Geri kalan herşeyi buy fonksiyonu içinden silin.(Arama camı için sadece üstteki dediğim yeri öyle yapın yeter geri kalan arama camı ile ilgili bir yer eklemeyin buy fonksiyonuna %3 vergi yaptıracaksanız vergi yerini ekleyin) ayrıca Dali OfflineShop konusunda bir arkadaş dali'de veya great uyarlaması mevzusu olmuştu bu ticaret camı için orada bir düzenleme verdiler. (Orası benim öyle kaldı eski hali ile yani orjinal hali ile denemedim ama siz yinede öyle yapın] Shop_Manager.cpp için
arayın ve burayı böyle yapın:
pack2.item.count = ShopIter->count;
#if defined(ENABLE_CHEQUE_SYSTEM)
pack2.item.cheque = ShopIter->cheque;
#endif
pack2.item.display_pos = static_cast<BYTE>(std::distance(vItemVec.begin(), ShopIter));
if (item->GetOwner()) //burası
pack2.dwShopPID = item->GetOwner()->GetVID();//burası
else//burası
pack2.dwShopPID = 0;//burası
std::memcpy(&pack2.szSellerName, GetOwner->GetName(), sizeof(pack2.szSellerName));
sonra burayı böyle yapın
void CShopManager::ShopSearchBuy(LPCHARACTER ch, const TPacketCGPrivateShopSearchBuyItem* p)
{
if (ch == NULL || ch->GetDesc() == NULL || p == NULL)
return;
int32_t shopVid = p->dwShopPID; //bunu ekleyin
pencere engelleri altındaki burayı böyle yapın:
LPCHARACTER ShopCH = CHARACTER_MANAGER::instance().Find(shopVid);
artık derleyip sorunsuzca kullanabilirsiniz.
KANIT: