Исходник Bomb timer legendware

Участник
Статус
Оффлайн
Регистрация
19 Апр 2020
Сообщения
1,149
Реакции[?]
306
Поинты[?]
139K
1627143844241.png
C++:
void worldesp::bomb_timer(entity_t* entity)
{
    if (!config_system.g_cfg.esp.bright)
        return;

    if (!g_ctx.globals.bomb_timer_enable)
        return;

    static auto mp_c4timer = m_cvar()->FindVar(crypt_str("mp_c4timer"));
    auto bomb = (CCSBomb*)entity;

    auto c4timer = mp_c4timer->GetFloat();
    auto bomb_timer = bomb->m_flC4Blow() - m_globals()->m_curtime;

    if (bomb_timer < 0.0f)
        return;

    static int width, height;
    m_engine()->GetScreenSize(width, height);

    auto factor = bomb_timer / c4timer * height;

    auto red_factor = (int)(255.0f - bomb_timer / c4timer * 255.0f);
    auto green_factor = (int)(bomb_timer / c4timer * 255.0f);
    auto distance = g_ctx.local()->get_shoot_position().DistTo(entity->GetAbsOrigin());
    auto a = 450.7f;
    auto b = 75.68f;
    auto c = 789.2f;
    auto d = ((distance - b) / c);
    auto fl_damage = a * exp(-d * d);

    //g_Render->FilledRect(0, height - factor, 26, factor, Color(0, 0, 0, 100));

    float damage;
    damage = float((std::max)((int)ceilf(util::csgo_armor(fl_damage, g_ctx.local()->m_ArmorValue())), 0));

    //convert damage to string
    std::string damage_text;
    damage_text += "-";
    damage_text += std::to_string((int)(damage));
    damage_text += "HP";

    if (g_ctx.local()->is_alive() && damage >= g_ctx.local()->m_iHealth())
        damage_text = "FATAL";

    g_Render->FilledRect(0, height - factor, 18, factor, Color(red_factor, green_factor, 0, 255));
    g_Render->DrawString(19, height - factor, Color(255, 255, 255, 255), render2::none, c_menu::get().futura_small, damage_text.c_str());


    auto text_position = height - factor + 11;

    if (text_position > height - 9)
        text_position = height - 9;
    Vector screen;

    factor = bomb_timer / c4timer;

    auto c4_defuse_time = bomb->m_flDefuseCountDown() - (m_globals()->m_intervalpertick * g_ctx.local()->m_nTickBase());
    auto defuse_value = c4_defuse_time / 6;

    if (math::WorldToScreen(entity->GetAbsOrigin(), screen))
    {
        if (bomb->m_hBombDefuser() > 0)
        {
            if (c4timer > c4_defuse_time)
            {
                g_Render->CircleFilled(screen.x, screen.y - 50, 30, Color(20, 20, 20, 175), 30);
                g_Render->DrawString(screen.x, screen.y - 75, Color(25, 80, 153, 200), render2::centered_x, c_menu::get().ico_menu, "r");
                g_Render->DrawString2(screen.x - 7, screen.y - 55, Color(232, 232, 232, 200), render2::none, c_menu::get().futura_small, std::to_string((int)(round(c4_defuse_time))) + " s");
                arc(screen.x, screen.y - 50, 30, 32, -90, 360 * defuse_value, Color(25, 80, 153, 200));
            }
            else
            {
                g_Render->CircleFilled(screen.x, screen.y - 50, 30, Color(20, 20, 20, 175), 30);
                g_Render->DrawString(screen.x, screen.y - 75, Color(25, 80, 153, 200), render2::centered_x, c_menu::get().ico_menu, "r");
                g_Render->DrawString2(screen.x - 7, screen.y - 55, Color(232, 232, 232, 200), render2::none, c_menu::get().futura_small, "NO TIME");
                arc(screen.x, screen.y - 50, 30, 32, -90, 360 * defuse_value, Color(25, 80, 153, 200));
            }
        }
        else
        {
            g_Render->CircleFilled(screen.x, screen.y - 50, 30, Color(20, 20, 20, 175), 30);
            g_Render->DrawString(screen.x, screen.y - 75, Color(255, 70, 70, 200), render2::centered_x, c_menu::get().ico_menu, "o");
            g_Render->DrawString2(screen.x - 7, screen.y - 55, Color(232, 232, 232, 200), render2::none, c_menu::get().futura_small, std::to_string((int)(round(bomb_timer))) + " s");
            arc(screen.x, screen.y - 50, 30, 32, -90, 360 * factor, Color(232, 232, 232, 200));
        }
    }
}
struct trace_pos_info
{
    Vector position;
    float time = -1;
};

ps use render
 

Вложения

Участник
Статус
Оффлайн
Регистрация
11 Апр 2019
Сообщения
1,116
Реакции[?]
306
Поинты[?]
4K
Плохо. по центру поставь во-первых, и размер текста и иконки больше надо
 
ЧВК EB_LAN
Забаненный
Статус
Оффлайн
Регистрация
12 Янв 2019
Сообщения
838
Реакции[?]
298
Поинты[?]
17K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
1627146159277.pngлучше бы ты сделал такой
только сам arc побольше
 
Эксперт
Статус
Оффлайн
Регистрация
30 Дек 2019
Сообщения
1,958
Реакции[?]
954
Поинты[?]
16K
Плохо. по центру поставь во-первых, и размер текста и иконки больше надо
не обязательно, просто иконку побольше и было бы красиво
Посмотреть вложение 162554лучше бы ты сделал такой
только сам arc побольше
это на oof можно сделать
 
Последнее редактирование:
Сверху Снизу