задержка монитораПри отжатии дт тпает только через несколько секунд,как фиксить??
Знаю что дт можно перенести на форс речардж но не знаю как (((
bool misc::double_tap(CUserCmd* m_pcmd)
{
double_tap_enabled = true;
static auto recharge_rapid_fire = false;
static bool firing_dt = false;
if (recharge_rapid_fire)
{
recharge_rapid_fire = false;
recharging_double_tap = true;
g_ctx.globals.ticks_allowed = 0;
g_ctx.globals.tickbase_shift = 0;
return false;
}
auto max_tickbase_shift = g_ctx.globals.weapon->get_max_tickbase_shift();
if (recharging_double_tap)
{
if (can_shift_shot(max_tickbase_shift) && !aim::get().should_stop)
{
recharging_double_tap = false;
double_tap_key = true;
firing_dt = false;
}
else if (m_pcmd->m_buttons & IN_ATTACK)
firing_dt = true;
}
if (!g_cfg.ragebot.enable)
{
double_tap_enabled = false;
double_tap_key = false;
g_ctx.globals.ticks_allowed = 0;
g_ctx.globals.tickbase_shift = 0;
return false;
}
if (!g_cfg.ragebot.double_tap)
{
double_tap_enabled = false;
double_tap_key = false;
g_ctx.globals.ticks_allowed = 0;
g_ctx.globals.tickbase_shift = 0;
return false;
}
static bool was_in_dt = false;
if (g_cfg.ragebot.double_tap_key.key <= KEY_NONE || g_cfg.ragebot.double_tap_key.key >= KEY_MAX)
{
double_tap_enabled = false;
double_tap_key = false;
g_ctx.globals.ticks_allowed = 0;
g_ctx.globals.tickbase_shift = 0;
return false;
}
if (double_tap_key && g_cfg.ragebot.double_tap_key.key != g_cfg.antiaim.hide_shots_key.key)
hide_shots_key = false;
if (!double_tap_key || g_ctx.local()->m_bGunGameImmunity() || g_ctx.local()->m_fFlags() & FL_FROZEN || g_ctx.globals.fakeducking)
{
double_tap_enabled = false;
if (!firing_dt && was_in_dt)
{
g_ctx.globals.trigger_teleport = true;
g_ctx.globals.teleport_amount = max_tickbase_shift;
was_in_dt = false;
}
g_ctx.globals.ticks_allowed = 0;
g_ctx.globals.tickbase_shift = 0;
return false;
}
if (m_gamerules()->m_bIsValveDS())
{
double_tap_enabled = false;
g_ctx.globals.ticks_allowed = 0;
g_ctx.globals.tickbase_shift = 0;
return false;
}
if (antiaim::get().freeze_check)
return true;
was_in_dt = true;
if (!g_ctx.globals.weapon->is_grenade() && g_ctx.globals.weapon->m_iItemDefinitionIndex() != WEAPON_TASER
&& g_ctx.globals.weapon->m_iItemDefinitionIndex() != WEAPON_REVOLVER
&& (m_pcmd->m_buttons & IN_ATTACK || m_pcmd->m_buttons & IN_ATTACK2 && g_ctx.globals.weapon->is_knife())) //-V648
{
auto next_command_number = m_pcmd->m_command_number + 1;
auto user_cmd = m_input()->GetUserCmd(next_command_number);
memcpy(user_cmd, m_pcmd, sizeof(CUserCmd));
user_cmd->m_command_number = next_command_number;
util::copy_command(user_cmd, max_tickbase_shift);
if (g_ctx.globals.aimbot_working)
{
g_ctx.globals.double_tap_aim = true;
g_ctx.globals.double_tap_aim_check = true;
}
recharge_rapid_fire = true;
double_tap_enabled = false;
double_tap_key = false;
g_ctx.send_packet = true;
firing_dt = true;
}
else if (!g_ctx.globals.weapon->is_grenade() && g_ctx.globals.weapon->m_iItemDefinitionIndex() != WEAPON_TASER && g_ctx.globals.weapon->m_iItemDefinitionIndex() != WEAPON_REVOLVER)
g_ctx.globals.tickbase_shift = max_tickbase_shift;
return true;
}
using CLMove_t = void(__vectorcall*)(float, bool);
void __vectorcall hooks::hooked_clmove(float accumulated_extra_samples, bool bFinalTick)
{
if (g_ctx.globals.should_recharge)
{
g_ctx.get_command()->m_tickcount = INT_MAX;
if (++g_ctx.globals.ticks_allowed >= 14)
{
g_ctx.globals.should_recharge = false;
g_ctx.send_packet = true;
}
else
g_ctx.send_packet = false;
return;
}
((CLMove_t)original_clmove)(accumulated_extra_samples, bFinalTick);
if (g_ctx.available() && g_ctx.local()->is_alive())
{
if (g_ctx.globals.trigger_teleport)
{
for (int i = 0; i < g_ctx.globals.teleport_amount; i++)
((CLMove_t)original_clmove)(accumulated_extra_samples, bFinalTick);
g_ctx.globals.teleport_amount = 0;
g_ctx.globals.trigger_teleport = false;
}
}
}
using WriteUsercmdDeltaToBuffer_t = bool(__thiscall*)(void*, int, void*, int, int, bool);
void WriteUserÑmd(void* buf, CUserCmd* incmd, CUserCmd* outcmd);
bool __fastcall hooks::hooked_writeusercmddeltatobuffer(void* ecx, void* edx, int slot, bf_write* buf, int from, int to, bool is_new_command)
{
static auto original_fn = client_hook->get_func_address <WriteUsercmdDeltaToBuffer_t>(24);
if (!g_ctx.globals.tickbase_shift)
return original_fn(ecx, slot, buf, from, to, is_new_command);
if (from != -1)
return true;
auto final_from = -1;
uintptr_t frame_ptr;
__asm mov frame_ptr, ebp;
auto backup_commands = reinterpret_cast <int*> (frame_ptr + 0xFD8);
auto new_commands = reinterpret_cast <int*> (frame_ptr + 0xFDC);
auto newcmds = *new_commands;
auto shift = g_ctx.globals.tickbase_shift;
g_ctx.globals.tickbase_shift = 0;
*backup_commands = 0;
auto choked_modifier = newcmds + shift;
if (choked_modifier > 62)
choked_modifier = 62;
*new_commands = choked_modifier;
auto next_cmdnr = m_clientstate()->iChokedCommands + m_clientstate()->nLastOutgoingCommand + 1;
auto final_to = next_cmdnr - newcmds + 1;
if (final_to <= next_cmdnr)
{
while (original_fn(ecx, slot, buf, final_from, final_to, true))
{
final_from = final_to++;
if (final_to > next_cmdnr)
goto next_cmd;
}
return false;
}
next_cmd:
auto user_cmd = m_input()->GetUserCmd(final_from);
if (!user_cmd)
return true;
CUserCmd to_cmd;
CUserCmd from_cmd;
from_cmd = *user_cmd;
to_cmd = from_cmd;
to_cmd.m_command_number++;
to_cmd.m_tickcount += 200;
if (newcmds > choked_modifier)
return true;
for (auto i = choked_modifier - newcmds + 1; i > 0; --i)
{
WriteUserÑmd(buf, &to_cmd, &from_cmd);
from_cmd = to_cmd;
to_cmd.m_command_number++;
to_cmd.m_tickcount++;
}
return true;
}
void WriteUserÑmd(void* buf, CUserCmd* incmd, CUserCmd* outcmd)
{
using WriteUserCmd_t = void(__fastcall*)(void*, CUserCmd*, CUserCmd*);
static auto Fn = (WriteUserCmd_t)util::FindSignature(crypt_str("client.dll"), crypt_str("55 8B EC 83 E4 F8 51 53 56 8B D9"));
__asm
{
mov ecx, buf
mov edx, incmd
push outcmd
call Fn
add esp, 4
}
}
удачи фиксить то что тебя назад при пике будет тепатьdouble_tap:bool misc::double_tap(CUserCmd* m_pcmd) { double_tap_enabled = true; static auto recharge_rapid_fire = false; static bool firing_dt = false; if (recharge_rapid_fire) { recharge_rapid_fire = false; recharging_double_tap = true; g_ctx.globals.ticks_allowed = 0; g_ctx.globals.tickbase_shift = 0; return false; } auto max_tickbase_shift = g_ctx.globals.weapon->get_max_tickbase_shift(); if (recharging_double_tap) { if (can_shift_shot(max_tickbase_shift) && !aim::get().should_stop) { recharging_double_tap = false; double_tap_key = true; firing_dt = false; } else if (m_pcmd->m_buttons & IN_ATTACK) firing_dt = true; } if (!g_cfg.ragebot.enable) { double_tap_enabled = false; double_tap_key = false; g_ctx.globals.ticks_allowed = 0; g_ctx.globals.tickbase_shift = 0; return false; } if (!g_cfg.ragebot.double_tap) { double_tap_enabled = false; double_tap_key = false; g_ctx.globals.ticks_allowed = 0; g_ctx.globals.tickbase_shift = 0; return false; } static bool was_in_dt = false; if (g_cfg.ragebot.double_tap_key.key <= KEY_NONE || g_cfg.ragebot.double_tap_key.key >= KEY_MAX) { double_tap_enabled = false; double_tap_key = false; g_ctx.globals.ticks_allowed = 0; g_ctx.globals.tickbase_shift = 0; return false; } if (double_tap_key && g_cfg.ragebot.double_tap_key.key != g_cfg.antiaim.hide_shots_key.key) hide_shots_key = false; if (!double_tap_key || g_ctx.local()->m_bGunGameImmunity() || g_ctx.local()->m_fFlags() & FL_FROZEN || g_ctx.globals.fakeducking) { double_tap_enabled = false; if (!firing_dt && was_in_dt) { g_ctx.globals.trigger_teleport = true; g_ctx.globals.teleport_amount = max_tickbase_shift; was_in_dt = false; } g_ctx.globals.ticks_allowed = 0; g_ctx.globals.tickbase_shift = 0; return false; } if (m_gamerules()->m_bIsValveDS()) { double_tap_enabled = false; g_ctx.globals.ticks_allowed = 0; g_ctx.globals.tickbase_shift = 0; return false; } if (antiaim::get().freeze_check) return true; was_in_dt = true; if (!g_ctx.globals.weapon->is_grenade() && g_ctx.globals.weapon->m_iItemDefinitionIndex() != WEAPON_TASER && g_ctx.globals.weapon->m_iItemDefinitionIndex() != WEAPON_REVOLVER && (m_pcmd->m_buttons & IN_ATTACK || m_pcmd->m_buttons & IN_ATTACK2 && g_ctx.globals.weapon->is_knife())) //-V648 { auto next_command_number = m_pcmd->m_command_number + 1; auto user_cmd = m_input()->GetUserCmd(next_command_number); memcpy(user_cmd, m_pcmd, sizeof(CUserCmd)); user_cmd->m_command_number = next_command_number; util::copy_command(user_cmd, max_tickbase_shift); if (g_ctx.globals.aimbot_working) { g_ctx.globals.double_tap_aim = true; g_ctx.globals.double_tap_aim_check = true; } recharge_rapid_fire = true; double_tap_enabled = false; double_tap_key = false; g_ctx.send_packet = true; firing_dt = true; } else if (!g_ctx.globals.weapon->is_grenade() && g_ctx.globals.weapon->m_iItemDefinitionIndex() != WEAPON_TASER && g_ctx.globals.weapon->m_iItemDefinitionIndex() != WEAPON_REVOLVER) g_ctx.globals.tickbase_shift = max_tickbase_shift; return true; }
в hooked_runcommand.cpp:using CLMove_t = void(__vectorcall*)(float, bool); void __vectorcall hooks::hooked_clmove(float accumulated_extra_samples, bool bFinalTick) { if (g_ctx.globals.should_recharge) { g_ctx.get_command()->m_tickcount = INT_MAX; if (++g_ctx.globals.ticks_allowed >= 14) { g_ctx.globals.should_recharge = false; g_ctx.send_packet = true; } else g_ctx.send_packet = false; return; } ((CLMove_t)original_clmove)(accumulated_extra_samples, bFinalTick); if (g_ctx.available() && g_ctx.local()->is_alive()) { if (g_ctx.globals.trigger_teleport) { for (int i = 0; i < g_ctx.globals.teleport_amount; i++) ((CLMove_t)original_clmove)(accumulated_extra_samples, bFinalTick); g_ctx.globals.teleport_amount = 0; g_ctx.globals.trigger_teleport = false; } } } using WriteUsercmdDeltaToBuffer_t = bool(__thiscall*)(void*, int, void*, int, int, bool); void WriteUserÑmd(void* buf, CUserCmd* incmd, CUserCmd* outcmd); bool __fastcall hooks::hooked_writeusercmddeltatobuffer(void* ecx, void* edx, int slot, bf_write* buf, int from, int to, bool is_new_command) { static auto original_fn = client_hook->get_func_address <WriteUsercmdDeltaToBuffer_t>(24); if (!g_ctx.globals.tickbase_shift) return original_fn(ecx, slot, buf, from, to, is_new_command); if (from != -1) return true; auto final_from = -1; uintptr_t frame_ptr; __asm mov frame_ptr, ebp; auto backup_commands = reinterpret_cast <int*> (frame_ptr + 0xFD8); auto new_commands = reinterpret_cast <int*> (frame_ptr + 0xFDC); auto newcmds = *new_commands; auto shift = g_ctx.globals.tickbase_shift; g_ctx.globals.tickbase_shift = 0; *backup_commands = 0; auto choked_modifier = newcmds + shift; if (choked_modifier > 62) choked_modifier = 62; *new_commands = choked_modifier; auto next_cmdnr = m_clientstate()->iChokedCommands + m_clientstate()->nLastOutgoingCommand + 1; auto final_to = next_cmdnr - newcmds + 1; if (final_to <= next_cmdnr) { while (original_fn(ecx, slot, buf, final_from, final_to, true)) { final_from = final_to++; if (final_to > next_cmdnr) goto next_cmd; } return false; } next_cmd: auto user_cmd = m_input()->GetUserCmd(final_from); if (!user_cmd) return true; CUserCmd to_cmd; CUserCmd from_cmd; from_cmd = *user_cmd; to_cmd = from_cmd; to_cmd.m_command_number++; to_cmd.m_tickcount += 200; if (newcmds > choked_modifier) return true; for (auto i = choked_modifier - newcmds + 1; i > 0; --i) { WriteUserÑmd(buf, &to_cmd, &from_cmd); from_cmd = to_cmd; to_cmd.m_command_number++; to_cmd.m_tickcount++; } return true; } void WriteUserÑmd(void* buf, CUserCmd* incmd, CUserCmd* outcmd) { using WriteUserCmd_t = void(__fastcall*)(void*, CUserCmd*, CUserCmd*); static auto Fn = (WriteUserCmd_t)util::FindSignature(crypt_str("client.dll"), crypt_str("55 8B EC 83 E4 F8 51 53 56 8B D9")); __asm { mov ecx, buf mov edx, incmd push outcmd call Fn add esp, 4 } }
double_tap:bool misc::double_tap(CUserCmd* m_pcmd) { double_tap_enabled = true; static auto recharge_rapid_fire = false; static bool firing_dt = false; if (recharge_rapid_fire) { recharge_rapid_fire = false; recharging_double_tap = true; g_ctx.globals.ticks_allowed = 0; g_ctx.globals.tickbase_shift = 0; return false; } auto max_tickbase_shift = g_ctx.globals.weapon->get_max_tickbase_shift(); if (recharging_double_tap) { if (can_shift_shot(max_tickbase_shift) && !aim::get().should_stop) { recharging_double_tap = false; double_tap_key = true; firing_dt = false; } else if (m_pcmd->m_buttons & IN_ATTACK) firing_dt = true; } if (!g_cfg.ragebot.enable) { double_tap_enabled = false; double_tap_key = false; g_ctx.globals.ticks_allowed = 0; g_ctx.globals.tickbase_shift = 0; return false; } if (!g_cfg.ragebot.double_tap) { double_tap_enabled = false; double_tap_key = false; g_ctx.globals.ticks_allowed = 0; g_ctx.globals.tickbase_shift = 0; return false; } static bool was_in_dt = false; if (g_cfg.ragebot.double_tap_key.key <= KEY_NONE || g_cfg.ragebot.double_tap_key.key >= KEY_MAX) { double_tap_enabled = false; double_tap_key = false; g_ctx.globals.ticks_allowed = 0; g_ctx.globals.tickbase_shift = 0; return false; } if (double_tap_key && g_cfg.ragebot.double_tap_key.key != g_cfg.antiaim.hide_shots_key.key) hide_shots_key = false; if (!double_tap_key || g_ctx.local()->m_bGunGameImmunity() || g_ctx.local()->m_fFlags() & FL_FROZEN || g_ctx.globals.fakeducking) { double_tap_enabled = false; if (!firing_dt && was_in_dt) { g_ctx.globals.trigger_teleport = true; g_ctx.globals.teleport_amount = max_tickbase_shift; was_in_dt = false; } g_ctx.globals.ticks_allowed = 0; g_ctx.globals.tickbase_shift = 0; return false; } if (m_gamerules()->m_bIsValveDS()) { double_tap_enabled = false; g_ctx.globals.ticks_allowed = 0; g_ctx.globals.tickbase_shift = 0; return false; } if (antiaim::get().freeze_check) return true; was_in_dt = true; if (!g_ctx.globals.weapon->is_grenade() && g_ctx.globals.weapon->m_iItemDefinitionIndex() != WEAPON_TASER && g_ctx.globals.weapon->m_iItemDefinitionIndex() != WEAPON_REVOLVER && (m_pcmd->m_buttons & IN_ATTACK || m_pcmd->m_buttons & IN_ATTACK2 && g_ctx.globals.weapon->is_knife())) //-V648 { auto next_command_number = m_pcmd->m_command_number + 1; auto user_cmd = m_input()->GetUserCmd(next_command_number); memcpy(user_cmd, m_pcmd, sizeof(CUserCmd)); user_cmd->m_command_number = next_command_number; util::copy_command(user_cmd, max_tickbase_shift); if (g_ctx.globals.aimbot_working) { g_ctx.globals.double_tap_aim = true; g_ctx.globals.double_tap_aim_check = true; } recharge_rapid_fire = true; double_tap_enabled = false; double_tap_key = false; g_ctx.send_packet = true; firing_dt = true; } else if (!g_ctx.globals.weapon->is_grenade() && g_ctx.globals.weapon->m_iItemDefinitionIndex() != WEAPON_TASER && g_ctx.globals.weapon->m_iItemDefinitionIndex() != WEAPON_REVOLVER) g_ctx.globals.tickbase_shift = max_tickbase_shift; return true; }
в hooked_runcommand.cpp:using CLMove_t = void(__vectorcall*)(float, bool); void __vectorcall hooks::hooked_clmove(float accumulated_extra_samples, bool bFinalTick) { if (g_ctx.globals.should_recharge) { g_ctx.get_command()->m_tickcount = INT_MAX; if (++g_ctx.globals.ticks_allowed >= 14) { g_ctx.globals.should_recharge = false; g_ctx.send_packet = true; } else g_ctx.send_packet = false; return; } ((CLMove_t)original_clmove)(accumulated_extra_samples, bFinalTick); if (g_ctx.available() && g_ctx.local()->is_alive()) { if (g_ctx.globals.trigger_teleport) { for (int i = 0; i < g_ctx.globals.teleport_amount; i++) ((CLMove_t)original_clmove)(accumulated_extra_samples, bFinalTick); g_ctx.globals.teleport_amount = 0; g_ctx.globals.trigger_teleport = false; } } } using WriteUsercmdDeltaToBuffer_t = bool(__thiscall*)(void*, int, void*, int, int, bool); void WriteUserÑmd(void* buf, CUserCmd* incmd, CUserCmd* outcmd); bool __fastcall hooks::hooked_writeusercmddeltatobuffer(void* ecx, void* edx, int slot, bf_write* buf, int from, int to, bool is_new_command) { static auto original_fn = client_hook->get_func_address <WriteUsercmdDeltaToBuffer_t>(24); if (!g_ctx.globals.tickbase_shift) return original_fn(ecx, slot, buf, from, to, is_new_command); if (from != -1) return true; auto final_from = -1; uintptr_t frame_ptr; __asm mov frame_ptr, ebp; auto backup_commands = reinterpret_cast <int*> (frame_ptr + 0xFD8); auto new_commands = reinterpret_cast <int*> (frame_ptr + 0xFDC); auto newcmds = *new_commands; auto shift = g_ctx.globals.tickbase_shift; g_ctx.globals.tickbase_shift = 0; *backup_commands = 0; auto choked_modifier = newcmds + shift; if (choked_modifier > 62) choked_modifier = 62; *new_commands = choked_modifier; auto next_cmdnr = m_clientstate()->iChokedCommands + m_clientstate()->nLastOutgoingCommand + 1; auto final_to = next_cmdnr - newcmds + 1; if (final_to <= next_cmdnr) { while (original_fn(ecx, slot, buf, final_from, final_to, true)) { final_from = final_to++; if (final_to > next_cmdnr) goto next_cmd; } return false; } next_cmd: auto user_cmd = m_input()->GetUserCmd(final_from); if (!user_cmd) return true; CUserCmd to_cmd; CUserCmd from_cmd; from_cmd = *user_cmd; to_cmd = from_cmd; to_cmd.m_command_number++; to_cmd.m_tickcount += 200; if (newcmds > choked_modifier) return true; for (auto i = choked_modifier - newcmds + 1; i > 0; --i) { WriteUserÑmd(buf, &to_cmd, &from_cmd); from_cmd = to_cmd; to_cmd.m_command_number++; to_cmd.m_tickcount++; } return true; } void WriteUserÑmd(void* buf, CUserCmd* incmd, CUserCmd* outcmd) { using WriteUserCmd_t = void(__fastcall*)(void*, CUserCmd*, CUserCmd*); static auto Fn = (WriteUserCmd_t)util::FindSignature(crypt_str("client.dll"), crypt_str("55 8B EC 83 E4 F8 51 53 56 8B D9")); __asm { mov ecx, buf mov edx, incmd push outcmd call Fn add esp, 4 } }
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz