-
Автор темы
- #1
Как мне сделать такие полосочки ?
Это пример
Это пример
Код:
void playeresp::draw_health(player_t* m_entity, const Box& box, const HPInfo& hpbox)
{
if (!g_cfg.player.type[type].health)
return;
auto alpha = (int)(255.0f * esp_alpha_fade[m_entity->EntIndex()]);
auto text_color = m_entity->IsDormant() ? g_cfg.esp.health_text_color : g_cfg.esp.health_text_color;
auto back_color = Color(0, 0, 0, (int)(alpha * 1.0f));
auto color = m_entity->IsDormant() ? Color(130, 130, 130) : Color(150, (int)min(255.0f, hpbox.hp * 225.0f / 100.0f), 0);
auto hp_effect_color = Color(215, 20, 20, alpha);
auto size = g_cfg.player.type[type].size;
if (g_cfg.player.type[type].custom_health_color)
color = m_entity->IsDormant() ? Color(130, 130, 130) : g_cfg.player.type[type].health_color;
color.SetAlpha(alpha);
render::get().rect(box.x - 6, box.y, 4, box.h, back_color);
Box n_box =
{
box.x - 5,
box.y,
2,
box.h
};
auto bar_height = (int)((float)hpbox.hp * (float)n_box.h / 100.0f);
auto offset = n_box.h - bar_height;
render::get().rect_filled(n_box.x, n_box.y - 1, size, n_box.h + 2, back_color);
render::get().rect_filled(n_box.x, n_box.y + offset, size, bar_height, color);
auto height = n_box.h - hpbox.hp * n_box.h / 100;
if (hpbox.hp_difference)
render::get().rect_filled(n_box.x, n_box.y + height - hpbox.hp_difference * n_box.h / 100, 2, hpbox.hp_difference * n_box.h / 100, color);
render::get().text(fonts[HEALTH], n_box.x - 15, n_box.y + 9, text_color, HFONT_CENTERED_X | HFONT_CENTERED_Y, std::to_string(hpbox.hp).c_str());
}