Max Level Beceri Kitabı Okuma Fix

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Piyasadaki tüm dosyalarda mevcut olan bir hata. Son seviyeye ulaştığınızda tecrübe edinmeniz mümkün değil. Dolayısıyla beceri kitabı da okuyamazsınız. Bunun için bir hata çözümüdür. Son seviyeye ulaştığınızda beceri kitabı okumak, tecrübe gerektirmez.

if (FN_should_check_exp(this))
{
need_exp = 0;
if (GetLevel() < PLAYER_MAX_LEVEL_CONST) { need_exp = 20000; }

if ( GetExp() < need_exp )
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("°æÇèÄ¡°¡ ºÎÁ·ÇÏ¿© Ã¥À» ÀĞÀ» ¼ö ¾ø½À´Ï´Ù."));
return false;
}
}
Dosyanızda PLAYER_MAX_LEVEL_CONST tanımlı değil ise oraya maksimum seviyeyi manuel olarak verebilirsiniz. 99-105-120.
Max Level Beceri Kitabı Okuma Fix

Metin2 özel sunucularında beceri kitaplarının okunması sırasında karşılaşılan max level beceri sınırlaması, geliştiriciler için ciddi bir engel teşkil edebilir. Bu durum özellikle yüksek seviye sistemlerin entegre edildiği sunucularda daha sık görülür. Bu makalede, beceri kitabının okunmasını engelleyen bu hatayı nasıl düzelteceğinizi detaylıca anlatacağız.

Problemin Tanımı
Metin2 oyununda beceri kitapları, karakterin belirli bir becerisini yükseltmek için kullanılır. Ancak bazı özel sunucularda, beceri kitabının okunması sırasında sistem, mevcut beceri seviyesi maksimum seviyeye ulaştığında kitabın okunmasına izin vermez. Bu durum, beceri seviyesi zaten maximum olan oyuncular için beceri kitabı kullanımını imkansız hale getirir.

Hatanın Kaynağı
Genellikle bu hata, game_core veya client_src üzerinde yapılan düzenlemelerde eksik kontrol nedeniyle oluşur. Özellikle beceri kitabının okunması sırasında skill.cpp dosyasında yer alan beceri seviye kontrolü, beceri seviyesi maximum olduğunda işlemi iptal edecek şekilde ayarlanmış olabilir.

Fix Uygulaması
Fix için öncelikle game_src dosyalarında yer alan skill.cpp dosyasını açmanız gerekir. Aşağıdaki gibi bir kod bloğu ile karşılaşabilirsiniz:

if (pkSkill->GetPoint() >= pkSkillProto->bMaxLevel)
{
return false;
}

Bu kod, beceri seviyesi maximum olduğunda beceri kitabının okunmasını engeller. Bu kontrolü kaldırmak veya değiştirmek için, bu kontrolün üzerine bir koşul ekleyebilirsiniz. Örneğin, beceri kitabının özel bir item olduğunu belirten bir ID kontrolü ekleyerek, bu kitabın max seviyede dahi okunmasına izin verebilirsiniz.

Örnek Kod Düzeltmesi:
if (pkSkill->GetPoint() >= pkSkillProto->bMaxLevel && !IsSpecialBook(item_vnum))
{
return false;
}

Yukarıdaki örnekte, IsSpecialBook() fonksiyonu özel beceri kitaplarını tanımlamak için kullanılabilir. Bu sayede normal beceri kitapları hâlâ kontrol edilirken, özel kitaplar için bu kural geçersiz kılınır.

Python Tarafında GUI Entegrasyonu
Eğer sunucunuzda py_gui veya uiscript tabanlı bir arayüz kullanıyorsanız, bu beceri kitaplarının doğru şekilde gösterilip gösterilmediğini de kontrol etmelisiniz. py_root üzerinden beceri menüsünde yapılan değişiklikler, kullanıcı tarafında da doğru şekilde yansıtılmadığında beceri kitapları görünmeyebilir veya işlevsel olmayabilir.

Test Süreci
Fix uygulandıktan sonra, hem auth hem de game sunucuları yeniden derlenmelidir. Derleme işlemi tamamlandıktan sonra test sunucusunda beceri kitabının max seviyede dahi kullanılıp kullanılmadığı kontrol edilmelidir. Ayrıca, farklı beceriler için aynı kontrol yapılmalıdır.

Sonuç
Max level beceri kitabı okuma fix, Metin2 özel sunucularında beceri sistemlerinin daha esnek ve kullanıcı dostu hale getirilmesi için önemli bir adımdır. Bu fix sayesinde, oyuncuların beceri kitaplarını daha verimli kullanabilmesi sağlanır. Geliştiricilerin dikkat etmesi gereken en önemli konulardan birisi, hem client hem de server tarafında yapılan değişikliklerin senkron olmasıdır. Bu doğrultuda, Martysama gibi deneyimli geliştirici toplulukları yardımıyla test süreci hızlandırılabilir.


Max Level Skill Book Read Fix

In Metin2 private servers, encountering a max skill level restriction while reading skill books can pose a significant challenge for developers. This issue commonly appears in servers that implement high-level systems. In this article, we will explain how to fix the error that prevents skill books from being read.

Problem Definition
In the Metin2 game, skill books are used to enhance a character's specific skills. However, in some private servers, the system blocks the usage of skill books if the current skill level has already reached its maximum. This causes skill books unusable for players whose skills are at maximum level.

Root Cause of the Error
This error typically occurs due to incomplete checks during modifications made in game_core or client_src. Specifically, the skill level check in the skill.cpp file may be configured to cancel the book usage process when the skill level is already at its maximum.

Applying the Fix
To apply the fix, you first need to open the skill.cpp file located in your game_src files. You might encounter a code block similar to the following:

if (pkSkill->GetPoint() >= pkSkillProto->bMaxLevel)
{
return false;
}

This code prevents skill book usage when the skill level is at maximum. To allow special skill books to be used even at max level, you can add an additional condition before this check. For instance, by adding an ID check that identifies special skill books, you can bypass the max level restriction for those items.

Example Code Correction:
if (pkSkill->GetPoint() >= pkSkillProto->bMaxLevel && !IsSpecialBook(item_vnum))
{
return false;
}

In the above example, the IsSpecialBook() function can be used to identify special skill books. Thus, while regular skill books are still restricted, special ones bypass this rule.

Python GUI Integration
If your server uses py_gui or uiscript-based interfaces, ensure that these skill books are properly displayed on the client side. Modifications made via py_root in the skill menu must reflect correctly on the user interface, otherwise skill books may not appear or function as intended.

Testing Process
After applying the fix, both auth and game servers should be recompiled. Once compilation is complete, verify whether the skill book can be used even at max level in a test environment. Also, perform similar checks for different skills.

Conclusion
The max level skill book read fix is an important step towards making skill systems more flexible and user-friendly in Metin2 private servers. With this fix, players can utilize skill books more effectively. One of the most important aspects developers should pay attention to is ensuring synchronization between client and server-side changes. Following this approach, test processes can be accelerated with the help of experienced developer communities like Martysama.
 

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

Benzer konular

Geri
Üst Alt