char_battle.cpp
açılır.
açılır.
Kod:
if (pAttacker->GetPoint(POINT_HIT_HP_RECOVERY) && number(0, 4) > 0) // 80% Č®·ü { int i = MIN(dam, iCurHP) * pAttacker->GetPoint(POINT_HIT_HP_RECOVERY) / 100; if (i) { CreateFly(FLY_HP_SMALL, pAttacker); pAttacker->PointChange(POINT_HP, i); } }
Kod:
if (pAttacker->GetPoint(POINT_HIT_HP_RECOVERY) && number(0, 4) > 0) // 80% Č®·ü { int i = MIN(dam, iCurHP) * pAttacker->GetPoint(POINT_HIT_HP_RECOVERY) / 100; if (i && i > 0) { CreateFly(FLY_HP_SMALL, pAttacker); pAttacker->PointChange(POINT_HP, i); } }
Konu'da dana önce resimler ile anlatmıştım. Birisi bulamadığını ve sorun yaşadığını söyledi.
Konu Günceldir.
Paylaşımları devamı gelecektir..
Metin2 Oyun Sunucularında C++ ile Sura Skill Hatalarını Giderme
Sura Skill Sistemi Nedir?
Metin2 özel sunucularında Sura sınıfı, yüksek hasar ve kontrol yetenekleriyle dikkat çeker. Ancak bu sınıfın yetenekleri bazen beklenmedik hatalarla karşılaşabilir. Özellikle Sura skill sisteminde meydana gelen buglar, oyuncuların becerilerini kullanmasını engeller veya istenmeyen davranışlara neden olabilir. Bu makalede, C++ dilinde yazılmış Metin2 server source üzerinde Sura skill buglarını nasıl fix edeceğimizi ele alacağız.
Ortak Sura Skill Bugları ve Nedenleri
Metin2 özel sunucularında karşılaşılan en yaygın Sura skill bugları şunlardır:
- Yeteneklerin çalışması sırasında oyuncu donabiliyor.
- Yetenek animasyonları oynarken hasar gelmiyor.
- Yetenekler başka karakterler üzerinde etki yaratmıyor.
- Yetenek seviyesi doğru olmasına rağmen hasar düşük çıkıyor.
C++ tabanlı server src dosyalarında bu sorunlar genellikle game core kısmında bulunan skill yönetimi kodlarında yer alan mantık hatalarından veya eksik kontrollerden kaynaklanır.
Skill Fixleme Adımları
1. Skill sistemini çalıştıran fonksiyonları analiz edin. Genellikle bu fonksiyonlar char_skill.cpp veya benzeri dosyalarda bulunur.
2. Sura sınıfına özel yetenekler için tanımlanan switch-case bloklarında eksik veya yanlış kod var mı diye kontrol edin.
3. Yeteneklerin hasar hesaplamasının yapıldığı yerde damage fonksiyonuna aktarılan parametrelerin doğru olup olmadığını kontrol edin.
4. Yetenek animasyonları ve efektleri doğru yüklendiğinden emin olun. Bu dosyalar client src tarafında yer alabilir ama sunucu tarafında da eşleştirilmelidir.
Örnek Kod Düzeltmesi
Aşağıda örnek bir Sura skill kontrolü içeren C++ kod parçası verilmiştir. Bu kodda hata durumunda hasar hesaplaması yapılmıyor olabilir:
if (ch->GetJob() == JOB_SURAMAN && skill_vnum == SKILL_VNUM)
{
int damage = CalculateDamage(ch, victim, skill_level);
victim->PointChange(POINT_HP, -damage);
}
else
{
return false;
}
Fixleme Sonrası Kontrol
Fix işlemi tamamlandıktan sonra compile işlemini yaparak sunucuyu yeniden başlatın. Test aşamasında Sura karakter ile yeteneklerin düzgün çalışıp çalışmadığını kontrol edin. Gerekirse db tarafında da yetenek ayarlarını gözden geçirin.
Kaynaklar ve Yardımcı Araçlar
Metin2Lobby olarak C++ tabanlı Metin2 server src üzerinde çalışan geliştiricilere özel araçlar, source edit örnekleri ve skill sistemleriyle ilgili destek sağlıyoruz. Ayrıca Martysama gibi deneyimli geliştiricilerin katkılarıyla Metin2 development konusunda güncel bilgileri de platformumuzda bulabilirsiniz.
Fixing Sura Skill Bugs with C++ in Metin2 Private Servers
What is the Sura Skill System?
In Metin2 private servers, the Sura class stands out due to its high damage output and control abilities. However, sometimes these skills may encounter unexpected bugs. Particularly, bugs occurring in the Sura skill system can prevent players from using their abilities or cause unwanted behaviors. In this article, we will address how to fix Sura skill bugs on Metin2 server source code written in C++.
Common Sura Skill Bugs and Their Causes
The most common Sura skill bugs encountered in Metin2 private servers are:
- Players freeze during ability usage.
- Damage does not occur while animations play.
- Skills do not affect other characters.
- Damage is low despite correct skill level.
These issues usually arise from logic errors or missing checks in the skill management codes found within the game core section of C++-based server src files.
Steps for Skill Fixing
1. Analyze the functions running the skill system. These functions are typically located in files like char_skill.cpp.
2. Check switch-case blocks defined for Sura-specific skills for any missing or incorrect code.
3. Ensure parameters passed to the damage function during damage calculation are correct.
4. Confirm that skill animations and effects are loaded correctly. These files may reside in client src but must also be matched on the server side.
Example Code Correction
Below is an example C++ code snippet containing a Sura skill check where damage calculation might not occur upon error:
if (ch->GetJob() == JOB_SURAMAN && skill_vnum == SKILL_VNUM)
{
int damage = CalculateDamage(ch, victim, skill_level);
victim->PointChange(POINT_HP, -damage);
}
else
{
return false;
}
Post-Fix Verification
After completing the fix, perform a compile and restart your server. During testing, verify if Sura character abilities work properly. If necessary, review skill settings on the db side as well.
Resources and Helper Tools
At Metin2Lobby, we provide specialized tools, source edit examples, and support regarding skill systems for developers working on C++-based Metin2 server src. Additionally, you can find up-to-date information about Metin2 development through contributions from experienced developers like Martysama on our platform.
