C++ Шит бич ресольвер для ЛВ

Пользователь
Статус
Оффлайн
Регистрация
7 Июн 2021
Сообщения
107
Реакции[?]
36
Поинты[?]
0
Держите бич ресольвер тапает скитоневер евольвоталити и все остальные нн пасты
Код:
// This is an independent project of an individual developer. Dear PVS-Studio, please check it.

// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: http://www.viva64.com



#include "animation_system.h"

#include "..\ragebot\aim.h"



// resolver create by. AKIOHIDE && FL1PP



void resolver::initialize(player_t* e, adjust_data* record, const float& goal_feet_yaw, const float& pitch)

{

    player = e;

    player_record = record;



    original_goal_feet_yaw = math::normalize_yaw(goal_feet_yaw);

    original_pitch = math::normalize_pitch(pitch);

}



void resolver::reset()

{

    player = nullptr;

    player_record = nullptr;



    side = false;

    fake = false;



    was_first_bruteforce = false;

    was_second_bruteforce = false;



    original_goal_feet_yaw = 0.0f;

    original_pitch = 0.0f;

}



float GetBackwardYaw(player_t* player) {

    return math::calculate_angle(g_ctx.local()->m_vecOrigin(), player->m_vecOrigin()).y - 180.f;

}



void resolver::StoreAntifreestand()

{

    if (!g_ctx.local()->is_alive())

        return;



    if (!g_ctx.globals.weapon)

        return;



    for (int i = 1; i < m_globals()->m_maxclients; ++i)

    {

        auto get_player = m_entitylist()->GetClientEntity(i);



        if (!player || !player->is_alive() || player->IsDormant() || player->m_iTeamNum() == g_ctx.local()->m_iTeamNum())

            continue;



        bool Autowalled = false, HitSide1 = false, HitSide2 = false;



        auto idx = player->EntIndex();



        float angToLocal = math::calculate_angle(g_ctx.local()->m_vecOrigin(), player->m_vecOrigin()).y;



        Vector ViewPoint = g_ctx.local()->m_vecOrigin() + Vector(0, 0, 90);

        Vector2D Side1 = { (45 * sin(DEG2RAD(angToLocal))),(45 * cos(DEG2RAD(angToLocal))) };

        Vector2D Side2 = { (45 * sin(DEG2RAD(angToLocal + 180))) ,(45 * cos(DEG2RAD(angToLocal + 180))) };



        Vector2D Side3 = { (50 * sin(DEG2RAD(angToLocal))),(50 * cos(DEG2RAD(angToLocal))) };

        Vector2D Side4 = { (50 * sin(DEG2RAD(angToLocal + 180))) ,(50 * cos(DEG2RAD(angToLocal + 180))) };



        Vector Origin = player->m_vecOrigin();



        Vector2D OriginLeftRight[] = { Vector2D(Side1.x, Side1.y), Vector2D(Side2.x, Side2.y) };



        Vector2D OriginLeftRightLocal[] = { Vector2D(Side3.x, Side3.y), Vector2D(Side4.x, Side4.y) };



        for (int side = 0; side < 2; side++)

        {

            Vector OriginAutowall = { Origin.x + OriginLeftRight[side].x,  Origin.y - OriginLeftRight[side].y , Origin.z + 90 };

            Vector ViewPointAutowall = { ViewPoint.x + OriginLeftRightLocal[side].x,  ViewPoint.y - OriginLeftRightLocal[side].y , ViewPoint.z };



            if (autowall::get().CanHitFloatingPoint(OriginAutowall, ViewPoint))

            {

                if (side == 0)

                {

                    HitSide1 = true;

                    FreestandSide[idx] = -1;

                }

                else if (side == 1)

                {

                    HitSide2 = true;

                    FreestandSide[idx] = 1;

                }



                Autowalled = true;

            }

            else

            {

                for (int sidealternative = 0; sidealternative < 2; sidealternative++)

                {

                    Vector ViewPointAutowallalternative = { Origin.x + OriginLeftRight[sidealternative].x,  Origin.y - OriginLeftRight[sidealternative].y , Origin.z + 90 };



                    if (autowall::get().CanHitFloatingPoint(ViewPointAutowallalternative, ViewPointAutowall))

                    {

                        if (sidealternative == 0)

                        {

                            HitSide1 = true;

                            FreestandSide[idx] = -1;

                            // side == -1

                        }

                        else if (sidealternative == 1)

                        {

                            HitSide2 = true;

                            FreestandSide[idx] = 1;

                            // side == 1

                        }



                        Autowalled = true;

                    }

                }

            }

        }

    }

}



void resolver::resolve_yaw()

{

    player_info_t player_info;

    auto animstate = player->get_animation_state();



    if (!animstate)

        return;



    animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y);



    if (!m_engine()->GetPlayerInfo(player->EntIndex(), &player_info))

        return;



    if (!g_ctx.local()->is_alive())

        return;



    auto idx = player->EntIndex();



    if (g_cfg.ragebot.resolver)

        return;



    // для измерение игрока и т.д

    bool forward = fabsf(math::normalize_yaw(player->m_angEyeAngles().y - math::normalize_yaw(math::calculate_angle

    (g_ctx.local()->m_vecOrigin(), player->m_vecOrigin()).y - 180.f))) < 90.f;



    // сам ресик...

    if (g_ctx.globals.missed_shots[idx] == 0)

    {

        if (forward) {

            FreestandSide[idx] *= -1;

        }

        else

            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y - 90.f * FreestandSide[idx]);

    }

    else if (!(player->m_fFlags() & FL_ONGROUND)) {

        switch (g_ctx.globals.missed_shots[idx] % 2) {

        case 0:

            if (forward)

                player_record->side == FreestandSide[idx] == -1 ? RESOLVER_FIRST : RESOLVER_SECOND;

            else

                player_record->side == FreestandSide[idx] == 1 ? RESOLVER_SECOND : RESOLVER_FIRST;

            break;

        case 1:

            if (forward)

                player_record->side == FreestandSide[idx] == 1 ? RESOLVER_SECOND : RESOLVER_FIRST;

            else

                player_record->side == FreestandSide[idx] == -1 ? RESOLVER_FIRST : RESOLVER_SECOND;

            break;

        }

    }

    else {

        switch (g_ctx.globals.missed_shots[idx] % 2) {

        case 0:

            if (forward)

                player_record->side == FreestandSide[idx] == -1 ? RESOLVER_FIRST2 : RESOLVER_SECOND2;

            else

                player_record->side == FreestandSide[idx] == 1 ? RESOLVER_SECOND2 : RESOLVER_FIRST2;

            break;

        case 1:

            if (forward)

                player_record->side == FreestandSide[idx] == 1 ? RESOLVER_SECOND2 : RESOLVER_FIRST2;

            else

                player_record->side == FreestandSide[idx] == -1 ? RESOLVER_FIRST2 : RESOLVER_SECOND2;

            break;

        }

    }

}



float resolver::resolve_pitch()

{

    return original_pitch;

}
 
Последнее редактирование:
Участник
Статус
Оффлайн
Регистрация
26 Апр 2018
Сообщения
852
Реакции[?]
181
Поинты[?]
0
Держите бич ресольвер тапает скитоневер евольвоталити и все остальные нн пасты
Код:
// This is an independent project of an individual developer. Dear PVS-Studio, please check it.

// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: http://www.viva64.com



#include "animation_system.h"

#include "..\ragebot\aim.h"



// resolver create by. AKIOHIDE && FL1PP



void resolver::initialize(player_t* e, adjust_data* record, const float& goal_feet_yaw, const float& pitch)

{

    player = e;

    player_record = record;



    original_goal_feet_yaw = math::normalize_yaw(goal_feet_yaw);

    original_pitch = math::normalize_pitch(pitch);

}



void resolver::reset()

{

    player = nullptr;

    player_record = nullptr;



    side = false;

    fake = false;



    was_first_bruteforce = false;

    was_second_bruteforce = false;



    original_goal_feet_yaw = 0.0f;

    original_pitch = 0.0f;

}



float GetBackwardYaw(player_t* player) {

    return math::calculate_angle(g_ctx.local()->m_vecOrigin(), player->m_vecOrigin()).y - 180.f;

}



void resolver::StoreAntifreestand()

{

    if (!g_ctx.local()->is_alive())

        return;



    if (!g_ctx.globals.weapon)

        return;



    for (int i = 1; i < m_globals()->m_maxclients; ++i)

    {

        auto get_player = m_entitylist()->GetClientEntity(i);



        if (!player || !player->is_alive() || player->IsDormant() || player->m_iTeamNum() == g_ctx.local()->m_iTeamNum())

            continue;



        bool Autowalled = false, HitSide1 = false, HitSide2 = false;



        auto idx = player->EntIndex();



        float angToLocal = math::calculate_angle(g_ctx.local()->m_vecOrigin(), player->m_vecOrigin()).y;



        Vector ViewPoint = g_ctx.local()->m_vecOrigin() + Vector(0, 0, 90);

        Vector2D Side1 = { (45 * sin(DEG2RAD(angToLocal))),(45 * cos(DEG2RAD(angToLocal))) };

        Vector2D Side2 = { (45 * sin(DEG2RAD(angToLocal + 180))) ,(45 * cos(DEG2RAD(angToLocal + 180))) };



        Vector2D Side3 = { (50 * sin(DEG2RAD(angToLocal))),(50 * cos(DEG2RAD(angToLocal))) };

        Vector2D Side4 = { (50 * sin(DEG2RAD(angToLocal + 180))) ,(50 * cos(DEG2RAD(angToLocal + 180))) };



        Vector Origin = player->m_vecOrigin();



        Vector2D OriginLeftRight[] = { Vector2D(Side1.x, Side1.y), Vector2D(Side2.x, Side2.y) };



        Vector2D OriginLeftRightLocal[] = { Vector2D(Side3.x, Side3.y), Vector2D(Side4.x, Side4.y) };



        for (int side = 0; side < 2; side++)

        {

            Vector OriginAutowall = { Origin.x + OriginLeftRight[side].x,  Origin.y - OriginLeftRight[side].y , Origin.z + 90 };

            Vector ViewPointAutowall = { ViewPoint.x + OriginLeftRightLocal[side].x,  ViewPoint.y - OriginLeftRightLocal[side].y , ViewPoint.z };



            if (autowall::get().CanHitFloatingPoint(OriginAutowall, ViewPoint))

            {

                if (side == 0)

                {

                    HitSide1 = true;

                    FreestandSide[idx] = -1;

                }

                else if (side == 1)

                {

                    HitSide2 = true;

                    FreestandSide[idx] = 1;

                }



                Autowalled = true;

            }

            else

            {

                for (int sidealternative = 0; sidealternative < 2; sidealternative++)

                {

                    Vector ViewPointAutowallalternative = { Origin.x + OriginLeftRight[sidealternative].x,  Origin.y - OriginLeftRight[sidealternative].y , Origin.z + 90 };



                    if (autowall::get().CanHitFloatingPoint(ViewPointAutowallalternative, ViewPointAutowall))

                    {

                        if (sidealternative == 0)

                        {

                            HitSide1 = true;

                            FreestandSide[idx] = -1;

                            // side == -1

                        }

                        else if (sidealternative == 1)

                        {

                            HitSide2 = true;

                            FreestandSide[idx] = 1;

                            // side == 1

                        }



                        Autowalled = true;

                    }

                }

            }

        }

    }

}



void resolver::resolve_yaw()

{

    player_info_t player_info;

    auto animstate = player->get_animation_state();



    if (!animstate)

        return;



    animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y);



    if (!m_engine()->GetPlayerInfo(player->EntIndex(), &player_info))

        return;



    if (!g_ctx.local()->is_alive())

        return;



    auto idx = player->EntIndex();



    if (g_cfg.ragebot.resolver)

        return;



    // для измерение игрока и т.д

    bool forward = fabsf(math::normalize_yaw(player->m_angEyeAngles().y - math::normalize_yaw(math::calculate_angle

    (g_ctx.local()->m_vecOrigin(), player->m_vecOrigin()).y - 180.f))) < 90.f;



    // сам ресик...

    if (g_ctx.globals.missed_shots[idx] == 0)

    {

        if (forward) {

            FreestandSide[idx] *= -1;

        }

        else

            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y - 90.f * FreestandSide[idx]);

    }

    else if (!(player->m_fFlags() & FL_ONGROUND)) {

        switch (g_ctx.globals.missed_shots[idx] % 2) {

        case 0:

            if (forward)

                player_record->side == FreestandSide[idx] == -1 ? RESOLVER_FIRST : RESOLVER_SECOND;

            else

                player_record->side == FreestandSide[idx] == 1 ? RESOLVER_SECOND : RESOLVER_FIRST;

            break;

        case 1:

            if (forward)

                player_record->side == FreestandSide[idx] == 1 ? RESOLVER_SECOND : RESOLVER_FIRST;

            else

                player_record->side == FreestandSide[idx] == -1 ? RESOLVER_FIRST : RESOLVER_SECOND;

            break;

        }

    }

    else {

        switch (g_ctx.globals.missed_shots[idx] % 2) {

        case 0:

            if (forward)

                player_record->side == FreestandSide[idx] == -1 ? RESOLVER_FIRST2 : RESOLVER_SECOND2;

            else

                player_record->side == FreestandSide[idx] == 1 ? RESOLVER_SECOND2 : RESOLVER_FIRST2;

            break;

        case 1:

            if (forward)

                player_record->side == FreestandSide[idx] == 1 ? RESOLVER_SECOND2 : RESOLVER_FIRST2;

            else

                player_record->side == FreestandSide[idx] == -1 ? RESOLVER_FIRST2 : RESOLVER_SECOND2;

            break;

        }

    }

}



float resolver::resolve_pitch()

{

    return original_pitch;

}
ответь мне ты хоть когда пастил голову мыл или нет, может меня не учили не чему но как я понял
FreestandSide[idx] = пустоте его тупо нету хотя бы можно сделать так

апореч как у нас принято ровно 360 то сайд1 = апореч -180 сайд2 = апореч - 270 ну это тупо кастели к этому гону.
 
Сверху Снизу