Yardım moblock

  • Konuyu açan Konuyu açan beheyev783
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 0
  • Gösterim Gösterim 211
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

beheyev783

Üye
Üye
Mesaj
66
Çözümler
1
Beğeni
36
Puan
54
Ticaret Puanı
0
burdaki kod bloğu moblock hilesindeki düz vuruş damagesini engelliyor.
fakat skillerde böyle bi kontrol yok
yapabilen varsa lütfen konuya yorum bıraksın

char_battle.cpp

Python:
Genişlet Daralt Kopyala
int battle_melee_attack(LPCHARACTER ch, LPCHARACTER victim)
{
    if (test_server&&ch->IsPC())
        sys_log(0, "battle_melee_attack : [%s] attack to [%s]", ch->GetName(), victim->GetName());

    if (!victim || ch == victim)
        return BATTLE_NONE;

    if (test_server&&ch->IsPC())
        sys_log(0, "battle_melee_attack : [%s] attack to [%s]", ch->GetName(), victim->GetName());

    if (!battle_is_attackable(ch, victim))
        return BATTLE_NONE;

    if (test_server&&ch->IsPC())
        sys_log(0, "battle_melee_attack : [%s] attack to [%s]", ch->GetName(), victim->GetName());
/////////////////////////////
    /////////////////////////////
    /////////////////////////////
    /////////////////////////////
    int distance = DISTANCE_APPROX(ch->GetX() - victim->GetX(), ch->GetY() - victim->GetY());

    if (!victim->IsBuilding())
    {
        int max = 300;

        if (false == ch->IsPC())
        {
            max = (int) (ch->GetMobAttackRange() * 1.15f);
        }
        else
        {
            if (false == victim->IsPC() && BATTLE_TYPE_MELEE == victim->GetMobBattleType())
                max = MAX(300, (int) (victim->GetMobAttackRange() * 1.15f));
        }

        if (distance > max)
        {
            if (test_server)
                sys_log(0, "VICTIM_FAR: %s distance: %d max: %d", ch->GetName(), distance, max);

            return BATTLE_NONE;
        }
    }
/////////////////////////////
    /////////////////////////////
    /////////////////////////////
    /////////////////////////////
    if (timed_event_cancel(ch))
        ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("전투가 시작 되어 취소 되었습니다."));

    if (timed_event_cancel(victim))
        victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("전투가 시작 되어 취소 되었습니다."));

    ch->SetPosition(POS_FIGHTING);
    ch->SetVictim(victim);

    const PIXEL_POSITION & vpos = victim->GetXYZ();
    ch->SetRotationToXY(vpos.x, vpos.y);

    int dam;
    int ret = battle_hit(ch, victim, dam);
    return (ret);
}
 
Üst