-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
пишем перед bhop в misc.cpp
далее перед bhop в misc.hpp
далее вызываем его в endscene.cpp в long __stdcall hkEndScene(IDirect3DDevice9* pDevice) после Menu::Get( ).RenderMenu( ); пишем
в options.hpp пишем
в menu.cpp пишем где хочем
C++:
std::vector<int> GetObservervators(int playerId)
{
std::vector<int> SpectatorList;
C_BasePlayer* pPlayer = (C_BasePlayer*)g_EntityList->GetClientEntity(playerId);
if (!pPlayer)
return SpectatorList;
if (!pPlayer->IsAlive())
{
C_BasePlayer* pObserverTarget = (C_BasePlayer*)g_EntityList->GetClientEntityFromHandle(pPlayer->m_hObserverTarget());
if (!pObserverTarget)
return SpectatorList;
pPlayer = pObserverTarget;
}
for (int PlayerIndex = 0; PlayerIndex < g_EngineClient->GetMaxClients(); PlayerIndex++)
{
C_BasePlayer* pCheckPlayer = (C_BasePlayer*)g_EntityList->GetClientEntity(PlayerIndex);
if (!pCheckPlayer)
continue;
if (pCheckPlayer->IsDormant() || pCheckPlayer->IsAlive())
continue;
C_BasePlayer* pObserverTarget = (C_BasePlayer*)g_EntityList->GetClientEntityFromHandle(pCheckPlayer->m_hObserverTarget());
if (!pObserverTarget)
continue;
if (pPlayer != pObserverTarget)
continue;
SpectatorList.push_back(PlayerIndex);
}
return SpectatorList;
}
void SpectatorList()
{
if (!Variables.Misc.SpectatorList)
return;
int specs = 0;
int modes = 0;
std::string spect = "";
std::string mode = "";
int DrawIndex = 1;
for (int playerId : GetObservervators(g_EngineClient->GetLocalPlayer()))
{
C_BasePlayer* pPlayer = (C_BasePlayer*)g_EntityList->GetClientEntity(playerId);
if (playerId == g_EngineClient->GetLocalPlayer())
continue;
if (!pPlayer)
continue;
player_info_t Pinfo;
g_EngineClient->GetPlayerInfo(playerId, &Pinfo);
if (Pinfo.fakeplayer)
continue;
spect += Pinfo.szName;
spect += u8"\n";
specs++;
}
bool misc_Spectators = true;
ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(1.f, 1.f, 1.f, 1.f));
ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2(8, 8));
if (ImGui::Begin("Spectator List", &Variables.Misc.SpectatorList, ImVec2(), 1.f, ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoResize))
{
ImGui::PopStyleVar();
ImGui::PopStyleColor();
if (specs > 0) spect += "\n"; /*ЛАСТ*/
if (modes > 0) mode += "\n";
ImVec2 size = ImGui::CalcTextSize(spect.c_str());
ImGui::SetWindowSize(ImVec2(200, 25 + size.y));
ImGui::Text(spect.c_str());
DrawIndex++;
}
ImGui::End();
}
Код:
void SpectatorList();
Код:
Misc::SpectatorList();
Код:
bool SpectatorList = false;
Код:
ImGui::Checkbox("Spectator List", &Variables.Misc.SpectatorList);