Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Исходник Другой бомб таймер для лв

  • Автор темы Автор темы abbc
  • Дата начала Дата начала
..................................................
Участник
Участник
Статус
Оффлайн
Регистрация
13 Авг 2020
Сообщения
1,004
Реакции
252
Вроде без щиткода, потому что спастил ну или спизиздил
Код:
Expand Collapse Copy
if (!g_cfg.esp.bomb_timer)
        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);
    Vector screen;

    if (math::world_to_screen(entity->GetAbsOrigin(), screen))
        render::get().text(fonts[ESP], screen.x, screen.y, Color(red_factor, green_factor, 0), HFONT_CENTERED_X | HFONT_CENTERED_Y, "BOMB");




    auto site = bomb->m_nBombSite();


    std::string time;
    if (bomb->m_nBombSite() == 0)
    {
        time += "A STIE- ";
    }
    else if (bomb->m_nBombSite() == 1)
    {
        time += "B SITE - ";

    }
    time += std::to_string((int)(bomb_timer));
    time += "s";


    otheresp::get().m_indicators.push_back(m_indicator(time.c_str(), Color(255, 255, 255)));



    float flDistance = g_ctx.local()->GetEyePosition().DistTo(entity->GetEyePosition());
    float a = 450.7f;
    float b = 75.68f;
    float c = 789.2f;
    float d = ((flDistance - b) / c);
    float flDamage = a * exp(-d * d);
    damage = float((std::max)((int)ceilf(CSGO_Armor(flDamage, g_ctx.local()->m_ArmorValue())), 0));
    sprintf_s(bombdamagestringdead, sizeof(bombdamagestringdead) - 1, "");
    std::string dmg;
    dmg += "-";
    dmg += std::to_string((int)(damage));
    dmg += "HP";
    Color clr;
    if (damage >= g_ctx.local()->m_iHealth())
    {
        dmg = "FATAL";
        clr = Color(255, 0, 0);
    }
    else
    {
        clr = Color(255, 255, 255);
    }
    otheresp::get().m_indicators.push_back(m_indicator(dmg.c_str(), clr));
  



    if (math::world_to_screen(entity->GetAbsOrigin(), screen))
        render::get().text(fonts[ESP], screen.x, screen.y, Color(red_factor, green_factor, 0), HFONT_CENTERED_X | HFONT_CENTERED_Y, "BOMB");
Над кодом бомбтаймера
C++:
Expand Collapse Copy
float damage;
char bombdamagestringdead[24];
char bombdamagestringalive[24];
inline float CSGO_Armor(float flDamage, int ArmorValue)
{
    float flArmorRatio = 0.5f;
    float flArmorBonus = 0.5f;
    if (ArmorValue > 0) {
        float flNew = flDamage * flArmorRatio;
        float flArmor = (flDamage - flNew) * flArmorBonus;
        if (flArmor > static_cast<float>(ArmorValue)) {
            flArmor = static_cast<float>(ArmorValue) * (1.f / flArmorBonus);
            flNew = flDamage - flArmor;
        }
        flDamage = flNew;
    }
    return flDamage;
}

#include "other_esp.h"


В IClietnEntity
C++:
Expand Collapse Copy
Vector GetEyePosition() {
        Vector Origin = *(Vector*)((DWORD)this + 0x138);
        Vector View = *(Vector*)((DWORD)this + 0x108);
        return(Origin + View);
    }



NETVAR(int, m_nBombSite, crypt_str("CPlantedC4"), crypt_str("m_nBombSite"));
SS
Индикатор бомбы только две нижних строчки, т.к оно там где и индикаторы

Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Последнее редактирование:
make something like this but with arc timer
1622766785959.png
 
if (bomb->m_nBombSite() == 0) { time += "A STIE- "; } else if (bomb->m_nBombSite() == 1) { time += "B SITE - "; }
можно сократить в одну строку
bomb->m_nBombSite() == 0 ? time += "A SITE- " :t ime += "B SITE- ";
Код:
Expand Collapse Copy
std::string dmg;
    dmg += "-";
    dmg += std::to_string((int)(damage));
    dmg += "HP";
    Color clr;
    if (damage >= g_ctx.local()->m_iHealth())
    {
        dmg = "FATAL";
        clr = Color(255, 0, 0);
    }
    else
    {
        clr = Color(255, 255, 255);
    }
в
Код:
Expand Collapse Copy
    std::string dmg;
    Color clr;
    if (damage >= g_ctx.local()->m_iHealth())
    {
        dmg = "FATAL";
        clr = Color(255, 0, 0);
    }
    else
    {
        dmg += "-";  dmg += std::to_string((int)(damage)); dmg += "HP";
        clr = Color(255, 255, 255);
    }
 
можно сократить в одну строку
bomb->m_nBombSite() == 0 ? time += "A SITE- " :t ime += "B SITE- ";
Лучше не использовать такой вид записи if/else, после некоторого перерыва потратишь больше времени на разбор кода, лучше писать по обычному, без "выебонов", все равно это никак на производительность не влияет.
 
Лучше не использовать такой вид записи if/else, после некоторого перерыва потратишь больше времени на разбор кода, лучше писать по обычному, без "выебонов", все равно это никак на производительность не влияет.
та не особо ты и больше времени потратишь, зато код будет короче, и красивее
 
та не особо ты и больше времени потратишь, зато код будет короче, и красивее
Насчет красивее я бы поспорил, вкусовщина. Лично мне приятнее видеть if/else. Конечно если у тебя 500+ строк кода, то можно простенькие вещи короче делать.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Вроде без щиткода, потому что спастил ну или спизиздил
Код:
Expand Collapse Copy
if (!g_cfg.esp.bomb_timer)
        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);
    Vector screen;

    if (math::world_to_screen(entity->GetAbsOrigin(), screen))
        render::get().text(fonts[ESP], screen.x, screen.y, Color(red_factor, green_factor, 0), HFONT_CENTERED_X | HFONT_CENTERED_Y, "BOMB");




    auto site = bomb->m_nBombSite();


    std::string time;
    if (bomb->m_nBombSite() == 0)
    {
        time += "A STIE- ";
    }
    else if (bomb->m_nBombSite() == 1)
    {
        time += "B SITE - ";

    }
    time += std::to_string((int)(bomb_timer));
    time += "s";


    otheresp::get().m_indicators.push_back(m_indicator(time.c_str(), Color(255, 255, 255)));



    float flDistance = g_ctx.local()->GetEyePosition().DistTo(entity->GetEyePosition());
    float a = 450.7f;
    float b = 75.68f;
    float c = 789.2f;
    float d = ((flDistance - b) / c);
    float flDamage = a * exp(-d * d);
    damage = float((std::max)((int)ceilf(CSGO_Armor(flDamage, g_ctx.local()->m_ArmorValue())), 0));
    sprintf_s(bombdamagestringdead, sizeof(bombdamagestringdead) - 1, "");
    std::string dmg;
    dmg += "-";
    dmg += std::to_string((int)(damage));
    dmg += "HP";
    Color clr;
    if (damage >= g_ctx.local()->m_iHealth())
    {
        dmg = "FATAL";
        clr = Color(255, 0, 0);
    }
    else
    {
        clr = Color(255, 255, 255);
    }
    otheresp::get().m_indicators.push_back(m_indicator(dmg.c_str(), clr));
  



    if (math::world_to_screen(entity->GetAbsOrigin(), screen))
        render::get().text(fonts[ESP], screen.x, screen.y, Color(red_factor, green_factor, 0), HFONT_CENTERED_X | HFONT_CENTERED_Y, "BOMB");
Над кодом бомбтаймера
C++:
Expand Collapse Copy
float damage;
char bombdamagestringdead[24];
char bombdamagestringalive[24];
inline float CSGO_Armor(float flDamage, int ArmorValue)
{
    float flArmorRatio = 0.5f;
    float flArmorBonus = 0.5f;
    if (ArmorValue > 0) {
        float flNew = flDamage * flArmorRatio;
        float flArmor = (flDamage - flNew) * flArmorBonus;
        if (flArmor > static_cast<float>(ArmorValue)) {
            flArmor = static_cast<float>(ArmorValue) * (1.f / flArmorBonus);
            flNew = flDamage - flArmor;
        }
        flDamage = flNew;
    }
    return flDamage;
}

#include "other_esp.h"


В IClietnEntity
C++:
Expand Collapse Copy
Vector GetEyePosition() {
        Vector Origin = *(Vector*)((DWORD)this + 0x138);
        Vector View = *(Vector*)((DWORD)this + 0x108);
        return(Origin + View);
    }
SS
Индикатор бомбы только две нижних строчки, т.к оно там где и индикаторы

Пожалуйста, авторизуйтесь для просмотра ссылки.
Дай нетвар bombsite, пожалуйста
 
Вроде без щиткода, потому что спастил ну или спизиздил
Код:
Expand Collapse Copy
if (!g_cfg.esp.bomb_timer)
        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);
    Vector screen;

    if (math::world_to_screen(entity->GetAbsOrigin(), screen))
        render::get().text(fonts[ESP], screen.x, screen.y, Color(red_factor, green_factor, 0), HFONT_CENTERED_X | HFONT_CENTERED_Y, "BOMB");




    auto site = bomb->m_nBombSite();


    std::string time;
    if (bomb->m_nBombSite() == 0)
    {
        time += "A STIE- ";
    }
    else if (bomb->m_nBombSite() == 1)
    {
        time += "B SITE - ";

    }
    time += std::to_string((int)(bomb_timer));
    time += "s";


    otheresp::get().m_indicators.push_back(m_indicator(time.c_str(), Color(255, 255, 255)));



    float flDistance = g_ctx.local()->GetEyePosition().DistTo(entity->GetEyePosition());
    float a = 450.7f;
    float b = 75.68f;
    float c = 789.2f;
    float d = ((flDistance - b) / c);
    float flDamage = a * exp(-d * d);
    damage = float((std::max)((int)ceilf(CSGO_Armor(flDamage, g_ctx.local()->m_ArmorValue())), 0));
    sprintf_s(bombdamagestringdead, sizeof(bombdamagestringdead) - 1, "");
    std::string dmg;
    dmg += "-";
    dmg += std::to_string((int)(damage));
    dmg += "HP";
    Color clr;
    if (damage >= g_ctx.local()->m_iHealth())
    {
        dmg = "FATAL";
        clr = Color(255, 0, 0);
    }
    else
    {
        clr = Color(255, 255, 255);
    }
    otheresp::get().m_indicators.push_back(m_indicator(dmg.c_str(), clr));
 



    if (math::world_to_screen(entity->GetAbsOrigin(), screen))
        render::get().text(fonts[ESP], screen.x, screen.y, Color(red_factor, green_factor, 0), HFONT_CENTERED_X | HFONT_CENTERED_Y, "BOMB");
Над кодом бомбтаймера
C++:
Expand Collapse Copy
float damage;
char bombdamagestringdead[24];
char bombdamagestringalive[24];
inline float CSGO_Armor(float flDamage, int ArmorValue)
{
    float flArmorRatio = 0.5f;
    float flArmorBonus = 0.5f;
    if (ArmorValue > 0) {
        float flNew = flDamage * flArmorRatio;
        float flArmor = (flDamage - flNew) * flArmorBonus;
        if (flArmor > static_cast<float>(ArmorValue)) {
            flArmor = static_cast<float>(ArmorValue) * (1.f / flArmorBonus);
            flNew = flDamage - flArmor;
        }
        flDamage = flNew;
    }
    return flDamage;
}

#include "other_esp.h"


В IClietnEntity
C++:
Expand Collapse Copy
Vector GetEyePosition() {
        Vector Origin = *(Vector*)((DWORD)this + 0x138);
        Vector View = *(Vector*)((DWORD)this + 0x108);
        return(Origin + View);
    }



NETVAR(int, m_nBombSite, crypt_str("CPlantedC4"), crypt_str("m_nBombSite"));
SS
Индикатор бомбы только две нижних строчки, т.к оно там где и индикаторы

фигня если честно
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Назад
Сверху Снизу