- Katılım
- 7 Ocak 2024
- Konular
- 4
- Mesajlar
- 10
- Online süresi
- 2g 13907s
- Reaksiyon Skoru
- 6
- Altın Konu
- 0
- Başarım Puanı
- 17
- TM Yaşı
- 2 Yıl 3 Ay 13 Gün
- MmoLira
- 368
- DevLira
- 9
Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!
Neler yapacağız
1-Client taraflı harekat ve saldırı hızı limitliycez.
1.1 lalakeratiyi engelliycez
1.2 lalaker prodamage fix
2-moblock mesafesini kısaltıcaz navicat sql taraflı.
7xleri engelliycez sql taraflı (bu biraz kusurlu kod eklnerek düzenlenebilir)bunu yapınca kılıç çevirme 1 karaktere işliyor 4 karaktere birden işlemiyor locna savaşlarında ve toplu savaşlarda sıkıntı olabilir.
4-anismayonla yapılan hileleri engelliycez.
mesela yerden kalkma animasyonu falan.
kod blokların yerini bulun olduğu gibi değiştirin.
1-
ActorInstance.cpp
ActorInstanceBattle.cpp
ActorInstanceEvent.cpp
PythonNetworkStream.h
PythonNetworkStreamPhaseGame.cpp
PythonPlayerEventHandler.cpp
1.1 lalakerati
1.2 lalaker prodamage
ActorInstance.h
ActorInstanceEvent.cpp
PythonPlayerEventHandler.h
PythonPlayerEventHandler.cpp
2-navicat skill protada en sağ gelin.
1-Client taraflı harekat ve saldırı hızı limitliycez.
1.1 lalakeratiyi engelliycez
1.2 lalaker prodamage fix
2-moblock mesafesini kısaltıcaz navicat sql taraflı.
7xleri engelliycez sql taraflı (bu biraz kusurlu kod eklnerek düzenlenebilir)bunu yapınca kılıç çevirme 1 karaktere işliyor 4 karaktere birden işlemiyor locna savaşlarında ve toplu savaşlarda sıkıntı olabilir.
4-anismayonla yapılan hileleri engelliycez.
mesela yerden kalkma animasyonu falan.
kod blokların yerini bulun olduğu gibi değiştirin.
1-
ActorInstance.cpp
Kod:
void CActorInstance::SetAttackSpeed(float fAtkSpd)
{//anticheat01
if(m_fAtkSpd > 1.7f){m_fAtkSpd = 1.7f;return;}//anticheat01
m_fAtkSpd=fAtkSpd;
//anticheat01
}
void CActorInstance::SetMoveSpeed(float fMovSpd)
{
//anticheat01
if(m_fMovSpd > 2.0f){m_fMovSpd = 2.0f;return;}//anticheat01
if (m_fMovSpd==fMovSpd)
return;
m_fMovSpd=fMovSpd;
if (__IsMoveMotion())
{
Stop();
Move();
}
//anticheat01
}
ActorInstanceBattle.cpp
Kod:
void CActorInstance::__RunNextCombo()
{
//anticheat01
if(m_fAtkSpd > 1.7f)
{
SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER)NULL);
__asm{
mov eax,0x444
jmp eax
}
}
//anticheat01
ActorInstanceEvent.cpp
Kod:
void CActorInstance::__OnMove()
{
//anticheat01
if(m_fMovSpd > 2.0f)
{
__asm{
mov eax,0x444
jmp eax
}
}
//anticheat01
Void CActorInstance::__OnAttack(WORD wMotionIndex)
{
//anticheat01
if(m_fAtkSpd > 1.7f)
{
__asm{
mov eax,0x444
jmp eax
}
}
//anticheat01
PythonNetworkStream.h
Kod:
bool SendSyncPositionElementPacket(DWORD dwVictimVID, DWORD dwVictimX, DWORD dwVictimY);
// bool SendAttackPacket(UINT uMotAttack, DWORD dwVIDVictim);
bool SendAttackPacket(DWORD zz, UINT uMotAttack, DWORD dwVIDVictim, DWORD charmeineaici);//anticheat01
PythonNetworkStreamPhaseGame.cpp
Kod:
// pInstance->SetWalkSpeed(SpeedPacket.walking_speed);
// pInstance->SetRunSpeed(SpeedPacket.running_speed);
return true;
}
///////////////////////////////////////////////////////////////////////////////////////////////////
// Recv
//anticheat01
bool CPythonNetworkStream::SendAttackPacket(DWORD zz, UINT uMotAttack, DWORD dwVIDVictim, DWORD charmeineaici)
{
if (zz != 5)
return false;
if (!__CanActMainInstance())
return true;
if (charmeineaici != 241224)
return false;
PythonPlayerEventHandler.cpp
Kod:
rkStream.SendAttackPacket(5, uSkill, dwVIDVictim, 241224);//anticheat01
}
if (!rkActorVictim.IsPushing())
return;
extern bool IS_HUGE_RACE(unsigned int vnum);
if (IS_HUGE_RACE(rkActorVictim.GetRace()))
return;
1.1 lalakerati
Kod:
bool IsWall(unsigned race)
{
switch (race)
{
case 14201:
case 14202:
case 14203:
case 14204:
return true;
break;
}
return false;
}
//////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
//anticheat01
#include <windows.h>
#include <process.h>
#include <Tlhelp32.h>
#include <winbase.h>
#include <string.h>
void killProcessByName(const char *filename)
{
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, NULL);
PROCESSENTRY32 pEntry;
pEntry.dwSize = sizeof (pEntry);
BOOL hRes = Process32First(hSnapShot, &pEntry);
while (hRes)
{
if (strcmp(pEntry.szExeFile, filename) == 0)
{
HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, 0,
(DWORD) pEntry.th32ProcessID);
if (hProcess != NULL)
{
TerminateProcess(hProcess, 9);
CloseHandle(hProcess);
MessageBox(0, "Lalaker Detected !", "MessageBox caption", MB_OK);
exit(0);
}
}
hRes = Process32Next(hSnapShot, &pEntry);
}
CloseHandle(hSnapShot);
}
/////////////////////////////////////////////////////
//anticheat01
1.2 lalaker prodamage
ActorInstance.h
Kod:
virtual void OnHit(UINT uSkill, CActorInstance& rkActorVictim, BOOL isSendPacket, bool s8OmuT0ozFlh9mkGNE) = 0;//anticheat09
virtual void OnChangeShape() = 0;
ActorInstanceEvent.cpp
Kod:
virtual void OnHit(UINT uMotAttack, CActorInstance& rkActorVictim, BOOL isSendPacket, bool s8OmuT0ozFlh9mkGNE) {}//anticheat09
virtual void OnChangeShape() {}
Kod:
//anticheat09
void CActorInstance::__OnHit(UINT uSkill, CActorInstance& rkActorVictm, BOOL isSendPacket)
{
IEventHandler& rkEventHandler=__GetEventHandlerRef();
rkEventHandler.OnHit(uSkill, rkActorVictm, isSendPacket, true);
}
//anticheat09
void CActorInstance::__OnClearAffects()
{
IEventHandler& rkEventHandler=__GetEventHandlerRef();
rkEventHandler.OnClearAffects();
}
Kod:
virtual void OnHit(UINT uSkill, CActorInstance& rkActorVictim, BOOL isSendPacket, bool s8OmuT0ozFlh9mkGNE);//anticheat09
void FlushVictimList();
PythonPlayerEventHandler.cpp
Kod:
//anticheat09
void CPythonPlayerEventHandler::OnHit(UINT uSkill, CActorInstance& rkActorVictim, BOOL isSendPacket, bool s8OmuT0ozFlh9mkGNE = false)
{
//block lalaker1prodmg
if (s8OmuT0ozFlh9mkGNE == false){
TraceError("HACK GASIT -cenzurat-");
return;
}
//anticheat09
DWORD dwVIDVictim=rkActorVictim.GetVirtualID();
2-navicat skill protada en sağ gelin.
- eSkillType : Effect of dammage (splash etc...)
- iMaxHit : Number of mobs/player hit by the skill. 0 for no limit.
- szSplashAroundDamageAdjustPoly : Multiplication of skill dammage (first take 100% and the other take a part of this one by splash)
- dwTargetRange : Max range of the skill
- dwSplashRange : Max range of the splash.
- eSkillType : Hasar etkisi (sıçrama vb...)
iMaxHit : Becerinin vurduğu çetelerin/oyuncu sayısı. Sınırsız olarak 0.
szSplashAroundDamageAdjustPoly : Beceri hasarının çarpımı (önce %100'ünü alır ve diğeri sıçrayarak bunun bir kısmını alır)
dwTargetRange : Yeteneğin maksimum aralığı
dwSplashRange : Maksimum sıçrama aralığı.
oyunda şöyle bir özellik var bi skil atarsan sınırsız nesneye çarpabilir bunun sınırı sql den 0 olarak ayarlandığı için (0 sınırsız demek)
adamlar hile yaparak sınırsız kere vurabiliyor.
nasıl mesela packlardan 1 kere skil atıp durma ayarlı normali.
adam oynanmış packlarla 7kere skil at dur olarka ayarlayınca sınırsız oluyor.
şöyle birşey yapabiliriz bu sınırı 1 e çekersek 1 kere skil atar.
ek olarak moblock yaptığında herkezi içine çektiğinde herkeze skil atamaz.
şöyle sorunlar yol açabilir toplu yaratıklar ve toplu kılıç çevirme işe yaramaz.
- iMaxHit burdan sınır verebilirsiniz.
dwTargetRange burdanda skil mesafesini ayarlarsınız örneğin adam 2000 metre ilerdeyse ruh vuruşu mob lcok sayesinde damage atabiliyor çüğnkü moblcokda yanında gözükür mesafeyi kısaltırsanız uzaktaki adama damage atamaz.
4.animasyonla yapılan hileleri şöyle engelleyebiliriz.
1-foxfs
2-foxfs keylerini değiştiricez herkez açamıycak.
3-tümpackların uzatılarını ve packdaki isimleri değiştircez.
örnek.
pack değitşirme ve metin değitşirme toplu oalrak yapan programlar var bunları kullanıp packalrın ve metinlerin ismini değitşiricez.
ilk başta yapmanız gereken tüm packları açmak.
tümpackları açtıkdan sonra.
tüm uzantıalrı değiştirme programıyla şunu yapıcaksınız.- .gr2
humekh.gr2
olarak değiştirceksiniz.
sonra tüm metin değiştirme programıyla.
.gr2 - humekh.gr2
olarak değiştiriceksiniz.
aynı şekilde .msa ları değiştiriceksiniz.
Ekli dosyalar
Son düzenleme:
- Katılım
- 18 Kas 2019
- Konular
- 187
- Mesajlar
- 2,522
- Online süresi
- 7ay 27g
- Reaksiyon Skoru
- 1,718
- Altın Konu
- 3
- Başarım Puanı
- 283
- Yaş
- 12
- TM Yaşı
- 6 Yıl 5 Ay 5 Gün
- MmoLira
- 22,643
- DevLira
- 273
thanks for sharing
- Katılım
- 8 Şub 2011
- Konular
- 684
- Mesajlar
- 4,050
- Online süresi
- 8ay 22g
- Reaksiyon Skoru
- 3,192
- Altın Konu
- 87
- Başarım Puanı
- 341
- TM Yaşı
- 15 Yıl 2 Ay 14 Gün
- MmoLira
- 2,893
- DevLira
- 11
Paylaşım için teşekkürler, Normal dosya olarak da paylaşırsanız çok iyi ekleme kolaylığı olur.
- Katılım
- 7 Ocak 2024
- Konular
- 4
- Mesajlar
- 10
- Online süresi
- 2g 13907s
- Reaksiyon Skoru
- 6
- Altın Konu
- 0
- Başarım Puanı
- 17
- TM Yaşı
- 2 Yıl 3 Ay 13 Gün
- MmoLira
- 368
- DevLira
- 9
normal dosya olarak ekledim içinde korayın anticheatide ekli anticheat olarak tüm dosyaalrda arama yaparsanız nereye ne ekledim görmüş olursunuz.Paylaşım için teşekkürler, Normal dosya olarak da paylaşırsanız çok iyi ekleme kolaylığı olur.
Koray Anti Cheat
Yabancı bir forumda karşıma çıktı burda var mı yok mu bilmiyorum varsa konu kapatılabilir Öğeyi görmek için üye olmalısınız. Öğeyi görmek için üye olmalısınız.
- Katılım
- 7 Ocak 2024
- Konular
- 4
- Mesajlar
- 10
- Online süresi
- 2g 13907s
- Reaksiyon Skoru
- 6
- Altın Konu
- 0
- Başarım Puanı
- 17
- TM Yaşı
- 2 Yıl 3 Ay 13 Gün
- MmoLira
- 368
- DevLira
- 9
güvenli alanda damage engellemeyide burdan ayarlayabilirsiniz.
forum.turkmmo.com
Belirlenen haritada belirlenen kordinatta damage engeli (pvm)
Belirlediğiniz bir haritanın sadece bir alanında oyuncular canavarlar haricinde birbirine vurmaması için kullanabilirsiniz. char_battle.cpp arat: bool CHARACTER::Damage kod bloğunun içindeki if (DAMAGE_TYPE_MAGIC == type) bloğunun bitişine ekle: if (pAttacker && pAttacker->IsPC() && IsPC()...
Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)
Benzer konular
- Cevaplar
- 2
- Görüntüleme
- 179
- Cevaplar
- 18
- Görüntüleme
- 2K
- Cevaplar
- 14
- Görüntüleme
- 717
- Cevaplar
- 35
- Görüntüleme
- 4K






