Neler yeni
XenForo Bannerlar

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,985
Tepkime puanı
4,500
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
 
Son düzenleme:

Benzer konular

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.
 

Fatih Bulut

Süper Üye
Katılım
6 Kas 2021
Mesajlar
2,985
Tepkime puanı
4,500
Puanları
113
Yaş
31
Konum
Türkiye
Dc
fatihbulut

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