Çözüldü POINT_ATT_GRADE hk.

  • Konuyu açan Konuyu açan enes turan
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 4
  • Gösterim Gösterim 79
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ı.

enes turan

Yardımsever Üye
Yardımsever Üye
MT Üye
Mesaj
762
Çözümler
48
Beğeni
618
Puan
909
Ticaret Puanı
0
merhabalar yohara sistemi için debuf etkilerini tam olarak eklemeye çalışıyorum

Adsız.webp


VIT = eğer istenilen statü karşılanmıyorsa hp yarıya düşer karakterin
RES = eğer istenilen statü karşılanmıyorsa hareket hızı yarıya düşer karakterin

bu ikisini hallettim fakat str ve int olayında tıkandım

bknz.
char.h:
Genişlet Daralt Kopyala
        case POINT_ATT_GRADE:
        {
#ifdef ENABLE_CONQUEROR_LEVEL
            if (IsConquerorMap(GetMapIndex()) && IsPC())
            {
                int value = 0;
                int aValue = 0;
                value = GetPoint(POINT_SUNGMA_STR);
                aValue = SECTREE_MANAGER::instance().GetSungmaValueAffectByRegion(GetMapIndex(), AFFECT_SUNGMA_STR);
                if(value < aValue)
                    SetPoint(type, 500);//örnek olsun diye 500 yaptım sadece /2 olacak normalde
                else
                    SetPoint(type, GetPoint(type) + amount);
                val = GetPoint(type);
            }
            else
            {
                SetPoint(type, GetPoint(type) + amount);
                val = GetPoint(type);
            }
#else
            SetPoint(type, GetPoint(type) + amount);
            val = GetPoint(type);
#endif
        }
        break;

şöyle bir kod ekledim fakat hiç bir değişiklik olmuyor yanlış yerdemi düzenleme yapıyorum saldırı değeri efsunu nerede hesaplanıyor bilgisi olan varmı ?
 
Çözüm
char_battle.cpp de dam = şeklinde olan yerlere bir bakın hocam şu an filesa giremiyorum
evet char_batle.cpp

bool CHARACTER::Damage
içine bu kodu ekleyince damage yarıya düştü
C++:
Genişlet Daralt Kopyala
            dam = dam * (100 - MIN(99, GetPoint(POINT_NORMAL_HIT_DEFEND_BONUS))) / 100;

            if (pAttacker && pAttacker->IsPC())
            {
                if ((pAttacker->IsConquerorMap(pAttacker->GetMapIndex())))
                {
                    int value = pAttacker->GetPoint(POINT_SUNGMA_STR);
                    int aValue = SECTREE_MANAGER::instance().GetSungmaValueAffectByRegion(pAttacker->GetMapIndex(), AFFECT_SUNGMA_STR);
                    if (value < aValue)
                        dam /= 2;

                    if...
merhabalar yohara sistemi için debuf etkilerini tam olarak eklemeye çalışıyorum

21097 eklentisini görüntüle

VIT = eğer istenilen statü karşılanmıyorsa hp yarıya düşer karakterin
RES = eğer istenilen statü karşılanmıyorsa hareket hızı yarıya düşer karakterin

bu ikisini hallettim fakat str ve int olayında tıkandım

bknz.
char.h:
Genişlet Daralt Kopyala
        case POINT_ATT_GRADE:
        {
#ifdef ENABLE_CONQUEROR_LEVEL
            if (IsConquerorMap(GetMapIndex()) && IsPC())
            {
                int value = 0;
                int aValue = 0;
                value = GetPoint(POINT_SUNGMA_STR);
                aValue = SECTREE_MANAGER::instance().GetSungmaValueAffectByRegion(GetMapIndex(), AFFECT_SUNGMA_STR);
                if(value < aValue)
                    SetPoint(type, 500);//örnek olsun diye 500 yaptım sadece /2 olacak normalde
                else
                    SetPoint(type, GetPoint(type) + amount);
                val = GetPoint(type);
            }
            else
            {
                SetPoint(type, GetPoint(type) + amount);
                val = GetPoint(type);
            }
#else
            SetPoint(type, GetPoint(type) + amount);
            val = GetPoint(type);
#endif
        }
        break;

şöyle bir kod ekledim fakat hiç bir değişiklik olmuyor yanlış yerdemi düzenleme yapıyorum saldırı değeri efsunu nerede hesaplanıyor bilgisi olan varmı ?
Saldırı değeri değil mi bu efsun? Bi yerde total dmg gibi kod olması lazım
 
char_battle.cpp de dam = şeklinde olan yerlere bir bakın hocam şu an filesa giremiyorum
evet char_batle.cpp

bool CHARACTER::Damage
içine bu kodu ekleyince damage yarıya düştü
C++:
Genişlet Daralt Kopyala
            dam = dam * (100 - MIN(99, GetPoint(POINT_NORMAL_HIT_DEFEND_BONUS))) / 100;

            if (pAttacker && pAttacker->IsPC())
            {
                if ((pAttacker->IsConquerorMap(pAttacker->GetMapIndex())))
                {
                    int value = pAttacker->GetPoint(POINT_SUNGMA_STR);
                    int aValue = SECTREE_MANAGER::instance().GetSungmaValueAffectByRegion(pAttacker->GetMapIndex(), AFFECT_SUNGMA_STR);
                    if (value < aValue)
                        dam /= 2;

                    if (pAttacker->GetConquerorLevel() == 0)
                        dam = 0;
                }
            }
            break;
 
Son düzenleme:
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst