Neler yeni

Foruma hoş geldin, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Kod IkarusV2 Pazarı olduğu yere açması için küçük değişiklik

Fatih Bulut

Süper Üye
Katılım
6 Kas 2021
Mesajlar
2,765
Tepkime puanı
4,157
Puanları
113
Yaş
31
Konum
Türkiye
Dc
fatihbulut
ikarus_shop_manager.cpp İçerisinde Bul:
Kod:
    bool CShopManager::RecvShopRestoreDurationDBPacket(DWORD owner)


Yapılan düzenlemeden sonra ufak bir bug olmuş. Pazar kurulmaması gereken haritalarda (Zindanlar vs ) da pazar açılıyormuş. Bu sayede 1 pazarı 2 ayrı pazar açmışız gibi oluyordu. Hem bu hem de pazarların üst üste binmemesi için ufak bir düzenleme yapıldı.

(Güncel Kod) Bloğu komple değiştir:
Kod:
    bool CShopManager::RecvShopRestoreDurationDBPacket(DWORD owner)
    {
        if(auto shop = GetShopByOwnerID(owner))
        {
            LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(shop->GetOwnerPID());
            if (ch && ch->GetIkarusShop())
            {
                if (!ALLOWED_SPAWN_MAPS.contains(ch->GetMapIndex()))
                {
                    ch->ChatPacket(CHAT_TYPE_INFO, "[IkarusShop] Bu haritada pazar kuramazsiniz.");
                    return false;
                }
                if (IsShopAlreadySpawnedAt(ch->GetMapIndex(), ch->GetX(), ch->GetY(), shop->GetOwnerPID()))
                {
                    ch->ChatPacket(CHAT_TYPE_INFO, "[IkarusShop] Bu konumda zaten bir pazar var.");
                    return false;
                }
#ifdef EXTEND_IKASHOP_ULTIMATE
     #ifd#ifdef auto oldDuration = shop->GetD#ifdefn();
                shop->ChangeDuration(OFFLINESHOP_DURATION_MAX_MINUTES);
#else
                shop->SetDurat#els#elseNESHOP_DURATION_MAX_MINUTES);
                shop->RefreshToOwner();
#endif
#ifdef EXTEND_IKASHOP_ULTIMAT#end#endifd#ifdef if(oldDuration == 0)
#endif
 #ifdef         {
           #end#endifestroyShopEntity(shop);
      #endif        TShopSpawn spawn;
                    spawn.map = ch->GetMapIndex();
                    spawn.x = ch->GetX();
                    spawn.y = ch->GetY();
                    shop->SetSpawn(spawn);
                    CreateShopEntity(shop);
                }
            }
        }
        return true;
    }
#endif
 
Premium Forum Banner
Son düzenleme:

Benzer konular

Katılım
9 Kas 2024
Mesajlar
23
Tepkime puanı
7
Puanları
3
çok teşekkür ederim işime yaradı
 
Premium Forum Banner

GrooLx

Aktif Üye
Katılım
13 Ağu 2024
Mesajlar
11
Tepkime puanı
1
Puanları
3
ikarus_shop_manager.cpp İçerisinde Bul:
Kod:
    bool CShopManager::RecvShopRestoreDurationDBPacket(DWORD owner)


Yapılan düzenlemeden sonra ufak bir bug olmuş. Pazar kurulmaması gereken haritalarda (Zindanlar vs ) da pazar açılıyormuş. Bu sayede 1 pazarı 2 ayrı pazar açmışız gibi oluyordu. Hem bu hem de pazarların üst üste binmemesi için ufak bir düzenleme yapıldı.

(Güncel Kod) Bloğu komple değiştir:
Kod:
    bool CShopManager::RecvShopRestoreDurationDBPacket(DWORD owner)
    {
        if(auto shop = GetShopByOwnerID(owner))
        {
            LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(shop->GetOwnerPID());
            if (ch && ch->GetIkarusShop())
            {
                if (!ALLOWED_SPAWN_MAPS.contains(ch->GetMapIndex()))
                {
                    ch->ChatPacket(CHAT_TYPE_INFO, "[IkarusShop] Bu haritada pazar kuramazsiniz.");
                    return false;
                }
                if (IsShopAlreadySpawnedAt(ch->GetMapIndex(), ch->GetX(), ch->GetY(), shop->GetOwnerPID()))
                {
                    ch->ChatPacket(CHAT_TYPE_INFO, "[IkarusShop] Bu konumda zaten bir pazar var.");
                    return false;
                }
#ifdef EXTEND_IKASHOP_ULTIMATE
     #ifd#ifdef auto oldDuration = shop->GetD#ifdefn();
                shop->ChangeDuration(OFFLINESHOP_DURATION_MAX_MINUTES);
#else
                shop->SetDurat#els#elseNESHOP_DURATION_MAX_MINUTES);
                shop->RefreshToOwner();
#endif
#ifdef EXTEND_IKASHOP_ULTIMAT#end#endifd#ifdef if(oldDuration == 0)
#endif
 #ifdef         {
           #end#endifestroyShopEntity(shop);
      #endif        TShopSpawn spawn;
                    spawn.map = ch->GetMapIndex();
                    spawn.x = ch->GetX();
                    spawn.y = ch->GetY();
                    shop->SetSpawn(spawn);
                    CreateShopEntity(shop);
                }
            }
        }
        return true;
    }
#endif
Konuya tekrar git de güncelleri al bari hocam. Bu halinde bug var bugsuz halini attım.
 
Premium Forum Banner

Fatih Bulut

Süper Üye
Katılım
6 Kas 2021
Mesajlar
2,765
Tepkime puanı
4,157
Puanları
113
Yaş
31
Konum
Türkiye
Dc
fatihbulut
Konuya tekrar git de güncelleri al bari hocam. Bu halinde bug var bugsuz halini attım.
Çok teşekkür ederim hocam
 
Premium Forum Banner

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kayıt ol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Şimdi kayıt ol
Giriş yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş yap

Tema düzenleyici

Tema özelletirmeleri

Grafik arka planlar

Granit arka planlar