-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
bool can_exploit1(int tickbase_shift)
{
auto weapon = csgo->weapon;
if (!weapon)
return false;
const auto info = (weapon->GetCSWpnData());
if (!(info))
return false;
float curtime = TICKS_TO_TIME(csgo->local->GetTickBase() - tickbase_shift);
if (curtime < csgo->local->m_flNextAttack())
return false;
if (curtime < weapon->NextPrimaryAttack())
return false;
return true;
}
bool CanDoubletap()
{
if (CanDT() && !csgo->game_rules->IsFreezeTime())
{
if (!vars.ragebot.double_tap)
return false;
IBaseCombatWeapon* m_pWeapon = csgo->local->GetWeapon();
if (!m_pWeapon || !m_pWeapon->CanShift())
return false;
if (m_pWeapon->GetItemDefinitionIndex() == 40 || m_pWeapon->GetItemDefinitionIndex() == 9)
return false;
return true;
}
}
float GetShiftTime()
{
float m_flPlayerTime = (csgo->local->GetTickBase() - 1) * interfaces.global_vars->interval_per_tick;
if (!vars.ragebot.double_tap)
return m_flPlayerTime;
//get tickbase mb dt
if ((CanDoubletap() && !vars.ragebot.exploit->active) || !vars.ragebot.hide_shots->active)
return m_flPlayerTime;
IBaseCombatWeapon* m_pWeapon = csgo->local->GetWeapon();
if (!m_pWeapon || !m_pWeapon->CanShift())
return m_flPlayerTime;
int m_nShiftCmds = 0;
if (CanDoubletap())
m_nShiftCmds = (!vars.ragebot.exploit->active) ? 13 : 0;
else
m_nShiftCmds = (vars.ragebot.hide_shots->active) ? 7 : 0;
return m_flPlayerTime - ((m_nShiftCmds + 1) * interfaces.global_vars->interval_per_tick);
}
bool CanShiftTickbase()
{
if (!can_exploit1(14))
return false;
if (csgo->local->m_flNextAttack() > GetShiftTime())
return false;
if (csgo->weapon->NextPrimaryAttack() + interfaces.global_vars->interval_per_tick * 10.f > GetShiftTime())
return false;
csgo->m_nTickbaseShift = false;
return GetShiftTime() >= csgo->weapon->NextSecondaryAttack();
}
void OnProcessPacket()
{
if (CanDT() && !csgo->game_rules->IsFreezeTime())
{
if (!csgo->send_packet)
return;
//g_pViolanes->Tickbase->g_bDoubletap
if (!vars.ragebot.hide_shots->active && !vars.ragebot.exploit->active && (!(csgo->cmd->buttons & IN_ATTACK) || !CanShiftTickbase()))
return;
IBaseCombatWeapon* m_pWeapon = csgo->local->GetWeapon();
if (!m_pWeapon || !m_pWeapon->CanShift())
{
if (csgo->dt_charged)
csgo->dt_charged = true;
return;
}
int m_nShift = 0;
if (CanDoubletap())
m_nShift = (!vars.ragebot.exploit->active) ? 13 : 0;
else
m_nShift = (!vars.ragebot.hide_shots->active) ? 7 : 0;
csgo->dt_charged = true;
}
}