Kardeşim bunu ben epvpden gördüğümde eklemiştim swye swde yoğun slotlu bi yerde çar kasmayı dene hile kullanmadığın halde oluşan lagdan dolayı hile gibi algılıyo sistem yine ban atyo şahsen denedim swyi telef ediyo iş görür bişey değil bu sistem biliyosun değilmi?
Merhabalar,
Yeni bölüme kısa bi süre önce paylaştığım bir konu ile başlangıç yapmak istedim.
Bu sistemin amacı 7x tarzı atak hızını artıran ve seri vuruş yapan hilelerde 50nin üzerinde miktar aynı süre aralığında atak yaparsa oyuncuyu 3 saniye sonra oyundan atar define'lar ile oyuncuya notice, log kayıt yada BAN sistemini aktif edebilirsiniz
"battle.cpp" açın ve include listesine aşağıdaki kodu ekleyinKod:#include "db.h"
Örnek;
![]()
Şimdi bu kodu aratın;
Kod:bool IS_SPEED_HACK(LPCHARACTER ch, LPCHARACTER victim, DWORD current_time)
ve altındaki fonksiyonda dahil olmak üzere aşağıda verdiğim kod bloğu ile değiştirin
Kod:#define ENABLE_SYSCHAT_NOTICE #define ENABLE_SYSLOG_NOTICE #define ENABLE_BAN_WAITHACK 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); if (test_server) { 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); 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); 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); if (ch->m_speed_hack_count > 50) { #ifdef ENABLE_SYSLOG_NOTICE 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); #endif #ifdef ENABLE_SYSCHAT_NOTICE ch->ChatPacket(CHAT_TYPE_INFO, "Attack Speed Hack(%s), (delta, limit)=(%u, %u), hack_count = %d", ch->GetName(), current_time - victim->m_AttackedLog.dwAttackedTime, GET_ATTACK_SPEED(ch), ch->m_speed_hack_count); #endif #ifdef ENABLE_BAN_WAITHACK std::auto_ptr<SQLMsg> msg(DBManager::instance().DirectQuery("UPDATE account.account SET status= 'BLOCK' WHERE id = %d", ch->GetDesc()->GetAccountTable().id)); #endif ch->GetDesc()->DelayedDisconnect(3); } SET_ATTACKED_TIME(ch, victim, current_time); return true; } } SET_ATTACKED_TIME(ch, victim, current_time); return false; }
Yapıştırdığınızda 3 define da aktif olur kapatmak için başına "//"(comment tag) koymanız yeterlidir.
Kod://#define ENABLE_BAN_WAITHACK
gibi
Oluşacak görüntü
ilk hali:
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Yeni Hali;
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Sonuç:
Son düzenleme:
Sadece sistemi ekledim. 7x falan açmadım normal kasılırken hiçbir uyarı falan vermeden direk DC'liyor. syslog'da şu yazmakta.Pasha37
Jul 8 14:18:12.372066 :: SPEEDHACK: DETECTED! [GM]Furtado (delta -2335 93950)
Jul 8 14:18:12.372114 :: [GM]Furtado: USE_SKILL: 2 pkVictim 0x4798d000
Jul 8 14:18:12.452023 :: SAVE: [GM]Furtado 574652x93508
Jul 8 14:18:13.772010 :: DISCONNECT: [GM]Furtado (DESC::~DESC)
Jul 8 14:18:13.772214 :: SAVE: [GM]Furtado 574652x93508
Jul 8 14:18:13.772235 :: QUEST clear timer 1
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 7
- Görüntüleme
- 560
- Cevaplar
- 37
- Görüntüleme
- 2K
- Cevaplar
- 6
- Görüntüleme
- 1K
- Cevaplar
- 8
- Görüntüleme
- 1K
