Hamle Atınca hp değişme ile otopot basınca ek hp vermesi

  • 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
oto pot bugu.otopot açınca ek max hp ekleniyor
<a href=" " class="link link--external" target="_blank" rel="nofollow ugc noopener" data-proxy-href="/proxy.php?link=https%3A%2F%2Fi.gyazo.com%2F962c5470781090f4cb296254b4524c87.gif&amp;hash=8c4a26fef0853aedb94fd74f28d3c58e"> </a> hamle bugu.Zırha max hp taşı takılı iken hamle atınca hp yükselip iniyor.
<a href=" " class="link link--external" target="_blank" rel="nofollow ugc noopener" data-proxy-href="/proxy.php?link=https%3A%2F%2Fi.gyazo.com%2Ffa42ed8d124eaa143d9cf7da8d52017a.gif&amp;hash=935bd875832b1d0c1a85cd580da58c3f"> </a>

otopot bugu için
char_item.cpp de
şu kısımları alttaki gibi yap

hamle bugu için
char_skill.cpp de şu kısımları alttaki gibi yap


not:bug kaynağını belirttim belki fazladan kod bloğu kaldırmış olabilirim
geniş çaplı test etmedim.
Hamle Atınca HP Değişme ve Oto Pot Basınca Ekstra HP Verme Sistemi - Metin2 Geliştirme

Metin2 özel sunucularında geliştirme yaparken, oyuncu deneyimini artırmak ve daha dengeli bir savaş ortamı yaratmak için bazı özel sistemlerin entegrasyonu oldukça önemlidir. Bu makalede, hamle atarken HP düşürme ve otomatik iksir kullanıldığında ekstra HP kazanımı sağlayan sistemlerin nasıl geliştirileceği ve C++ veya Python tabanlı kodlama ile nasıl entegre edileceği üzerinde duracağız.

Hamle Atınca HP Değişimi Sistemi

Bu sistem, oyuncuların saldırı gerçekleştirdiklerinde belirli bir miktar can harcamasını sağlar. Özellikle yüksek hasar veren fakat dezavantajlı hareketler için idealdir. Bu sistem, Metin2 oyununda PVP savaşlarını daha stratejik ve dikkat isteyen bir hale getirir.

C++ tarafında, CHAR_MANAGER::PointChange fonksiyonu üzerinden HP azaltma işlemi yapılabilir. Hamle sırasında belirlenen değer kadar HP düşürülebilir. Bu işlem, belirli bir skill ID kontrolüyle yapılır. Örneğin, 'skill_id == XYZ' koşulu sağlanırsa, HP azaltılır.

Örnek Kod Yapısı (C++)

if (skill_id == SKILL_ID_SPECIAL_MOVE) {
POINT_MAX_HP = point.iVal;
if (GetHP() > 1000) {
PointChange(POINT_HP, -1000);
}
}


Otomatik İksir Bastırma ve Ekstra HP Kazanımı

Metin2 özel sunucularında, otomatik olarak HP veya SP artırma sistemi oyuncuların daha uzun süre aktif kalmasını sağlar. Ancak bu sistemin sadece normal kullanım değil, özel bonuslarla da desteklenmesi gerekir. Örneğin, otomatik olarak kullanılan iksirin belirli bir yüzde oranında fazladan HP kazandırması gibi.

Python tarafında, 'player.SetStatus' veya 'net.SendChat' üzerinden otomatik iksir basma işlemi yapılırken, belirli bir şansa göre ekstra HP kazanımı sağlanabilir. Bu, oyuncunun savaş gücünü artırırken, aynı zamanda sürdürülebilirliği de destekler.

Python Kod Örneği

def AutoPotionBonus():
if random.randint(1, 100) <= 20: # %20 ihtimal
player.SetHP(player.GetHP() + 500)


Sonuç

Hamle atarken HP kaybı ve otomatik iksir kullanıldığında ekstra HP kazanımı sistemi, Metin2 özel sunucularında hem stratejik savaşları destekler hem de oyuncuların daha aktif kalmasını sağlar. Bu sistemlerin doğru entegrasyonu için C++ ve Python bilgisi gereklidir. Bu sayede, Metin2 geliştiricileri daha zengin ve rekabetçi bir oyun deneyimi sunabilirler.


HP Reduction on Skill Use & Extra HP Gain on Auto Potion - Metin2 Development

When developing private servers for Metin2, integrating special systems such as reducing HP upon skill use and granting additional HP through auto-potion usage enhances gameplay experience and creates a more balanced combat environment. This article explores how these systems can be developed and integrated using C++ or Python-based coding techniques.

HP Reduction System When Using Skills

This system forces players to spend a certain amount of health when performing attacks. It is particularly useful for high-damage but risky moves, making PvP battles more strategic and engaging in Metin2.

In C++, the HP reduction can be handled via the CHAR_MANAGER::PointChange function. The HP is reduced by a defined value during specific skills, identified through skill ID checks. For example, if 'skill_id == XYZ', then HP is reduced accordingly.

Sample Code Structure (C++)

if (skill_id == SKILL_ID_SPECIAL_MOVE) {
POINT_MAX_HP = point.iVal;
if (GetHP() > 1000) {
PointChange(POINT_HP, -1000);
}
}


Auto Potion Trigger and Bonus HP Gain

Auto potion systems in Metin2 private servers help keep players active longer. However, it’s beneficial to enhance this system with bonuses such as extra HP gain when potions are used automatically. This supports both combat strength and sustainability.

In Python, auto-potion mechanics can be implemented using functions like 'player.SetStatus' or 'net.SendChat'. With a chance-based condition, extra HP can be granted each time an auto-potion is used.

Python Code Example

def AutoPotionBonus():
if random.randint(1, 100) <= 20: # 20% chance
player.SetHP(player.GetHP() + 500)


Conclusion

Implementing HP loss on skill usage and bonus HP gain from auto-potions supports strategic combat and enhances player activity in Metin2 private servers. Proper integration of these systems requires knowledge in both C++ and Python, enabling developers to offer richer and more competitive gaming experiences.
 

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

Geri
Üst Alt