Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Legit aa

Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
take a look на данные строчки кода c++
C++:
Expand Collapse Copy
void Lbot::LegitAA(CUserCmd * cmd, bool & bSendPacket)
{

    QAngle OldAngles = cmd->viewangles;
    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(Settings::Aimbot::AAFlipHotkey))
        Settings::Aimbot::AaSide = -Settings::Aimbot::AaSide;

    if (Settings::Aimbot::LegitAA == 1)
    {
        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;
            if (should_move)
                cmd->sidemove -= minimal_move;
            bSendPacket = false;
        }
        else if (should_move)
            cmd->sidemove += minimal_move;
    }
    else
    {
        if (next_lby >= g_GlobalVars->curtime)
        {
            if (!broke_lby && bSendPacket && g_ClientState->chokedcommands > 0)
                return;

            broke_lby = false;
            bSendPacket = false;
            cmd->viewangles.yaw += 120.0f * Settings::Aimbot::AaSide;
        }
        else
        {
            broke_lby = true;
            bSendPacket = false;
            cmd->viewangles.yaw += 120.0f * -Settings::Aimbot::AaSide;
        }
    }
    Math::FixAngles(cmd->viewangles);
    MovementFix::Get().FixMovement(cmd, cmd->viewangles);

    auto anim_state = g_LocalPlayer->GetPlayerAnimState();
    if (anim_state)
    {
        CCSGOPlayerAnimState anim_state_backup = *anim_state;
        *anim_state = g_Saver.AnimState;
        *g_LocalPlayer->GetVAngles() = cmd->viewangles;
        g_LocalPlayer->UpdateClientSideAnimation();

        if (anim_state->speed_2d > 0.1f || std::fabsf(anim_state->flUpVelocity)) {
            next_lby = g_GlobalVars->curtime + 0.22f;
        }
        else if (g_GlobalVars->curtime > next_lby) {
            if (std::fabsf(Math::AngleDiff(anim_state->m_flGoalFeetYaw, anim_state->m_flEyeYaw)) > 35.0f) {
                next_lby = g_GlobalVars->curtime + 1.1f;
            }
        }

        g_Saver.AnimState = *anim_state;
        *anim_state = anim_state_backup;
    }

    if (bSendPacket)
    {
        g_Saver.RealYaw = g_Saver.AnimState.m_flGoalFeetYaw;
        g_Saver.DesyncYaw = g_Saver.AnimState.m_flEyeYaw;
    }
}
проще говоря, перед фликом там этово таво, чтобы создать десинк, тебе надо заранее сохранить твои углы, чтобы у тебя ничего там не треслось
создаешь десинк обычным способом и при sendbacket ставишь свои углы (последние 5 строчек кода сам видишь как бы)
 
take a look на данные строчки кода c++
C++:
Expand Collapse Copy
void Lbot::LegitAA(CUserCmd * cmd, bool & bSendPacket)
{

    QAngle OldAngles = cmd->viewangles;
    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(Settings::Aimbot::AAFlipHotkey))
        Settings::Aimbot::AaSide = -Settings::Aimbot::AaSide;

    if (Settings::Aimbot::LegitAA == 1)
    {
        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;
            if (should_move)
                cmd->sidemove -= minimal_move;
            bSendPacket = false;
        }
        else if (should_move)
            cmd->sidemove += minimal_move;
    }
    else
    {
        if (next_lby >= g_GlobalVars->curtime)
        {
            if (!broke_lby && bSendPacket && g_ClientState->chokedcommands > 0)
                return;

            broke_lby = false;
            bSendPacket = false;
            cmd->viewangles.yaw += 120.0f * Settings::Aimbot::AaSide;
        }
        else
        {
            broke_lby = true;
            bSendPacket = false;
            cmd->viewangles.yaw += 120.0f * -Settings::Aimbot::AaSide;
        }
    }
    Math::FixAngles(cmd->viewangles);
    MovementFix::Get().FixMovement(cmd, cmd->viewangles);

    auto anim_state = g_LocalPlayer->GetPlayerAnimState();
    if (anim_state)
    {
        CCSGOPlayerAnimState anim_state_backup = *anim_state;
        *anim_state = g_Saver.AnimState;
        *g_LocalPlayer->GetVAngles() = cmd->viewangles;
        g_LocalPlayer->UpdateClientSideAnimation();

        if (anim_state->speed_2d > 0.1f || std::fabsf(anim_state->flUpVelocity)) {
            next_lby = g_GlobalVars->curtime + 0.22f;
        }
        else if (g_GlobalVars->curtime > next_lby) {
            if (std::fabsf(Math::AngleDiff(anim_state->m_flGoalFeetYaw, anim_state->m_flEyeYaw)) > 35.0f) {
                next_lby = g_GlobalVars->curtime + 1.1f;
            }
        }

        g_Saver.AnimState = *anim_state;
        *anim_state = anim_state_backup;
    }

    if (bSendPacket)
    {
        g_Saver.RealYaw = g_Saver.AnimState.m_flGoalFeetYaw;
        g_Saver.DesyncYaw = g_Saver.AnimState.m_flEyeYaw;
    }
}
проще говоря, перед фликом там этово таво, чтобы создать десинк, тебе надо заранее сохранить твои углы, чтобы у тебя ничего там не треслось
создаешь десинк обычным способом и при sendbacket ставишь свои углы (последние 5 строчек кода сам видишь как бы)
для легит аа как я понял на своем примере лучше делать не сайдмувы, а форвардмувы.
 
Назад
Сверху Снизу