- Katılım
- 21 Haz 2013
- Konular
- 198
- Mesajlar
- 1,742
- Çözüm
- 8
- Online süresi
- 17d 3h
- Reaksiyon Skoru
- 2,660
- Altın Konu
- 3
- Başarım Puanı
- 278
- MmoLira
- 714
- DevLira
- 103
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!
Merhaba, Yeni yayılmaya başlayan bir hile için fix paylaşıcam, tam fix denemez aslında ama hatalı kısmını düzenledim tam bir fix için sync paketinin işleyişinin tamamen düzenlenmesi gerekir, olayı özetlemek için birkaç video bırakıyorum.
Düzenlenmiş hali
Uzak mesafe kontrolü fix;
* game/src/input_main.cpp
Arat:
Değiştir:
Tamamen atak dışında sektirme fix; (AKTİF OYUNDA TEST EDİLMEDİ)
* char.h
Arat:
Altına ekle:
* input_main.cpp
Arat:
Altına ekle:
---
Arat:
Altına ekle:
---
Arat:
Altına ekle:
Düzenlenmiş hali
Uzak mesafe kontrolü fix;
* game/src/input_main.cpp
Arat:
Kod:
static const float fLimitDistWithSyncOwner = 2500.f + 1000.f;
Değiştir:
Kod:
static const float fLimitDistWithSyncOwner = 25.f + 10.f;
Tamamen atak dışında sektirme fix; (AKTİF OYUNDA TEST EDİLMEDİ)
* char.h
Arat:
Kod:
DWORD GetStopTime() const;
Altına ekle:
Kod:
void UpdateAttackTimeTo(DWORD dwVID, DWORD dwTime) { m_map_dwAttackTime[dwVID] = dwTime; }
DWORD GetLastAttackTimeTo(DWORD dwVID) { return m_map_dwAttackTime[dwVID]; }
void IncreaseSyncAttackSusCount() { m_dwSyncAttackSusCount++; }
void ResetSyncAttackSusCount() { m_dwSyncAttackSusCount = 0; }
DWORD GetSyncAttackSusCount() const { return m_dwSyncAttackSusCount; }
private:
std::map <DWORD, DWORD> m_map_dwAttackTime;
DWORD m_dwSyncAttackSusCount{ 0 };
protected:
* input_main.cpp
Arat:
Kod:
if (packMelee->bType > 0)
{
if (false == ch->CheckSkillHitCount(packMelee->bType, victim->GetVID()))
{
return;
}
}
Altına ekle:
Kod:
ch->UpdateAttackTimeTo(packMelee->dwVID, get_dword_time());
---
Arat:
Kod:
buffer_write_proceed(lpBuf, sizeof(TPacketGCSyncPosition));
Altına ekle:
Kod:
auto fnGetActorSyncCount = [&c_pcData, &iCount](uint32_t dwVID) {
uint8_t bySyncCount = 0;
if (dwVID == 0)
return bySyncCount;
for (std::size_t i = 0; i < iCount; i++)
{
const auto pElem = reinterpret_cast<const TPacketCGSyncPositionElement*>(c_pcData + sizeof(TPacketCGSyncPosition) + (i * sizeof(TPacketCGSyncPositionElement)));
if (pElem->dwVID == dwVID)
bySyncCount += 1;
}
return bySyncCount;
};
---
Arat:
Kod:
if (!victim->SetSyncOwner(ch))
continue;
Altına ekle:
Kod:
if (victim->IsPC())
{
const auto bySyncCount = fnGetActorSyncCount(e->dwVID);
if (bySyncCount > 3)
{
sys_err("SyncCount: %d for %s greater than 3, CH(%d,%d) VICTIM(%d,%d) SYNC(%d,%d)",
bySyncCount, victim->GetName(), ch->GetX(), ch->GetY(), victim->GetX(), victim->GetY(), e->lX, e->lY
);
LogManager::Instance().HackLog("ABNORMAL_SYNC_COUNT", ch);
if (ch->GetDesc())
ch->GetDesc()->DelayedDisconnect(3);
continue;
}
const auto dwLastAttackTime = ch->GetLastAttackTimeTo(victim->GetVID());
const auto dwCurTime = get_dword_time();
if (!dwLastAttackTime || dwCurTime - dwLastAttackTime > 5000)
{
sys_err("SyncPosition: %s CH(%d,%d) VICTIM(%d,%d) SYNC(%d,%d) LastAttackTime(%u) CurTime(%u)",
victim->GetName(), ch->GetX(), ch->GetY(), victim->GetX(), victim->GetY(), e->lX, e->lY, dwLastAttackTime, dwCurTime
);
LogManager::Instance().HackLog("SYNC_ATTACK_TIME", ch);
if (ch->GetDesc())
ch->GetDesc()->DelayedDisconnect(3);
}
else
{
ch->ResetSyncAttackSusCount();
}
}
Son düzenleme:
En Çok Reaksiyon Alan Mesajlar
Fix için eline sağlık. Aklıma bu video geldi
Öğeyi görmek için üye olmalısınız.
Paylaşım için teşekkürler.
- Katılım
- 15 May 2018
- Konular
- 96
- Mesajlar
- 950
- Çözüm
- 18
- Online süresi
- 3mo 25d
- Reaksiyon Skoru
- 285
- Altın Konu
- 0
- TM Yaşı
- 8 Yıl 24 Gün
- Başarım Puanı
- 186
- Yaş
- 28
- MmoLira
- 11,598
- DevLira
- 30
Paylaşımınız İçin Teşekkürler
- Katılım
- 23 Nis 2015
- Konular
- 1,364
- Mesajlar
- 6,476
- Çözüm
- 5
- Online süresi
- 4mo 12d
- Reaksiyon Skoru
- 2,673
- Altın Konu
- 59
- Başarım Puanı
- 344
- MmoLira
- 28,007
- DevLira
- 3
Paylaşım İçin Teşeküker İyİ Forumlar.
- Katılım
- 15 Mar 2016
- Konular
- 108
- Mesajlar
- 2,912
- Çözüm
- 9
- Online süresi
- 6mo 8d
- Reaksiyon Skoru
- 643
- Altın Konu
- 0
- TM Yaşı
- 10 Yıl 2 Ay 25 Gün
- Başarım Puanı
- 244
- Yaş
- 26
- MmoLira
- 9,571
- DevLira
- 21
Merhaba, Yeni yayılmaya başlayan bir hile için fix paylaşıcam, tam fix denemez aslında ama hatalı kısmını düzenledim tam bir fix için sync paketinin işleyişinin tamamen düzenlenmesi gerekir, olayı özetlemek için birkaç video bırakıyorum.
Düzenlenmiş hali
Fix;
* game/src/input_main.cpp
Arat:
Kod:static const float fLimitDistWithSyncOwner = 2500.f + 1000.f;
Değiştir:
Kod:static const float fLimitDistWithSyncOwner = 25.f + 10.f;
Teşekkürler
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 6
- Görüntüleme
- 279
- Cevaplar
- 12
- Görüntüleme
- 580
- Cevaplar
- 8
- Görüntüleme
- 303
- Cevaplar
- 11
- Görüntüleme
- 545
- Cevaplar
- 20
- Görüntüleme
- 787










