void InitDoubleTap()
{
static bool did_shift_before = false;
static int doubletappedbullshit = 0;
static int prev_shift_ticks = 0;
static bool reset = false;
static int shot_tick = 0;
static int process_ticks = 0;
static int dt_ticks = 17;
static int limit = 17;
CMAntiAim::Get().shot_dt = false;
if (CanDT() && !csgo->game_rules->IsFreezeTime())
{
if (vars.ragebot.double_tap->active)
{
prev_shift_ticks = 0;
auto can_shift_shot = CMAntiAim::Get().tickbase_shift(dt_ticks);
auto can_shot = CMAntiAim::Get().tickbase_shift(abs(-1 - prev_shift_ticks));
if (can_shift_shot || !can_shot && !did_shift_before)
{
prev_shift_ticks = dt_ticks;
doubletappedbullshit = 0;
}
else {
doubletappedbullshit++;
prev_shift_ticks = 0;
}
//if (csgo->send_packet)
{
if (prev_shift_ticks > 0)
{
if (CMAntiAim::Get().tickbase_shift(prev_shift_ticks))
{
CMAntiAim::Get().shot_dt = true;
if (csgo->cmd->buttons & IN_ATTACK)
{
csgo->m_nTickbaseShift = prev_shift_ticks;
CMAntiAim::Get().did_shot = true;
reset = false;
CMAntiAim::Get().cmd_tick = csgo->cmd->command_number;
CMAntiAim::Get().base_tick = csgo->local()->GetTickBase();
}
else
{
if ((!(csgo->cmd->buttons & IN_ATTACK) || !Ragebot::Get().shot) && CMAntiAim::Get().did_shot) {
csgo->dt_charged = false;
csgo->skip_ticks = dt_ticks;
CMAntiAim::Get().did_shot = false;
}
}
}
else
{
CMAntiAim::Get().shot_dt = false;
process_ticks = 0;
}
}
did_shift_before = prev_shift_ticks != 0;
}
}
else {
csgo->bShootedFirstBullet = false;
csgo->TickShifted = false;
csgo->nSinceUse = 0;
}
}
}