Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
mavzermete 1
mavzermete
Hikaye Ekle

bi hile önlemi

  • Konuyu başlatan Konuyu başlatan apikomt2
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 3
  • Görüntüleme Görüntüleme 404

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!

diyelim lalaker prodamage açtınız.

prodamage saldırı yaparken sizi ileri atar resimdeki gibi
1739024531074.png


fixi uygularsanız şöyle olur.

hile yapan oyuncu karakteri uzakta görür aslıdna hile yapılan oyuncu hile olmakdan çıkar
hile yapılan oyuncya damage atma işlevi biter
1739024678686.png

fakat
hile yapan oyuncu hile yaptığı kişinin sürekli dibine girerse hile devam eder.
örneğin
1739025060284.png






char_battle.cpp
Kod:
bool CHARACTER::Attack(LPCHARACTER pkVictim, BYTE bType)
{
    if (test_server)
        sys_log(0, "[TEST_SERVER] Attack : %s type %d, MobBattleType %d", GetName(), bType, !GetMobBattleType() ? 0 : GetMobAttackRange());

    if (!CanMove())
        return false;
if (get_dword_time() - m_dwLastMoveTime > 3000) // 3 saniye icinde hareket etmediyse
{
    sys_log(1, "Attack Blocked: %s has not moved recently!", GetName());
    return false;
}


char.cpp
Kod:
bool CHARACTER::SetSyncOwner(LPCHARACTER ch, bool bRemoveFromList)
{
    // TRENT_MONSTER - Hareket etmeyen canavarlar senkron sahipli?i de?i?tiremez
    if (IS_SET(m_pointsInstant.dwAIFlag, AIFLAG_NOMOVE))
        return false;
    // END_OF_TRENT_MONSTER

if (ch && get_dword_time() - ch->m_dwLastAttackTime > 3000) // 3 saniye icinde saldırmamı?sa
{
    sys_log(1, "SetSyncOwner Blocked: %s has not attacked recently!", ch->GetName());
    return false;
}
 
Son düzenleme:

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

Geri
Üst