Yeşil ve mor iksiri sınırsız yapalım

admin

Administrator
Yönetici
Admin
Katılım
29 Haz 2020
Mesajlar
1,012
Tepkime puanı
44
Puanları
48
Metin2 oyununda yeşil iksir ve mor iksir saldırı hızı ve hareket hızı vermektedir. Bunları sınırsız yapıp bir tane ile envanteri kalabalık yapmadan çözebilirsiniz. aşağıdaki yolları takip edersek sorun çözülür diye düşünüyorum. Burada mavi ve kırmızı iksirleride sınırsız yapmış olacağız.
Kod:
config.cpp açılır ve aratılır
Kod:
int gPlayerMaxLevel = 99;
altına eklenir.

Kod:
int SnYesilMorpot = 0;
int SnKirmiziMavipot = 0;

aratılır
Kod:
TOKEN("max_level")

max_level adlı kod bloğunun altına eklenir
Kod:
TOKEN("SN_YM_POT")
{
str_to_number(SnYesilMorpot, value_string);
continue;
}

TOKEN("SN_KM_POT")
{
str_to_number(SnKirmiziMavipot, value_string);
continue;
}

config.h açılır ve aratılır
Kod:
extern int gPlayerMaxLevel;

altına eklenir
Kod:
extern int SnYesilMorpot;
extern int SnKirmiziMavipot;

char_item.cpp açılır ve aratılır
Kod:
PointChange(POINT_HP_RECOVERY, item->GetValue(0) * MIN(200, (100 + GetPoint(POINT_POTION_BONUS))) / 100);
biraz altına inip bulunur
Kod:
item->SetCount(item->GetCount() - 1);
şu şekilde değiştirilir,

Kod:
if ((SnKirmiziMavipot == 0))
{
item->SetCount(item->GetCount() - 1);
}
aratılır
Kod:
AddAffect(affect_type, apply_type, apply_value, 0, apply_duration, 0, true, true);
biraz altına inip bulunur
item->SetCount(item->GetCount() - 1);
şu şekilde değiştirilir
Kod:
if ((SnYesilMorpot == 0))
{
item->SetCount(item->GetCount() - 1);
}

şimdi filesimizde bulunan;
channel1
channel2
channel3
channel4
game99
klasörlerinde bulunan CONFIG dosyamıza şunları ekleyin ;
Kod:

SN_YM_POT: 1
SN_KM_POT: 1
1; aktif
0; pasif
C++ porglamada çözüm
Kod:
C++:
                        case USE_ABILITY_UP:
                            if (FindAffect(affect_type, apply_type))
                            {
                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("이미 효과가 걸려 있습니다."));
                                return false;
                            }
Yukarıda ki kodu aratın ve biraz aşağıya inin şöyle bir kod var;
C++:
                            item->SetCount(item->GetCount() - 1);
Bunu yorum satırına çevirebilirsiniz yada if koşulu ile mor ve yeşil için görmezden gelmesini sağlayabilirsiniz. Örnek;
C++:
                        if (item->GetValue(0) != APPLY_MOV_SPEED && item->GetValue(0) != APPLY_ATT_SPEED)
                            item->SetCount(item->GetCount() - 1);

Daha sonra yine şunu aratın;
C++:
                    case USE_ABILITY_UP:
                        {
                            switch (item->GetValue(0))
Bundan iki tane sonuç çıkıyor 4 bin civarı satırda olana gelin ve biraz aşağıya gelince yukarıda ki gibi count azaltan kod var. Bunda da aynı şekilde düzenleyin.

Yeşil ve mor dışında karakter statülerini değiştiren başka potlarda olacağı için sadece mor ve yeşil sınırsız olmasını istiyorsanız if komutunu kullanabilirsiniz.
 
Üst