At üzerinde vakit geçirdikten sonra atın yorulmasını ve atın bir süre sonra acıkıp ölmesini engeller.
bul ve yorum satırına al
bul. ve içindeki fonksiyonu yorum satırına al.
Artık atınız dayanıklılık az uyarısı vermeyecek, acıksa bile ölmeyecek.
Metin2 Sunucularında C++ ile At Yorgunluğu ve Ölümünü Kaldırma Sistemi
Metin2 özel sunucuları geliştirmeye çalışan geliştiriciler için at yorgunluğu ve at ölümü gibi mekanikler bazen oyuncu deneyimini sınırlayabilir. Özellikle PvP odaklı sunucularda atlar sürekli olarak yorulduğu veya öldüğü için oyuncuların hareket kabiliyeti ciddi şekilde etkilenebilir. Bu yazıda C++ tabanlı game server üzerinde bu sistemi nasıl devre dışı bırakacağımızı detaylıca inceleyeceğiz.
At Mekaniği Nedir?
Metin2 oyununda atlar belirli süre sonra yorulur ve daha fazla koşamaz hale gelir. Bu sistem, oyunun gerçekçiliğini artırmak için tasarlanmıştır. Ancak özel sunucularda bu mekanik genellikle istenmeyen bir durumdur. Oyuncular hızlı hareket etmek ve savaşlara anında müdahale etmek isteyebilir. Bu sebeple at yorgunluğu ve ölümü sistemini kaldırmak, sunucu sahipleri tarafından sıkça tercih edilir.
Sunucu Kaynağına Müdahale Gereklidir
Bu işlemi yapabilmek için game server dosyalarında değişiklik yapmanız gerekir. Özellikle C++ bilginiz olmalıdır. Değişiklikler genellikle char_horse.cpp, char.cpp veya horse_rider.cpp gibi dosyalarda yapılır. Burada atla ilgili fonksiyonları bulup yorgunluk ve ölüm mekaniklerini devre dışı bırakmalısınız.
Yapılacak Değişiklikler
1. Horse stamina değerini sıfırlamak: Stamina düşürülen fonksiyonu iptal edebilir veya sürekli olarak maksimum değerde tutabilirsiniz.
2. At ölümünü engelleme: At canının belli bir seviyenin altına düşmesini önleyin veya ölüm fonksiyonunu bypass edin.
3. Client tarafında gösterilen görsel efektleri değiştirebilirsiniz. Örneğin, yorgunluk simgesi görünmesin.
Örnek Kod Parçası
void CHARACTER::HorseDie(){
// Bu fonksiyonu boş bırakarak at ölümünü engelleriz.
return;
}
void CHARACTER::UpdateHorseStamina(int amount){
// Yorgunluk miktarını sabit tutarak atın yorulmasını engelleyin.
SetHorseStamina(GetMaxHorseStamina());
}
Unutmayın: Bu değişiklikler server-side yapılır. Client tarafında da bazı ayarlamalar gerekebilir. Ayrıca auth server ve db core ile uyumlu çalıştığınızdan emin olun.
Sonuç
Metin2 özel sunucularında at yorgunluğu ve ölümünü kaldırmak, oyuncu deneyimini ciddi anlamda artırabilir. Özellikle PvP sunucularında bu tür sistemsel değişiklikler, oyun akışını olumlu yönde etkileyebilir. C++ bilgisi olan geliştiriciler için oldukça kolay bir işlemdir. Ancak dikkatli olunması gereken nokta, source edit sırasında sistemin diğer bölümlerini etkilememek gerekir. Metin2Lobby olarak size sunduğumuz kaynaklar sayesinde bu işlemleri daha kolay yapabilirsiniz.
Removing Horse Fatigue / Death in Metin2 Private Servers with C++
For developers working on Metin2 private servers, mechanics like horse fatigue and horse death may sometimes limit player experience. Especially in PvP-focused servers, horses often become tired or die, which significantly impacts players mobility. In this article, we will examine in detail how to disable these mechanics on a C++-based game server.
What Is the Horse Mechanic?
In Metin2, horses become tired after running for a certain period and can no longer move quickly. This system was designed to increase the game's realism. However, in private servers, this mechanic is often unwanted. Players may want to move faster and intervene in battles instantly. Therefore, removing horse fatigue and death mechanics is frequently preferred by server owners.
Server-Side Source Modification Required
To perform this operation, you need to make changes to your game server files. You should especially have knowledge of C++. Changes are generally made in files such as char_horse.cpp, char.cpp, or horse_rider.cpp. Here, you must locate the functions related to horses and disable fatigue and death mechanics.
Changes to Be Made
1. Reset horse stamina: You can disable the function that reduces stamina or keep it always at maximum value.
2. Prevent horse death: Prevent horse HP from dropping below a certain threshold or bypass the death function.
3. You can modify visual effects shown on the client side. For example, prevent the fatigue icon from appearing.
Sample Code
void CHARACTER::HorseDie(){
// By leaving this function empty, we prevent horse death.
return;
}
void CHARACTER::UpdateHorseStamina(int amount){
// Keep stamina at max value to prevent horse from getting tired.
SetHorseStamina(GetMaxHorseStamina());
}
Remember: These changes are done on the server-side. Some adjustments may also be required on the client side. Also ensure compatibility with auth server and db core.
Conclusion
Removing horse fatigue and death in Metin2 private servers can significantly improve the player experience. Especially in PvP servers, such systemic changes can positively affect gameplay flow. It is quite easy for developers with C++ knowledge. However, care must be taken not to affect other parts of the system during source edit. With the resources provided by Metin2Lobby, you can perform these operations more easily.
Kod:
EVENTFUNC(horse_stamina_consume_event) içinde; hr->UpdateHorseStamina(-1);
bul ve yorum satırına al
Kod:
Bu şekilde gözükür. { horserider_info* info = dynamic_cast<horserider_info*>( event->info ); if ( info == NULL ) { sys_err( "horse_stamina_consume_event> <Factor> Null pointer" ); return 0; } CHorseRider* hr = info->hr; if (hr->GetHorseHealth() <= 0) { hr->m_eventStaminaConsume = NULL; return 0; } // hr->UpdateHorseStamina(-1); // at dayanıklılığı azalmayacak. hr->UpdateRideTime(HORSE_STAMINA_CONSUME_INTERVAL); int delta = PASSES_PER_SEC(HORSE_STAMINA_CONSUME_INTERVAL); if (hr->GetHorseStamina() == 0) { hr->m_eventStaminaConsume = NULL; delta = 0; } hr->CheckHorseHealthDropTime(); sys_log(0, "HORSE STAMINA - %p", get_pointer(event)); return delta; }
bul. ve içindeki fonksiyonu yorum satırına al.
Kod:
void CHorseRider::UpdateHorseHealth(int iHealth, bool bSend) { int level = GetHorseLevel(); m_Horse.sHealth = MINMAX(0, m_Horse.sHealth + iHealth, c_aHorseStat[level].iMaxHealth); if (level && m_Horse.sHealth == 0) HorseDie(); if (bSend) SendHorseInfo(); }
Kod:
//if (level && m_Horse.sHealth == 0) //HorseDie(); // atın ölme fonksiyonuna geçmesini kaldırdık.
Artık atınız dayanıklılık az uyarısı vermeyecek, acıksa bile ölmeyecek.
Metin2 Sunucularında C++ ile At Yorgunluğu ve Ölümünü Kaldırma Sistemi
Metin2 özel sunucuları geliştirmeye çalışan geliştiriciler için at yorgunluğu ve at ölümü gibi mekanikler bazen oyuncu deneyimini sınırlayabilir. Özellikle PvP odaklı sunucularda atlar sürekli olarak yorulduğu veya öldüğü için oyuncuların hareket kabiliyeti ciddi şekilde etkilenebilir. Bu yazıda C++ tabanlı game server üzerinde bu sistemi nasıl devre dışı bırakacağımızı detaylıca inceleyeceğiz.
At Mekaniği Nedir?
Metin2 oyununda atlar belirli süre sonra yorulur ve daha fazla koşamaz hale gelir. Bu sistem, oyunun gerçekçiliğini artırmak için tasarlanmıştır. Ancak özel sunucularda bu mekanik genellikle istenmeyen bir durumdur. Oyuncular hızlı hareket etmek ve savaşlara anında müdahale etmek isteyebilir. Bu sebeple at yorgunluğu ve ölümü sistemini kaldırmak, sunucu sahipleri tarafından sıkça tercih edilir.
Sunucu Kaynağına Müdahale Gereklidir
Bu işlemi yapabilmek için game server dosyalarında değişiklik yapmanız gerekir. Özellikle C++ bilginiz olmalıdır. Değişiklikler genellikle char_horse.cpp, char.cpp veya horse_rider.cpp gibi dosyalarda yapılır. Burada atla ilgili fonksiyonları bulup yorgunluk ve ölüm mekaniklerini devre dışı bırakmalısınız.
Yapılacak Değişiklikler
1. Horse stamina değerini sıfırlamak: Stamina düşürülen fonksiyonu iptal edebilir veya sürekli olarak maksimum değerde tutabilirsiniz.
2. At ölümünü engelleme: At canının belli bir seviyenin altına düşmesini önleyin veya ölüm fonksiyonunu bypass edin.
3. Client tarafında gösterilen görsel efektleri değiştirebilirsiniz. Örneğin, yorgunluk simgesi görünmesin.
Örnek Kod Parçası
void CHARACTER::HorseDie(){
// Bu fonksiyonu boş bırakarak at ölümünü engelleriz.
return;
}
void CHARACTER::UpdateHorseStamina(int amount){
// Yorgunluk miktarını sabit tutarak atın yorulmasını engelleyin.
SetHorseStamina(GetMaxHorseStamina());
}
Unutmayın: Bu değişiklikler server-side yapılır. Client tarafında da bazı ayarlamalar gerekebilir. Ayrıca auth server ve db core ile uyumlu çalıştığınızdan emin olun.
Sonuç
Metin2 özel sunucularında at yorgunluğu ve ölümünü kaldırmak, oyuncu deneyimini ciddi anlamda artırabilir. Özellikle PvP sunucularında bu tür sistemsel değişiklikler, oyun akışını olumlu yönde etkileyebilir. C++ bilgisi olan geliştiriciler için oldukça kolay bir işlemdir. Ancak dikkatli olunması gereken nokta, source edit sırasında sistemin diğer bölümlerini etkilememek gerekir. Metin2Lobby olarak size sunduğumuz kaynaklar sayesinde bu işlemleri daha kolay yapabilirsiniz.
Removing Horse Fatigue / Death in Metin2 Private Servers with C++
For developers working on Metin2 private servers, mechanics like horse fatigue and horse death may sometimes limit player experience. Especially in PvP-focused servers, horses often become tired or die, which significantly impacts players mobility. In this article, we will examine in detail how to disable these mechanics on a C++-based game server.
What Is the Horse Mechanic?
In Metin2, horses become tired after running for a certain period and can no longer move quickly. This system was designed to increase the game's realism. However, in private servers, this mechanic is often unwanted. Players may want to move faster and intervene in battles instantly. Therefore, removing horse fatigue and death mechanics is frequently preferred by server owners.
Server-Side Source Modification Required
To perform this operation, you need to make changes to your game server files. You should especially have knowledge of C++. Changes are generally made in files such as char_horse.cpp, char.cpp, or horse_rider.cpp. Here, you must locate the functions related to horses and disable fatigue and death mechanics.
Changes to Be Made
1. Reset horse stamina: You can disable the function that reduces stamina or keep it always at maximum value.
2. Prevent horse death: Prevent horse HP from dropping below a certain threshold or bypass the death function.
3. You can modify visual effects shown on the client side. For example, prevent the fatigue icon from appearing.
Sample Code
void CHARACTER::HorseDie(){
// By leaving this function empty, we prevent horse death.
return;
}
void CHARACTER::UpdateHorseStamina(int amount){
// Keep stamina at max value to prevent horse from getting tired.
SetHorseStamina(GetMaxHorseStamina());
}
Remember: These changes are done on the server-side. Some adjustments may also be required on the client side. Also ensure compatibility with auth server and db core.
Conclusion
Removing horse fatigue and death in Metin2 private servers can significantly improve the player experience. Especially in PvP servers, such systemic changes can positively affect gameplay flow. It is quite easy for developers with C++ knowledge. However, care must be taken not to affect other parts of the system during source edit. With the resources provided by Metin2Lobby, you can perform these operations more easily.
