-
Автор темы
- #1
here's code for Legit AA (Desync)
int old_flags = g_LocalPlayer-> m_fFlags ();
static float next_lby = 0.0f;
QAngle OldAngles = cmd-> viewangles;
auto Desync = [OldAngles] (CUserCmd * cmd, bool * send_packet) {
if (cmd-> buttons & (IN_ATTACK | IN_ATTACK2 | IN_USE) ||
g_LocalPlayer-> m_nMoveType () == MOVETYPE_LADDER || g_LocalPlayer-> m_nMoveType () == MOVETYPE_NOCLIP
|| ! g_LocalPlayer-> IsAlive ())
return;
auto weapon = g_LocalPlayer-> m_hActiveWeapon () .Get ();
if (! weapon)
return;
auto weapon_index = weapon-> m_Item () .m_iItemDefinitionIndex ();
if ((weapon_index == WEAPON_GLOCK || weapon_index == WEAPON_FAMAS) && weapon-> m_flNextPrimaryAttack ()> = g_GlobalVars-> curtime)
return;
auto weapon_data = weapon-> GetCSWeaponData ();
if (weapon_data-> WeaponType == WEAPONTYPE_GRENADE) {
if (! weapon-> m_bPinPulled ()) {
float throwTime = weapon-> m_fThrowTime ();
if (throwTime> 0.f)
return;
}
if ((cmd-> buttons & IN_ATTACK) || (cmd-> buttons & IN_ATTACK2)) {
if (weapon-> m_fThrowTime ()> 0.f)
return;
}
}
static bool broke_lby = false;
if (InputSys :: Get () .WasKeyPressed (g_Options.misc_desync_bind)) {
side = -side;
}
if (g_Options.misc_desync == 1) {
/ *
if (do_fakeduck)
return;
* /
float minimal_move = 2.0f;
if (g_LocalPlayer-> m_fFlags () & FL_DUCKING)
minimal_move * = 3.f;
if (cmd-> buttons & IN_WALK)
minimal_move * = 3.f;
bool should_move = g_LocalPlayer-> m_vecVelocity () .Length2D () <= 0.0f
|| std :: fabsf (g_LocalPlayer-> m_vecVelocity () .z) <= 100.0f;
if ((cmd-> command_number% 2) == 1) {
cmd-> viewangles.yaw + = 120.0f * side; // 120.0f
if (should_move)
cmd-> sidemove - = minimal_move;
* send_packet = false;
} else if (should_move) {
cmd-> sidemove + = minimal_move;
}
} else {
if (next_lby> = g_GlobalVars-> curtime) {
if (! broke_lby && * send_packet && g_ClientState-> chokedcommands> 0)
return;
broke_lby = false;
* send_packet = false;
cmd-> viewangles.yaw + = 120.0f * side; // 120.0f
} else {
broke_lby = true;
* send_packet = false;
cmd-> viewangles.yaw + = 120.0f * -side; // 120.0f
}
}
Math :: FixAngles (cmd-> viewangles);
Math :: MovementFix (cmd, OldAngles, cmd-> viewangles);
};
int old_flags = g_LocalPlayer-> m_fFlags ();
static float next_lby = 0.0f;
QAngle OldAngles = cmd-> viewangles;
auto Desync = [OldAngles] (CUserCmd * cmd, bool * send_packet) {
if (cmd-> buttons & (IN_ATTACK | IN_ATTACK2 | IN_USE) ||
g_LocalPlayer-> m_nMoveType () == MOVETYPE_LADDER || g_LocalPlayer-> m_nMoveType () == MOVETYPE_NOCLIP
|| ! g_LocalPlayer-> IsAlive ())
return;
auto weapon = g_LocalPlayer-> m_hActiveWeapon () .Get ();
if (! weapon)
return;
auto weapon_index = weapon-> m_Item () .m_iItemDefinitionIndex ();
if ((weapon_index == WEAPON_GLOCK || weapon_index == WEAPON_FAMAS) && weapon-> m_flNextPrimaryAttack ()> = g_GlobalVars-> curtime)
return;
auto weapon_data = weapon-> GetCSWeaponData ();
if (weapon_data-> WeaponType == WEAPONTYPE_GRENADE) {
if (! weapon-> m_bPinPulled ()) {
float throwTime = weapon-> m_fThrowTime ();
if (throwTime> 0.f)
return;
}
if ((cmd-> buttons & IN_ATTACK) || (cmd-> buttons & IN_ATTACK2)) {
if (weapon-> m_fThrowTime ()> 0.f)
return;
}
}
static bool broke_lby = false;
if (InputSys :: Get () .WasKeyPressed (g_Options.misc_desync_bind)) {
side = -side;
}
if (g_Options.misc_desync == 1) {
/ *
if (do_fakeduck)
return;
* /
float minimal_move = 2.0f;
if (g_LocalPlayer-> m_fFlags () & FL_DUCKING)
minimal_move * = 3.f;
if (cmd-> buttons & IN_WALK)
minimal_move * = 3.f;
bool should_move = g_LocalPlayer-> m_vecVelocity () .Length2D () <= 0.0f
|| std :: fabsf (g_LocalPlayer-> m_vecVelocity () .z) <= 100.0f;
if ((cmd-> command_number% 2) == 1) {
cmd-> viewangles.yaw + = 120.0f * side; // 120.0f
if (should_move)
cmd-> sidemove - = minimal_move;
* send_packet = false;
} else if (should_move) {
cmd-> sidemove + = minimal_move;
}
} else {
if (next_lby> = g_GlobalVars-> curtime) {
if (! broke_lby && * send_packet && g_ClientState-> chokedcommands> 0)
return;
broke_lby = false;
* send_packet = false;
cmd-> viewangles.yaw + = 120.0f * side; // 120.0f
} else {
broke_lby = true;
* send_packet = false;
cmd-> viewangles.yaw + = 120.0f * -side; // 120.0f
}
}
Math :: FixAngles (cmd-> viewangles);
Math :: MovementFix (cmd, OldAngles, cmd-> viewangles);
};