[C++] Eşya düşürme şansı

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Bonus eşya düşürme şansını değil düşen eşyanın sayısını arttırıyor. Bu bonusa sahip biri 1 iksir yerine 2 iksir, 10 iksir yerine 20 iksir düşürür, bonusun miktarı sadece 2 kat eşya düşme ihtimalini arttırır ve %100 bonusa sahip biri her zaman 2 kat fazla eşya kazanır;

Bu bonus ITEM_STACKABLE olan tüm eşyalarda çalışır.



char_battle.cpp Açılır
Kod:
// Aratılır if (ITEM_MANAGER::instance().CreateDropItem(this, pkAttacker, s_vec_item))     {         if (s_vec_item.size() == 0);         else if (s_vec_item.size() == 1)         {             item = s_vec_item[0];             // Altına Ekle                     if (pkAttacker->GetPoint(POINT_ITEM_DROP_BONUS) >= number(1, 100) && item->IsStackable())                     {                         item->SetCount(item->GetCount() * 2);                     }                     // Aratılır             if (v.empty())             {                 while (iItemIdx >= 0)                 {                     item = s_vec_item[iItemIdx--];                     // Altına Ekle                     if (pkAttacker->GetPoint(POINT_ITEM_DROP_BONUS) >= number(1, 100) && item->IsStackable())                     {                         item->SetCount(item->GetCount() * 2);                     }                     Navicatta player->item_attr apply içerisine ITEM_DROP_BONUS Eklenir

Alıntıdır...

Metin2 Oyunlarında Eşya Düşürme Şansı Sistemi ve C++ ile Uygulaması

Giriş

Metin2 özel sunucularında oyun deneyimini zenginleştirmek için geliştirilen birçok sistem vardır. Bunlardan biri de eşya düşürme şansı sistemidir. Bu sistem, oyuncuların düşman NPC’leri yendikten sonra belirli oranlarda eşya kazanmalarını sağlar. Bu yazıda, C++ kullanarak Metin2 özel sunucularında eşya düşürme şansı sistemini nasıl oluşturacağımızı ve özelleştireceğimizi ele alacağız.

Eşya Düşürme Mekaniği Nedir?

Eşya düşürme mekaniği, oyuncuların savaşırken veya görevleri tamamlarken belirli eşyaları rastgele olarak elde edebilmelerini sağlar. Bu sistem, oyuncuların ilgisini çekmek ve oyun içi ekonomiyi desteklemek için kritik öneme sahiptir. Metin2 özel sunucularında bu sistem genellikle game core kısmında geliştirilir ve C++ dilinde yazılmış kodlarla çalışır.

C++ ile Eşya Düşürme Sistemi Geliştirme

Eşya düşürme sistemi, genellikle NPC öldürüldüğünde çalışan bir fonksiyonla yönetilir. Bu fonksiyon, drop_rate adı verilen bir değişkene göre eşya düşürülmesi ihtimalini hesaplar. Örneğin, NPC'nin drop_rate değeri %100 ise, her öldürmede mutlaka bir eşya düşer. Ancak bu değer daha düşükse, sistem rastgele bir sayı üretip bu sayı drop_rate'den küçükse eşya düşürülür.

Kod Örneği (Basit Versiyon)

Aşağıda basit bir C++ kodu örneği yer almaktadır:

int dropChance = rand() % 100;
if (dropChance < drop_rate) {
// Eşya düşürülür
}

Drop Sistemini Özelleştirme

Metin2 özel sunucularında geliştiriciler, düşürme sistemini farklı yollarla özelleştirebilir. Örneğin, bazı NPC’lerin nadir eşyalar düşürmesi sağlanabilir. Bu durumda, drop_table adı verilen yapılar kullanılır. Bu yapılar, NPC'ye özel eşya listeleri ve düşürme oranları içerir. db core ile entegre edildiğinde, bu tablolar veritabanında saklanabilir ve dinamik olarak güncellenebilir.

Python ile GUI Entegrasyonu

Geliştiriciler, Python ve Py GUI kullanarak eşya düşürme sistemini yönetebilecek bir arayüz oluşturabilir. Bu sayede, sunucu sahipleri eşya oranlarını ve düşürme tablolarını kolayca değiştirebilir. Py Root klasörleri ile bu sistemler entegre edilebilir.

Sonuç

Eşya düşürme sistemi, Metin2 özel sunucularının merkezi sistemlerinden biridir. C++ kullanarak bu sistemi geliştirmek, hem oyun deneyimini artırır hem de sunucunuzun rekabet gücünü yükseltir. Martysama ve diğer Metin2Dev kaynakları yardımıyla bu sistemleri daha da ileri seviyeye taşıyabilirsiniz. Metin2Lobby üzerinden daha fazla kaynak ve örnek kod bulabilirsiniz.


Item Drop Chance System in Metin2 Games and Its Implementation with C++

Introduction

There are many systems developed to enhance the gaming experience in Metin2 private servers. One of these is the item drop chance system. This article will discuss how to create and customize an item drop chance system in Metin2 private servers using C++.

What is an Item Drop Mechanism?

The item drop mechanism allows players to randomly obtain items after defeating enemy NPCs or completing quests. This system is crucial for engaging players and supporting the in-game economy. In Metin2 private servers, this system is typically developed within the game core and operates via code written in C++.

Developing an Item Drop System with C++

The item drop system is usually managed by a function that runs when an NPC is killed. This function calculates the chance of dropping an item based on a variable called drop_rate. For instance, if an NPC has a drop_rate of 100%, an item will always drop upon defeat. However, if this rate is lower, the system generates a random number, and if it's less than the drop_rate, an item is dropped.

Code Example (Basic Version)

Here’s a simple C++ code snippet:

int dropChance = rand() % 100;
if (dropChance < drop_rate) {
// Item is dropped
}

Customizing the Drop System

In Metin2 private servers, developers can customize the drop system in various ways. For example, some NPCs can be set to drop rare items. In such cases, structures known as drop_tables are used. These tables contain specific item lists and drop rates per NPC. When integrated with db core, these tables can be stored in the database and updated dynamically.

Integration with Python GUI

Developers can create an interface to manage the drop system using Python and Py GUI. This allows server owners to easily adjust drop rates and tables. These systems can be integrated with Py Root directories.

Conclusion

The item drop system is one of the central components in Metin2 private servers. Developing this system with C++ enhances both the gameplay experience and your server’s competitiveness. With resources like Martysama and other Metin2Dev tools, you can take these systems to the next level. Visit Metin2Lobby to find more resources and sample codes.
 

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

Benzer konular

Geri
Üst Alt