Welcome to Darkmmo

Şimdi bize katılın ve tüm özelliklerimize erişim sağlayın. Kayıt olup giriş yaptıktan sonra, yeni konular oluşturabilir, mevcut konulara yanıtlar yazabilir, kendi özel mesajlaşma sisteminize sahip olabilir ve çok daha fazlasını yapabilirsiniz. Ayrıca hızlı ve tamamen ücretsizdir, öyleyse ne bekliyorsunuz?

[C++]Gruptaki diğer üyelerin topladığı eşyaların istiflenmemesi sorunu çözümü

FarquesFarques doğrulanmış üye.

~ Everything has an end
Admin
Developer
VİP Üye
Katılım
Tem 11, 2024
Mesajlar
214
Tepkime puanı
135
Konum
ANKARA
Açılır: \source\game\src\char_item.cpp
ara
LPCHARACTER owner = funcFindOwnership.owner;
Kod bloğu içinde tekrar aranır
Altına ekle
C++:
if (owner)
 {
 if (item->IsStackable() && !IS_SET(item->GetAntiFlag(), ITEM_ANTIFLAG_STACK))
 {
 BYTE bCount = item->GetCount();
 for (int i = 0; i < INVENTORY_MAX_NUM; ++i)
 {
 LPITEM item2 = owner->GetInventoryItem(i);

 if (!item2)
 continue;
 if (item2->GetVnum() == item->GetVnum())
 {
 int j;

 for (j = 0; j < ITEM_SOCKET_MAX_NUM; ++j)
 if (item2->GetSocket(j) != item->GetSocket(j))
 break;

 if (j != ITEM_SOCKET_MAX_NUM)
 continue;

 BYTE bCount2 = MIN(200 - item2->GetCount(), bCount);
 bCount -= bCount2;

 item2->SetCount(item2->GetCount() + bCount2);

 if (bCount == 0)
 {
 owner->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("아이템 획득: %s 님으로부터 %s"), GetName(), item2->GetName());
 ChatPacket(CHAT_TYPE_INFO, LC_TEXT("아이템 전달: %s 님에게 %s"), owner->GetName(), item2->GetName());
 M2_DESTROY_ITEM(item);
 if (item2->GetType() == ITEM_QUEST)
 quest::CQuestManager::instance().PickupItem(owner->GetPlayerID(), item2);
 return true;
 }
 }
 }
 item->SetCount(bCount);

 }

 }
 
143Konular
278Mesajlar
100Kullanıcılar
PixelArtSon üye
Üst