Paylaşım için teşekkürler.Syserr syslog gibi log tutuyor mu yoksa sadece ban mı?
Syschat şeklinde oyuncuya bildirim geçiyor Syslog tutuyor ve Ban atıyor 3ünüde açıp kapatabilirsiniz size kalmış
Paylaşım için teşekkürler öncelikle. ama iyi güzelde arkadaşım bu forudmakilerin % 90'a yakını daha quest eklemeyi bilmiyor biride çıkıp demez mi nereye nasıl ekliyeceğiz diye bunları 

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ç:
Teşekkürler böyle konular gerek bu bölümde test edeceğim

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 7
- Görüntüleme
- 560
- Cevaplar
- 6
- Görüntüleme
- 1K
- Cevaplar
- 37
- Görüntüleme
- 2K
- Cevaplar
- 8
- Görüntüleme
- 1K