Исходник Better hp and armor indicators

Бульдозер
Эксперт
Статус
Оффлайн
Регистрация
18 Июл 2019
Сообщения
1,231
Реакции[?]
508
Поинты[?]
2K
Спиздил из луашки на скит, перенёс на с++ и подогнал под ксгосимпл + немного изменил
C++:
void Visuals::Better_Hud()
{
    if (!g_Options.better_hud)
        return;

    if(!g_LocalPlayer || !g_LocalPlayer->IsAlive())
        return;

    auto hp = g_LocalPlayer->m_iHealth();
    auto armor = g_LocalPlayer->m_ArmorValue();

    int red = 255 - (hp * 2.55);
    int green = hp * 2.55;

    Color hp_color = Color(red, green, 0);
    Color armor_color = Color(7, 169, 232);

    int x = 25, y = 1040; //Сделал как в луашке, под 1920х1080, но разумнее было бы сделать через GetScreenSize. Пример ниже

    /*
    int screen_w, screen_h;
    g_EngineClient->GetScreenSize(screen_w, screen_h);
    int x = 25, y = screen_h - 40;
    */

    //HP
    Render::Get().RenderText(std::to_string(hp), ImVec2(x, y), 25.f, hp_color);
    Render::Get().RenderText("HP", ImVec2(x + 55, y), 25.f, Color(255,255,255));

    Render::Get().RenderBox(x - 1, y + 27, x - 1 + 92, y + 27 + 5, Color(0, 0, 0, 200), 1.f);
    Render::Get().RenderBoxFilled(x, y + 28, x + (int) (hp / 1.111111111), y + 28 + 3, hp_color, 1.f); // hp / 1.111111111 Сделано через пизду как в луашке

    //Armor
    Render::Get().RenderText(std::to_string(armor), ImVec2(x + 130, y), 25.f, armor_color);
    Render::Get().RenderText("ARMOR", ImVec2(x + 185, y), 25.f, Color(255, 255, 255));

    Render::Get().RenderBox(x + 129, y + 27, x + 129 + 152, y + 27 + 5, Color(0, 0, 0, 200), 1.f); //хуй знает почему когда хп рендерилось y2 было 5, а тут 6. Поменял на 5 потому что так правильней
    Render::Get().RenderBoxFilled(x + 130, y + 28, x + 130 + (int)(armor / 0.6666666666666), y + 28 + 3, armor_color, 1.f); // armor / 0.6666666666666 Сделано через пизду как в луашке тоже

    //P.S. хули в этом симпле нет рендера rect, теперь блять приходится через пизду писать значение x2 и y2
    //P.S.S. дефолт шрифт выглядит не супер, советую поменять на более приятный для глаз
}

Слил без хайда, но не фулл код. Нужно убрать дефолт худ. Самый тупой способ - спуфнуть cl_drawhud (уберает весь худ).

Минимальный хайд с правильным выполнением:


Что бы реализовать без хайда - нужно подумать и/или покопаться в луашке (ссылка ниже).

1.jpg
2.jpg

Credits: 404NF (Скинул эту луашку). Вот его медия с ней -
Если будут вопросы - смотрите скрипт и додумывайтесь.
Скрипт -
Пожалуйста, авторизуйтесь для просмотра ссылки.


 
Последнее редактирование:
Забаненный
Статус
Оффлайн
Регистрация
2 Сен 2020
Сообщения
29
Реакции[?]
3
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
nice release, thanks <3
 
Эксперт
Статус
Оффлайн
Регистрация
24 Апр 2018
Сообщения
1,490
Реакции[?]
929
Поинты[?]
67K
бесполезная хрень. ради простейшего рендера нет смысла тему создавать. и тем более этот скрипт давно в пабе лежит.
 
Дизайнер
Статус
Оффлайн
Регистрация
18 Авг 2017
Сообщения
1,931
Реакции[?]
2,258
Поинты[?]
146K
Товары в продаже
1
мне бы понять какие у него антиаимы, а не хп бары
 
Сверху Снизу