Вопрос Визуалы С++ (internal)

Начинающий
Статус
Оффлайн
Регистрация
5 Окт 2018
Сообщения
8
Реакции[?]
0
Поинты[?]
0
Пытаюсь делать свой чит. В нем минимальные визуалы (glow,espbox). Когда инжекчу чит, такое чувство, что запускаю майнинг ферму, т.е. супер греется комп, а после 30 мин+- кс вылетает. Как фиксить хелп пж.

upd. отрисовка самих визуалов...
C++:
void APIENTRY hkEndScene(LPDIRECT3DDEVICE9 o_pDevice) {
    if (!pDevice) pDevice = o_pDevice;
    DWORD gameModule = (DWORD)(GetModuleHandle("client.dll"));
        for (int i = 1; i < 32; i++) {
            if (hack->WorldToScreen(entHead3D, entHead2D)) {
                    DrawESPbox2D(entPos2D, entHead2D, 2, color);

                    int height = ABS(entPos2D.y - entHead2D.y);
                    int dX = (entPos2D.x - entHead2D.x);

                    float healthPerc = curEnt->iHealth / 100.f; // health %
                    float armorPerc = curEnt->armorValue / 100.f; // armor %

                    Vec2 botHealth, topHealth, botArmor, topArmor;
                    int healthHeight = height * healthPerc;
                    int armorHeight = height * armorPerc;

                    botHealth.y = botArmor.y = entPos2D.y;
                    botHealth.x = entPos2D.x - (height / 4) - 2;

                    botArmor.x = entPos2D.x + (height / 4) + 2;

                    topHealth.y = entHead2D.y + height - healthHeight;
                    topArmor.y = entHead2D.y + height - armorHeight;

                    topHealth.x = entPos2D.x - (height / 4) - 2 - (dX * healthPerc);
                    topArmor.x = entPos2D.x + (height / 4) + 2 - (dX * healthPerc);

                    DrawLine(botHealth, topHealth, 4, D3DCOLOR_RGBA(0, 255, 0, 255));
                    DrawLine(botArmor, topArmor, 4, D3DCOLOR_RGBA(0, 0, 255, 255));
                }
        }
}
Сама функция ESPbox:
C++:
void DrawESPbox2D(Vec2 top, Vec2 bot, int thickness, D3DCOLOR color) {
    int height = ABS(top.y - bot.y);
    Vec2 tl, tr; // topleft, topright
    tl.x = top.x - height / 4;
    tr.x = top.x + height / 4;
    tl.y = tr.y = top.y;

    Vec2 bl, br; // bottomleft, bottomright
    bl.x = bot.x - height / 4;
    br.x = bot.x + height / 4;
    bl.y = br.y = bot.y;

    DrawLine(tl, tr, thickness, color);
    DrawLine(bl, br, thickness, color);
    DrawLine(tl, bl, thickness, color);
    DrawLine(tr, br, thickness, color);
}
 
Последнее редактирование:
Участник
Статус
Оффлайн
Регистрация
26 Июн 2020
Сообщения
1,114
Реакции[?]
210
Поинты[?]
8K
Вызываем вангу...

оптимизируй код, хз что тут тебе предложить
 
Эксперт
Статус
Оффлайн
Регистрация
30 Дек 2019
Сообщения
1,967
Реакции[?]
958
Поинты[?]
19K
Запускаешь профилировщик и смотришь какой код расходует большее количество ресурсов
 
Начинающий
Статус
Оффлайн
Регистрация
5 Окт 2018
Сообщения
8
Реакции[?]
0
Поинты[?]
0
Запускаешь профилировщик и смотришь какой код расходует большее количество ресурсов
Ну впринципе, я понимаю, что этим кодом является есп, просто дело в том, как его оптимизировать
 
Эксперт
Статус
Оффлайн
Регистрация
30 Дек 2019
Сообщения
1,967
Реакции[?]
958
Поинты[?]
19K
Ну впринципе, я понимаю, что этим кодом является есп, просто дело в том, как его оптимизировать
Запустить профилировщик, он сам покажет тебе строки которые много жрут
 
std::X$$V::Z::_Func_impl_no_alloc
Пользователь
Статус
Оффлайн
Регистрация
30 Мар 2019
Сообщения
389
Реакции[?]
103
Поинты[?]
1K
Ну для начала ты вызываешь
C++:
hack->WorldToScreen(entHead3D, entHead2D)
В потоке отрисовки, а эта функция вообще-то использует вьюматрицу, которая в этот момент может быть не валидна

И что за DrawLine, что там лежит?
 
Начинающий
Статус
Оффлайн
Регистрация
5 Окт 2018
Сообщения
8
Реакции[?]
0
Поинты[?]
0
Ну для начала ты вызываешь
C++:
hack->WorldToScreen(entHead3D, entHead2D)
В потоке отрисовки, а эта функция вообще-то использует вьюматрицу, которая в этот момент может быть не валидна

И что за DrawLine, что там лежит?
C++:
void DrawLine(int x1, int y1, int x2, int y2, int thickness, D3DCOLOR color);

void DrawLine(Vec2 src, Vec2 dst, int thickness, D3DCOLOR color);

void DrawESPbox2D(Vec2 top, Vec2 bot, int thickness, D3DCOLOR color);
Запустить профилировщик, он сам покажет тебе строки которые много жрут
У меня профилировщик просто зависает, приходится через диспетчер закрывать
 
купить дизайн: yougame.biz/threads/155999
Дизайнер
Статус
Оффлайн
Регистрация
19 Сен 2018
Сообщения
793
Реакции[?]
1,380
Поинты[?]
9K
советую для начала не искать модуль клиента каждый пасс рендера....
 
Эксперт
Статус
Оффлайн
Регистрация
30 Дек 2019
Сообщения
1,967
Реакции[?]
958
Поинты[?]
19K
Пользователь
Статус
Оффлайн
Регистрация
26 Авг 2017
Сообщения
386
Реакции[?]
32
Поинты[?]
8K
1. Есп рисуется в хуке paint traverse.
2. Глоу в хуке DoPostScreenEffects
3. Все модули и т.д. получаются один раз при инстантиации, каждый раз получать DWORD gameModule = (DWORD)(GetModuleHandle("client.dll")); смысла нет. Инстантиируй 1 раз это и все
 
Сверху Снизу