Vahsi Uzman 1
Vahsi Uzman
Bvural41 1
Bvural41
OnurBoyla 1
OnurBoyla
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Hikaye Ekle

[C++] Mobber-Moblock / Saldırı Hızı / Fix

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

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

Merhaba arkadaşlar, M2-BOB, Lalaker v.s hilelerinde bulunan çekme ve saldırı hızı özelliklerin fixleridir. Deneme şansım olmadı fakat, deneyince kanıt ekleyeceğim. Paylaşıldıysa konu kapatılabilir.

MOBLOCK
char_battle.cpp'yi açın ve: CHARACTER::Attack fonksiyonunu arayın.
Biraz aşağı doğru indiğinizde şu kodu göreceksiniz;

Kod:
    pkVictim->SetSyncOwner(this);

    if (pkVictim->CanBeginFight())
        pkVictim->BeginFight(this);

Şununla değiştirin;
Kod:
    if(iRet != BATTLE_NONE)
    {     
        pkVictim->SetSyncOwner(this);

        if (pkVictim->CanBeginFight())
            pkVictim->BeginFight(this);
    }
image.png.bbd4990a728b84211594e4dfb147ea22.png


SALDIRI HIZI


battle.cpp'ye girin ve şu fonksiyonu arayın, IS_SPEED_HACK ve kod bloğunu komple değiştirin;​

Kod:
bool IS_SPEED_HACK(LPCHARACTER ch, LPCHARACTER victim, DWORD current_time)
{
    if (ch->m_kAttackLog.dwVID == victim->GetVID())
    {
        if (current_time - ch->m_kAttackLog.dwTime < GET_ATTACK_SPEED(ch))
        {
            INCREASE_SPEED_HACK_COUNT(ch);

            sys_log(0, "%s attack hack! time (delta, limit)=(%u, %u) hack_count %d",
                    ch->GetName(),
                    current_time - ch->m_kAttackLog.dwTime,
                    GET_ATTACK_SPEED(ch),
                    ch->m_speed_hack_count);
            if (test_server)
            {
                ch->ChatPacket(CHAT_TYPE_INFO, "%s attack hack! time (delta, limit)=(%u, %u) hack_count %d",
                        ch->GetName(),
                        current_time - ch->m_kAttackLog.dwTime,
                        GET_ATTACK_SPEED(ch),
                        ch->m_speed_hack_count);
            }

            SET_ATTACK_TIME(ch, victim, current_time);
            SET_ATTACKED_TIME(ch, victim, current_time);
            if (ch->m_speed_hack_count >= 10)
                ch->GetDesc()->DelayedDisconnect(3);
            return true;
        }
    }

    SET_ATTACK_TIME(ch, victim, current_time);

    if (victim->m_AttackedLog.dwPID == ch->GetPlayerID())
    {
        if (current_time - victim->m_AttackedLog.dwAttackedTime < GET_ATTACK_SPEED(ch))
        {
            INCREASE_SPEED_HACK_COUNT(ch);

            sys_log(0, "%s Attack Speed HACK! time (delta, limit)=(%u, %u), hack_count = %d",
                    ch->GetName(),
                    current_time - victim->m_AttackedLog.dwAttackedTime,
                    GET_ATTACK_SPEED(ch),
                    ch->m_speed_hack_count);
            if (test_server)
            {
                ch->ChatPacket(CHAT_TYPE_INFO, "Attack Speed Hack(%s), (delta, limit)=(%u, %u)",
                        ch->GetName(),
                        current_time - victim->m_AttackedLog.dwAttackedTime,
                        GET_ATTACK_SPEED(ch));
            }

            SET_ATTACKED_TIME(ch, victim, current_time);
            if (ch->m_speed_hack_count >= 10)
                ch->GetDesc()->DelayedDisconnect(3);
            return true;
        }
    }

    SET_ATTACKED_TIME(ch, victim, current_time);
    return false;
}

GET_ATTACK_SPEED fonksiyonundan şu iki satırı silin;

Kod:
    if (item && item->GetSubType() == WEAPON_DAGGER)
        real_speed /= 2;
Kod:
"default_bonus" değişkenini 70 gibi bir şeye ayarlayın (test etmek için oldukça iyi bir değerdir). Bu değerde ince ayar çekebilirsiniz Bu değerde tüm hileledeki saldırılar tetiklenecektir ve oyun yanlış karar vermeden oynanabilir halde olacaktır. Yinede daha fazla denenmesi gerekiyor. Açık sunucularda denenecekse, en azından değer olarak 80 seçilmesi önerilir.
 

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

Geri
Üst