[7] [Loot Filter] Official sistemler serisi

Kaptan Yosun

Geliştirici
Geliştirici
Yardımsever Üye
Emekli Üye
Mesaj
1.096
Çözümler
40
Beğeni
1.243
Puan
1.339
Ticaret Puanı
0
Bu seride doğrudan Metin2'den tersine mühendislik(reverse engineering) ile sökülmüş veya Metin2'ye sağdık kalınarak yazılmış sistemleri paylaşacağım.
Sistemler 2014 yılında sızdırılan kraizy.tgz arşivindeki mainline için yazılmıştır. Siz başka server dosyaları kullanıyorsanız aradığınız bazı kodları bulamayabilir veya birtakım hatalarla karşılaşabilirsiniz.

Sistem sahibi metin2.dev'den
Linkleri görebilmek için giriş yap veya kayıt ol.
'dir.
Sistemi aldığım asıl konu:
Linkleri görebilmek için giriş yap veya kayıt ol.


7- Loot Filter: Yağma filtresi sistemi.
  • Metin2 22.2.7.0'den tersine mühendislikle sökülmüştür.
  • Premium gereksinimini ENABLE_PREMIUM_LOOT_FILTER definesini yorum satırına çevirerek kapatabilirsiniz.
  • CanPickUpItem fonksiyonunu kendi sunucunuza göre düzenleyebilirsiniz.
Bu sistemin doğru çalışması için bu üç sistemin kurulması gerekir:
  1. [Clip Masking] (Experimental eklemeleri de yapmalısınız)
  2. [Mouse Wheel Top Window]
  3. [Storing Affects]
Sistem önizlemesi


Konunun ekler bölümünden indirebilirsiniz.
 

Dosya Eklentileri

merhaba sistem için teşekkür ederim.

char_item.cpp:
Genişlet Daralt Kopyala
#if defined(__BL_OFFICIAL_LOOT_FILTER__)
            if (GetLootFilter() && !GetLootFilter()->CanPickUpItem(item))
            {
                if (!GetLootFilter()->IsLootFilteredItem(dwVID))
                {
                    GetLootFilter()->InsertLootFilteredItem(dwVID);

                    if (GetDesc())
                    {
                        TPacketGCLootFilter p;
                        p.header = HEADER_GC_LOOT_FILTER;
                        p.enable = false;
                        p.vid = dwVID;
                        GetDesc()->Packet(&p, sizeof(p));
                    }
                }
                
                ChatPacket(CHAT_TYPE_INFO, "No loot will be collected as the loot filter is deactivated.");
                return false;
            }
#endif

bu kısımda oyuncu fitreyi aktif etmişsse itemi toplamıyor ve bir ChatPacket yazdırıyor.

fakat şöyle bir sorun oluşuyor.
örn: kullanıcı silah toplamak istemiyor buna göre fitresini ayarlıyor. yere silah düşünce diğer itemleri toplamıyor hareket etmesi gerekiyor karakterin.
birde mesela yine silah toplamayan bir kullanıcı olsun sürekli spam yaparak toplama işlemi yapmaya çalıştığında ChatPacket yazdırıp gamede şişme yaptırabiliyor.

bunun önüne geçebilirmiyiz bir fikriniz varmı ?
 
Geri
Üst