OnurBoyla 1
OnurBoyla
noisiv 1
noisiv
Manwe Work 1
Manwe Work
farkmt2official 1
farkmt2official
mavzermete 1
mavzermete
dreamstone 1
dreamstone
Fethi Polat 1
Fethi Polat
Bvural41 1
Bvural41
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!

Teşekkürler Eline Saglık
 
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.

Paylaşım için teşekkürler.
 

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

Geri
Üst