Best Studio 1
Best Studio
TuZaKK 1
TuZaKK
Mt2Hizmet 1
Mt2Hizmet
Agora Metin2 1
Agora Metin2
Bvural41 1
Bvural41
kaptanmikro1 1
kaptanmikro1
R 1
Roksam
[DEV]AB 1
[DEV]AB
Sevdamsın 1
Sevdamsın
farkmt2official 1
farkmt2official
emirhanHCL 1
emirhanHCL
Scarlet 1
Scarlet
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

Türkiye'de ilk Mobil & PC Aynı Anda Metin2 Oyna. Triarchonline kalıcı ve uzun ömürlü yapısı ile 24 Temmuz'da açılıyor. | 1-99 Mobil Metin2 Triarch 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