Lonca level max 20 / c++

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
length.h açılır

Aratılır

GUILD_MAX_LEVEL

Fonsksiyon Değiştirilir.

GUILD_MAX_LEVEL = 20,

constants.cpp açılır

Aratılır


const DWORD guild_exp_table[GUILD_MAX_LEVEL+1] =

Fonksiyon değiştirilir.

const DWORD guild_exp_table[GUILD_MAX_LEVEL+1] =
{
0,
15000UL,
45000UL,
90000UL,
160000UL,
235000UL,
325000UL,
430000UL,
550000UL,
685000UL,
835000UL,
1000000UL,
1500000UL,
2100000UL,
2800000UL,
3600000UL,
4500000UL,
6500000UL,
8000000UL,
10000000UL,
42000000UL
};

Aratılır

const DWORD guild_exp_table2[GUILD_MAX_LEVEL+1] =

Fonksiyon değiştirilir.

const DWORD guild_exp_table2[GUILD_MAX_LEVEL+1] =
{
0,
15000UL,
45000UL,
90000UL,
160000UL,
235000UL,
325000UL,
430000UL,
550000UL,
685000UL,
835000UL,
1000000UL,
1500000UL,
2100000UL,
2800000UL,
3600000UL,
4500000UL,
6500000UL,
8000000UL,
10000000UL,
42000000UL
};

İyi Forumlar.
Lonca Level Max 20 Sistemi C++ ile Nasıl Uygulanır?

Metin2 özel sunucularında loncalar, oyuncuların bir araya gelerek güç birliği yaptığı önemli yapılardır. Bu yapıların gelişim potansiyeli, oyun içi etkileşimleri ve rekabeti artırır. Ancak bazı sunucularda lonca seviyesinin maksimum 20 olacak şekilde sınırlandırılması istenebilir. Bu yazıda, C++ tabanlı bir Metin2 sunucusunda lonca seviyesinin maksimum 20 olarak belirlenmesi için gerekli adımları ele alacağız.

Lonca Seviye Sistemi Nedir?

Metin2 oyununda loncalar, belirli görevler yaparak tecrübe kazanır ve seviye atlar. Her seviye atlama ile birlikte loncanın sunduğu bonuslar artar. Ancak, bazı sunucu sahipleri dengeyi korumak amacıyla lonca seviyesinin maksimum değerini sınırlamayı tercih eder. Bu durumda, C++ seviyesinde bazı düzenlemeler yapılması gerekir.

C++ Kodlarında Lonca Seviye Sınırı Ayarı

Metin2 sunucu kaynak kodları genellikle C++ dilinde yazılmıştır. Lonca sistemi de bu kodlar üzerinden yönetilir. Lonca seviyesi ile ilgili kısım genellikle 'game' modülü altında yer alır. Özellikle guild.cpp veya benzeri dosyalarda lonca sistemi tanımlanmıştır.

Lonca seviyesinin maksimum 20 olabilmesi için, seviye artışı sağlayan fonksiyonlarda bir kontrol noktası oluşturulmalıdır. Örneğin:

Kod:
if (guild->GetLevel() >= 20)[BR][/BR]{[BR][/BR]    // Maksimum seviyeye ulaşıldığında yapılacak işlemler[BR][/BR]    return;[BR][/BR]}


Yukarıdaki örnek, lonca seviyesi 20'ye ulaştığında daha fazla xp kazanımını engeller. Bu tür kontrolleri doğru yerlere yerleştirerek, lonca seviyesinin 20'de sabitlenmesini sağlayabilirsiniz.

Olası Hatalar ve Çözümleri

Bu tür bir değişiklik sırasında dikkat edilmesi gereken bazı detaylar vardır. Örneğin, lonca xp kazanımı sadece görevlerle mi sağlanıyor yoksa PvP öldürmeleriyle de mi? Eğer PvP ile xp kazanıyorsa, bu durumda PvP sistemine de bir kontrol eklemeniz gerekebilir.

Ayrıca, lonca seviyesi 20'ye ulaştığında oyunculara bir bildirim göstermek de iyi bir kullanıcı deneyimi sağlar. Bu bildirim için örneğin bir mesaj gönderme fonksiyonu çağrılabilir.

Veritabanı Ayarları

Lonca seviye sistemleri genellikle veritabanında da belirli alanlarla desteklenir. Guild tablosunda level adlı bir sütun bulunur. Burada level değeri 20'yi geçmeyecek şekilde bir SQL tetikleyicisi de tanımlanabilir. Ancak C++ seviyesinde kontrol yapılması daha güvenlidir çünkü tüm olaylar sunucu tarafında işlenir.

Diğer Lonca Özellikleriyle Uyum

Lonca seviyesi sınırlı olduğunda, bu seviyeye bağlı olarak çalışan diğer sistemlerin de gözden geçirilmesi gerekir. Örneğin, lonca deposu kapasitesi veya üyelerin alabileceği bonuslar gibi. Bu sistemlerin de 20. seviyede sabitlenmesi ya da farklı bir formülle çalışması sağlanabilir.

Sonuç

Lonca seviyesinin maksimum 20 olarak ayarlanması, sunucu dengesini korumak için önemli bir adımdır. C++ seviyesinde yapılan bu tür küçük ama etkili düzenlemeler, Metin2 özel sunucularınızın kalitesini artırır. Bu işlemi doğru şekilde uygulamak için temel C++ bilgisi ve Metin2 sunucu yapısı hakkında genel bilgi sahibi olmanız yeterlidir.


How to Implement Guild Level Max 20 System in C++?

Guilds are important structures in Metin2 private servers where players come together to unite their strength. Their potential for development increases in-game interactions and competition. However, some servers may prefer to limit the maximum guild level to 20. In this article, we will discuss the steps required to set the maximum guild level to 20 on a C++ based Metin2 server.

What is the Guild Level System?

In Metin2, guilds gain experience and level up by completing certain tasks. With each level gained, bonuses provided by the guild increase. However, some server owners prefer limiting the maximum guild level to maintain game balance. In such cases, modifications must be made at the C++ level.

Setting Guild Level Limit in C++ Code

Metin2 server source codes are usually written in C++. The guild system is also managed through these codes. The section related to guild levels typically resides under the 'game' module. Specifically, files like guild.cpp define the guild system.

To ensure the guild level remains at a maximum of 20, a control point must be added to functions that handle level increases. For example:

Kod:
if (guild->GetLevel() >= 20)[BR][/BR]{[BR][/BR]    // Actions to perform when reaching max level[BR][/BR]    return;[BR][/BR]}


The above example prevents further XP gain once the guild reaches level 20. By placing such checks in the correct locations, you can ensure the guild level remains capped at 20.

Possible Errors and Solutions

There are several details to consider during such modifications. For instance, does the guild XP gain occur only through quests, or also via PvP kills? If XP gain happens through PvP, then you might need to add checks within the PvP system as well.

Additionally, displaying a notification to players when the guild reaches level 20 enhances user experience. You could call a message-sending function to achieve this.

Database Settings

Guild level systems are often supported by database fields. A column named 'level' exists in the guild table. An SQL trigger could be defined to prevent this value from exceeding 20. However, implementing checks at the C++ level is more secure since all events are processed on the server side.

Compatibility with Other Guild Features

When the guild level is limited, other systems dependent on it should also be reviewed. For example, guild warehouse capacity or bonuses available to members. These systems can be configured to remain fixed at level 20 or operate according to a different formula.

Conclusion

Limiting the guild level to a maximum of 20 is an important step to maintain server balance. Small but effective modifications at the C++ level enhance the quality of your Metin2 private server. To apply this correctly, basic knowledge of C++ and general understanding of the Metin2 server structure are sufficient.
 

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

Benzer konular

Geri
Üst Alt