Çözüldü Yeşil ve mor iksiri sınırsız yapma?(olmuyor)

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

Kaiser

⋞ 〈 ☪ 〉 ⋟
Yönetici
Premium Üye
Geliştirici
Yardımsever Üye
Editör
Mesaj
3.680
Çözümler
343
Beğeni
3.570
Puan
1.849
Ticaret Puanı
0
Arkadaşlar merhaba, yeşil ve mor iksiri sınırsız yapıyorum fakat olmuyor.
Kod içeriğinde kırmızı ve mavi iksirlerin de kodu var, onlar sınırsız oluyor ama mor ve yeşil iksir bir türlü sınırsız olmuyor. Kodlar oyun içindeki kodlarla aynı, sorun neyden kaynaklı olabilir ?
 
Çözüm
Deneyemedim ama size sözlediklerimi uygulayabilir misiniz?
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)...
Bunun yapımı ile ilgili forumlarda rehberler vardı. Hangi konuda ki kodları eklemeye çalışıyorsunuz?
 
Ben size şöyle göstereyim izlediğim yolu. Nedense yeşil ve mor iksirler olmuyor.
%100 kesin çözüm olan bir konu biliyorsanız paylaşabilirseniz sevinirim.

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
 
Alıntıda eklediğiniz kodlar sadece kırmızı ile mavi potlarla ilgili. Yeşil ve morla ilgili bi düzenleme yok. Forumlarda var mı bilmiyorum ama kaynak kodlarıma bakiyim. Yapabilirsem size söylerim
 
Deneyemedim ama size sözlediklerimi uygulayabilir misiniz?
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.
Daha sonra build edin tamamdır. Verdiğim kodlarda config olayı yok. Eklemek isterseniz rahatlıkla yapabilirsiniz. :)
 
Çözüm
Teşekkür ederim, sayenizde çözüldü :)
 
Ne mutlu bize. ^_^ Geri bildirim için teşekkürler. Konuyu çözüldü işaretliyorum kilitliyorum.
Google aramalarımda bu sorunla ilgili baya açılan yardım talepleri gördüm yerli ve yabancı forumlarında. Baktıklarım arasında net çözüm yoktu. Bu yüzden bu konuyu sabite alıyorum.
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst