Merhaba arkadaşlar.
Bu yapacağımız işlem hem alt becerilere doğru miktarda puan dağıtılmasını hem de it->second->bMaxLevel'i map_pkSkillProto'dan çıkarmasını engelleyecek. Bir nevi kaynağı yormasını önleyecek.
/all_skill_master Komutu İçin Düzeltme
Metin2 özel sunucularında /all_skill_master komutu, oyuncuların tüm beceri seviyelerini doğrudan maksimum seviyeye yükseltmek için kullanılır. Ancak bazı durumlarda bu komut beklenen gibi çalışmayabilir veya hata verebilir. Bu yazıda, /all_skill_master komutunun düzeltme yöntemlerinden bahsedeceğiz.
Neden /all_skill_master Hatası Alınır?
Bu komut genellikle geliştirici kaynak kodlarında eksik ya da hatalı tanımlanmış fonksiyonlardan dolayı çalışmaz. Özellikle game core dosyalarında cmd_all_skill_master fonksiyonu eksikse, komut tanınmaz.
Düzeltme Adımları
1. Öncelikle game/src/char.cpp dosyasında ACMD(do_all_skill_master) fonksiyonunun doğru tanımlandığından emin olun.
2. Fonksiyon, cmdlist_add kısmında komut listesine eklenmiş mi kontrol edilmeli.
3. Gerekirse locale_inc.h veya constants.py gibi yapılandırma dosyalarında komut izinleri kontrol edilmeli.
4. Eğer komut istemci tarafında tanımlı değilse, uiscript veya py root klasörlerinde gerekli düzenlemeler yapılmalıdır.
Örnek Kod Yapısı
Aşağıda örnek bir do_all_skill_master fonksiyon yapısı verilmiştir:
ACMD(do_all_skill_master)
{
// Tüm becerileri maksimum seviyeye getirme
ch->SkillLevelMax();
}
Hata Ayıklama
Sunucu logları üzerinden komutun çalışıp çalışmadığını takip edin. Eğer komut Unknown command hatası veriyorsa, muhtemelen command list içinde tanımlı değildir.
Sonuç
Metin2 özel sunucularda /all_skill_master komutunun düzgün çalışması için hem server src hem de client src tarafında gerekli tanımlamaların yapılması gerekir. Bu tür komutlar, test süreçlerinde büyük kolaylık sağlar.
Daha fazla Metin2 geliştirme rehberi için Metin2Lobby sitesini takip edin.
Fix for /all_skill_master Command
In Metin2 private servers, the /all_skill_master command is used to instantly max out all skills for players. However, sometimes this command may not work properly or throw errors. In this article, we will discuss how to fix the /all_skill_master command.
Why /all_skill_master Fails?
This command often fails due to missing or incorrectly defined functions in the source code. Specifically, if the cmd_all_skill_master function is not properly implemented in the game core files, the command won't be recognized.
Correction Steps
1. First, ensure that the ACMD(do_all_skill_master) function is correctly defined in the game/src/char.cpp file.
2. Check if the function is added to the command list via cmdlist_add.
3. If needed, verify permissions in configuration files like locale_inc.h or constants.py.
4. If the command isn't defined on the client side, adjustments in uiscript or py root folders are required.
Sample Code Structure
Below is an example structure for the do_all_skill_master function:
ACMD(do_all_skill_master)
{
// Max out all skills
ch->SkillLevelMax();
}
Debugging
Monitor server logs to see if the command executes. If you receive an Unknown command error, the command is likely not registered in the command list.
Conclusion
To make the /all_skill_master command work properly in Metin2 private servers, both the server src and client src must have correct implementations. Such commands can greatly simplify testing phases.
For more Metin2 development guides, visit Metin2Lobby.
Bu yapacağımız işlem hem alt becerilere doğru miktarda puan dağıtılmasını hem de it->second->bMaxLevel'i map_pkSkillProto'dan çıkarmasını engelleyecek. Bir nevi kaynağı yormasını önleyecek.
Kod:
//arat; ACMD(do_all_skill_master) //fonksiyonu komple değiştir; ACMD(do_all_skill_master) { ch->SetHorseLevel(SKILL_MAX_LEVEL); for (int i = 0; i < SKILL_MAX_NUM; i++) { if (true == ch->CanUseSkill(i)) { switch (i) { case SKILL_COMBO: ch->SetSkillLevel(i, 2); break; case SKILL_LANGUAGE1: case SKILL_LANGUAGE2: case SKILL_LANGUAGE3: ch->SetSkillLevel(i, 20); break; case SKILL_HORSE_SUMMON: ch->SetSkillLevel(i, 10); break; case SKILL_HORSE: ch->SetSkillLevel(i, HORSE_MAX_LEVEL); break; case SKILL_HORSE_WILDATTACK: case SKILL_HORSE_CHARGE: case SKILL_HORSE_ESCAPE: case SKILL_HORSE_WILDATTACK_RANGE: ch->SetSkillLevel(i, 20); break; default: ch->SetSkillLevel(i, SKILL_MAX_LEVEL); break; } } else { switch (i) { case SKILL_HORSE_WILDATTACK: case SKILL_HORSE_CHARGE: case SKILL_HORSE_ESCAPE: case SKILL_HORSE_WILDATTACK_RANGE: ch->SetSkillLevel(i, 20); break; } } } ch->SetHorseLevel(HORSE_MAX_LEVEL); ch->ComputePoints(); ch->SkillLevelPacket(); }
/all_skill_master Komutu İçin Düzeltme
Metin2 özel sunucularında /all_skill_master komutu, oyuncuların tüm beceri seviyelerini doğrudan maksimum seviyeye yükseltmek için kullanılır. Ancak bazı durumlarda bu komut beklenen gibi çalışmayabilir veya hata verebilir. Bu yazıda, /all_skill_master komutunun düzeltme yöntemlerinden bahsedeceğiz.
Neden /all_skill_master Hatası Alınır?
Bu komut genellikle geliştirici kaynak kodlarında eksik ya da hatalı tanımlanmış fonksiyonlardan dolayı çalışmaz. Özellikle game core dosyalarında cmd_all_skill_master fonksiyonu eksikse, komut tanınmaz.
Düzeltme Adımları
1. Öncelikle game/src/char.cpp dosyasında ACMD(do_all_skill_master) fonksiyonunun doğru tanımlandığından emin olun.
2. Fonksiyon, cmdlist_add kısmında komut listesine eklenmiş mi kontrol edilmeli.
3. Gerekirse locale_inc.h veya constants.py gibi yapılandırma dosyalarında komut izinleri kontrol edilmeli.
4. Eğer komut istemci tarafında tanımlı değilse, uiscript veya py root klasörlerinde gerekli düzenlemeler yapılmalıdır.
Örnek Kod Yapısı
Aşağıda örnek bir do_all_skill_master fonksiyon yapısı verilmiştir:
ACMD(do_all_skill_master)
{
// Tüm becerileri maksimum seviyeye getirme
ch->SkillLevelMax();
}
Hata Ayıklama
Sunucu logları üzerinden komutun çalışıp çalışmadığını takip edin. Eğer komut Unknown command hatası veriyorsa, muhtemelen command list içinde tanımlı değildir.
Sonuç
Metin2 özel sunucularda /all_skill_master komutunun düzgün çalışması için hem server src hem de client src tarafında gerekli tanımlamaların yapılması gerekir. Bu tür komutlar, test süreçlerinde büyük kolaylık sağlar.
Daha fazla Metin2 geliştirme rehberi için Metin2Lobby sitesini takip edin.
Fix for /all_skill_master Command
In Metin2 private servers, the /all_skill_master command is used to instantly max out all skills for players. However, sometimes this command may not work properly or throw errors. In this article, we will discuss how to fix the /all_skill_master command.
Why /all_skill_master Fails?
This command often fails due to missing or incorrectly defined functions in the source code. Specifically, if the cmd_all_skill_master function is not properly implemented in the game core files, the command won't be recognized.
Correction Steps
1. First, ensure that the ACMD(do_all_skill_master) function is correctly defined in the game/src/char.cpp file.
2. Check if the function is added to the command list via cmdlist_add.
3. If needed, verify permissions in configuration files like locale_inc.h or constants.py.
4. If the command isn't defined on the client side, adjustments in uiscript or py root folders are required.
Sample Code Structure
Below is an example structure for the do_all_skill_master function:
ACMD(do_all_skill_master)
{
// Max out all skills
ch->SkillLevelMax();
}
Debugging
Monitor server logs to see if the command executes. If you receive an Unknown command error, the command is likely not registered in the command list.
Conclusion
To make the /all_skill_master command work properly in Metin2 private servers, both the server src and client src must have correct implementations. Such commands can greatly simplify testing phases.
For more Metin2 development guides, visit Metin2Lobby.
