Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
by lvnsfrndschr
C++:
void GuiWatermark()
{
if (!g_cfg.misc.watermark)
return;
static auto guiopen = true;
time_t lt;
struct tm *t_m;
lt = time(NULL);
t_m = localtime(<);
int time_h = t_m->tm_hour;
int time_m = t_m->tm_min;
int time_s = t_m->tm_sec;
std::string time;
if (time_h < 10)
time += "0";
time += std::to_string(time_h) + ":";
if (time_m < 10)
time += "0";
time += std::to_string(time_m) + ":";
if (time_s < 10)
time += "0";
time += std::to_string(time_s);
static auto framerate = 0.0f;
framerate = framerate * 0.9f + g_csgo.m_globals()->m_absoluteframetime * 0.1f;
auto fps = std::to_string((int)(math::clamp(1.0f / framerate, 0.0f, 999.0f)));
std::string delay = "0";
std::string tickrate = "0";
if (g_csgo.m_engine()->IsInGame())
{
auto nci = g_csgo.m_engine()->GetNetChannelInfo();
auto latency = nci && !g_csgo.m_engine()->IsPlayingDemo() ? nci->GetAvgLatency(FLOW_OUTGOING) : 0.0f;
static auto cl_updaterate = g_csgo.m_cvar()->FindVar("cl_updaterate");
latency -= 0.5f / cl_updaterate->GetFloat();
delay = std::to_string((int)(max(0.0f, latency) * 1000.0f));
tickrate = std::to_string((int)(1.0f / g_csgo.m_globals()->m_interval_per_tick));
}
ImGuiStyle& style = ImGui::GetStyle();
style.ItemSpacing = ImVec2(0.f, 0.f);
style.WindowPadding = ImVec2(0.f, 0.f);
style.FramePadding = ImVec2(0.f, 0.f);
ImGui::PushFont(MainText);
ImGui::Begin("Legendware watermark", &guiopen, ImVec2(320, 40), 0.f, ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoTitleBar);
{
ImVec2 p = ImGui::GetCursorScreenPos();
ImGui::PushStyleColor(ImGuiCol_ChildWindowBg, ImColor(30, 30, 30, 255));
ImGui::PushStyleColor(ImGuiCol_Text, ImVec4((float)g_cfg.menu.menu_theme.r() / 255.0f, (float)g_cfg.menu.menu_theme.g() / 255.0f, (float)g_cfg.menu.menu_theme.b() / 255.0f, 255.f));
ImGui::BeginChild("##firstmark", ImVec2(100, 40), false, ImGuiWindowFlags_NoScrollbar);
{
ImGui::PushFont(Verdana16);
ImGui::SetCursorPosY(ImGui::GetCursorPosY() + 20.f - (ImGui::CalcTextSize(time.c_str()).y / 2) - 13.f);
ImGui::SetCursorPosX(ImGui::GetCursorPosX() + 50.f - (ImGui::CalcTextSize(time.c_str()).x / 2) - 7.f);
ImGui::Text(time.c_str());
ImGui::PopFont();
ImGui::PushFont(VisitorSmall);
ImGui::SetCursorPosY(ImGui::GetCursorPosY() - 6.f);
ImGui::SetCursorPosX(ImGui::GetCursorPosX() + 50.f - (ImGui::CalcTextSize("CURRENT TIME").x / 2) - 7.f);
ImGui::PushStyleColor(ImGuiCol_Text, ImColor(245, 245, 245));
ImGui::Text("CURRENT TIME");
ImGui::PopStyleColor();
ImGui::PopFont();
}
ImGui::EndChild();
ImGui::SameLine();
ImGui::SetCursorPosX(ImGui::GetCursorPosX() + 3.f);
ImGui::BeginChild("##secondmark", ImVec2(120, 40), false, ImGuiWindowFlags_NoScrollbar);
{
ImGui::SetCursorPosX(ImGui::GetCursorPosX() - 12.f);
ImGui::BeginGroup();
{
ImGui::BeginGroup();
{
ImGui::PushFont(Verdana16);
ImGui::SetCursorPosY(ImGui::GetCursorPosY() + 20.f - (ImGui::CalcTextSize(fps.c_str()).y / 2) - 13.f);
ImGui::SetCursorPosX(ImGui::GetCursorPosX() + 20.f - (ImGui::CalcTextSize(fps.c_str()).x / 2) + 2.f);
ImGui::Text(fps.c_str());
ImGui::PopFont();
ImGui::PushFont(VisitorSmall);
ImGui::SetCursorPosY(ImGui::GetCursorPosY() - 6.f);
ImGui::SetCursorPosX(ImGui::GetCursorPosX() + 20.f - (ImGui::CalcTextSize("FPS").x / 2) + 3.f);
ImGui::PushStyleColor(ImGuiCol_Text, ImColor(245, 245, 245));
ImGui::Text("FPS");
ImGui::PopStyleColor();
ImGui::PopFont();
}
ImGui::EndGroup();
ImGui::SameLine();
ImGui::BeginGroup();
{
ImGui::PushFont(Verdana16);
ImGui::SetCursorPosY(ImGui::GetCursorPosY() + 20.f - (ImGui::CalcTextSize(delay.c_str()).y / 2) - 13.f);
ImGui::SetCursorPosX(ImGui::GetCursorPosX() + 20.f - (ImGui::CalcTextSize(delay.c_str()).x / 2) + 1.f);
ImGui::Text(delay.c_str());
ImGui::PopFont();
ImGui::PushFont(VisitorSmall);
ImGui::SetCursorPosY(ImGui::GetCursorPosY() - 6.f);
ImGui::SetCursorPosX(ImGui::GetCursorPosX() + 20.f - (ImGui::CalcTextSize("PING").x / 2) + 3.f);
ImGui::PushStyleColor(ImGuiCol_Text, ImColor(245, 245, 245));
ImGui::Text("PING");
ImGui::PopStyleColor();
ImGui::PopFont();
}
ImGui::EndGroup();
ImGui::SameLine();
ImGui::BeginGroup();
{
ImGui::PushFont(Verdana16);
ImGui::SetCursorPosY(ImGui::GetCursorPosY() + 20.f - (ImGui::CalcTextSize(tickrate.c_str()).y / 2) - 13.f);
ImGui::SetCursorPosX(ImGui::GetCursorPosX() + 20.f - (ImGui::CalcTextSize(tickrate.c_str()).x / 2) - 1.f);
ImGui::Text(tickrate.c_str());
ImGui::PopFont();
ImGui::PushFont(VisitorSmall);
ImGui::SetCursorPosY(ImGui::GetCursorPosY() - 6.f);
ImGui::SetCursorPosX(ImGui::GetCursorPosX() + 20.f - (ImGui::CalcTextSize("RATE").x / 2) + 1.f);
ImGui::PushStyleColor(ImGuiCol_Text, ImColor(245, 245, 245));
ImGui::Text("RATE");
ImGui::PopStyleColor();
ImGui::PopFont();
}
ImGui::EndGroup();
}
ImGui::EndGroup();
}
ImGui::EndChild();
ImGui::SameLine();
ImGui::SetCursorPosX(ImGui::GetCursorPosX() + 3.f);
ImGui::BeginChild("##thirdmark", ImVec2(54, 40), false, ImGuiWindowFlags_NoScrollbar);
{
ImGui::PushFont(Porter);
ImGui::SetCursorPosY(ImGui::GetCursorPosY() + 20.f - (ImGui::CalcTextSize("LW").y / 2) - 11.f);
ImGui::SetCursorPosX(ImGui::GetCursorPosX() + 20.f - (ImGui::CalcTextSize("LW").x / 2));
ImGui::PushStyleColor(ImGuiCol_Text, ImColor(245, 245, 245));
ImGui::Text("LW");
ImGui::PopStyleColor();
ImGui::PopFont();
ImGui::PushFont(PorterAlpha);
ImGui::SetCursorPosY(ImGui::GetCursorPosY() - 9.f);
ImGui::SetCursorPosX(ImGui::GetCursorPosX() + 20.f - (ImGui::CalcTextSize("ALPHA").x / 2));
ImGui::Text("ALPHA");
ImGui::PopFont();
}
ImGui::EndChild();
ImGui::PopStyleColor(2);
}
ImGui::End();
ImGui::PopFont();
}