Вопрос Spectator list

Начинающий
Статус
Оффлайн
Регистрация
28 Сен 2021
Сообщения
94
Реакции[?]
11
Поинты[?]
0
как сделать когда следят за тобой то цвет текста был красный например
Код:
    std::string spectators;

        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;

            if (!entity->m_hObserverTarget())
                continue;

            C_BasePlayer* target = entity->m_hObserverTarget();

            if (!target->IsPlayer())
                continue;

            player_info_t entityinfo = entity->GetPlayerInfo();
            player_info_t targetinfo = target->GetPlayerInfo();

            spectators += std::string(entityinfo.szName) + " > " + targetinfo.szName + "\n";
        }
        ImGui::Begin("Spectator List", nullptr, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoBackground | (_visible ? NULL : ImGuiWindowFlags_NoMove));
        {

            ImGui::SetCursorPosX((ImGui::GetWindowWidth() - ImGui::CalcTextSize("spectators").x) / 2);
            ImGui::TextColored(ImColor(g_Options.color_spect[0], g_Options.color_spect[1], g_Options.color_spect[2]), "spectators");

            ImGui::Text(spectators.c_str());


        }
        ImGui::End();
 
Пользователь
Статус
Оффлайн
Регистрация
26 Авг 2017
Сообщения
386
Реакции[?]
32
Поинты[?]
8K
как сделать когда следят за тобой то цвет текста был красный например
Код:
    std::string spectators;

        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;

            if (!entity->m_hObserverTarget())
                continue;

            C_BasePlayer* target = entity->m_hObserverTarget();

            if (!target->IsPlayer())
                continue;

            player_info_t entityinfo = entity->GetPlayerInfo();
            player_info_t targetinfo = target->GetPlayerInfo();

            spectators += std::string(entityinfo.szName) + " > " + targetinfo.szName + "\n";
        }
        ImGui::Begin("Spectator List", nullptr, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoBackground | (_visible ? NULL : ImGuiWindowFlags_NoMove));
        {

            ImGui::SetCursorPosX((ImGui::GetWindowWidth() - ImGui::CalcTextSize("spectators").x) / 2);
            ImGui::TextColored(ImColor(g_Options.color_spect[0], g_Options.color_spect[1], g_Options.color_spect[2]), "spectators");

            ImGui::Text(spectators.c_str());


        }
        ImGui::End();
Так суть спектатор листа же в том что оно показывает только тех кто следит за тобой. Получается у тебя каждый ник будет красным. Если этого и хочешь - то или юзай TextColored или перед текстом ImGui::PushStyleVar где пушишь цвет текста, а после ImGui::Text делаешь PopStyleVar
 
Забаненный
Статус
Оффлайн
Регистрация
5 Сен 2020
Сообщения
986
Реакции[?]
275
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
    Color def_col
    if (target == LocalPlayer)  //проверка является ли таргет тоесть тот за кем спекают локал плеером тоесть нами
      def_col = Color(255,0,0,0);
    
      else
       def_col = Color(255,255,255,0);  //в любом другом случае
 
Сверху Снизу