Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if (SETTINGS::settings.watermark)
- {
- static unsigned int s, v, i;
- static float h, r, g, b, f, p, q, t;
- h = g_pGlobalVars->realtime * 0.1f;
- s = 1;
- v = 1;
- i = floor(h * 6);
- f = h * 6 - i;
- p = v * (1 - s);
- q = v * (1 - f * s);
- t = v * (1 - (1 - f) * s);
- switch (i % 6)
- {
- case 0: r = v, g = t, b = p; break;
- case 1: r = q, g = v, b = p; break;
- case 2: r = p, g = v, b = t; break;
- case 3: r = p, g = q, b = v; break;
- case 4: r = t, g = p, b = v; break;
- case 5: r = v, g = p, b = q; break;
- }
- r = round(r * 255), g = round(g * 255), b = round(b * 255);
- std::stringstream ss;
- std::stringstream rr;
- static int fps, old_tick_count;
- if ((g_pGlobalVars->tickcount - old_tick_count) > 50) {
- fps = static_cast<int>(1.f / g_pGlobalVars->frametime);
- old_tick_count = g_pGlobalVars->tickcount;
- }
- static int tickrate = static_cast<int>(1.f / g_pGlobalVars->intervalPerTick);
- ss << fps;
- rr << tickrate;
- int width, height;
- g_pEngine->GetScreenSize(width, height);
- // for fps ping rate (2)
- g_pSurface->FilledRect(width - 300, 12, 220, 50, Color(40, 40, 40, 200));
- g_pSurface->FilledRect(width - 295, 17, 210, 40, Color(0, 0, 0, 255));
- g_pSurface->OutlinedRect(width - 295, 17, 210, 40, Color(200, 200, 200, 50));
- g_pSurface->OutlinedRect(width - 300, 12, 220, 50, Color(200, 200, 200, 50));
- GradientLine2(width - 294, 17, 208, 3, Color(r, g, b, 255), Color(b, r, g, 255));
- // for F (1)
- g_pSurface->FilledRect(width - 70, 12, 50, 50, Color(40, 40, 40, 200));
- g_pSurface->FilledRect(width - 65, 17, 40, 40, Color(0, 0, 0, 255));
- g_pSurface->OutlinedRect(width - 65, 17, 40, 40, Color(200, 200, 200, 50));
- g_pSurface->OutlinedRect(width - 70, 12, 50, 50, Color(200, 200, 200, 50));
- GradientLine2(width - 64, 17, 38, 3, Color(r, g, b, 255), Color(b, r, g, 255));
- // for time (3)
- g_pSurface->FilledRect(width - 450, 12, 140, 50, Color(40, 40, 40, 200));
- g_pSurface->FilledRect(width - 445, 17, 130, 40, Color(0, 0, 0, 255));
- g_pSurface->OutlinedRect(width - 445, 17, 130, 40, Color(200, 200, 200, 50));
- g_pSurface->OutlinedRect(width - 450, 12, 140, 50, Color(200, 200, 200, 50));
- GradientLine2(width - 444, 17, 128, 3, Color(r, g, b, 255), Color(b, r, g, 255));
- // OK SO WE NEED THEM IN THIS ORDER : TIME ON (3), FPS, PING, RATE ON (2), ON 1 WE NEED F
- // lets go
- g_pSurface->DrawT(width - 428, 29, Color(255, 255, 255), g::CourierNew, false, "TIME: ");
- g_pSurface->DrawT(width - 393, 29, Color(r, g, b, 255), g::CourierNew, false, currentDateTime().c_str());
- // looks cool
- // lets do fps
- g_pSurface->DrawT(width - 278, 29, Color(255, 255, 255), g::CourierNew, false, "FPS: ");
- g_pSurface->DrawT(width - 248, 29, Color(r, g, b, 255), g::CourierNew, false, ss.str().c_str());
- // good i'll need to resize the rects tho
- // ping time
- auto local_player = reinterpret_cast<C_BaseEntity*>(g_pEntityList->GetClientEntity(g_pEngine->GetLocalPlayer()));
- auto net_channel = g_pEngine->GetNetChannelInfo();
- std::string outgoing = local_player ? std::to_string((int)(net_channel->GetLatency(FLOW_OUTGOING) * 1000)) : "0";
- g_pSurface->DrawT(width - 226, 29, Color(255, 255, 255), g::CourierNew, false, "PING: ");
- g_pSurface->DrawT(width - 188, 29, Color(r, g, b, 255), g::CourierNew, false, outgoing.c_str());
- g_pSurface->DrawT(width - 178, 29, Color(r, g, b, 255), g::CourierNew, false, "ms");
- // rate which i didnt know was ticks LOL
- g_pSurface->DrawT(width - 158, 29, Color(255, 255, 255), g::CourierNew, false, "RATE: ");
- g_pSurface->DrawT(width - 120, 29, Color(r, g, b, 255), g::CourierNew, false, rr.str().c_str());
- // looks cool lets do F
- g_pSurface->DrawT(width - 55, 20, Color(r, g, b, 255), g::fatality, false, "F"); //stay fatal BRUH
- // damn it looks really cool. lets post it on void and yougame
- // SPECIAL SHOUTOUT TO MY BOY, RUDE PENGUIN <3
- // Shoutout to Dutu for giving me this source so i have an unload button so i can be quicker <3
- // Discord : Seal#9555
- }
- // NEEDED
- const std::string currentDateTime() {
- time_t now = time(0);
- struct tm tstruct;
- char buf[80];
- tstruct = *localtime(&now);
- strftime(buf, sizeof(buf), "%X", &tstruct);
- return buf;
- }
- void GradientLine2(int x, int y, int w, int h, Color c1, Color c2)
- {
- g_pSurface->FilledRect(x, y, w, h, c1);
- BYTE first = c2.red;
- BYTE second = c2.green;
- BYTE third = c2.blue;
- for (int i = 0; i < w; i++)
- {
- float fi = i, fw = w;
- float a = fi / fw;
- DWORD ia = a * 255;
- g_pSurface->FilledRect(x + i, y, 1, h, Color(first, second, third, ia));
- }
- }
- // FONTS
- g::CourierNew = g_pSurface->FontCreate();
- g_pSurface->SetFontGlyphSet(g::CourierNew, "Courier New", 14, 300, 0, 0, FONTFLAG_OUTLINE);
- g::fatality = g_pSurface->FontCreate();
- g_pSurface->SetFontGlyphSet(g::fatality, "Porter Bold Demo", 34, 1300, 0, 0, FONTFLAG_DROPSHADOW | FONTFLAG_ANTIALIAS | FONTFLAG_OUTLINE);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement