- 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.
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;
}
}