[C++] Silah evrim sistemi Fixi

Reached

Geliştirici
Geliştirici
Usta Üye
Editör
Mesaj
810
Çözümler
28
Beğeni
738
Puan
839
Ticaret Puanı
0
Bir müşterimin sorunuydu, kendisinin onayı var paylaşmam için. Evrim sisteminde verilen +saldırı değeri sadece moblara işliyordu, onun fixidir güle güle kullanın.

Kod yapısının mantığı ise şudur;

pkVictim-> Savunan

kod bloğu if (pkVictim->IsNPC()) Kısmına eklendiği için yani savunan bir mobsa, kısmına eklendiği için normal playerlere damage işlemez fakat o kod bloğunu şu şekilde düzenlersek; if (pkVictim->IsNPC() || pkVictim->IsPC())

Peki burda ne yaptık ? Burada yaptığımız şey gerekli kodu işlemesini istediğimiz char type'ın içine ekledik yani savunan mobsa veya ( || ) Bir oyuncuysa şeklinde, iyi kullanımlar.


C:
//Battle.cpp arat

if (pkVictim->IsNPC)

// Üstüne ekle

if (pkVictim->IsNPC() || pkVictim->IsPC())
{
       
        LPITEM pkWeapon = pkAttacker->GetWear(WEAR_WEAPON);
        if (pkWeapon && IS_SET(pkWeapon->GetFlag(), ITEM_FLAG_RARE_ABILITY))
    {
                     if (pkWeapon->GetRareLevel() == 1)
                          iAtk += (iAtk * 4) / 100;
                     else if (pkWeapon->GetRareLevel() == 2)
                          iAtk += (iAtk * 8) / 100;
                     else if (pkWeapon->GetRareLevel() == 3)
                          iAtk += (iAtk * 12) / 100;
                     else if (pkWeapon->GetRareLevel() == 4)
                          iAtk += (iAtk * 16) / 100;
                     else if (pkWeapon->GetRareLevel() == 5)
                          iAtk += (iAtk * 20) / 100;
                     else if (pkWeapon->GetRareLevel() == 6)
                          iAtk += (iAtk * 24) / 100;
                     else if (pkWeapon->GetRareLevel() == 7)
                          iAtk += (iAtk * 30) / 100;
   }
}
 
Geri
Üst