Cevaplanmadı Player vs player

  • Konuyu başlatan Konuyu başlatan qay123
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 15
  • Görüntüleme Görüntüleme 1K

qay123

Level 3
Katılım
19 Nis 2015
Konular
15
Mesajlar
238
Çözüm
6
Online süresi
2mo 16d
Reaksiyon Skoru
50
Altın Konu
0
TM Yaşı
11 Yıl 1 Ay 20 Gün
Başarım Puanı
107
MmoLira
3,495
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!

@gpackg Yes i too.
 
Son düzenleme:
upload your battle.cpp & input_main.cpp and let us have a look at them

also are you using one of the public files? do you have bot control system? maybe bad flagging ending up to misses? is it always happening?
 
Comment this section and try again please
C++:
#ifdef NEW_ICEDAMAGE_SYSTEM
    if (!battle_is_icedamage(ch, victim))
        return false;
#endif

I've seen that you implemented a new system called new_ice_damage_system but check the conditions probably this function is returning false somewhere in the second if statement.

pAttacker && pAttacker-IsPC()) these conditions are true so we continue race=? warrior race probably 1 or 2 depending on the gender not sure what you did in the rest since there were no comments but If you want to apply this ice damage only to MOBS(npcs) change your statement in battle_is_attackable to if(victim->IsNPC()) //do stuff
C++:
#ifdef NEW_ICEDAMAGE_SYSTEM
bool battle_is_icedamage(LPCHARACTER pAttacker, LPCHARACTER pVictim)
{
    if (pAttacker && pAttacker->IsPC())
    {
        DWORD race = pAttacker->GetRaceNum();
        const DWORD tmp_dwNDRFlag = pVictim->GetNoDamageRaceFlag();
        if (tmp_dwNDRFlag &&
            (race < MAIN_RACE_MAX_NUM) &&
            (IS_SET(tmp_dwNDRFlag, 1<<race))
        )
        {
            return false;
        }
        const std::set<DWORD> & tmp_setNDAFlag = pVictim->GetNoDamageAffectFlag();
        if (tmp_setNDAFlag.size())
        {
            for (std::set<DWORD>::iterator it = tmp_setNDAFlag.begin(); it != tmp_setNDAFlag.end(); ++it)
            {
                if (!pAttacker->IsAffectFlag(*it))
                {
                    return false;
                }
            }
        }
    }
    return true;
}
#endif
 
If you want to make a debug mode for yourself change your code and add some logs or error statements

if (!battle_is_icedamage(ch, victim))
return false;
#endif

to

if (!battle_is_icedamage(ch, victim))
sys_log(0, "this is not an ice damage!")
return false;
#endif

and see whenever you hit an enemy this syslog appears in your syslog.txt file

if yes you gotta check your function or make it work only for mobs

C++:
    if (!battle_is_icedamage(ch, victim) && victim->IsNPC())
            sys_log(0, "this is not an ice damage! and this function only work for mobs")
        return false;
#endif
 

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