Herhangi bir rakibi öldürünce 3 adet fly exp çıkar ve bir miktar exp kazanırsınız.
Aktif etmek için: /eventflag ambitious_olunce_exp 1
Kapatmak için: /eventflag ambitious_olunce_exp 0
Exp hesaplaması: Ölen oyuncunun leveli * 100 şeklinde kendinize göre düzenleyebilirsiniz
*char_battle.cpp
Aratın:
Üstüne ekleyin:
Aratın:
Üstüne ekleyin:
Rakip Öldürdükçe Exp Kazanma Sistemi C++ ile Metin2
Metin2 özel sunucularında oyuncuların rekabetçi deneyimlerini artırmak için geliştirilen rakip öldürdükçe EXP kazanma sistemi, PvP odaklı sunucularda oldukça popülerdir.
Bu sistem sayesinde oyuncular, normal oyun içi görevler dışında başka oyuncuları yenerek ekstra tecrübe puanları (EXP) kazanabilir. Bu da onların seviye atlamalarını hızlandırır ve PvP aktivitelerini daha cazip kılar. Bu yazıda, C++ tabanlı bir Metin2 özel sunucu geliştirme sürecinde bu sistemin nasıl entegre edileceğini detaylıca ele alacağız.
Sistem Nedir ve Nasıl Çalışır?
Rakip öldürdükçe exp kazanma sistemi, oyuncuların diğer oyuncuları öldürmesiyle belirli bir EXP miktarı kazanmalarını sağlar. Bu.EXP miktarı, genellikle oyuncunun seviyesine, öldürülen rakibin seviyesine ve sunucu ayarlarına göre değişiklik gösterebilir. Bu sistem, Metin2'nin mevcut C++ kaynak koduna uygun olarak geliştirilmelidir.
C++ Kaynak Kodu Entegrasyonu
Öncelikle, Metin2 server SRC üzerinde çalışmak gerekir. Bu sistem, game server tarafında geliştirilmelidir. Oyuncu bir rakibi öldürdüğünde, OnKillCharacter gibi bir fonksiyon tetiklenir. Bu fonksiyonun içine, öldürülen karakterin seviyesine göre EXP verilmesini sağlayan bir mantık yazılır.
Örnek olarak:
Exp Hesaplama Algoritması
Bu algoritmada, öldürülen rakibin seviyesi ne kadar yüksekse, kazanılan EXP miktarı da o kadar artar. Ayrıca, sunucuda belirli PvP sahnelerinde veya turnuvalarda bonus EXP verilebilir. Bu sistem, oyuncuların aktif kalmasını ve sunucuya sadık kalmasını sağlar.
Sunucu Tarafında Ayarlar
Bu sistemin etkin olması için game/core dosyalarında gerekli ayarlar yapılmalıdır. Özellikle constants.xml ya da locale_game.txt gibi yapılandırmalarla.EXP kazanma oranları ayarlanabilir. Bu değerler, sunucunun dengeli bir şekilde işlemesi için test edilmelidir.
Python ve UIScript ile GUI Entegrasyonu
Eğer isterseniz bu sistemin detaylarını oyunculara göstermek için bir GUI ekranı da geliştirilebilir. Bu ekran, py root klasöründe geliştirilen UIScript ile oluşturulabilir. Oyuncu, kaç kişi öldürdüğüne ve kaç EXP kazandığına buradan ulaşabilir.
Sonuç
Rakip öldürdükçe exp kazanma sistemi, Metin2 özel sunucularında oyuncu etkileşimini ve PvP eğlencesini ciddi anlamda artırır. Doğru uygulandığında, oyuncuların sunucuya olan bağlılığını güçlendirir. Bu sistemin C++ ile entegrasyonu, profesyonel bir geliştirici tarafından detaylı testlerden geçirilerek yapılmalıdır.
Enemy Kill EXP Gain System in C++ for Metin2
The enemy kill EXP gain system is a popular feature in Metin2 private servers designed to enhance player competitiveness.
With this system, players can earn additional experience points (EXP) by defeating other players, not just through regular quests. This speeds up their level progression and makes PvP activities more attractive. In this article, we will explain how to integrate this system into a C++ based Metin2 private server development process.
What Is the System and How Does It Work?
The enemy kill EXP gain system allows players to earn EXP by killing other players. The amount of EXP gained typically depends on the killer's level, the level of the defeated opponent, and server settings. This system must be developed according to the existing C++ source code of Metin2.
C++ Source Code Integration
Firstly, you need to work on the Metin2 server SRC. This system should be developed on the game server side. When a player kills another, a function such as OnKillCharacter is triggered. Inside this function, logic can be added to grant EXP based on the level of the killed character.
Example:
EXP Calculation Algorithm
In this algorithm, the higher the level of the defeated opponent, the greater the EXP reward. Additionally, bonus EXP can be granted during specific PvP zones or tournaments. This system helps keep players active and loyal to the server.
Server-Side Settings
For this system to function properly, necessary configurations must be made in game/core files. Settings like EXP gain rates can be adjusted via constants.xml or locale_game.txt. These values must be tested thoroughly to ensure balanced gameplay.
GUI Integration with Python and UIScript
If desired, a GUI screen can also be developed to display details about this system to players. This screen can be built using UIScript located in the py root folder. Players can view how many enemies they have killed and the EXP earned from those kills.
Conclusion
The enemy kill EXP gain system significantly increases player engagement and PvP fun in Metin2 private servers. When implemented correctly, it strengthens player loyalty to the server. Integration of this system in C++ should be done carefully by a professional developer and tested thoroughly.
Aktif etmek için: /eventflag ambitious_olunce_exp 1
Kapatmak için: /eventflag ambitious_olunce_exp 0
Exp hesaplaması: Ölen oyuncunun leveli * 100 şeklinde kendinize göre düzenleyebilirsiniz
*char_battle.cpp
Aratın:
Kod:
if (!pkKiller->IsPC())
Üstüne ekleyin:
Kod:
if (quest::CQuestManager::instance().GetEventFlag("ambitious_olunce_exp")){ CreateFly(FLY_EXP, pkKiller); CreateFly(FLY_EXP, pkKiller); CreateFly(FLY_EXP, pkKiller); }
Aratın:
Kod:
sys_log(1, "DEAD_BY_PC: %s %p KILLER %s %p", GetName(), this, pkKiller->GetName(), get_pointer(pkKiller));
Üstüne ekleyin:
Kod:
if (quest::CQuestManager::instance().GetEventFlag("ambitious_olunce_exp")){ int iCalcExp = GetLevel() * 100; if (iCalcExp) { pkKiller->PointChange(POINT_EXP, iCalcExp, true); pkKiller->ChatPacket(CHAT_TYPE_INFO, "%s isimli oyuncuyu oldurerek %d exp kazandin.", GetName(), iCalcExp); } }
Rakip Öldürdükçe Exp Kazanma Sistemi C++ ile Metin2
Metin2 özel sunucularında oyuncuların rekabetçi deneyimlerini artırmak için geliştirilen rakip öldürdükçe EXP kazanma sistemi, PvP odaklı sunucularda oldukça popülerdir.
Bu sistem sayesinde oyuncular, normal oyun içi görevler dışında başka oyuncuları yenerek ekstra tecrübe puanları (EXP) kazanabilir. Bu da onların seviye atlamalarını hızlandırır ve PvP aktivitelerini daha cazip kılar. Bu yazıda, C++ tabanlı bir Metin2 özel sunucu geliştirme sürecinde bu sistemin nasıl entegre edileceğini detaylıca ele alacağız.
Sistem Nedir ve Nasıl Çalışır?
Rakip öldürdükçe exp kazanma sistemi, oyuncuların diğer oyuncuları öldürmesiyle belirli bir EXP miktarı kazanmalarını sağlar. Bu.EXP miktarı, genellikle oyuncunun seviyesine, öldürülen rakibin seviyesine ve sunucu ayarlarına göre değişiklik gösterebilir. Bu sistem, Metin2'nin mevcut C++ kaynak koduna uygun olarak geliştirilmelidir.
C++ Kaynak Kodu Entegrasyonu
Öncelikle, Metin2 server SRC üzerinde çalışmak gerekir. Bu sistem, game server tarafında geliştirilmelidir. Oyuncu bir rakibi öldürdüğünde, OnKillCharacter gibi bir fonksiyon tetiklenir. Bu fonksiyonun içine, öldürülen karakterin seviyesine göre EXP verilmesini sağlayan bir mantık yazılır.
Örnek olarak:
Kod:
void CHARACTER::OnKillCharacter(LPCHARACTER pkKiller)[BR][/BR]{[BR][/BR] if (pkKiller && pkKiller != this)[BR][/BR] {[BR][/BR] int iExpGain = CalculateExpByLevel(GetLevel());[BR][/BR] pkKiller->PointChange(POINT_EXP, iExpGain);[BR][/BR] }[BR][/BR]}
Exp Hesaplama Algoritması
Bu algoritmada, öldürülen rakibin seviyesi ne kadar yüksekse, kazanılan EXP miktarı da o kadar artar. Ayrıca, sunucuda belirli PvP sahnelerinde veya turnuvalarda bonus EXP verilebilir. Bu sistem, oyuncuların aktif kalmasını ve sunucuya sadık kalmasını sağlar.
Sunucu Tarafında Ayarlar
Bu sistemin etkin olması için game/core dosyalarında gerekli ayarlar yapılmalıdır. Özellikle constants.xml ya da locale_game.txt gibi yapılandırmalarla.EXP kazanma oranları ayarlanabilir. Bu değerler, sunucunun dengeli bir şekilde işlemesi için test edilmelidir.
Python ve UIScript ile GUI Entegrasyonu
Eğer isterseniz bu sistemin detaylarını oyunculara göstermek için bir GUI ekranı da geliştirilebilir. Bu ekran, py root klasöründe geliştirilen UIScript ile oluşturulabilir. Oyuncu, kaç kişi öldürdüğüne ve kaç EXP kazandığına buradan ulaşabilir.
Sonuç
Rakip öldürdükçe exp kazanma sistemi, Metin2 özel sunucularında oyuncu etkileşimini ve PvP eğlencesini ciddi anlamda artırır. Doğru uygulandığında, oyuncuların sunucuya olan bağlılığını güçlendirir. Bu sistemin C++ ile entegrasyonu, profesyonel bir geliştirici tarafından detaylı testlerden geçirilerek yapılmalıdır.
Enemy Kill EXP Gain System in C++ for Metin2
The enemy kill EXP gain system is a popular feature in Metin2 private servers designed to enhance player competitiveness.
With this system, players can earn additional experience points (EXP) by defeating other players, not just through regular quests. This speeds up their level progression and makes PvP activities more attractive. In this article, we will explain how to integrate this system into a C++ based Metin2 private server development process.
What Is the System and How Does It Work?
The enemy kill EXP gain system allows players to earn EXP by killing other players. The amount of EXP gained typically depends on the killer's level, the level of the defeated opponent, and server settings. This system must be developed according to the existing C++ source code of Metin2.
C++ Source Code Integration
Firstly, you need to work on the Metin2 server SRC. This system should be developed on the game server side. When a player kills another, a function such as OnKillCharacter is triggered. Inside this function, logic can be added to grant EXP based on the level of the killed character.
Example:
Kod:
void CHARACTER::OnKillCharacter(LPCHARACTER pkKiller)[BR][/BR]{[BR][/BR] if (pkKiller && pkKiller != this)[BR][/BR] {[BR][/BR] int iExpGain = CalculateExpByLevel(GetLevel());[BR][/BR] pkKiller->PointChange(POINT_EXP, iExpGain);[BR][/BR] }[BR][/BR]}
EXP Calculation Algorithm
In this algorithm, the higher the level of the defeated opponent, the greater the EXP reward. Additionally, bonus EXP can be granted during specific PvP zones or tournaments. This system helps keep players active and loyal to the server.
Server-Side Settings
For this system to function properly, necessary configurations must be made in game/core files. Settings like EXP gain rates can be adjusted via constants.xml or locale_game.txt. These values must be tested thoroughly to ensure balanced gameplay.
GUI Integration with Python and UIScript
If desired, a GUI screen can also be developed to display details about this system to players. This screen can be built using UIScript located in the py root folder. Players can view how many enemies they have killed and the EXP earned from those kills.
Conclusion
The enemy kill EXP gain system significantly increases player engagement and PvP fun in Metin2 private servers. When implemented correctly, it strengthens player loyalty to the server. Integration of this system in C++ should be done carefully by a professional developer and tested thoroughly.
