romegames 1
romegames
Bvural41 1
Bvural41
Best Studio 1
Best Studio
BlackFullMoon 1
BlackFullMoon
NovaLst 1
NovaLst
SLyFeLLowTR 1
SLyFeLLowTR
xranzei 1
xranzei
InfernoShade 1
InfernoShade
shrpnl 1
shrpnl
D 1
delimuratt
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

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

apikomt2

Level 6
Uzman
Katılım
11 May 2023
Konular
270
Mesajlar
1,144
Çözüm
2
Online süresi
1mo 25d
Reaksiyon Skoru
746
Altın Konu
1
Başarım Puanı
199
MmoLira
1,258
DevLira
381
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ 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:
Paylaşım için teşekkürler.
 
Merhabalar,

Paylaşımınız için teşekkür ederim.

İyi forumlar
 

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

Geri
Üst