-
Автор темы
- #1
Код:
void CMisc::OnRenderSpectatorList()
{
if (Settings::Misc::misc_SpectatorList)
{
int specs = 0;
int modes = 0;
std::string spect = "";
std::string mode = "";
int DrawIndex = 1;
for (int playerId : GetObservervators(Interfaces::Engine()->GetLocalPlayer()))
{
if (playerId == Interfaces::Engine()->GetLocalPlayer())
continue;
CBaseEntity* pPlayer = (CBaseEntity*)Interfaces::EntityList()->GetClientEntity(playerId);
if (!pPlayer)
continue;
PlayerInfo Pinfo;
Interfaces::Engine()->GetPlayerInfo(playerId, &Pinfo);
if (Pinfo.m_bIsFakePlayer)
continue;
if (g_pRender)
{
spect += Pinfo.m_szPlayerName;
spect += "\n";
specs++;
if (spect != "")
{
Color PlayerObsColor;
//[junk_disable /]
switch (pPlayer->GetObserverMode())
{
case ObserverMode_t::OBS_MODE_IN_EYE:
mode += ("Perspective");
PlayerObsColor = Color::White();
break;
case ObserverMode_t::OBS_MODE_CHASE:
mode += ("3rd Person");
PlayerObsColor = Color::White();
break;
case ObserverMode_t::OBS_MODE_ROAMING:
mode += ("Free look");
PlayerObsColor = Color::Red();
break;
case ObserverMode_t::OBS_MODE_DEATHCAM:
mode += ("Deathcam");
PlayerObsColor = Color::Yellow();
break;
case ObserverMode_t::OBS_MODE_FREEZECAM:
mode += ("Freezecam");
PlayerObsColor = Color::LimeGreen();
break;
case ObserverMode_t::OBS_MODE_FIXED:
mode += ("Fixed");
PlayerObsColor = Color::Orange();
break;
default:
break;
}
mode += "\n";
modes++;
}
}
}
if (ImGui::Begin("Spectator List", &Settings::Misc::misc_SpectatorList, ImVec2(200, 100), 0.9f, ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_ShowBorders))
{
if (specs > 0) spect += "\n";
if (modes > 0) mode += "\n";
ImVec2 size = ImGui::CalcTextSize(spect.c_str());
ImGui::Columns(2);
ImGui::Text("Name");
ImGui::NextColumn();
ImGui::Text("Mode");
ImGui::NextColumn();
ImGui::Separator();
ImGui::Text(spect.c_str());
ImGui::NextColumn();
ImGui::Text(mode.c_str());
ImGui::Columns(1);
DrawIndex++;
}
ImGui::End();
}
}
}
1. Заходим в misc.cpp
2. Спускаемся в самый низ
3. Заменяем RenderSpectatorList, на тот что в коде.
4. Заходим в Gui.cpp
5. Спускаемся до строчки void CGui::GUI_Draw_Elements()
6. Внизу этой строчки пишем
if ( Settings::Misc::misc_SpectatorList ) g_pMisc->OnRenderSpectatorList();
2. Спускаемся в самый низ
3. Заменяем RenderSpectatorList, на тот что в коде.
4. Заходим в Gui.cpp
5. Спускаемся до строчки void CGui::GUI_Draw_Elements()
6. Внизу этой строчки пишем
if ( Settings::Misc::misc_SpectatorList ) g_pMisc->OnRenderSpectatorList();
1. Заходим в ImGui.cpp
2. Ищем там строчку
bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
3. В этой строчке ищем
IM_ASSERT(g.FrameCountEnded != g.FrameCount);
4. Просто перед этой строчкой ставим //
5. Сохраняем и всё.
2. Ищем там строчку
bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
3. В этой строчке ищем
IM_ASSERT(g.FrameCountEnded != g.FrameCount);
4. Просто перед этой строчкой ставим //
5. Сохраняем и всё.
Вот такой спектатор
Последнее редактирование: