Cannn6161 1
Cannn6161
onur akbaş 1
onur akbaş
PrimeAC 1
PrimeAC
Mt2Hizmet 1
Mt2Hizmet
romegames 1
romegames
Fethi Polat 1
Fethi Polat
xranzei 1
xranzei
Bvural41 1
Bvural41
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

HP/SP Absorbe fix

  • Konuyu başlatan Konuyu başlatan asas501
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 2
  • Görüntüleme Görüntüleme 3K

asas501

Level 5
TM Üye
Katılım
30 Mar 2009
Konular
143
Mesajlar
694
Online süresi
25m 9s
Reaksiyon Skoru
137
Altın Konu
0
TM Yaşı
17 Yıl 2 Ay 13 Gün
Başarım Puanı
149
MmoLira
128
DevLira
0
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

pasha37 nin konusudur isteyen daha rahat ulaşsın diye açıyorum

Önceki çalışma mantığı >
Efsun varsa her hasarda %80 oranla aktif olur


Düzenlenmiş şekilde çalışma mantığı >
Efsun varsa her hasar efsun oranı % kaç ise o oranda aktif olur


%12 oran ile tek seferde 100-300 hp/sp emer
Koşullar düzenlendi, -(eksi) hp yada sp ile ölündüğünde kendi kendilerinden absorbe etme hatası vardı giderildi
FLY küçük olduğundan big olarak düzenlendi( )



*char_battle.cpp

Arat:
Kod:
            if (pAttacker->GetPoint(POINT_HIT_HP_RECOVERY) && number(0, 4) > 0) // 80% È®·ü
            {
                int i = MIN(dam, iCurHP) * pAttacker->GetPoint(POINT_HIT_HP_RECOVERY) / 100;


                if (i)
                {
                    CreateFly(FLY_HP_SMALL, pAttacker);
                    pAttacker->PointChange(POINT_HP, i);
                }
            }


            // Ä¥ ¶§¸¶´Ù SPȸº¹
            if (pAttacker->GetPoint(POINT_HIT_SP_RECOVERY) && number(0, 4) > 0) // 80% È®·ü
            {
                int i = MIN(dam, iCurHP) * pAttacker->GetPoint(POINT_HIT_SP_RECOVERY) / 100;


                if (i)
                {
                    CreateFly(FLY_SP_SMALL, pAttacker);
                    pAttacker->PointChange(POINT_SP, i);
                }
            }
Değiştir:
Kod:
            int iAbsoHP_ptr = pAttacker->GetPoint(POINT_HIT_HP_RECOVERY);
            if (iAbsoHP_ptr)
            {
                if (number(1, 100) <= iAbsoHP_ptr) {
                    int iHPAbso = MIN(dam, GetHP()) * pAttacker->GetPoint(POINT_HIT_HP_RECOVERY) / 100;


                    if ((pAttacker->GetHP() > 0) && (pAttacker->GetHP() + iHPAbso < pAttacker->GetMaxHP()) && (GetHP() > 0) && (iHPAbso > 0))
                    {
                        CreateFly(FLY_HP_BIG, pAttacker);
                        pAttacker->PointChange(POINT_HP, iHPAbso);
                    }
                }
            }


            // Ä¥ ¶§¸¶´Ù SPȸº¹
            int iAbsoSP_ptr = pAttacker->GetPoint(POINT_HIT_SP_RECOVERY);
            if (iAbsoSP_ptr)
            {
                if (number(1, 100) <= iAbsoSP_ptr) {
                    int iSPAbso = MIN(dam, GetSP()) * pAttacker->GetPoint(POINT_HIT_SP_RECOVERY) / 100;


                    if ((pAttacker->GetSP() > 0) && (pAttacker->GetSP() + iSPAbso < pAttacker->GetMaxSP()) && (GetSP() > 0) && (iSPAbso > 0))
                    {
                        CreateFly(FLY_SP_BIG, pAttacker);
                        pAttacker->PointChange(POINT_SP, iSPAbso);
                    }
                }
            }
*Not:
Kod:
POINT_ERROR:

şeklinde syserr alırsanız aşağıdaki işlemi yapın;

*char.cpp açın
Bul:
Kod:
sys_err("POINT_ERROR: %s type %d val %d (max: %d)", GetName(), val, max_val);
Değiştir:
Kod:
sys_err("POINT_ERROR: %s type %d val %d (max: %d)", GetName(), type, val, max_val);
 
Teşekkürler.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst