Metin2 Droplardan Efsunlu item düşme ayarı

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 44

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Merhaba ;
Tek başıma oynak için sunucu açtım ve bu sistemi ekledi

Aşağıdaki kod sayesinde düşen iteme 1-7 arasında efsun gelme ihtimali ekler
ihtiyacınıza göre değiştirebilirsiniz

item.cpp açın

void CItem::AlterToMagicItem() aratın


Kod:
void CItem::AlterToMagicItem() {     int idx = GetAttributeSetIndex();     if (idx < 0)         return;     int ikinciPct;     int iucuncuPct;     int idorduncuPct;     int ibesinciPct;     int ialtinciPct;     int iyedinciPct;     switch (GetType())     {     case ITEM_WEAPON:             ikinciPct = 80;             iucuncuPct = 80;             idorduncuPct = 80;             ibesinciPct = 80;             ialtinciPct = 80;             iyedinciPct = 80;         break;     case ITEM_ARMOR:               ikinciPct = 80;             iucuncuPct = 80;             idorduncuPct = 80;             ibesinciPct = 70;             ialtinciPct = 70;             iyedinciPct = 65;       case ITEM_COSTUME:         if (GetSubType() == ARMOR_BODY)         {             ikinciPct = 80;             iucuncuPct = 80;             idorduncuPct = 80;             ibesinciPct = 70;             ialtinciPct = 70;             iyedinciPct = 65;         }         else         {             ikinciPct = 80;             iucuncuPct = 80;             idorduncuPct = 80;             ibesinciPct = 70;             ialtinciPct = 70;             iyedinciPct = 65;         }         break;               break;     default:         return;     }     PutAttribute(aiItemMagicAttributePercentHigh);     if (number(1, 100) <= ikinciPct)     {         if (number(1, 100) <= 50 )             PutAttribute(aiItemMagicAttributePercentHigh);         else             PutAttribute(aiItemMagicAttributePercentLow);     }         else {         return;}  // Koşul sağlanmadığında kodu bitir     }         if (number(1, 100) <= iucuncuPct)     {         if (number(1, 100) <= 50)             PutAttribute(aiItemMagicAttributePercentHigh);         else             PutAttribute(aiItemMagicAttributePercentLow);     }         else {         return;}  // Koşul sağlanmadığında kodu bitir     if (number(1, 100) <= idorduncuPct)     {         if (number(1, 100) <= 50)             PutAttribute(aiItemMagicAttributePercentHigh);         else             PutAttribute(aiItemMagicAttributePercentLow);     }     else {         return;}  // Koşul sağlanmadığında kodu bitir     if (number(1, 100) <= ibesinciPct)     {         if (number(1, 100) <= 50)             PutAttribute(aiItemMagicAttributePercentHigh);         else             PutAttribute(aiItemMagicAttributePercentLow);     }     else {         return;}  // Koşul sağlanmadığında kodu bitir     if (number(1, 100) <= ialtinciPct)     {         if (number(1, 100) <= 50)             PutRareAttribute(aiItemMagicAttributePercentHigh);         else             PutRareAttribute(aiItemMagicAttributePercentLow);     }     else {         return;}  // Koşul sağlanmadığında kodu bitir     if (number(1, 100) <= iyedinciPct)     {         if (number(1, 100) <= 50)             PutRareAttribute(aiItemMagicAttributePercentHigh);         else             PutRareAttribute(aiItemMagicAttributePercentLow);     } }


Constants.cpp Açın
Ara

Kod:
const int aiItemMagicAttributePercentHigh[ITEM_ATTRIBUTE_MAX_LEVEL] = {     //25, 25, 40, 8, 2,     10, 15, 35, 25, 15, };

10 = Seviye 1 en düşük efsunun gelme oranı . 10 demek %10 demektir
15 = Seviye 2
35 = Seviye 3
25 = Seviye 4
15 = Seviye 5



Koda şunu eklemeye çalışıyorum başarırsam konuyu güncellicem

Eğerki item level 30 sevviye ve düşük ise iteme gelebilicek efsun sayısı 3
30 ile 60 level arasındaysa iteme gelicek efsun sayısı 5 gibi bir şey ekliyecem
Metin2 Droplardan Efsunlu Item Düşme Ayarı

Metin2 Private Server Geliştirme sürecinde, sunucuların en dikkat çeken ve oyuncu çekiciliği sağlayan özelliklerinden birisi drop sistemleridir. Özellikle Efsunlu item gibi nadir ve güçlü eşyaların düşmesi, oyuncuların daha fazla zaman harcamasını ve savaşmaya devam etmesini sağlar. Bu yazıda, Metin2Lobby olarak Metin2 droplardan efsunlu item düşürme ayarlarını nasıl yapacağınızı detaylıca anlatacağız.

Efsunlu Item Nedir?
Metin2 oyununda efsunlu item, normal itemlerden farklı olarak özel bonuslar içeren ve genellikle +7 ve üzeri upgrade seviyesinde görülen eşyalardır. Bu itemlerin özel güç, zeka, dayanıklılık gibi bonusları vardır ve PvP mücadelelerinde büyük avantaj sağlar. Oyuncular bu nedenle efsunlu itemleri elde etmek için büyük çaba sarf ederler.

Drop Sistemlerinde Değişiklik Yapmak
Metin2 özel sunucularında drop sistemleri genellikle game server tarafında yer alan mob_proto ve drop tables üzerinden yönetilir. Bu dosyalar sayesinde her bir canavarın hangi itemi ne kadar ihtimalle düşüreceği ayarlanabilir. Efsunlu item düşürmek istiyorsanız, bu tablolarda gerekli değişiklikleri yapmalısınız.

Efsunlu Item Drop Oranlarını Arttırmak
Sunucunuzda efsunlu item düşme oranını artırmak için öncelikle drop_rate ayarlarını kontrol etmelisiniz. Bu ayarlar genellikle constants.py veya locale_inc.h gibi dosyalarda yer alır. Oranlar çok düşükse, oyuncuların efsunlu item bulması çok zorlaşır. Bu nedenle bu değerleri artırarak sunucunuzu daha cazip hale getirebilirsiniz.

Python veya C++ ile Drop Sistemi Geliştirme
Gelişmiş sunucularda C++ tabanlı sistemler kullanılır. Drop sistemleri için özel fonksiyonlar yazarak, belirli level aralığındaki moblardan belirli şanslarla efsunlu item düşmesini sağlayabilirsiniz. Bunun için game/src/char/char_item.cpp gibi dosyalarda değişiklik yapmanız gerekebilir. Eğer Python kullanıyorsanız, root klasöründe yer alan item_drop_system.py gibi betiklerle de bu işlemleri yapabilirsiniz.

Martysama ve Diğer Script Kütüphaneleri
Metin2 geliştiricileri genellikle Martysama gibi script kütüphanelerini kullanarak daha hızlı ve etkili geliştirmeler yaparlar. Bu kütüphaneler sayesinde drop sistemlerini kolayca özelleştirebilir, test edebilir ve sunucuya entegre edebilirsiniz. Ayrıca uiscript ile GUI tabanlı arayüzlerle de bu sistemleri görsel olarak yönetebilirsiniz.

Sonuç
Metin2 özel sunucularında efsunlu item düşme sistemlerini doğru şekilde ayarlamak, oyuncu memnuniyetini ve sunucu sadakatini artırır. Bu işlem hem C++ hem de Python bilgisi gerektiren teknik bir süreçtir. Ancak doğru yapılandırıldığında sunucunuzun oynanış kalitesi ciddi anlamda artar. Metin2Lobby olarak, bu tür gelişmiş sistemlerin nasıl kurulacağını ve optimize edileceğini öğrenmek isterseniz bize ulaşabilirsiniz.


Setting Up Magical Item Drops in Metin2

Metin2 Private Server Development process involves one of the most attractive and player-retaining features: drop systems. Especially the dropping of rare and powerful items like Magical Items motivates players to spend more time and continue fighting. In this article, we will explain in detail how to configure Magical Item drops from Metin2 monsters at Metin2Lobby.

What Are Magical Items?
In Metin2, magical items are special equipment pieces that differ from regular items by providing unique bonuses. These items usually appear with upgrades of +7 and above and provide extra stats such as power, intelligence, and durability, offering great advantages in PvP battles. This is why players put significant effort into obtaining these magical items.

Making Changes to Drop Systems
Drop systems in Metin2 private servers are generally managed through files located on the game server side, such as mob_proto and drop tables. These files determine which items drop from each monster and with what probability. To enable magical items to drop, you need to make the necessary adjustments in these tables.

Increasing Magical Item Drop Rates
To increase the drop rate of magical items on your server, first check the drop_rate settings. These values are typically located in files like constants.py or locale_inc.h. If these rates are too low, players will find it very difficult to obtain magical items. By increasing these values, you can make your server more appealing.

Developing Drop Systems with Python or C++
Advanced servers often use C++-based systems. You can write custom functions to allow specific monsters to drop magical items with certain probabilities. For this, you may need to modify files such as game/src/char/char_item.cpp. If you are using Python, you can manage drop systems using scripts located in the root folder, like item_drop_system.py.

Martysama and Other Script Libraries
Metin2 developers frequently use script libraries like Martysama to implement faster and more effective improvements. These libraries allow you to easily customize drop systems, test them, and integrate them into your server. Additionally, with uiscript, you can manage these systems visually through GUI-based interfaces.

Conclusion
Properly configuring magical item drop systems in Metin2 private servers increases player satisfaction and server loyalty. This process requires both C++ and Python knowledge. However, when configured correctly, the gameplay quality of your server increases significantly. At Metin2Lobby, if you want to learn how to set up and optimize such advanced systems, feel free to contact us.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Geri
Üst Alt