Rezolva hack-ul "Ghost Mode" prin care playerii puteau sa bata alti playeri / mobi / bossi fiind morti.
*Link download / Code:
Deschidem input_main.cpp si cautam:
Code:
void CInputMain::Move(LPCHARACTER ch, const char * data)
Code:
if (pinfo->bFunc >= FUNC_MAX_NUM && !(pinfo->bFunc & 0x80))
{
sys_err("invalid move type: %s", ch->GetName());
return;
}
const float fDist = DISTANCE_SQRT((ch->GetX() - pinfo->lX) / 100, (ch->GetY() - pinfo->lY) / 100);
// if (((false == ch->IsRiding() && fDist > 22) || fDist > 40) && OXEVENT_MAP_INDEX != ch->GetMapIndex())
// {
// sys_err("MOVE: %s trying to move too far (dist: %.1fm) Riding(%d)", ch->GetName(), fDist, ch->IsRiding());
// LogManager::instance().HackLog2(ch, "MOVE_FAR", ToStringFormat("%.1fm", fDist), "dist %.1fm riding(%d)" , fDist, ch->IsRiding());
//ch->Show(ch->GetMapIndex(), ch->GetX(), ch->GetY(), ch->GetZ());
//ch->Stop();
//return;
// }
DWORD dwCurTime = get_dword_time();
// ½Ã°£À» SyncÇϰí 7ÃÊ ÈÄ ºÎÅÍ °Ë»çÇÑ´Ù. (20090702 ÀÌÀü¿£ 5ÃÊ¿´À½)
//bool CheckSpeedHack = (false == ch->GetDesc()->IsHandshaking() && dwCurTime - ch->GetDesc()->GetClientTime() > 7000);
bool CheckSpeedHack = false;
In service.h adaugam:
Code:
#define __HACKFIX__ANTI_GHOSTMODE__