- Katılım
- 11 May 2023
- Konular
- 270
- Mesajlar
- 1,142
- Çözüm
- 2
- Online süresi
- 1mo 25d
- Reaksiyon Skoru
- 745
- Altın Konu
- 1
- Başarım Puanı
- 199
- MmoLira
- 1,200
- DevLira
- 381
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!
sistem şöyle çalışıyor.
örneğin lalakerati
comboları iptal edip ikinci comboyu çalıştırıyor.
sistem aynı combo tekrar edildiğini fark edince
clienti kapatıyor.
şöyle hile yapılabilir.
1 2 1 2 12
yani combo 1 combo2 combo 1 combo2 combo1 combo 2 döngüsünde bunun için çözüm bimliyorum çünkü hilsini bulamadım.
3 ayrı
kapatma metedu ekledim
zorla kapatma
TerminateProcess(GetCurrentProcess(), 0);
std::abort();
_exit(0);
actorinsantancebattle.cpp
ilgili yeri burayı kopyala aynı yerle değiştir.
yeni kod bloğunuda ekliyon direk altına yani bunu CanDoCombo
actorisntance.h
herhangi bir public bloğunnu altına ekle
aşağıya in daha iyi
komple değiştir
örneğin lalakerati
comboları iptal edip ikinci comboyu çalıştırıyor.
sistem aynı combo tekrar edildiğini fark edince
clienti kapatıyor.
şöyle hile yapılabilir.
1 2 1 2 12
yani combo 1 combo2 combo 1 combo2 combo1 combo 2 döngüsünde bunun için çözüm bimliyorum çünkü hilsini bulamadım.
3 ayrı
kapatma metedu ekledim
zorla kapatma
TerminateProcess(GetCurrentProcess(), 0);
std::abort();
_exit(0);
actorinsantancebattle.cpp
ilgili yeri burayı kopyala aynı yerle değiştir.
yeni kod bloğunuda ekliyon direk altına yani bunu CanDoCombo
Kod:
void CActorInstance::__OnEndCombo()
{
m_wLastSentCombo = 0xFFFF;
m_bySameComboCount = 0;
m_wNextExpectedCombo = 0; // Kombo bittiğinde beklentiyi sıfırla
if (__IsMountingHorse())
{
m_dwcurComboIndex = 1;
}
}
void CActorInstance::__ClearCombo()
{
m_dwcurComboIndex = 0;
m_isPreInput = FALSE;
m_pkCurRaceMotionData = NULL;
m_wcurComboType = 0;
m_dwLastComboTime = 0;
m_wLastSentCombo = 0xFFFF;
m_bySameComboCount = 0;
m_wNextExpectedCombo = 0;
}
bool CActorInstance::CanDoCombo(WORD wComboIndex)
{
DWORD dwCurTime = ELTimer_GetMSec();
// 1. HIZ KONTROLÜ
if (dwCurTime - m_dwLastComboTime < 70)
{
return false;
}
// 2. SIRALI KOMBO KONTROLÜ (Sequence Check)
// Eğer bir kombo zinciri içindeysek (m_wNextExpectedCombo > 0),
// gelen index beklenen değer olmalı veya kombo başa dönmeli (0).
/*
if (m_wNextExpectedCombo > 0 && wComboIndex != 0 && wComboIndex != m_wNextExpectedCombo)
{
TraceError("COMBO_SEQUENCE_HACK: VID [%d] Beklenen: %d, Gelen: %d. Oyun kapatiliyor.",
GetVirtualID(), m_wNextExpectedCombo, wComboIndex);
TerminateProcess(GetCurrentProcess(), 0);
std::abort();
_exit(0);
return false;
}
*/
// 3. TEKRAR KONTROLÜ
if (wComboIndex != 0 && wComboIndex == m_wLastSentCombo)
{
m_bySameComboCount++;
if (m_bySameComboCount > 6)
{
TerminateProcess(GetCurrentProcess(), 0);
std::abort();
_exit(0);
return false;
}
return false;
}
else
{
m_bySameComboCount = 0;
}
return true;
}
actorisntance.h
herhangi bir public bloğunnu altına ekle
aşağıya in daha iyi
Kod:
public:
// WORD m_wNextExpectedCombo;
// DWORD m_dwLastComboTime;
// bool CanDoCombo(WORD wComboIndex);
// bool OnComboAttack(WORD wComboIndex);
// WORD m_wNextExpectedCombo;
// DWORD m_dwLastComboTime;
// Fonksiyon prototipi (sonunda ; olmasına dikkat et):
bool CanDoCombo(WORD wComboIndex);
void OnComboAttack(WORD wComboIndex);
// CanDoCombo(WORD wComboIndex)
// m_wLastSentCombo
protected:
WORD m_wNextExpectedCombo;
WORD m_wLastSentCombo;
DWORD m_dwLastComboTime;
BYTE m_bySameComboCount; // Yeni: Aynı kombo tekrar sayacı
// m_wLastSentCombo
// CActorInstance::OnComboAttack(WORD wComboIndex)
komple değiştir
Kod:
void CActorInstance::__OnAttack(WORD wMotionIndex)
{
// Hile kontrolü
if (!CanDoCombo(wMotionIndex))
{
return;
}
// Kayıtları Güncelle
m_wLastSentCombo = wMotionIndex;
m_dwLastComboTime = ELTimer_GetMSec();
// Bir sonraki beklenen kombo indexini ayarla (Örn: 1 ise 2 bekle)
m_wNextExpectedCombo = wMotionIndex + 1;
// --- ORİJİNAL SALDIRI AKIŞI ---
IEventHandler& rkEventHandler = __GetEventHandlerRef();
IEventHandler::SState kState;
kState.kPPosSelf = NEW_GetCurPixelPositionRef();
kState.fAdvRotSelf = GetTargetRotation();
rkEventHandler.OnAttack(kState, wMotionIndex);
}
Son düzenleme:
- Katılım
- 11 May 2023
- Konular
- 270
- Mesajlar
- 1,142
- Çözüm
- 2
- Online süresi
- 1mo 25d
- Reaksiyon Skoru
- 745
- Altın Konu
- 1
- Başarım Puanı
- 199
- MmoLira
- 1,200
- DevLira
- 381
bide not düşeyim.
yürüme aniamsyonu
func_move
kısmından yürürken log gönderiyor yani server taraflı çalışıyor.
ama
func_attack gibi bir fonskiyon yok server tarafında.
attack olan kod bloklarındanda sys log denedim
combo atıcna log gelmiyor.
yani bu comboyu komple client tarafına almışlar. gibi.
yürüme aniamsyonu
func_move
kısmından yürürken log gönderiyor yani server taraflı çalışıyor.
ama
func_attack gibi bir fonskiyon yok server tarafında.
attack olan kod bloklarındanda sys log denedim
combo atıcna log gelmiyor.
yani bu comboyu komple client tarafına almışlar. gibi.
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 9
- Görüntüleme
- 435
- Cevaplar
- 3
- Görüntüleme
- 388
- Cevaplar
- 12
- Görüntüleme
- 574
- Cevaplar
- 3
- Görüntüleme
- 245
- Cevaplar
- 18
- Görüntüleme
- 2K















