- Katılım
- 30 Ocak 2020
- Konular
- 50
- Mesajlar
- 812
- Online süresi
- 26g 54000s
- Reaksiyon Skoru
- 735
- Altın Konu
- 1
- Başarım Puanı
- 184
- TM Yaşı
- 6 Yıl 2 Ay 21 Gün
- MmoLira
- 8,731
- DevLira
- 123
Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!
GİRİŞ & PROBLEM
Merhaba, GM kodlarında canımı sıkan ufak tefek şeyleri düzeltirken bununla alakalı da bir değişiklik yapmıştım fakat paylaşmaya vakit olmamıştı, detaylara önem verenler için işe yarayabilir o yüzden paylaşmak istedim.
NEDEN ?
Fonksiyonlar içerisinde gerekli kontroller ve bilgilendirme/hata mesajları eksikti, gereken her şey eklenerek kodlar yenilendi.
ÇÖZÜM
Öncelikle "cmd_gm.cpp" dosyası açılır.
Merhaba, GM kodlarında canımı sıkan ufak tefek şeyleri düzeltirken bununla alakalı da bir değişiklik yapmıştım fakat paylaşmaya vakit olmamıştı, detaylara önem verenler için işe yarayabilir o yüzden paylaşmak istedim.
NEDEN ?
Fonksiyonlar içerisinde gerekli kontroller ve bilgilendirme/hata mesajları eksikti, gereken her şey eklenerek kodlar yenilendi.
ÇÖZÜM
Öncelikle "cmd_gm.cpp" dosyası açılır.
cmd_gm.cpp:
// BULUNUR;
ACMD (do_advance)
// KOMPLE DEĞİŞTİRİLİR;
ACMD (do_advance) // DevFix 53
{
char arg1[256], arg2[256];
two_arguments (argument, arg1, sizeof (arg1), arg2, sizeof (arg2));
if (!*arg1 || !*arg2)
{
ch->ChatPacket (CHAT_TYPE_INFO, "Syntax: /a <player name> <level>");
return;
}
LPCHARACTER tch = CHARACTER_MANAGER::instance().FindPC (arg1);
if (!tch)
{
ch->ChatPacket (CHAT_TYPE_INFO, "<GM> %s does not exist!", arg1);
return;
}
unsigned char old_level = tch->GetLevel(); // DevFix 122
unsigned char new_level = 0; // DevFix 122
str_to_number (new_level, arg2);
new_level = MINMAX (1, new_level, PLAYER_MAX_LEVEL_CONST);
if (new_level == old_level)
{
ch->ChatPacket (CHAT_TYPE_INFO, "<GM Control> The specified level is the SAME as the player's current level!");
return;
}
tch->ResetPoint (new_level);
if (new_level < old_level)
{
//tch->ClearSkill(); // If you want to clear players current skills after the level downgrade, uncomment this line. - [MT2Dev Note]
tch->ChatPacket (CHAT_TYPE_INFO, "<GM> Your level downgrade to %u", new_level);
}
else if (new_level > old_level)
{
tch->ChatPacket (CHAT_TYPE_INFO, "<GM> Your level increased to %u", new_level);
}
if (new_level < 50 && old_level >= 50) // Hard-coding for subskills, 50 because of the combo and horse skills.. - [MT2Dev Note]
{
tch->ClearSubSkill(); // If you don't want to clear players current subskills after the level downgrade under 50, comment this line. - [MT2Dev Note]
}
}
// BULUNUR;
ACMD (do_level)
// KOMPLE DEĞİŞTİRİLİR;
ACMD (do_level) // DevFix 53
{
char arg1[256];
one_argument (argument, arg1, sizeof (arg1));
if (!*arg1)
{
ch->ChatPacket (CHAT_TYPE_INFO, "Syntax: /level <level>");
return;
}
unsigned char old_level = ch->GetLevel(); // DevFix 122
unsigned char new_level = 0; // DevFix 122
str_to_number (new_level, arg1);
new_level = MINMAX (1, new_level, PLAYER_MAX_LEVEL_CONST);
if (new_level == old_level)
{
ch->ChatPacket (CHAT_TYPE_INFO, "<GM Control> The specified level is the SAME as the your current level!");
return;
}
// This code use only allowed for GM chars, so we don't need to check or reset skills and subskills.. - [MT2Dev Note]
ch->ChatPacket (CHAT_TYPE_INFO, "<GM> Your level set to %u", new_level);
ch->ResetPoint (new_level);
}
En Çok Reaksiyon Alan Mesajlar
Paylaşim İçin Teşeküler İyi Forumlar.
- Katılım
- 27 Şub 2021
- Konular
- 707
- Mesajlar
- 4,783
- Online süresi
- 1y 1ay
- Reaksiyon Skoru
- 2,824
- Altın Konu
- 26
- Başarım Puanı
- 324
- TM Yaşı
- 5 Yıl 1 Ay 22 Gün
- MmoLira
- 897
- DevLira
- 6
Paylaşım için teşekkürler, eline sağlık. 
- Katılım
- 23 Nis 2015
- Konular
- 1,365
- Mesajlar
- 6,430
- Online süresi
- 4ay 12g
- Reaksiyon Skoru
- 2,620
- Altın Konu
- 59
- Başarım Puanı
- 339
- TM Yaşı
- 10 Yıl 12 Ay 4 Gün
- MmoLira
- 27,508
- DevLira
- 3
Paylaşim İçin Teşeküler İyi Forumlar.
- Katılım
- 20 Şub 2024
- Konular
- 111
- Mesajlar
- 2,108
- Online süresi
- 10g 75722s
- Reaksiyon Skoru
- 470
- Altın Konu
- 4
- Başarım Puanı
- 156
- TM Yaşı
- 2 Yıl 1 Ay 29 Gün
- MmoLira
- 112
- DevLira
- 12
Paylaşım için teşekkürler.
Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)
Benzer konular
- Cevaplar
- 0
- Görüntüleme
- 149
- Cevaplar
- 2
- Görüntüleme
- 121
- Cevaplar
- 9
- Görüntüleme
- 534
- Cevaplar
- 12
- Görüntüleme
- 927
- Cevaplar
- 18
- Görüntüleme
- 1K





