Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Вопрос Поверхностный рендер [lw]

Пользователь
Пользователь
Статус
Оффлайн
Регистрация
3 Июл 2021
Сообщения
960
Реакции
96
как сделать чтобы гранат таимер рендерился поверх 3DCircle
Код:
Expand Collapse Copy
void worldesp::molotov_timer(entity_t* entity)
{
    if (!g_cfg.esp.molotov_timer)
        return;

    auto inferno = reinterpret_cast<inferno_t*>(entity);
    auto origin = inferno->GetAbsOrigin();

    Vector screen_origin;

    if (!math::world_to_screen(origin, screen_origin))
        return;

    auto spawn_time = inferno->get_spawn_time();
    auto factor = (spawn_time + inferno_t::get_expiry_time() - m_globals()->m_curtime) / inferno_t::get_expiry_time();

    static auto size = Vector2D(360.0f, 5.0f);

    auto weapon = (weapon_t*)entity; //-V1027
    auto distance = g_ctx.local()->GetAbsOrigin().DistTo(weapon->GetAbsOrigin()) / 12.0f;

    auto color_g = Color(0, 0, 0, 255);
    auto color_a = Color(247, 57, 57, 197);

    if (distance < 20)
    {
        color_g = Color(150, 20, 20, 245);
    }

    render::get().circle_filled(screen_origin.x, screen_origin.y - 17.0f, 18, 20, color_g);
    render::get().Draw3DFilledCircle(origin, 144.0f, color_a);
    render::get().CircularProgressBar(screen_origin.x, screen_origin.y - 17.0f, 20, 18, 40, size.x * factor, g_cfg.esp.molotov_timer_color, false);
    render::get().text(fonts[WARNING_icon], screen_origin.x + 1.0f, screen_origin.y - 20.5f, Color(220, 220, 220, 245), HFONT_CENTERED_X | HFONT_CENTERED_Y, "l");
    render::get().text(fonts[ESP], screen_origin.x, screen_origin.y - size.y * 0.5f, Color(220, 220, 220, 245), HFONT_CENTERED_X | HFONT_CENTERED_Y, "%i M", (int)distance);
}
 

Вложения

  • Снимок экрана (24).png
    Снимок экрана (24).png
    222.3 KB · Просмотры: 125
render::get().circle_filled(screen_origin.x, screen_origin.y - 17.0f, 18, 20, color_g); render::get().Draw3DFilledCircle(origin, 144.0f, color_a);
просто поменяй их местами
Код:
Expand Collapse Copy
    render::get().Draw3DFilledCircle(origin, 144.0f, color_a);
    render::get().circle_filled(screen_origin.x, screen_origin.y - 17.0f, 18, 20, color_g);
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Код:
Expand Collapse Copy
void worldesp::molotov_timer(entity_t* entity)
{
    if (!g_cfg.esp.molotov_timer)
        return;

    auto inferno = reinterpret_cast<inferno_t*>(entity);
    auto origin = inferno->GetAbsOrigin();

    Vector screen_origin;

    if (!math::world_to_screen(origin, screen_origin))
        return;

    auto spawn_time = inferno->get_spawn_time();
    auto factor = (spawn_time + inferno_t::get_expiry_time() - m_globals()->m_curtime) / inferno_t::get_expiry_time();

    static auto size = Vector2D(360.0f, 5.0f);

    auto weapon = (weapon_t*)entity; //-V1027
    auto distance = g_ctx.local()->GetAbsOrigin().DistTo(weapon->GetAbsOrigin()) / 12.0f;

    auto color_g = Color(0, 0, 0, 255);
    auto color_a = Color(247, 57, 57, 197);

    if (distance < 20)
    {
        color_g = Color(150, 20, 20, 245);
    }

    render::get().circle_filled(screen_origin.x, screen_origin.y - 17.0f, 18, 20, color_g);
     render::get().CircularProgressBar(screen_origin.x, screen_origin.y - 17.0f, 20, 18, 40, size.x * factor, g_cfg.esp.molotov_timer_color, false);
    render::get().text(fonts[WARNING_icon], screen_origin.x + 1.0f, screen_origin.y - 20.5f, Color(220, 220, 220, 245), HFONT_CENTERED_X | HFONT_CENTERED_Y, "l");
    render::get().text(fonts[ESP], screen_origin.x, screen_origin.y - size.y * 0.5f, Color(220, 220, 220, 245), HFONT_CENTERED_X | HFONT_CENTERED_Y, "%i M", (int)distance);
    render::get().Draw3DFilledCircle(origin, 144.0f, color_a);
  
}
 
как сделать чтобы гранат таимер рендерился поверх 3DCircle
Код:
Expand Collapse Copy
void worldesp::molotov_timer(entity_t* entity)
{
    if (!g_cfg.esp.molotov_timer)
        return;

    auto inferno = reinterpret_cast<inferno_t*>(entity);
    auto origin = inferno->GetAbsOrigin();

    Vector screen_origin;

    if (!math::world_to_screen(origin, screen_origin))
        return;

    auto spawn_time = inferno->get_spawn_time();
    auto factor = (spawn_time + inferno_t::get_expiry_time() - m_globals()->m_curtime) / inferno_t::get_expiry_time();

    static auto size = Vector2D(360.0f, 5.0f);

    auto weapon = (weapon_t*)entity; //-V1027
    auto distance = g_ctx.local()->GetAbsOrigin().DistTo(weapon->GetAbsOrigin()) / 12.0f;

    auto color_g = Color(0, 0, 0, 255);
    auto color_a = Color(247, 57, 57, 197);

    if (distance < 20)
    {
        color_g = Color(150, 20, 20, 245);
    }

    render::get().circle_filled(screen_origin.x, screen_origin.y - 17.0f, 18, 20, color_g);
    render::get().Draw3DFilledCircle(origin, 144.0f, color_a);
    render::get().CircularProgressBar(screen_origin.x, screen_origin.y - 17.0f, 20, 18, 40, size.x * factor, g_cfg.esp.molotov_timer_color, false);
    render::get().text(fonts[WARNING_icon], screen_origin.x + 1.0f, screen_origin.y - 20.5f, Color(220, 220, 220, 245), HFONT_CENTERED_X | HFONT_CENTERED_Y, "l");
    render::get().text(fonts[ESP], screen_origin.x, screen_origin.y - size.y * 0.5f, Color(220, 220, 220, 245), HFONT_CENTERED_X | HFONT_CENTERED_Y, "%i M", (int)distance);
}
выкинь сюрфейс рендер и рендери на имгуи, и ты увидишь разницу в фпс
 
как сделать чтобы гранат таимер рендерился поверх 3DCircle
Код:
Expand Collapse Copy
void worldesp::molotov_timer(entity_t* entity)
{
    if (!g_cfg.esp.molotov_timer)
        return;

    auto inferno = reinterpret_cast<inferno_t*>(entity);
    auto origin = inferno->GetAbsOrigin();

    Vector screen_origin;

    if (!math::world_to_screen(origin, screen_origin))
        return;

    auto spawn_time = inferno->get_spawn_time();
    auto factor = (spawn_time + inferno_t::get_expiry_time() - m_globals()->m_curtime) / inferno_t::get_expiry_time();

    static auto size = Vector2D(360.0f, 5.0f);

    auto weapon = (weapon_t*)entity; //-V1027
    auto distance = g_ctx.local()->GetAbsOrigin().DistTo(weapon->GetAbsOrigin()) / 12.0f;

    auto color_g = Color(0, 0, 0, 255);
    auto color_a = Color(247, 57, 57, 197);

    if (distance < 20)
    {
        color_g = Color(150, 20, 20, 245);
    }

    render::get().circle_filled(screen_origin.x, screen_origin.y - 17.0f, 18, 20, color_g);
    render::get().Draw3DFilledCircle(origin, 144.0f, color_a);
    render::get().CircularProgressBar(screen_origin.x, screen_origin.y - 17.0f, 20, 18, 40, size.x * factor, g_cfg.esp.molotov_timer_color, false);
    render::get().text(fonts[WARNING_icon], screen_origin.x + 1.0f, screen_origin.y - 20.5f, Color(220, 220, 220, 245), HFONT_CENTERED_X | HFONT_CENTERED_Y, "l");
    render::get().text(fonts[ESP], screen_origin.x, screen_origin.y - size.y * 0.5f, Color(220, 220, 220, 245), HFONT_CENTERED_X | HFONT_CENTERED_Y, "%i M", (int)distance);
}
Ну зачем эти круги, когда давно уже слили метод через polygons, намного красивее и правильнее чем ваш этот круг блед...
Upd: Также на форуме есть моя тема с convex hull
 
Ну зачем эти круги, когда давно уже слили метод через polygons, намного красивее и правильнее чем ваш этот круг блед...
Upd: Также на форуме есть моя тема с convex hull
не умею пользоватся, научите?:>
 
Назад
Сверху Снизу