C++ ShouldScan function to save FPS on your paste

get good get legendware
Участник
Статус
Оффлайн
Регистрация
22 Сен 2020
Сообщения
434
Реакции[?]
200
Поинты[?]
47K
hello ruskies
since i kept cringing seeing people scanning and running autowall code on unhittable players and wasting fps i wanted to fix that, i came up with this solution in about 30 minutes so lets start

make sure you first force player records before calling this function like so
C++:
/* set record */
    g_LagComp->ForcePlayerRecord(player, record);
now lets write our cool ShouldScan function
C++:
bool aimbot::ShouldScanPlayer(float ticks_to_stop, LagRecord_t* record, player_t* player)
{
    if (!player || !record)
        return false;

    // this is our predicted eye pos to see if we can hit our enemy in our next tick.
    Vector predicted_eye_pos = g_LocalAnimations->GetShootPosition() + g_EnginePrediction->GetUnpredictedData()->m_vecVelocity * m_globals()->m_intervalpertick * ticks_to_stop;
    std::vector<int> hitboxesToScan = { HITBOX_HEAD, HITBOX_RIGHT_HAND, HITBOX_LEFT_HAND, HITBOX_LEFT_FOOT, HITBOX_RIGHT_FOOT, HITBOX_STOMACH };

    for (int CurrentHbox : hitboxesToScan)
    {
        Vector m_pos = player->hitbox_position_matrix(CurrentHbox, record->m_Matricies[MiddleMatrix].data());
        penetration::PenetrationInput_t in;

        in.m_damage = 1.f;
        in.m_damage_pen = 1.f;
        in.m_can_pen = true;
        in.m_target = player;
        in.m_from = g_ctx.local();
        in.m_pos = m_pos;
        in.m_custom_shoot_pos = predicted_eye_pos;

        penetration::PenetrationOutput_t out;

        if (penetration::get().run(&in, &out))
        {
            if (out.m_damage > 0)
                return true;
        }
    }

    return false;
}
how to use it?
C++:
/* set record */
    g_LagComp->ForcePlayerRecord(player, record);

    if (!g_Ragebot->ShouldScanPlayer(8, record, player))
        return false;
congratulations now you're one step closer to making your own skeet
 
Последнее редактирование:
Keep Ev0lving, Stay Fatal
Эксперт
Статус
Оффлайн
Регистрация
6 Фев 2018
Сообщения
1,546
Реакции[?]
584
Поинты[?]
100K
hello ruskies
since i kept cringing seeing people scanning and running autowall code on unhittable players and wasting fps i wanted to fix that, i came up with this solution in about 30 minutes so lets start

make sure you first force player records before calling this function like so
C++:
/* set record */
    g_LagComp->ForcePlayerRecord(player, record);
now lets write our cool ShouldScan function
C++:
bool aimbot::ShouldScanPlayer(float ticks_to_stop, LagRecord_t* record, player_t* player)
{
    if (!player || !record)
        return false;

    // this is our predicted eye pos to see if we can hit our enemy in our next tick.
    Vector predicted_eye_pos = g_LocalAnimations->GetShootPosition() + g_EnginePrediction->GetUnpredictedData()->m_vecVelocity * m_globals()->m_intervalpertick * ticks_to_stop;
    std::vector<int> hitboxesToScan = { HITBOX_HEAD, HITBOX_RIGHT_HAND, HITBOX_LEFT_HAND, HITBOX_LEFT_FOOT, HITBOX_RIGHT_FOOT, HITBOX_STOMACH };

    for (int CurrentHbox : hitboxesToScan)
    {
        Vector m_pos = player->hitbox_position_matrix(CurrentHbox, record->m_Matricies[MiddleMatrix].data());
        penetration::PenetrationInput_t in;

        in.m_damage = 1.f;
        in.m_damage_pen = 1.f;
        in.m_can_pen = true;
        in.m_target = player;
        in.m_from = g_ctx.local();
        in.m_pos = m_pos;
        in.m_custom_shoot_pos = predicted_eye_pos;

        penetration::PenetrationOutput_t out;

        if (penetration::get().run(&in, &out))
        {
            if (out.m_damage > 0)
                return true;
        }
    }

    return false;
}
how to use it?
C++:
/* set record */
    g_LagComp->ForcePlayerRecord(player, record);

    if (!g_Ragebot->ShouldScanPlayer(8, record, player))
        return false;
congratulations now you're one step closer to making your own skeet
As I know, you have to:
1. ADD TARGETS.
2. SORT TARGETS.
3. SCAN EVERY RECORD OF TARGETS.
4. SELECT USED RECORD.
But you swap 3 and 4 steps.
Please, explain why.
Thanks and have a good day!
 
get good get legendware
Участник
Статус
Оффлайн
Регистрация
22 Сен 2020
Сообщения
434
Реакции[?]
200
Поинты[?]
47K
As I know, you have to:
1. ADD TARGETS.
2. SORT TARGETS.
3. SCAN EVERY RECORD OF TARGETS.
4. SELECT USED RECORD.
But you swap 3 and 4 steps.
Please, explain why.
Thanks and have a good day!
here have a look yourself mate:
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.

iterate through players
cache them
sort players
find best record
check if we can at least scan that player (can be set to a var for FPS mitigations to save performance)
then we run our actual scan and try to hit this player
also credits for you, used your hitchance, its buggy but i havent gotten into rewriting it, will do soon, your hitbox caching system is bad and inconsistant but i'll see what i can do later but overall its good for what it is
NOTE:- target sorting is temporary currently and will be recoded later (i know i should select a target before trying to find a record and scan)
 
Keep Ev0lving, Stay Fatal
Эксперт
Статус
Оффлайн
Регистрация
6 Фев 2018
Сообщения
1,546
Реакции[?]
584
Поинты[?]
100K
here have a look yourself mate:
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.

iterate through players
cache them
sort players
find best record
check if we can at least scan that player (can be set to a var for FPS mitigations to save performance)
then we run our actual scan and try to hit this player
also credits for you, used your hitchance, its buggy but i havent gotten into rewriting it, will do soon, your hitbox caching system is bad and inconsistant but i'll see what i can do later but overall its good for what it is
NOTE:- target sorting is temporary currently and will be recoded later (i know i should select a target before trying to find a record and scan)
About scan: you have to find best record using scan for all of them.
But you should know other ways to save perfomance instead of removing scan.
Hint: Thickness of wall while scan.
About hitchance: check leaked kaaba source. Its one of the best examples of good hitchance now (USE IT ONLY WITH MULTITHREAD!!!)
Thanks and have a good day!
 
privates militärunternehmen "Überlegenheit"
Забаненный
Статус
Оффлайн
Регистрация
20 Сен 2023
Сообщения
152
Реакции[?]
113
Поинты[?]
23K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
auto BoundingBoxCheck = [this, local_player](SDK::CBaseEntity* entity, const Backtracking_Record& record) -> bool
{
    const auto bbmin = record.bbmin + record.vec_origin;
    const auto bbmax = record.bbmax + record.vec_origin;

    /// the 4 corners on the top, 1 for the head, 1 for the middle of the body, 1 for the feet
    Vector points[7];

    points[0] = GetHitboxPosition(entity, 0);
    points[1] = (bbmin + bbmax) * 0.5f;
    points[2] = Vector((bbmax.x + bbmin.x) * 0.5f, (bbmax.y + bbmin.y) * 0.5f, bbmin.z);

    points[3] = bbmax;
    points[4] = Vector(bbmax.x, bbmin.y, bbmax.z);
    points[5] = Vector(bbmin.x, bbmin.y, bbmax.z);
    points[6] = Vector(bbmin.x, bbmax.y, bbmax.z);

    for (const auto& point : points)
    {
        if (autowall.CalculateDamage(local_player->GetVecOrigin() + local_player->GetViewOffset(), point, local_player, entity).damage > 0)
            return true;
    }

    return false;
};


// some shit

/// optimization
if (!BoundingBoxCheck(entity, rec))
    continue;
паста с хака bolbi, датированная 2017 годом
можешь удалять свой бесполезный тред.
 
Keep Ev0lving, Stay Fatal
Эксперт
Статус
Оффлайн
Регистрация
6 Фев 2018
Сообщения
1,546
Реакции[?]
584
Поинты[?]
100K
можешь удалять свой бесполезный тред.
Не стоит удалять, ведь тут можно провести обсуждение этой темы и развить еë мысль, чтобы получить лучший результат в паблике.
 
get good get legendware
Участник
Статус
Оффлайн
Регистрация
22 Сен 2020
Сообщения
434
Реакции[?]
200
Поинты[?]
47K
Не стоит удалять, ведь тут можно провести обсуждение этой темы и развить еë мысль, чтобы получить лучший результат в паблике.
alright thanks for the feedback im always looking forward to learn more!
 
privates militärunternehmen "Überlegenheit"
Забаненный
Статус
Оффлайн
Регистрация
20 Сен 2023
Сообщения
152
Реакции[?]
113
Поинты[?]
23K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
чтобы получить лучший результат в паблике
Пожалуйста, авторизуйтесь для просмотра ссылки.


смотрим, понимаем почему так а не иначе - делаем своему аимботу подобную логику
прекрасно знаю что данный хак легитный, но реализация аимбота в нем вполне подходит и для рейдж хаков (лично я не замечал никаких делеев, "не стреляний" там где другие читы бы стрельнули итд)
 
Keep Ev0lving, Stay Fatal
Эксперт
Статус
Оффлайн
Регистрация
6 Фев 2018
Сообщения
1,546
Реакции[?]
584
Поинты[?]
100K
Пожалуйста, авторизуйтесь для просмотра ссылки.


смотрим, понимаем почему так а не иначе - делаем своему аимботу подобную логику
прекрасно знаю что данный хак легитный, но реализация аимбота в нем вполне подходит и для рейдж хаков (лично я не замечал никаких делеев, "не стреляний" там где другие читы бы стрельнули итд)
Пока не смотрел сурс, как только посмотрю исправлю.
В большинстве случаев легит аимбот в целом игнорирует скан всех возможных рекордов. Также, в нём не хватает калькуляции большинства нужных вещей которые есть в рейдж читах (тот же хитшанс в легите может быть реализован просто через трейсрей, в то время как в рейдже он должен быть сделан используя автоволл && интерсекцию).
Однако, возможно там будет что то полезное.
Thanks and have a nice day!
 
retard
Пользователь
Статус
Оффлайн
Регистрация
13 Мар 2021
Сообщения
366
Реакции[?]
67
Поинты[?]
10K
Пока не смотрел сурс, как только посмотрю исправлю.
В большинстве случаев легит аимбот в целом игнорирует скан всех возможных рекордов. Также, в нём не хватает калькуляции большинства нужных вещей которые есть в рейдж читах (тот же хитшанс в легите может быть реализован просто через трейсрей, в то время как в рейдже он должен быть сделан используя автоволл && интерсекцию).
Однако, возможно там будет что то полезное.
Thanks and have a nice day!
Hi, work on bloodnet men? thenk
 
Участник
Статус
Оффлайн
Регистрация
27 Фев 2019
Сообщения
1,120
Реакции[?]
391
Поинты[?]
46K
C++:
auto BoundingBoxCheck = [this, local_player](SDK::CBaseEntity* entity, const Backtracking_Record& record) -> bool
{
    const auto bbmin = record.bbmin + record.vec_origin;
    const auto bbmax = record.bbmax + record.vec_origin;

    /// the 4 corners on the top, 1 for the head, 1 for the middle of the body, 1 for the feet
    Vector points[7];

    points[0] = GetHitboxPosition(entity, 0);
    points[1] = (bbmin + bbmax) * 0.5f;
    points[2] = Vector((bbmax.x + bbmin.x) * 0.5f, (bbmax.y + bbmin.y) * 0.5f, bbmin.z);

    points[3] = bbmax;
    points[4] = Vector(bbmax.x, bbmin.y, bbmax.z);
    points[5] = Vector(bbmin.x, bbmin.y, bbmax.z);
    points[6] = Vector(bbmin.x, bbmax.y, bbmax.z);

    for (const auto& point : points)
    {
        if (autowall.CalculateDamage(local_player->GetVecOrigin() + local_player->GetViewOffset(), point, local_player, entity).damage > 0)
            return true;
    }

    return false;
};


// some shit

/// optimization
if (!BoundingBoxCheck(entity, rec))
    continue;
паста с хака bolbi, датированная 2017 годом
можешь удалять свой бесполезный тред.
У тебя с таким хитсканом компьютер задыхаться начнёт. Этот скан уже давно в паблике и его никто не юзает, расписывали раннее здесь методы, как правильно построить логику хитскана много раза, но вы зачем-то кидаете какой-то левак....
 
privates militärunternehmen "Überlegenheit"
Забаненный
Статус
Оффлайн
Регистрация
20 Сен 2023
Сообщения
152
Реакции[?]
113
Поинты[?]
23K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
У тебя с таким хитсканом компьютер задыхаться начнёт. Этот скан уже давно в паблике и его никто не юзает, расписывали раннее здесь методы, как правильно построить логику хитскана много раза, но вы зачем-то кидаете какой-то левак....
я не писал что этот легаси код актуален, и его нужно использовать
суть коммента была в том, что тс по факту делает тоже самое, что делали в bameware 6 лет назад..
 
Участник
Статус
Оффлайн
Регистрация
27 Фев 2019
Сообщения
1,120
Реакции[?]
391
Поинты[?]
46K
я не писал что этот легаси код актуален, и его нужно использовать
суть коммента была в том, что тс по факту делает тоже самое, что делали в bameware 6 лет назад..
Вопросов нет.
 
get good get legendware
Участник
Статус
Оффлайн
Регистрация
22 Сен 2020
Сообщения
434
Реакции[?]
200
Поинты[?]
47K
я не писал что этот легаси код актуален, и его нужно использовать
суть коммента была в том, что тс по факту делает тоже самое, что делали в bameware 6 лет назад..
its 100% not the same thing and btw its implemented incorrectly, you're running autowall code on points outside of players model? ofc dmg gonna return 0 and it will be like you did nothing, bameware has 8 points, 1 for head and one for body and one for each leg, the rest of the points are on top of the player making a shape like this

- - - - [OUTSIDE OF PLAYER'S MODEL ON TOP]
- [HEAD]
- [CHEST]
- - [LEGS]

the only valid points you're running autowall code and returning valid info are the [head,chest,legs] points whichs a worse version of what im doing in my function
so in short no, my post is not useless, yours is
 
Сверху Снизу