Вопрос Spectator list

  • Автор темы Автор темы hupper
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
28 Сен 2021
Сообщения
94
Реакции
11
как сделать когда следят за тобой то цвет текста был красный например
Код:
Expand Collapse Copy
    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();
 
как сделать когда следят за тобой то цвет текста был красный например
Код:
Expand Collapse Copy
    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
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
Expand Collapse Copy
    Color def_col
    if (target == LocalPlayer)  //проверка является ли таргет тоесть тот за кем спекают локал плеером тоесть нами
      def_col = Color(255,0,0,0);
    
      else
       def_col = Color(255,255,255,0);  //в любом другом случае
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Код:
Expand Collapse Copy
Color col = target == LocalPlayer ? Color(255, 0, 0) : Color(255, 255, 255);
 
Назад
Сверху Снизу