C++ Iwebz v1 speclist for csgosimple

Начинающий
Статус
Оффлайн
Регистрация
13 Сен 2023
Сообщения
8
Реакции[?]
0
Поинты[?]
0
s/o y3px
s/o antosha pixelware
C++:
std::string TrimString(const std::string& str, float max_width)
{
    Vector2D text_size = render::get_text_size(g_Draw.specpl, str.c_str()); // определяем размер строки в пикселях
    if (text_size.x <= max_width)
    {
        return str; // строка уже короткая, возвращаем её без изменений
    }

    // обрезаем строку, чтобы её длина была меньше или равна max_width
    float ellipsis_width = ImGui::CalcTextSize("").x; // размер многоточия в пикселях
    float remaining_width = max_width - ellipsis_width; // сколько пикселей осталось для оставшейся строки

    std::string result;
    for (int i = 0; i < str.size(); i++)
    {
        Vector2D char_size = render::get_text_size(g_Draw.specpl, str.substr(i, 1).c_str()); // размер текущего символа в пикселях
        if (remaining_width - char_size.x >= 0)
        {
            result += str[i]; // символ помещается в оставшееся пространство, добавляем его в результат
            remaining_width -= char_size.x; // уменьшаем оставшееся пространство
        }
        else
        {
            result += ""; // добавляем многоточие, чтобы показать, что строка была обрезана
            break;
        }
    }
    return result;
}

void Visuals::SpectatorList()
{
    std::string str[100] = { };
    size_t a = 0;
    size_t c = 0;
    int gdsf = 0;
    m_vecPos.x = g_Options.spectator_list_x;
    m_vecPos.y = g_Options.spectator_list_y;
    if (!g_Options.spectator_list)
        return;
    for (int i = 0; i < g_EngineClient->GetMaxClients(); i++)
    {
        C_BasePlayer* entity = C_BasePlayer::GetPlayerByIndex(i);
        if (!entity)
            continue;
        if (entity->IsAlive())
            continue;
        if (entity->IsDormant())
            continue;
        player_info_t entityinfo1 = entity->GetPlayerInfo();
        int specscol[3];
        std::string spectators;
        if (strstr(entityinfo1.szName, "GOTV"))
            continue;
        if (entity->m_hObserverTarget())
        {
            C_BasePlayer* target = entity->m_hObserverTarget();
            player_info_t entityinfo = entity->GetPlayerInfo();
            player_info_t targetinfo = target->GetPlayerInfo();
            if (strstr(entityinfo1.szName, "GOTV"))
                continue;
            if (!target->IsPlayer())
                continue;
            spectators = std::string(entityinfo.szName) + " -> " + targetinfo.szName;
            bool checkplayer = false;
            int index = spectators.find(u8"∞");
            if (index != std::string::npos) {
                checkplayer = true;
            }
            if (target == g_LocalPlayer)
            {
                specscol[0] = g_Options.spectator_list_color.r();
                specscol[1] = g_Options.spectator_list_color.g();
                specscol[2] = g_Options.spectator_list_color.b();
            }
            else
            {
                specscol[0] = 240;
                specscol[1] = 240;
                specscol[2] = 240;

            }
        }
        else
        {
            if (entityinfo1.fakeplayer)
            {
                specscol[0] = g_Options.spectator_list_color.r();
                specscol[1] = g_Options.spectator_list_color.g();
                specscol[2] = g_Options.spectator_list_color.b();
            }
            else
            {
                specscol[0] = 240;
                specscol[1] = 240;
                specscol[2] = 240;
            }
            spectators = std::string(entityinfo1.szName);
        }
        std::string aboba2;
        if (g_Options.big_spectator_list)
        {
            aboba2 = TrimString(spectators, 650);
        }
        else
        {
            aboba2 = TrimString(spectators, 197);
        }
        str[i] = spectators;
        gdsf += 1;
        render::draw_text_string(g_Draw.specpl, false, m_vecPos.x + 4 + 1, m_vecPos.y + 25 - 20 + (m_iTotalSpectators++ * 20), specscol[0], specscol[1], specscol[2], 255,spectators.c_str());
    }
    for (int i = 0; i < 100; i++)
    {
        size_t b = strlen(str[i].c_str());
        if (a > b)
            continue;
        a = b;
        c = i;
    }
    textsizespec = render::get_text_size(g_Draw.specpl, str[c]);
}

void Visuals::SpectatorFrame()
{
    if (!g_Options.spectator_list)
        return;
    static int x = 157;
    m_vecSize = { Vector(x , (int)m_iTotalSpectators * 20 ,0) };
    static auto vecPos = m_vecPos;
    if (g_Options.big_spectator_list)
    {
        x = 200;
    }
    else
    {
        x = 157;
    }
    std::string szName = ("SPECTATOR LIST");
    static int iHeight = 20;
    static int iHeight2 = 21;  // + 1
    int iWidth = m_vecSize.x + 42;
    int iWidth2 = m_vecSize.x + 43; // + 1
    int kappi = 0;
    int oke = m_iTotalSpectators % 2;
    if (oke == 0)
    {
        kappi * 18;
    }
    render::draw_filled_rect(m_vecPos.x, m_vecPos.y + 24 - 24, m_vecSize.x + 43, m_vecSize.y, Color(69, 69, 69, 255));
    render::draw_rect(m_vecPos.x, m_vecPos.y + 24 - 24, m_vecSize.x + 43, m_vecSize.y, Color(78, 76, 76, 255));

    for (int i = 0; i <= iHeight; i++)
    {
        g_VGuiSurface->set_drawing_color(52, 52, 52, 255);
        g_VGuiSurface->draw_line(m_vecPos.x + i, m_vecPos.y, m_vecPos.x + iHeight + i, m_vecPos.y - iHeight);
        g_VGuiSurface->draw_line(m_vecPos.x + iWidth + iHeight - i, m_vecPos.y - iHeight, m_vecPos.x + iWidth - i, m_vecPos.y);
        if (i == iHeight)
        {
            render::draw_filled_rect(m_vecPos.x + iHeight, m_vecPos.y - iHeight, iWidth - iHeight, iHeight + 1, Color(52, 52, 52, 255));
        }
    }
    static int specscol[3];
    specscol[0] = g_Options.spectator_list_color.r();
    specscol[1] = g_Options.spectator_list_color.g();
    specscol[2] = g_Options.spectator_list_color.b();
    g_VGuiSurface->set_drawing_color(78, 76, 76, 255);
    g_VGuiSurface->draw_line(m_vecPos.x, m_vecPos.y, m_vecPos.x + iHeight, m_vecPos.y - iHeight);
    g_VGuiSurface->draw_line(m_vecPos.x + iHeight, m_vecPos.y - iHeight, m_vecPos.x + iWidth + iHeight + 1, m_vecPos.y - iHeight);
    g_VGuiSurface->draw_line(m_vecPos.x + iWidth, m_vecPos.y, m_vecPos.x + iWidth + iHeight, m_vecPos.y - iHeight);
    g_VGuiSurface->draw_line(m_vecPos.x, m_vecPos.y, m_vecPos.x + iWidth, m_vecPos.y);
    render::draw_text_string(g_Draw.spec, true, m_vecPos.x + (iWidth + iHeight) * 0.5 - 10, m_vecPos.y + 1 - iHeight + 2.5 + 1, g_Options.spectator_list_color.r(), g_Options.spectator_list_color.g(), g_Options.spectator_list_color.b(), 255, szName.c_str());
    for (int i = 0; i < m_iTotalSpectators; i += 2) {
        render::draw_filled_rect(m_vecPos.x, m_vecPos.y + (i * 20) + kappi, m_vecSize.x + 43, 20, Color(41, 41, 41, 255));
        render::draw_rect(m_vecPos.x, m_vecPos.y + 24 - 24, m_vecSize.x + 43, m_vecSize.y, Color(78, 76, 76, 255));
    }
    kappi++;
}
 
Пользователь
Статус
Оффлайн
Регистрация
25 Мар 2021
Сообщения
186
Реакции[?]
73
Поинты[?]
31K
s/o y3px
s/o antosha pixelware
C++:
std::string TrimString(const std::string& str, float max_width)
{
    Vector2D text_size = render::get_text_size(g_Draw.specpl, str.c_str()); // определяем размер строки в пикселях
    if (text_size.x <= max_width)
    {
        return str; // строка уже короткая, возвращаем её без изменений
    }

    // обрезаем строку, чтобы её длина была меньше или равна max_width
    float ellipsis_width = ImGui::CalcTextSize("").x; // размер многоточия в пикселях
    float remaining_width = max_width - ellipsis_width; // сколько пикселей осталось для оставшейся строки

    std::string result;
    for (int i = 0; i < str.size(); i++)
    {
        Vector2D char_size = render::get_text_size(g_Draw.specpl, str.substr(i, 1).c_str()); // размер текущего символа в пикселях
        if (remaining_width - char_size.x >= 0)
        {
            result += str[i]; // символ помещается в оставшееся пространство, добавляем его в результат
            remaining_width -= char_size.x; // уменьшаем оставшееся пространство
        }
        else
        {
            result += ""; // добавляем многоточие, чтобы показать, что строка была обрезана
            break;
        }
    }
    return result;
}

void Visuals::SpectatorList()
{
    std::string str[100] = { };
    size_t a = 0;
    size_t c = 0;
    int gdsf = 0;
    m_vecPos.x = g_Options.spectator_list_x;
    m_vecPos.y = g_Options.spectator_list_y;
    if (!g_Options.spectator_list)
        return;
    for (int i = 0; i < g_EngineClient->GetMaxClients(); i++)
    {
        C_BasePlayer* entity = C_BasePlayer::GetPlayerByIndex(i);
        if (!entity)
            continue;
        if (entity->IsAlive())
            continue;
        if (entity->IsDormant())
            continue;
        player_info_t entityinfo1 = entity->GetPlayerInfo();
        int specscol[3];
        std::string spectators;
        if (strstr(entityinfo1.szName, "GOTV"))
            continue;
        if (entity->m_hObserverTarget())
        {
            C_BasePlayer* target = entity->m_hObserverTarget();
            player_info_t entityinfo = entity->GetPlayerInfo();
            player_info_t targetinfo = target->GetPlayerInfo();
            if (strstr(entityinfo1.szName, "GOTV"))
                continue;
            if (!target->IsPlayer())
                continue;
            spectators = std::string(entityinfo.szName) + " -> " + targetinfo.szName;
            bool checkplayer = false;
            int index = spectators.find(u8"∞");
            if (index != std::string::npos) {
                checkplayer = true;
            }
            if (target == g_LocalPlayer)
            {
                specscol[0] = g_Options.spectator_list_color.r();
                specscol[1] = g_Options.spectator_list_color.g();
                specscol[2] = g_Options.spectator_list_color.b();
            }
            else
            {
                specscol[0] = 240;
                specscol[1] = 240;
                specscol[2] = 240;

            }
        }
        else
        {
            if (entityinfo1.fakeplayer)
            {
                specscol[0] = g_Options.spectator_list_color.r();
                specscol[1] = g_Options.spectator_list_color.g();
                specscol[2] = g_Options.spectator_list_color.b();
            }
            else
            {
                specscol[0] = 240;
                specscol[1] = 240;
                specscol[2] = 240;
            }
            spectators = std::string(entityinfo1.szName);
        }
        std::string aboba2;
        if (g_Options.big_spectator_list)
        {
            aboba2 = TrimString(spectators, 650);
        }
        else
        {
            aboba2 = TrimString(spectators, 197);
        }
        str[i] = spectators;
        gdsf += 1;
        render::draw_text_string(g_Draw.specpl, false, m_vecPos.x + 4 + 1, m_vecPos.y + 25 - 20 + (m_iTotalSpectators++ * 20), specscol[0], specscol[1], specscol[2], 255,spectators.c_str());
    }
    for (int i = 0; i < 100; i++)
    {
        size_t b = strlen(str[i].c_str());
        if (a > b)
            continue;
        a = b;
        c = i;
    }
    textsizespec = render::get_text_size(g_Draw.specpl, str[c]);
}

void Visuals::SpectatorFrame()
{
    if (!g_Options.spectator_list)
        return;
    static int x = 157;
    m_vecSize = { Vector(x , (int)m_iTotalSpectators * 20 ,0) };
    static auto vecPos = m_vecPos;
    if (g_Options.big_spectator_list)
    {
        x = 200;
    }
    else
    {
        x = 157;
    }
    std::string szName = ("SPECTATOR LIST");
    static int iHeight = 20;
    static int iHeight2 = 21;  // + 1
    int iWidth = m_vecSize.x + 42;
    int iWidth2 = m_vecSize.x + 43; // + 1
    int kappi = 0;
    int oke = m_iTotalSpectators % 2;
    if (oke == 0)
    {
        kappi * 18;
    }
    render::draw_filled_rect(m_vecPos.x, m_vecPos.y + 24 - 24, m_vecSize.x + 43, m_vecSize.y, Color(69, 69, 69, 255));
    render::draw_rect(m_vecPos.x, m_vecPos.y + 24 - 24, m_vecSize.x + 43, m_vecSize.y, Color(78, 76, 76, 255));

    for (int i = 0; i <= iHeight; i++)
    {
        g_VGuiSurface->set_drawing_color(52, 52, 52, 255);
        g_VGuiSurface->draw_line(m_vecPos.x + i, m_vecPos.y, m_vecPos.x + iHeight + i, m_vecPos.y - iHeight);
        g_VGuiSurface->draw_line(m_vecPos.x + iWidth + iHeight - i, m_vecPos.y - iHeight, m_vecPos.x + iWidth - i, m_vecPos.y);
        if (i == iHeight)
        {
            render::draw_filled_rect(m_vecPos.x + iHeight, m_vecPos.y - iHeight, iWidth - iHeight, iHeight + 1, Color(52, 52, 52, 255));
        }
    }
    static int specscol[3];
    specscol[0] = g_Options.spectator_list_color.r();
    specscol[1] = g_Options.spectator_list_color.g();
    specscol[2] = g_Options.spectator_list_color.b();
    g_VGuiSurface->set_drawing_color(78, 76, 76, 255);
    g_VGuiSurface->draw_line(m_vecPos.x, m_vecPos.y, m_vecPos.x + iHeight, m_vecPos.y - iHeight);
    g_VGuiSurface->draw_line(m_vecPos.x + iHeight, m_vecPos.y - iHeight, m_vecPos.x + iWidth + iHeight + 1, m_vecPos.y - iHeight);
    g_VGuiSurface->draw_line(m_vecPos.x + iWidth, m_vecPos.y, m_vecPos.x + iWidth + iHeight, m_vecPos.y - iHeight);
    g_VGuiSurface->draw_line(m_vecPos.x, m_vecPos.y, m_vecPos.x + iWidth, m_vecPos.y);
    render::draw_text_string(g_Draw.spec, true, m_vecPos.x + (iWidth + iHeight) * 0.5 - 10, m_vecPos.y + 1 - iHeight + 2.5 + 1, g_Options.spectator_list_color.r(), g_Options.spectator_list_color.g(), g_Options.spectator_list_color.b(), 255, szName.c_str());
    for (int i = 0; i < m_iTotalSpectators; i += 2) {
        render::draw_filled_rect(m_vecPos.x, m_vecPos.y + (i * 20) + kappi, m_vecSize.x + 43, 20, Color(41, 41, 41, 255));
        render::draw_rect(m_vecPos.x, m_vecPos.y + 24 - 24, m_vecSize.x + 43, m_vecSize.y, Color(78, 76, 76, 255));
    }
    kappi++;
}
whoever need this shit in 2023, useless
 
Начинающий
Статус
Оффлайн
Регистрация
7 Дек 2021
Сообщения
3
Реакции[?]
3
Поинты[?]
0
s/o y3px
s/o antosha pixelware
C++:
std::string TrimString(const std::string& str, float max_width)
{
    Vector2D text_size = render::get_text_size(g_Draw.specpl, str.c_str()); // определяем размер строки в пикселях
    if (text_size.x <= max_width)
    {
        return str; // строка уже короткая, возвращаем её без изменений
    }

    // обрезаем строку, чтобы её длина была меньше или равна max_width
    float ellipsis_width = ImGui::CalcTextSize("").x; // размер многоточия в пикселях
    float remaining_width = max_width - ellipsis_width; // сколько пикселей осталось для оставшейся строки

    std::string result;
    for (int i = 0; i < str.size(); i++)
    {
        Vector2D char_size = render::get_text_size(g_Draw.specpl, str.substr(i, 1).c_str()); // размер текущего символа в пикселях
        if (remaining_width - char_size.x >= 0)
        {
            result += str[i]; // символ помещается в оставшееся пространство, добавляем его в результат
            remaining_width -= char_size.x; // уменьшаем оставшееся пространство
        }
        else
        {
            result += ""; // добавляем многоточие, чтобы показать, что строка была обрезана
            break;
        }
    }
    return result;
}

void Visuals::SpectatorList()
{
    std::string str[100] = { };
    size_t a = 0;
    size_t c = 0;
    int gdsf = 0;
    m_vecPos.x = g_Options.spectator_list_x;
    m_vecPos.y = g_Options.spectator_list_y;
    if (!g_Options.spectator_list)
        return;
    for (int i = 0; i < g_EngineClient->GetMaxClients(); i++)
    {
        C_BasePlayer* entity = C_BasePlayer::GetPlayerByIndex(i);
        if (!entity)
            continue;
        if (entity->IsAlive())
            continue;
        if (entity->IsDormant())
            continue;
        player_info_t entityinfo1 = entity->GetPlayerInfo();
        int specscol[3];
        std::string spectators;
        if (strstr(entityinfo1.szName, "GOTV"))
            continue;
        if (entity->m_hObserverTarget())
        {
            C_BasePlayer* target = entity->m_hObserverTarget();
            player_info_t entityinfo = entity->GetPlayerInfo();
            player_info_t targetinfo = target->GetPlayerInfo();
            if (strstr(entityinfo1.szName, "GOTV"))
                continue;
            if (!target->IsPlayer())
                continue;
            spectators = std::string(entityinfo.szName) + " -> " + targetinfo.szName;
            bool checkplayer = false;
            int index = spectators.find(u8"∞");
            if (index != std::string::npos) {
                checkplayer = true;
            }
            if (target == g_LocalPlayer)
            {
                specscol[0] = g_Options.spectator_list_color.r();
                specscol[1] = g_Options.spectator_list_color.g();
                specscol[2] = g_Options.spectator_list_color.b();
            }
            else
            {
                specscol[0] = 240;
                specscol[1] = 240;
                specscol[2] = 240;

            }
        }
        else
        {
            if (entityinfo1.fakeplayer)
            {
                specscol[0] = g_Options.spectator_list_color.r();
                specscol[1] = g_Options.spectator_list_color.g();
                specscol[2] = g_Options.spectator_list_color.b();
            }
            else
            {
                specscol[0] = 240;
                specscol[1] = 240;
                specscol[2] = 240;
            }
            spectators = std::string(entityinfo1.szName);
        }
        std::string aboba2;
        if (g_Options.big_spectator_list)
        {
            aboba2 = TrimString(spectators, 650);
        }
        else
        {
            aboba2 = TrimString(spectators, 197);
        }
        str[i] = spectators;
        gdsf += 1;
        render::draw_text_string(g_Draw.specpl, false, m_vecPos.x + 4 + 1, m_vecPos.y + 25 - 20 + (m_iTotalSpectators++ * 20), specscol[0], specscol[1], specscol[2], 255,spectators.c_str());
    }
    for (int i = 0; i < 100; i++)
    {
        size_t b = strlen(str[i].c_str());
        if (a > b)
            continue;
        a = b;
        c = i;
    }
    textsizespec = render::get_text_size(g_Draw.specpl, str[c]);
}

void Visuals::SpectatorFrame()
{
    if (!g_Options.spectator_list)
        return;
    static int x = 157;
    m_vecSize = { Vector(x , (int)m_iTotalSpectators * 20 ,0) };
    static auto vecPos = m_vecPos;
    if (g_Options.big_spectator_list)
    {
        x = 200;
    }
    else
    {
        x = 157;
    }
    std::string szName = ("SPECTATOR LIST");
    static int iHeight = 20;
    static int iHeight2 = 21;  // + 1
    int iWidth = m_vecSize.x + 42;
    int iWidth2 = m_vecSize.x + 43; // + 1
    int kappi = 0;
    int oke = m_iTotalSpectators % 2;
    if (oke == 0)
    {
        kappi * 18;
    }
    render::draw_filled_rect(m_vecPos.x, m_vecPos.y + 24 - 24, m_vecSize.x + 43, m_vecSize.y, Color(69, 69, 69, 255));
    render::draw_rect(m_vecPos.x, m_vecPos.y + 24 - 24, m_vecSize.x + 43, m_vecSize.y, Color(78, 76, 76, 255));

    for (int i = 0; i <= iHeight; i++)
    {
        g_VGuiSurface->set_drawing_color(52, 52, 52, 255);
        g_VGuiSurface->draw_line(m_vecPos.x + i, m_vecPos.y, m_vecPos.x + iHeight + i, m_vecPos.y - iHeight);
        g_VGuiSurface->draw_line(m_vecPos.x + iWidth + iHeight - i, m_vecPos.y - iHeight, m_vecPos.x + iWidth - i, m_vecPos.y);
        if (i == iHeight)
        {
            render::draw_filled_rect(m_vecPos.x + iHeight, m_vecPos.y - iHeight, iWidth - iHeight, iHeight + 1, Color(52, 52, 52, 255));
        }
    }
    static int specscol[3];
    specscol[0] = g_Options.spectator_list_color.r();
    specscol[1] = g_Options.spectator_list_color.g();
    specscol[2] = g_Options.spectator_list_color.b();
    g_VGuiSurface->set_drawing_color(78, 76, 76, 255);
    g_VGuiSurface->draw_line(m_vecPos.x, m_vecPos.y, m_vecPos.x + iHeight, m_vecPos.y - iHeight);
    g_VGuiSurface->draw_line(m_vecPos.x + iHeight, m_vecPos.y - iHeight, m_vecPos.x + iWidth + iHeight + 1, m_vecPos.y - iHeight);
    g_VGuiSurface->draw_line(m_vecPos.x + iWidth, m_vecPos.y, m_vecPos.x + iWidth + iHeight, m_vecPos.y - iHeight);
    g_VGuiSurface->draw_line(m_vecPos.x, m_vecPos.y, m_vecPos.x + iWidth, m_vecPos.y);
    render::draw_text_string(g_Draw.spec, true, m_vecPos.x + (iWidth + iHeight) * 0.5 - 10, m_vecPos.y + 1 - iHeight + 2.5 + 1, g_Options.spectator_list_color.r(), g_Options.spectator_list_color.g(), g_Options.spectator_list_color.b(), 255, szName.c_str());
    for (int i = 0; i < m_iTotalSpectators; i += 2) {
        render::draw_filled_rect(m_vecPos.x, m_vecPos.y + (i * 20) + kappi, m_vecSize.x + 43, 20, Color(41, 41, 41, 255));
        render::draw_rect(m_vecPos.x, m_vecPos.y + 24 - 24, m_vecSize.x + 43, m_vecSize.y, Color(78, 76, 76, 255));
    }
    kappi++;
}
Епух когда тот самый сурс сольеш по приколу
 
Тьомчик
Участник
Статус
Оффлайн
Регистрация
30 Июн 2020
Сообщения
751
Реакции[?]
153
Поинты[?]
61K
Начинающий
Статус
Оффлайн
Регистрация
13 Сен 2023
Сообщения
8
Реакции[?]
0
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
13 Сен 2023
Сообщения
8
Реакции[?]
0
Поинты[?]
0
научись писать 14 летный чипиздрык, кларити(коинвар) н1 мувмент чит
интересно откуда ты возраст взял и интересно где же я ошибку допустил что у тя аж пердачок взорвался
 
Сверху Снизу