JS-скрипт Skeet net_graph for v4/v3

Забаненный
Статус
Оффлайн
Регистрация
17 Янв 2021
Сообщения
183
Реакции[?]
94
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
style 1:1619335246445.png style 2:1619335393943.pngstyle 3:1619338092122.png

JavaScript:
Render.AddFont = function (headers, data, linkedEntities) {
    if (headers.indexOf(".ttf") === -1) {
        headers = headers + ".ttf";
    }
    return Render.GetFont(headers, data, true);
};
UI.AddDropdown(["Visuals", "Extra", "Removals"], "Style", ["One", "Two", "Three"], 0);
Render.OutlineString = function(x, y, alignid, text, color, font) {
    Render.String(x - 1, y - 1, alignid, text, [0, 0, 0, color[3]], font);
    Render.String(x - 1, y, alignid, text, [0, 0, 0, color[3]], font); 
    Render.String(x - 1, y + 1, alignid, text, [0, 0, 0, color[3]], font);   
    Render.String(x, y + 1, alignid, text, [0, 0, 0, color[3]], font);
    Render.String(x, y - 1, alignid, text, [0, 0, 0, color[3]], font);
    Render.String(x + 1, y - 1, alignid, text, [0, 0, 0, color[3]], font);
    Render.String(x + 1, y, alignid, text, [0, 0, 0, color[3]], font);
    Render.String(x + 1, y + 1, alignid, text, [0, 0, 0, color[3]], font);
    Render.String(x, y, alignid, text, color, font);
}
var ping_color = function(ping_value) {
    if(ping_value < 40) { return [255, 255, 255] }
    if(ping_value < 100) { return [255, 125, 95] }
    return [255, 60, 80]
}
var ping_info = []
var fps_info = []
var last_time = Global.Curtime()
var scx = Render.GetScreenSize()[0]
var scy = Render.GetScreenSize()[1]
var LC_ALPHA = 1
function player_connect() {
    lastPressed = Global.Tickcount();
    oldTick = Global.Tickcount();
    time = Globals.Curtime();
}
function isDoubleTapActive() {
    var isCheckboxActive = UI.GetValue(["Rage", "Exploits", "Keys", "Double tap"]);
    var isKeyActive = UI.GetValue(["Rage", "Exploits", "Keys", "Double tap"]);
    return isCheckboxActive && isKeyActive;
}
function GetVelocity() {
    var velocity = Entity.GetProp(Entity.GetLocalPlayer(), "CBasePlayer", "m_vecVelocity[0]");
    return Math.sqrt(velocity[0] * velocity[0] + velocity[1] * velocity[1]);
}
function isHActive() {
    var isCheckboxActive1 = UI.GetValue(["Rage", "Exploits", "Keys", "Hide shots"]);
    var isKeyActive1 = UI.GetValue(["Rage", "Exploits", "Keys", "Hide shots"]);
    return isCheckboxActive1 && isKeyActive1;
}
function draw() {
    var style = UI.GetValue(["Visuals", "Extra", "Removals", "Style"]);
    var ping = Math.round(Entity.GetProp(Entity.GetLocalPlayer(), "CPlayerResource", "m_iPing")).toString()
    var ping2 = Math.floor(Local.Latency() * 1000 / 19.5);
    var today = new Date();
    var hours1 = today.getHours();
    var minutes1 = today.getMinutes();
    var seconds1 = today.getSeconds();
    var hours = hours1 <= 9 ? "0" + today.getHours() + ":" : today.getHours() + ":";
    var minutes = minutes1 <= 9 ? "0" + today.getMinutes() + ":" : today.getMinutes() + ":";
    var seconds = seconds1 <= 9 ? "0" + today.getSeconds() : today.getSeconds();
    var screen_size = Render.GetScreenSize()
    var font2 = Render.AddFont("verdana", 9, 0);
    var local = Entity.GetLocalPlayer();
    var fps = Math.floor(1 / Global.Frametime());
    var alpha_3 = Math.sin(Globals.Curtime() * 4) * 55 + 200;
    var lp = Entity.GetLocalPlayer();
    var signColor = [255, 207, 48, 255];
    var shadowColor = [194, 159, 47, 255];
    var green = [36, 240, 80, 255];
    var red = [250, 42, 42, 255];
    if (!Entity.IsAlive(local))
        return;
    if (style == 0) {
        var LX = screen_size[0] / 2 - 17 / 1 + 7;
        var RX = screen_size[0] / 2 + 18 / 1 - 8;
        var UY = screen_size[1] - 103 - 18;
        var DY = screen_size[1] - 103;
        var font3 = Render.AddFont("Verdana", 10, 0);
        if (ping > 69) {
            Render.OutlineString(screen_size[0] / 2 - 1 * 1.0031, UY + 3, 0, "!", [64, 50, 15, 200], font3);
            Render.String(screen_size[0] / 2 - 1 * 1.0031, UY + 3, 0, "!", ping < 69 ? signColor : [red[0], red[1], red[2], alpha_3], font3);
        } else {
            Render.OutlineString(screen_size[0] / 2 - 2, UY + 3, 0, "!", [64, 50, 15, 200], font3);
            Render.String(screen_size[0] / 2 - 2, UY + 3, 0, "!", signColor, font3);
        }
        if (ping > 69) {
            //низ
            Render.Line(LX, DY, RX, DY, ping < 69 ? signColor : [red[0], red[1], red[2], alpha_3]);
            //бок левый
            Render.Line(screen_size[0] / 2, UY, LX, DY, ping < 69 ? signColor : [red[0], red[1], red[2], alpha_3]);
            //бок правый
            Render.Line(screen_size[0] / 2, UY, RX, DY, ping < 69 ? signColor : [red[0], red[1], red[2], alpha_3]);
        } else {
            //низ
            Render.Line(LX, DY, RX, DY, signColor);
            //бок левый
            Render.Line(screen_size[0] / 2, UY, LX, DY, signColor);
            Render.Line(screen_size[0] / 2, UY - -0, LX - -0, DY - 1, shadowColor);
            //бок правый
            Render.Line(screen_size[0] / 2, UY, RX, DY, signColor);
            Render.Line(screen_size[0] / 2 + -0, UY - 1, RX + 0, DY - 1, shadowColor);
        }
        //текст графа
        var lp = Entity.GetLocalPlayer();
        var velocity = Math.round(GetVelocity(lp)); {
            if (ping < 69) {
                Render.OutlineString(screen_size[0] / 2 - 74, screen_size[1] - 113, 0, "clock syncing", [0, 0, 0, alpha_3 / 2], font2);
                Render.String(screen_size[0] / 2 - 74, screen_size[1] - 113, 0, "clock syncing", [255, 255, 255, alpha_3], font2);
                Render.OutlineString(screen_size[0] / 2 + 17, screen_size[1] - 113, 0, "+-" + ping2 / 1 + "." + ping2 * 3 / 1 + "ms", [0, 0, 0, 255], font2);
                Render.String(screen_size[0] / 2 + 17, screen_size[1] - 113, 0, "+-" + ping2 / 1 + "." + ping2 * 3 / 1 + "ms", [255, 255, 255, 255], font2);
                Render.OutlineString(screen_size[0] / 2 - 74, screen_size[1] - 93, 0, "loss:(+-" + ping2 / 5 + ")  ", [0, 0, 0, 255], font2);
                Render.String(screen_size[0] / 2 - 74, screen_size[1] - 93, 0, "loss:(+-" + ping2 / 5 + ")  ", [255, 255, 255, 255], font2);
                Render.OutlineString(screen_size[0] / 2 - 19, screen_size[1] - 93, 0, " ping: ", [0, 0, 0, 255], font2);
                Render.String(screen_size[0] / 2 - 19, screen_size[1] - 93, 0, " ping: ", [255, 255, 255, 255], font2);
                Render.OutlineString(screen_size[0] / 2 + 22, screen_size[1] - 93, 0, "fps:", [0, 0, 0, 255], font2);
                Render.String(screen_size[0] / 2 + 22, screen_size[1] - 93, 0, "fps:", [255, 255, 255, 255], font2);
                if (fps < 60) {
                    Render.OutlineString(screen_size[0] / 2 + 31, screen_size[1] - 93, 0, "    " + fps, [0, 0, 0, 255], font2);
                    Render.String(screen_size[0] / 2 + 31, screen_size[1] - 93, 0, "    " + fps, fps < 60 ? [255, 125, 95, 255] : [255, 255, 255, 255], font2);
                } else {
                    Render.OutlineString(screen_size[0] / 2 + 31, screen_size[1] - 93, 0, "    " + fps, [0, 0, 0, 255], font2);
                    Render.String(screen_size[0] / 2 + 31, screen_size[1] - 93, 0, "    " + fps, [255, 255, 255, 255], font2);
                }
                Render.OutlineString(screen_size[0] / 2 - 74, screen_size[1] - 72, 0, "time: " + hours + minutes + seconds, [0, 0, 0, 255], font2);
                Render.String(screen_size[0] / 2 - 74, screen_size[1] - 72, 0, "time: " + hours + minutes + seconds, [255, 255, 255, 255], font2);
                Render.OutlineString(screen_size[0] / 2 - 18, screen_size[1] - 72, 0, "        ticks: " + Globals.Tickrate().toString() + "   velocity: " + (GetVelocity().toFixed(0)).toString() + " u/s ", [0, 0, 0, 255], font2);
                Render.String(screen_size[0] / 2 - 18, screen_size[1] - 72, 0, "        ticks: " + Globals.Tickrate().toString() + "   velocity: " + (GetVelocity().toFixed(0)).toString() + " u/s ", [255, 255, 255, 255], font2);
                // fps < 60 ? [red[0],red[1],red[2],alpha_3 ] :     
                Render.OutlineString(screen_size[0] / 2 + 1, screen_size[1] - 93, 0, " " + ping, [0, 0, 0, 255], font2);
                Render.String(screen_size[0] / 2 + 1, screen_size[1] - 93, 0, " " + ping, ping > 60 ? [255, 125, 95, 255] : [255, 255, 255, 255], font2);
            } else {
                Render.OutlineString(screen_size[0] / 2 - 79, screen_size[1] - 113, 0, "lost connection ", [0, 0, 0, alpha_3 / 2], font2);
                Render.String(screen_size[0] / 2 - 79, screen_size[1] - 113, 0, "lost connection ", [255, 255, 255, alpha_3], font2);
                Render.OutlineString(screen_size[0] / 2 + 18, screen_size[1] - 113, 0, "+-" + ping2 / 1 + "." + ping2 * 3 / 1 + "ms", [0, 0, 0, alpha_3], font2);
                Render.String(screen_size[0] / 2 + 18, screen_size[1] - 113, 0, "+-" + ping2 / 1 + "." + ping2 * 3 / 1 + "ms", [255, 255, 255, alpha_3], font2);
                Render.OutlineString(screen_size[0] / 2 - 57, screen_size[1] - 93, 0, "(+-" + ping2 / 4 + ")  ", [0, 0, 0, 255], font2);
                Render.OutlineString(screen_size[0] / 2 - 79, screen_size[1] - 93, 0, "loss:", [0, 0, 0, 255], font2);
                Render.String(screen_size[0] / 2 - 79, screen_size[1] - 93, 0, "loss:", [255, 255, 255, 255], font2);
                Render.String(screen_size[0] / 2 - 61, screen_size[1] - 93, 0, "  (+-" + ping2 / 4 + ")  ", [255, 82, 62, 255], font2);
                Render.OutlineString(screen_size[0] / 2 - 25, screen_size[1] - 93, 0, "ping: " + "          fps:", [0, 0, 0, 255], font2);
                Render.String(screen_size[0] / 2 - 25, screen_size[1] - 93, 0, "ping: " + "          fps:", [255, 255, 255, 255], font2);
                if (fps < 60) {
                    Render.OutlineString(screen_size[0] / 2 + 27, screen_size[1] - 93, 0, "    " + fps, [0, 0, 0, 255], font2);
                    Render.String(screen_size[0] / 2 + 27, screen_size[1] - 93, 0, "    " + fps, fps < 60 ? [255, 125, 95, 255] : [255, 255, 255, 255], font2);
                } else {
                    Render.OutlineString(screen_size[0] / 2 + 27, screen_size[1] - 93, 0, "    " + fps, [0, 0, 0, 255], font2);
                    Render.String(screen_size[0] / 2 + 27, screen_size[1] - 93, 0, "    " + fps, [255, 255, 255, 255], font2);
                }
                Render.OutlineString(screen_size[0] / 2 + -6, screen_size[1] - 93, 0, " " + ping, [0, 0, 0, 255], font2);
                Render.String(screen_size[0] / 2 + -6, screen_size[1] - 93, 0, " " + ping, ping > 60 ? [255, 125, 95, 255] : [255, 255, 255, 255], font2);
                Render.OutlineString(screen_size[0] / 2 - 78, screen_size[1] - 72, 0, "time: " + hours + minutes + seconds + "   ticks: " + Globals.Tickrate().toString() + "   velocity: " + (GetVelocity().toFixed(0)).toString() + " u/s ", [0, 0, 0, 255], font2);
                Render.String(screen_size[0] / 2 - 78, screen_size[1] - 72, 0, "time: " + hours + minutes + seconds + "   ticks: " + Globals.Tickrate().toString() + "   velocity: " + (GetVelocity().toFixed(0)).toString() + " u/s ", [255, 255, 255, 255], font2);
            }
        }
        Render.OutlineString(screen_size[0] / 2 - 35, screen_size[1] - 32, 0, "exploit: ", [0, 0, 0, 255], font2);
        Render.String(screen_size[0] / 2 - 35, screen_size[1] - 32, 0, "exploit: ", [255, 255, 255, 255], font2);
        Render.OutlineString(screen_size[0] / 2 - 44, screen_size[1] - 22, 0, "lagcomp: ", [0, 0, 0, 255], font2);
        Render.String(screen_size[0] / 2 - 44, screen_size[1] - 22, 0, "lagcomp: ", [255, 255, 255, 255], font2);
        if (isHActive() == 1) {
            Render.OutlineString(screen_size[0] / 2 - 1, screen_size[1] - 22, 0, "broken", [0, 0, 0, 255], font2);
            Render.String(screen_size[0] / 2 - 1, screen_size[1] - 22, 0, "broken", green, font2);
        }
        if (isHActive() == 0) {
            Render.OutlineString(screen_size[0] / 2 - 1, screen_size[1] - 22, 0, "unsafe", [0, 0, 0, 255], font2);
            Render.String(screen_size[0] / 2 - 1, screen_size[1] - 22, 0, "unsafe", red, font2);
        }
        if (isDoubleTapActive() == 1) {
            Render.OutlineString(screen_size[0] / 2 - 1, screen_size[1] - 32, 0, "shifting", [0, 0, 0, 255], font2);
            Render.String(screen_size[0] / 2 - 1, screen_size[1] - 32, 0, "shifting", green, font2);
        }
        if (isDoubleTapActive() == 0) {
            Render.OutlineString(screen_size[0] / 2 - 1, screen_size[1] - 32, 0, "disabled", [0, 0, 0, 255], font2);
            Render.String(screen_size[0] / 2 - 1, screen_size[1] - 32, 0, "disabled", red, font2);
        }
    }
    if (style == 1) {
        var font2 = Render.AddFont("verdana", 9, 700);
        var font3 = Render.AddFont("verdana", 16, 500);
        
        var local = Entity.GetLocalPlayer();
        if (ping > 69) {
            Render.OutlineString(screen_size[0] / 2 - 16, screen_size[1] - 93, 0, "!", [0, 0, 0, 255], font3);
            Render.String(screen_size[0] / 2 - 16, screen_size[1] - 93, 0, "!", ping < 69 ? [255, 255, 255, 255] : [red[0], red[1], red[2], alpha_3 / 1.4], font3);
        } else {
            Render.OutlineString(screen_size[0] / 2 - 16, screen_size[1] - 93, 0, "!", [0, 0, 0, 255], font3);
            Render.String(screen_size[0] / 2 - 16, screen_size[1] - 93, 0, "!", [255, 255, 255, 255], font3);
        }
        if (ping > 69) {
            //top
            Render.Line(screen_size[0] / 2 - 17, screen_size[1] - 96, screen_size[0] / 2 - 11, screen_size[1] - 96, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            Render.Line(screen_size[0] / 2 - 17, screen_size[1] - 95, screen_size[0] / 2 - 11, screen_size[1] - 95, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            Render.Line(screen_size[0] / 2 - 18, screen_size[1] - 95, screen_size[0] / 2 - 10, screen_size[1] - 95, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            Render.Line(screen_size[0] / 2 - 18, screen_size[1] - 94, screen_size[0] / 2 - 10, screen_size[1] - 94, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            //бока
            Render.Line(screen_size[0] / 2 - 19, screen_size[1] - 93, screen_size[0] / 2 - 26, screen_size[1] - 75, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            Render.Line(screen_size[0] / 2 - 19, screen_size[1] - 93, screen_size[0] / 2 - 26, screen_size[1] - 75, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            Render.Line(screen_size[0] / 2 - 9, screen_size[1] - 93, screen_size[0] / 2 - 2, screen_size[1] - 75, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            Render.Line(screen_size[0] / 2 - 9, screen_size[1] - 93, screen_size[0] / 2 - 2, screen_size[1] - 75, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            //низ
            Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 72, screen_size[0] / 2 - 5, screen_size[1] - 72, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 71, screen_size[0] / 2 - 5, screen_size[1] - 71, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 70, screen_size[0] / 2 - 5, screen_size[1] - 70, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            //низ право
            Render.Line(screen_size[0] / 2 - 5, screen_size[1] - 71, screen_size[0] / 2 - 2, screen_size[1] - 75, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            Render.Line(screen_size[0] / 2 - 5, screen_size[1] - 71, screen_size[0] / 2 - 2, screen_size[1] - 75, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            //низ лев
            Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 71, screen_size[0] / 2 - 26, screen_size[1] - 75, ping < 69 ? [255, 255, 255, 165] : [red[0], red[1], red[2], 255]);
            Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 71, screen_size[0] / 2 - 26, screen_size[1] - 75, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
        } else {
            //top
            Render.Line(screen_size[0] / 2 - 17, screen_size[1] - 96, screen_size[0] / 2 - 11, screen_size[1] - 96, [255, 255, 255, 195]);
            Render.Line(screen_size[0] / 2 - 17, screen_size[1] - 95, screen_size[0] / 2 - 11, screen_size[1] - 95, [255, 255, 255, 195]);
            Render.Line(screen_size[0] / 2 - 18, screen_size[1] - 95, screen_size[0] / 2 - 10, screen_size[1] - 95, [255, 255, 255, 195]);
            Render.Line(screen_size[0] / 2 - 18, screen_size[1] - 94, screen_size[0] / 2 - 10, screen_size[1] - 94, [255, 255, 255, 195]);
            //бока
            Render.Line(screen_size[0] / 2 - 19, screen_size[1] - 93, screen_size[0] / 2 - 26, screen_size[1] - 75, [255, 255, 255, 195]);
            Render.Line(screen_size[0] / 2 - 19, screen_size[1] - 93, screen_size[0] / 2 - 26, screen_size[1] - 75, [255, 255, 255, 195]);
            Render.Line(screen_size[0] / 2 - 9, screen_size[1] - 93, screen_size[0] / 2 - 2, screen_size[1] - 75, [255, 255, 255, 195]);
            Render.Line(screen_size[0] / 2 - 9, screen_size[1] - 93, screen_size[0] / 2 - 2, screen_size[1] - 75, [255, 255, 255, 195]);
            //низ
            Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 72, screen_size[0] / 2 - 5, screen_size[1] - 72, [255, 255, 255, 195]);
            Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 71, screen_size[0] / 2 - 5, screen_size[1] - 71, [255, 255, 255, 195]);
            Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 70, screen_size[0] / 2 - 5, screen_size[1] - 70, [255, 255, 255, 195]);
            //низ право
            Render.Line(screen_size[0] / 2 - 5, screen_size[1] - 71, screen_size[0] / 2 - 2, screen_size[1] - 75, [255, 255, 255, 195]);
            Render.Line(screen_size[0] / 2 - 5, screen_size[1] - 71, screen_size[0] / 2 - 2, screen_size[1] - 75, [255, 255, 255, 195]);
            //низ лев
            Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 71, screen_size[0] / 2 - 26, screen_size[1] - 75, [255, 255, 255, 165]);
            Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 71, screen_size[0] / 2 - 26, screen_size[1] - 75, [255, 255, 255, 195]);
        }
        //text  
        
        if (ping < 69) {
            Render.OutlineString(screen_size[0] / 2 - 100, screen_size[1] - 81, 0, "packet choke", [0, 0, 0, 255], font2);
            Render.String(screen_size[0] / 2 - 100, screen_size[1] - 81, 0, "packet choke", [255, 255, 255, alpha_3], font2);
        } else {
            Render.OutlineString(screen_size[0] / 2 - 100, screen_size[1] - 81, 0, "loss packets", [0, 0, 0, 255], font2);
            Render.String(screen_size[0] / 2 - 100, screen_size[1] - 81, 0, "loss packets", [255, 255, 255, alpha_3], font2);
        }
        Render.OutlineString(screen_size[0] / 2 + 5, screen_size[1] - 81, 0, "choke: 0%", [0, 0, 0, 255], font2);
        Render.String(screen_size[0] / 2 + 5, screen_size[1] - 81, 0, "choke: 0%", [255, 255, 255, 255], font2);
        if (ping > 69) {
            Render.OutlineString(screen_size[0] / 2 + 8, screen_size[1] - 67, 0, "loss: 0% (+- 0.5)", [0, 0, 0, 255], font2);
            Render.String(screen_size[0] / 2 + 8, screen_size[1] - 67, 0, "loss: 0% (+- 0.5)", ping < 69 ? [255, 255, 255, 255] : [255, 125, 95, 255], font2);
        } else {
            Render.OutlineString(screen_size[0] / 2 + 8, screen_size[1] - 67, 0, "loss: 0% (+- 0.5)", [0, 0, 0, 255], font2);
            Render.String(screen_size[0] / 2 + 8, screen_size[1] - 67, 0, "loss: 0% (+- 0.5)", [255, 255, 255, 255], font2);
        }
        
        Render.OutlineString(screen_size[0] / 2 - 100, screen_size[1] - 52, 0, "velocity: " + (GetVelocity().toFixed(0)).toString(), [0, 0, 0, 255], font2);
        Render.String(screen_size[0] / 2 - 100, screen_size[1] - 52, 0, "velocity: " + (GetVelocity().toFixed(0)).toString(), [255, 255, 255, 255], font2);
        Render.OutlineString(screen_size[0] / 2 - 36, screen_size[1] - 52, 0, " u/s " + " ticks: " + Globals.Tickrate().toString() + "  time: " + hours + minutes + seconds, [0, 0, 0, 255], font2);
        Render.String(screen_size[0] / 2 - 36, screen_size[1] - 52, 0, " u/s " + " ticks: " + Globals.Tickrate().toString() + "  time: " + hours + minutes + seconds, [255, 255, 255, 255], font2);
        
        Render.OutlineString(screen_size[0] / 2 - 100, screen_size[1] - 67, 0, "latency: " + (ping * 1), [0, 0, 0, 255], font2);
        Render.String(screen_size[0] / 2 - 100, screen_size[1] - 67, 0, "latency: " + (ping * 1), [255, 255, 255, 255], font2);
                
        if (fps < 69) {
            Render.OutlineString(screen_size[0] / 2 - 37, screen_size[1] - 67, 0, "fps: " + fps, [0, 0, 0, 255], font2);
            Render.String( screen_size[0] / 2 - 37, screen_size[1] - 67, 0, "fps: " + fps, fps < 60 ? [255, 125, 95, 255] : [255, 255, 255, 255], font2);
        } else {
            Render.OutlineString(screen_size[0] / 2 - 37, screen_size[1] - 67, 0, "fps: " + fps, [0, 0, 0, 255], font2);
            Render.String( screen_size[0] / 2 - 37, screen_size[1] - 67, 0, "fps: " + fps, [255, 255, 255, 255], font2);
        }
        //LG
        Render.OutlineString(screen_size[0] / 2 - 47, screen_size[1] - 22, 0, "lagcomp: ", [0, 0, 0, 255], font2);
        Render.String(screen_size[0] / 2 - 47, screen_size[1] - 22, 0, "lagcomp: ", [255, 255, 255, 255], font2);
        if (isHActive() == 1) {
            Render.OutlineString(screen_size[0] / 2 - 3, screen_size[1] - 22, 0, "broken", [0, 0, 0, 255], font2);
            Render.String(screen_size[0] / 2 - 3, screen_size[1] - 22, 0, "broken", [42, 250, 87, 255], font2);
        }
        if (isDoubleTapActive() == 0 && isHActive() == 0) {
            Render.OutlineString(screen_size[0] / 2 - 3, screen_size[1] - 22, 0, "unsafe", [0, 0, 0, 255], font2);
            Render.String(screen_size[0] / 2 - 3, screen_size[1] - 22, 0, "unsafe", [250, 42, 42, 255], font2);
        }
        if (isDoubleTapActive() == 1 || isHActive() == 1) {
            Render.OutlineString(screen_size[0] / 2 - 3, screen_size[1] - 22, 0, "broken", [0, 0, 0, 255], font2);
            Render.String(screen_size[0] / 2 - 3, screen_size[1] - 22, 0, "broken", [42, 250, 87, 255], font2);
        }
        if (isDoubleTapActive() == 1 || isHActive() == 1) {
            Render.OutlineString(screen_size[0] / 2 - 3, screen_size[1] - 22, 0, "broken", [0, 0, 0, 255], font2);
            Render.String(screen_size[0] / 2 - 3, screen_size[1] - 22, 0, "broken", [42, 250, 87, 255], font2);
        }
    }
    if (style == 2) {
        var font = Render.AddFont("Verdana", 9, 400)
    //var icon = Render.AddFont("Danger", 28, 400)
    var font_b = Render.AddFont("Verdana", 13, 400)
    var alpha = Math.min(Math.floor(Math.sin((Globals.Realtime()%3) * 4) * 125 + 200), 255)
    var color = [255, 200, 95, 255]
    var net_state = 0
    var net_data_text = {
        [0] : "clock syncing",
        [1] : "packet choke",
        [2] : "packet loss",
        [3] : "lost connection"
    }
    if (Global.Curtime() - last_time > 0.5) {
        last_time = Global.Curtime();
        ping_info.unshift(Global.Latency())
        fps_info.unshift(Global.Frametime())
    };
    if (ping_info.length > 1) {
        ping_info.pop()
    };
    if (fps_info.length > 1) {
        fps_info.pop()
    };
    var server_framerate = fps_info
    var server_vars = ping_info
    if(server_vars > 1) { net_state = 2 }
    if(net_state != 0) {
        color = [255, 50, 50, alpha]
    }
    
    var x = scx / 2 + 1
    var y = scy - 155
    var ccor_text = net_data_text[net_state]
    var ccor_width = Render.TextSize(ccor_text, font)
    var sp_x = x - ccor_width[0] - 25
    var sp_y = y
    var cn = 1
    LC_ALPHA = LC_ALPHA + (Globals.Frametime() * 2)
    LC_ALPHA = LC_ALPHA > 1 && 1 || LC_ALPHA 
    var LX = screen_size[0] / 2 - 37 / 1 + 27;
    var RX = screen_size[0] / 2 + 38 / 1 - 28;
    var UY = screen_size[1] - 103 - 18 - 42;
    var DY = screen_size[1] - 103 - 42;
    Render.OutlineString(sp_x, sp_y, 0, ccor_text, [255, 255, 255, alpha], font)
    //Render.StringCustom(x - 17, sp_y - 14, 0, "0", [color[0], color[1], color[2], color[3]], icon)
    Render.Line(LX, DY, RX, DY, signColor);
    //бок левый
    Render.Line(screen_size[0] / 2, UY, LX, DY, signColor);
    Render.Line(screen_size[0] / 2, UY - -0, LX - -0, DY - 1, color[0], color[1], color[2], color[3]);
    //бок правый
    Render.Line(screen_size[0] / 2, UY, RX, DY, signColor);
    Render.Line(screen_size[0] / 2 + -0, UY - 1, RX + 0, DY - 1, color[0], color[1], color[2], color[3]);
    Render.String(x - 3, sp_y - 7, 0, "!", [color[0], color[1], color[2], color[3]], font_b)
    Render.OutlineString(x + 20, sp_y, 0, "+-" + (server_vars / 1).toFixed(1) + "ms", [255, 255, 255, 255], font)
    var bytes_in_text = "in: 16.01k/s    "
    var bi_width = Render.TextSize(bytes_in_text, font)
    var sent_bytes_in_text = "out: 5.02k/s"
    var sb_width = Render.TextSize(sent_bytes_in_text, font)
    var tickrate = 1 / Globals.TickInterval()
    var lerp_time = Convar.GetFloat("cl_interp_ratio") * (1000 / tickrate)
    var lerp_clr = [255, 255, 255]
    if (lerp_time / 1000 < 2 / Convar.GetInt("cl_updaterate")) {
        lerp_clr = [255, 125, 95]
    }
    Render.OutlineString(sp_x, sp_y + 20*cn, 0, bytes_in_text, [255, 255, 255, LC_ALPHA * 255], font) 
    Render.OutlineString(sp_x + bi_width[0], sp_y + 20*cn, 0, "lerp: " + lerp_time.toFixed(1) + " ms", [lerp_clr[0], lerp_clr[1], lerp_clr[2], LC_ALPHA * 255], font) 
    cn = cn + 1
    Render.OutlineString(sp_x, sp_y + 20*cn, 0, sent_bytes_in_text, [255, 255, 255, LC_ALPHA * 255], font) 
    cn = cn + 1
    Render.OutlineString(sp_x, sp_y + 20*cn, 0, "sv: " + (server_framerate / 1).toFixed(2) + " +- " + (server_vars / 1).toFixed(2) + "mc    var: " + (server_vars / 1).toFixed(3) + " mc", [255, 255, 255, LC_ALPHA * 255], font) 
    cn = cn + 1
    var ping = Math.round(Entity.GetProp(Entity.GetLocalPlayer(), "CPlayerResource", "m_iPing")).toString()
    var avg_ping = ping
    var pc = ping_color(avg_ping)
    var latency_interval = (ping) / (Globals.TickInterval())
    var additional_latency = Math.min(latency_interval * 1000, 1) * 100 //-- 100 = green 0 = red
    var tr_text = "tick: " + tickrate + "p/s    "
    var tr_width = Render.TextSize(tr_text, font)
    var nd_text = "delay: " + ping.toString() + "ms (+- " + Math.abs(avg_ping - ping) + "ms)    "
    var nd_width = Render.TextSize(nd_text, font)
    var incoming_latency = Math.max(0, (server_vars + ping) * 1000)
    //Render.OutlineString(sp_x, sp_y + 20*cn, 0, tr_text, [pc[0], pc[1], pc[2], LC_ALPHA * 255], font) 
    Render.OutlineString(sp_x, sp_y + 20*cn, 0, nd_text, [pc[0], pc[1], pc[2], LC_ALPHA * 255], font) 
    Render.OutlineString(sp_x + nd_width[0], sp_y + 20*cn, 0, "datagram", [255, 255 / 100 * additional_latency, 255 / 100 * additional_latency, LC_ALPHA * 255], font) 
    var lc_state = 0
    var lc_variants = {
        [0] : "UNSAFE", 
        [1] : "LAG COMP BREAKER",
        [2] : "SHIFTING TICKBASE",
    }
    var lc_text = "lagcomp: "
    var lc_width = Render.TextSize(lc_text, font)
    var lc_color = [255, 45, 45, 255]
    if(isHActive) { lc_state = 1, lc_color = [255, 125, 95, 255] }
    if(isDoubleTapActive) { lc_state = 2, lc_color = [42, 250, 87, 255] }
    if(Exploit.GetCharge() != 1) { lc_state = 0, lc_color = [255, 45, 45, 255] }
    Render.OutlineString((scx / 2) - 60, sp_y + 28*cn, 0, lc_text, [255, 255, 255, 255], font)
    Render.OutlineString((scx / 2) - 60 + lc_width[0], sp_y + 28*cn, 0, lc_variants[lc_state], lc_color, font) 
    }
}
Cheat.RegisterCallback("Draw", "draw");

JavaScript:
UI.AddDropdown("Style", ["One", "Two", "Three"]);
Render.OutlineStringCustom = function(x, y, alignid, text, color, font) {
    Render.StringCustom(x - 1, y - 1, alignid, text, [0, 0, 0, color[3]], font);
    Render.StringCustom(x - 1, y, alignid, text, [0, 0, 0, color[3]], font); 
    Render.StringCustom(x - 1, y + 1, alignid, text, [0, 0, 0, color[3]], font);   
    Render.StringCustom(x, y + 1, alignid, text, [0, 0, 0, color[3]], font);
    Render.StringCustom(x, y - 1, alignid, text, [0, 0, 0, color[3]], font);
    Render.StringCustom(x + 1, y - 1, alignid, text, [0, 0, 0, color[3]], font);
    Render.StringCustom(x + 1, y, alignid, text, [0, 0, 0, color[3]], font);
    Render.StringCustom(x + 1, y + 1, alignid, text, [0, 0, 0, color[3]], font);
    Render.StringCustom(x, y, alignid, text, color, font);
}
var ping_color = function(ping_value) {
    if(ping_value < 40) { return [255, 255, 255] }
    if(ping_value < 100) { return [255, 125, 95] }
    return [255, 60, 80]
}
var ping_info = []
var fps_info = []
var last_time = Global.Curtime()
var scx = Render.GetScreenSize()[0]
var scy = Render.GetScreenSize()[1]
var LC_ALPHA = 1
function player_connect() {
    lastPressed = Global.Tickcount();
    oldTick = Global.Tickcount();
    time = Globals.Curtime();
}
function isDoubleTapActive() {
    var isCheckboxActive = UI.GetValue("Rage", "Exploits", "Doubletap");
    var isKeyActive = UI.IsHotkeyActive("Rage", "Exploits", "Doubletap");
    return isCheckboxActive && isKeyActive;
}
function GetVelocity() {
    var velocity = Entity.GetProp(Entity.GetLocalPlayer(), "CBasePlayer", "m_vecVelocity[0]");
    return Math.sqrt(velocity[0] * velocity[0] + velocity[1] * velocity[1]);
}
function isHActive() {
    var isCheckboxActive1 = UI.GetValue("Rage", "Exploits", "Hide shots");
    var isKeyActive1 = UI.IsHotkeyActive("Rage", "Exploits", "Hide shots");
    return isCheckboxActive1 && isKeyActive1;
}
function draw() {
    var style = UI.GetValue("Script items", "Style");
    var ping = Math.round(Entity.GetProp(Entity.GetLocalPlayer(), "CPlayerResource", "m_iPing")).toString()
    var ping2 = Math.floor(Local.Latency() * 1000 / 19.5);
    var today = new Date();
    var hours1 = today.getHours();
    var minutes1 = today.getMinutes();
    var seconds1 = today.getSeconds();
    var hours = hours1 <= 9 ? "0" + today.getHours() + ":" : today.getHours() + ":";
    var minutes = minutes1 <= 9 ? "0" + today.getMinutes() + ":" : today.getMinutes() + ":";
    var seconds = seconds1 <= 9 ? "0" + today.getSeconds() : today.getSeconds();
    var screen_size = Render.GetScreenSize()
    var font2 = Render.AddFont("Small Fonts", 7, 0);
    var local = Entity.GetLocalPlayer();
    var fps = Math.floor(1 / Global.Frametime());
    var alpha_3 = Math.sin(Globals.Curtime() * 4) * 55 + 200;
    var lp = Entity.GetLocalPlayer();
    var signColor = [255, 207, 48, 255];
    var shadowColor = [194, 159, 47, 255];
    var green = [36, 240, 80, 255];
    var red = [250, 42, 42, 255];
    if (!Entity.IsAlive(local))
        return;
    if (style == 0) {
        var LX = screen_size[0] / 2 - 17 / 1 + 7;
        var RX = screen_size[0] / 2 + 18 / 1 - 8;
        var UY = screen_size[1] - 103 - 18;
        var DY = screen_size[1] - 103;
        var font3 = Render.AddFont("Verdana", 10, 0);
        if (ping > 69) {
            Render.OutlineStringCustom(screen_size[0] / 2 - 1 * 1.0031, UY + 3, 0, "!", [64, 50, 15, 200], font3);
            Render.StringCustom(screen_size[0] / 2 - 1 * 1.0031, UY + 3, 0, "!", ping < 69 ? signColor : [red[0], red[1], red[2], alpha_3], font3);
        } else {
            Render.OutlineStringCustom(screen_size[0] / 2 - 2, UY + 3, 0, "!", [64, 50, 15, 200], font3);
            Render.StringCustom(screen_size[0] / 2 - 2, UY + 3, 0, "!", signColor, font3);
        }
        if (ping > 69) {
            //низ
            Render.Line(LX, DY, RX, DY, ping < 69 ? signColor : [red[0], red[1], red[2], alpha_3]);
            //бок левый
            Render.Line(screen_size[0] / 2, UY, LX, DY, ping < 69 ? signColor : [red[0], red[1], red[2], alpha_3]);
            //бок правый
            Render.Line(screen_size[0] / 2, UY, RX, DY, ping < 69 ? signColor : [red[0], red[1], red[2], alpha_3]);
        } else {
            //низ
            Render.Line(LX, DY, RX, DY, signColor);
            //бок левый
            Render.Line(screen_size[0] / 2, UY, LX, DY, signColor);
            Render.Line(screen_size[0] / 2, UY - -0, LX - -0, DY - 1, shadowColor);
            //бок правый
            Render.Line(screen_size[0] / 2, UY, RX, DY, signColor);
            Render.Line(screen_size[0] / 2 + -0, UY - 1, RX + 0, DY - 1, shadowColor);
        }
        //текст графа
        var lp = Entity.GetLocalPlayer();
        var velocity = Math.round(GetVelocity(lp)); {
            if (ping < 69) {
                Render.OutlineStringCustom(screen_size[0] / 2 - 74, screen_size[1] - 113, 0, "clock syncing", [0, 0, 0, alpha_3 / 2], font2);
                Render.StringCustom(screen_size[0] / 2 - 74, screen_size[1] - 113, 0, "clock syncing", [255, 255, 255, alpha_3], font2);
                Render.OutlineStringCustom(screen_size[0] / 2 + 17, screen_size[1] - 113, 0, "+-" + ping2 / 1 + "." + ping2 * 3 / 1 + "ms", [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 + 17, screen_size[1] - 113, 0, "+-" + ping2 / 1 + "." + ping2 * 3 / 1 + "ms", [255, 255, 255, 255], font2);
                Render.OutlineStringCustom(screen_size[0] / 2 - 74, screen_size[1] - 93, 0, "loss:(+-" + ping2 / 5 + ")  ", [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 - 74, screen_size[1] - 93, 0, "loss:(+-" + ping2 / 5 + ")  ", [255, 255, 255, 255], font2);
                Render.OutlineStringCustom(screen_size[0] / 2 - 19, screen_size[1] - 93, 0, "ping: ", [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 - 19, screen_size[1] - 93, 0, "ping: ", [255, 255, 255, 255], font2);
                Render.OutlineStringCustom(screen_size[0] / 2 + 22, screen_size[1] - 93, 0, "fps:", [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 + 22, screen_size[1] - 93, 0, "fps:", [255, 255, 255, 255], font2);
                if (fps < 60) {
                    Render.OutlineStringCustom(screen_size[0] / 2 + 31, screen_size[1] - 93, 0, "    " + fps, [0, 0, 0, 255], font2);
                    Render.StringCustom(screen_size[0] / 2 + 31, screen_size[1] - 93, 0, "    " + fps, fps < 60 ? [255, 125, 95, 255] : [255, 255, 255, 255], font2);
                } else {
                    Render.OutlineStringCustom(screen_size[0] / 2 + 31, screen_size[1] - 93, 0, "    " + fps, [0, 0, 0, 255], font2);
                    Render.StringCustom(screen_size[0] / 2 + 31, screen_size[1] - 93, 0, "    " + fps, [255, 255, 255, 255], font2);
                }
                Render.OutlineStringCustom(screen_size[0] / 2 - 74, screen_size[1] - 72, 0, "time: " + hours + minutes + seconds, [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 - 74, screen_size[1] - 72, 0, "time: " + hours + minutes + seconds, [255, 255, 255, 255], font2);
                Render.OutlineStringCustom(screen_size[0] / 2 - 18, screen_size[1] - 72, 0, "   ticks: " + Globals.Tickrate().toString() + "   velocity: " + (GetVelocity().toFixed(0)).toString() + " u/s ", [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 - 18, screen_size[1] - 72, 0, "   ticks: " + Globals.Tickrate().toString() + "   velocity: " + (GetVelocity().toFixed(0)).toString() + " u/s ", [255, 255, 255, 255], font2);
                // fps < 60 ? [red[0],red[1],red[2],alpha_3 ] :     
                Render.OutlineStringCustom(screen_size[0] / 2 + 1, screen_size[1] - 93, 0, " " + ping, [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 + 1, screen_size[1] - 93, 0, " " + ping, ping > 60 ? [255, 125, 95, 255] : [255, 255, 255, 255], font2);
            } else {
                Render.OutlineStringCustom(screen_size[0] / 2 - 79, screen_size[1] - 113, 0, "lost connection ", [0, 0, 0, alpha_3 / 2], font2);
                Render.StringCustom(screen_size[0] / 2 - 79, screen_size[1] - 113, 0, "lost connection ", [255, 255, 255, alpha_3], font2);
                Render.OutlineStringCustom(screen_size[0] / 2 + 18, screen_size[1] - 113, 0, "+-" + ping2 / 1 + "." + ping2 * 3 / 1 + "ms", [0, 0, 0, alpha_3], font2);
                Render.StringCustom(screen_size[0] / 2 + 18, screen_size[1] - 113, 0, "+-" + ping2 / 1 + "." + ping2 * 3 / 1 + "ms", [255, 255, 255, alpha_3], font2);
                Render.OutlineStringCustom(screen_size[0] / 2 - 57, screen_size[1] - 93, 0, "(+-" + ping2 / 4 + ")  ", [0, 0, 0, 255], font2);
                Render.OutlineStringCustom(screen_size[0] / 2 - 79, screen_size[1] - 93, 0, "loss:", [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 - 79, screen_size[1] - 93, 0, "loss:", [255, 255, 255, 255], font2);
                Render.StringCustom(screen_size[0] / 2 - 61, screen_size[1] - 93, 0, "  (+-" + ping2 / 4 + ")  ", [255, 82, 62, 255], font2);
                Render.OutlineStringCustom(screen_size[0] / 2 - 25, screen_size[1] - 93, 0, "ping: " + "          fps:", [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 - 25, screen_size[1] - 93, 0, "ping: " + "          fps:", [255, 255, 255, 255], font2);
                if (fps < 60) {
                    Render.OutlineStringCustom(screen_size[0] / 2 + 27, screen_size[1] - 93, 0, "    " + fps, [0, 0, 0, 255], font2);
                    Render.StringCustom(screen_size[0] / 2 + 27, screen_size[1] - 93, 0, "    " + fps, fps < 60 ? [255, 125, 95, 255] : [255, 255, 255, 255], font2);
                } else {
                    Render.OutlineStringCustom(screen_size[0] / 2 + 27, screen_size[1] - 93, 0, "    " + fps, [0, 0, 0, 255], font2);
                    Render.StringCustom(screen_size[0] / 2 + 27, screen_size[1] - 93, 0, "    " + fps, [255, 255, 255, 255], font2);
                }
                Render.OutlineStringCustom(screen_size[0] / 2 + -6, screen_size[1] - 93, 0, " " + ping, [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 + -6, screen_size[1] - 93, 0, " " + ping, ping > 60 ? [255, 125, 95, 255] : [255, 255, 255, 255], font2);
                Render.OutlineStringCustom(screen_size[0] / 2 - 78, screen_size[1] - 72, 0, "time: " + hours + minutes + seconds + "   ticks: " + Globals.Tickrate().toString() + "   velocity: " + (GetVelocity().toFixed(0)).toString() + " u/s ", [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 - 78, screen_size[1] - 72, 0, "time: " + hours + minutes + seconds + "   ticks: " + Globals.Tickrate().toString() + "   velocity: " + (GetVelocity().toFixed(0)).toString() + " u/s ", [255, 255, 255, 255], font2);
            }
        }
        Render.OutlineStringCustom(screen_size[0] / 2 - 35, screen_size[1] - 32, 0, "exploit: ", [0, 0, 0, 255], font2);
        Render.StringCustom(screen_size[0] / 2 - 35, screen_size[1] - 32, 0, "exploit: ", [255, 255, 255, 255], font2);
        Render.OutlineStringCustom(screen_size[0] / 2 - 44, screen_size[1] - 22, 0, "lagcomp: ", [0, 0, 0, 255], font2);
        Render.StringCustom(screen_size[0] / 2 - 44, screen_size[1] - 22, 0, "lagcomp: ", [255, 255, 255, 255], font2);
        if (isHActive() == 1) {
            Render.OutlineStringCustom(screen_size[0] / 2 - 3, screen_size[1] - 22, 0, "broken", [0, 0, 0, 255], font2);
            Render.StringCustom(screen_size[0] / 2 - 3, screen_size[1] - 22, 0, "broken", green, font2);
        }
        if (isHActive() == 0) {
            Render.OutlineStringCustom(screen_size[0] / 2 - 3, screen_size[1] - 22, 0, "unsafe", [0, 0, 0, 255], font2);
            Render.StringCustom(screen_size[0] / 2 - 3, screen_size[1] - 22, 0, "unsafe", red, font2);
        }
        if (isDoubleTapActive() == 1) {
            Render.OutlineStringCustom(screen_size[0] / 2 - 3, screen_size[1] - 32, 0, "shifting", [0, 0, 0, 255], font2);
            Render.StringCustom(screen_size[0] / 2 - 3, screen_size[1] - 32, 0, "shifting", green, font2);
        }
        if (isDoubleTapActive() == 0) {
            Render.OutlineStringCustom(screen_size[0] / 2 - 3, screen_size[1] - 32, 0, "disabled", [0, 0, 0, 255], font2);
            Render.StringCustom(screen_size[0] / 2 - 3, screen_size[1] - 32, 0, "disabled", red, font2);
        }
    }
    if (style == 1) {
        var font2 = Render.AddFont("Small fonts", 7, 700);
        var font3 = Render.AddFont("Small fonts", 14, 500);
        
        var local = Entity.GetLocalPlayer();
        if (ping > 69) {
            Render.OutlineStringCustom(screen_size[0] / 2 - 16, screen_size[1] - 93, 0, "!", [0, 0, 0, 255], font3);
            Render.StringCustom(screen_size[0] / 2 - 16, screen_size[1] - 93, 0, "!", ping < 69 ? [255, 255, 255, 255] : [red[0], red[1], red[2], alpha_3 / 1.4], font3);
        } else {
            Render.OutlineStringCustom(screen_size[0] / 2 - 16, screen_size[1] - 93, 0, "!", [0, 0, 0, 255], font3);
            Render.StringCustom(screen_size[0] / 2 - 16, screen_size[1] - 93, 0, "!", [255, 255, 255, 255], font3);
        }
        if (ping > 69) {
            //top
            Render.Line(screen_size[0] / 2 - 17, screen_size[1] - 96, screen_size[0] / 2 - 11, screen_size[1] - 96, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            Render.Line(screen_size[0] / 2 - 17, screen_size[1] - 95, screen_size[0] / 2 - 11, screen_size[1] - 95, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            Render.Line(screen_size[0] / 2 - 18, screen_size[1] - 95, screen_size[0] / 2 - 10, screen_size[1] - 95, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            Render.Line(screen_size[0] / 2 - 18, screen_size[1] - 94, screen_size[0] / 2 - 10, screen_size[1] - 94, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            //бока
            Render.Line(screen_size[0] / 2 - 19, screen_size[1] - 93, screen_size[0] / 2 - 26, screen_size[1] - 75, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            Render.Line(screen_size[0] / 2 - 19, screen_size[1] - 93, screen_size[0] / 2 - 26, screen_size[1] - 75, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            Render.Line(screen_size[0] / 2 - 9, screen_size[1] - 93, screen_size[0] / 2 - 2, screen_size[1] - 75, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            Render.Line(screen_size[0] / 2 - 9, screen_size[1] - 93, screen_size[0] / 2 - 2, screen_size[1] - 75, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            //низ
            Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 72, screen_size[0] / 2 - 5, screen_size[1] - 72, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 71, screen_size[0] / 2 - 5, screen_size[1] - 71, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 70, screen_size[0] / 2 - 5, screen_size[1] - 70, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            //низ право
            Render.Line(screen_size[0] / 2 - 5, screen_size[1] - 71, screen_size[0] / 2 - 2, screen_size[1] - 75, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            Render.Line(screen_size[0] / 2 - 5, screen_size[1] - 71, screen_size[0] / 2 - 2, screen_size[1] - 75, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
            //низ лев
            Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 71, screen_size[0] / 2 - 26, screen_size[1] - 75, ping < 69 ? [255, 255, 255, 165] : [red[0], red[1], red[2], 255]);
            Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 71, screen_size[0] / 2 - 26, screen_size[1] - 75, ping < 69 ? [255, 255, 255, 195] : [red[0], red[1], red[2], 255]);
        } else {
            //top
            Render.Line(screen_size[0] / 2 - 17, screen_size[1] - 96, screen_size[0] / 2 - 11, screen_size[1] - 96, [255, 255, 255, 195]);
            Render.Line(screen_size[0] / 2 - 17, screen_size[1] - 95, screen_size[0] / 2 - 11, screen_size[1] - 95, [255, 255, 255, 195]);
            Render.Line(screen_size[0] / 2 - 18, screen_size[1] - 95, screen_size[0] / 2 - 10, screen_size[1] - 95, [255, 255, 255, 195]);
            Render.Line(screen_size[0] / 2 - 18, screen_size[1] - 94, screen_size[0] / 2 - 10, screen_size[1] - 94, [255, 255, 255, 195]);
            //бока
            Render.Line(screen_size[0] / 2 - 19, screen_size[1] - 93, screen_size[0] / 2 - 26, screen_size[1] - 75, [255, 255, 255, 195]);
            Render.Line(screen_size[0] / 2 - 19, screen_size[1] - 93, screen_size[0] / 2 - 26, screen_size[1] - 75, [255, 255, 255, 195]);
            Render.Line(screen_size[0] / 2 - 9, screen_size[1] - 93, screen_size[0] / 2 - 2, screen_size[1] - 75, [255, 255, 255, 195]);
            Render.Line(screen_size[0] / 2 - 9, screen_size[1] - 93, screen_size[0] / 2 - 2, screen_size[1] - 75, [255, 255, 255, 195]);
            //низ
            Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 72, screen_size[0] / 2 - 5, screen_size[1] - 72, [255, 255, 255, 195]);
            Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 71, screen_size[0] / 2 - 5, screen_size[1] - 71, [255, 255, 255, 195]);
            Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 70, screen_size[0] / 2 - 5, screen_size[1] - 70, [255, 255, 255, 195]);
            //низ право
            Render.Line(screen_size[0] / 2 - 5, screen_size[1] - 71, screen_size[0] / 2 - 2, screen_size[1] - 75, [255, 255, 255, 195]);
            Render.Line(screen_size[0] / 2 - 5, screen_size[1] - 71, screen_size[0] / 2 - 2, screen_size[1] - 75, [255, 255, 255, 195]);
            //низ лев
            Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 71, screen_size[0] / 2 - 26, screen_size[1] - 75, [255, 255, 255, 165]);
            Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 71, screen_size[0] / 2 - 26, screen_size[1] - 75, [255, 255, 255, 195]);
        }
        //text  
        
        if (ping < 69) {
            Render.OutlineStringCustom(screen_size[0] / 2 - 100, screen_size[1] - 81, 0, "packet choke", [0, 0, 0, 255], font2);
            Render.StringCustom(screen_size[0] / 2 - 100, screen_size[1] - 81, 0, "packet choke", [255, 255, 255, alpha_3], font2);
        } else {
            Render.OutlineStringCustom(screen_size[0] / 2 - 100, screen_size[1] - 81, 0, "loss packets", [0, 0, 0, 255], font2);
            Render.StringCustom(screen_size[0] / 2 - 100, screen_size[1] - 81, 0, "loss packets", [255, 255, 255, alpha_3], font2);
        }
        Render.OutlineStringCustom(screen_size[0] / 2 + 5, screen_size[1] - 81, 0, "choke: 0%", [0, 0, 0, 255], font2);
        Render.StringCustom(screen_size[0] / 2 + 5, screen_size[1] - 81, 0, "choke: 0%", [255, 255, 255, 255], font2);
        if (ping > 69) {
            Render.OutlineStringCustom(screen_size[0] / 2 + 8, screen_size[1] - 67, 0, "loss: 0% (+- 0.5)", [0, 0, 0, 255], font2);
            Render.StringCustom(screen_size[0] / 2 + 8, screen_size[1] - 67, 0, "loss: 0% (+- 0.5)", ping < 69 ? [255, 255, 255, 255] : [255, 125, 95, 255], font2);
        } else {
            Render.OutlineStringCustom(screen_size[0] / 2 + 8, screen_size[1] - 67, 0, "loss: 0% (+- 0.5)", [0, 0, 0, 255], font2);
            Render.StringCustom(screen_size[0] / 2 + 8, screen_size[1] - 67, 0, "loss: 0% (+- 0.5)", [255, 255, 255, 255], font2);
        }
        
        Render.OutlineStringCustom(screen_size[0] / 2 - 100, screen_size[1] - 52, 0, "velocity: " + (GetVelocity().toFixed(0)).toString(), [0, 0, 0, 255], font2);
        Render.StringCustom(screen_size[0] / 2 - 100, screen_size[1] - 52, 0, "velocity: " + (GetVelocity().toFixed(0)).toString(), [255, 255, 255, 255], font2);
        Render.OutlineStringCustom(screen_size[0] / 2 - 36, screen_size[1] - 52, 0, " u/s " + " ticks: " + Globals.Tickrate().toString() + "  time: " + hours + minutes + seconds, [0, 0, 0, 255], font2);
        Render.StringCustom(screen_size[0] / 2 - 36, screen_size[1] - 52, 0, " u/s " + " ticks: " + Globals.Tickrate().toString() + "  time: " + hours + minutes + seconds, [255, 255, 255, 255], font2);
        
        Render.OutlineStringCustom(screen_size[0] / 2 - 100, screen_size[1] - 67, 0, "latency: " + (ping * 1), [0, 0, 0, 255], font2);
        Render.StringCustom(screen_size[0] / 2 - 100, screen_size[1] - 67, 0, "latency: " + (ping * 1), [255, 255, 255, 255], font2);
                
        if (fps < 69) {
            Render.OutlineStringCustom(screen_size[0] / 2 - 37, screen_size[1] - 67, 0, "fps: " + fps, [0, 0, 0, 255], font2);
            Render.StringCustom( screen_size[0] / 2 - 37, screen_size[1] - 67, 0, "fps: " + fps, fps < 60 ? [255, 125, 95, 255] : [255, 255, 255, 255], font2);
        } else {
            Render.OutlineStringCustom(screen_size[0] / 2 - 37, screen_size[1] - 67, 0, "fps: " + fps, [0, 0, 0, 255], font2);
            Render.StringCustom( screen_size[0] / 2 - 37, screen_size[1] - 67, 0, "fps: " + fps, [255, 255, 255, 255], font2);
        }
        //LG
        Render.OutlineStringCustom(screen_size[0] / 2 - 47, screen_size[1] - 22, 0, "lagcomp: ", [0, 0, 0, 255], font2);
        Render.StringCustom(screen_size[0] / 2 - 47, screen_size[1] - 22, 0, "lagcomp: ", [255, 255, 255, 255], font2);
        if (isHActive() == 1) {
            Render.OutlineStringCustom(screen_size[0] / 2 + 2, screen_size[1] - 22, 0, "broken", [0, 0, 0, 255], font2);
            Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] - 22, 0, "broken", [42, 250, 87, 255], font2);
        }
        if (isDoubleTapActive() == 0 && isHActive() == 0) {
            Render.OutlineStringCustom(screen_size[0] / 2 + 2, screen_size[1] - 22, 0, "unsafe", [0, 0, 0, 255], font2);
            Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] - 22, 0, "unsafe", [250, 42, 42, 255], font2);
        }
        if (isDoubleTapActive() == 1 || isHActive() == 1) {
            Render.OutlineStringCustom(screen_size[0] / 2 + 2, screen_size[1] - 22, 0, "broken", [0, 0, 0, 255], font2);
            Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] - 22, 0, "broken", [42, 250, 87, 255], font2);
        }
        if (isDoubleTapActive() == 1 || isHActive() == 1) {
            Render.OutlineStringCustom(screen_size[0] / 2 + 2, screen_size[1] - 22, 0, "broken", [0, 0, 0, 255], font2);
            Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] - 22, 0, "broken", [42, 250, 87, 255], font2);
        }
    }
    if (style == 2) {
        var font = Render.AddFont("Verdana", 7, 400)
    var icon = Render.AddFont("Danger", 28, 400)
    var font_b = Render.AddFont("Verdana", 11, 400)
    var alpha = Math.min(Math.floor(Math.sin((Globals.Realtime()%3) * 4) * 125 + 200), 255)
    var color = [255, 200, 95, 255]
    var net_state = 0
    var net_data_text = {
        [0] : "clock syncing",
        [1] : "packet choke",
        [2] : "packet loss",
        [3] : "lost connection"
    }
    if (Global.Curtime() - last_time > 0.5) {
        last_time = Global.Curtime();
        ping_info.unshift(Global.Latency())
        fps_info.unshift(Global.Frametime())
    };
    if (ping_info.length > 1) {
        ping_info.pop()
    };
    if (fps_info.length > 1) {
        fps_info.pop()
    };
    var server_framerate = fps_info
    var server_vars = ping_info
    if(server_vars > 1) { net_state = 2 }
    if(net_state != 0) {
        color = [255, 50, 50, alpha]
    }
    
    var x = scx / 2 + 1
    var y = scy - 155
    var ccor_text = net_data_text[net_state]
    var ccor_width = Render.TextSizeCustom(ccor_text, font)
    var sp_x = x - ccor_width[0] - 25
    var sp_y = y
    var cn = 1
    LC_ALPHA = LC_ALPHA + (Globals.Frametime() * 2)
    LC_ALPHA = LC_ALPHA > 1 && 1 || LC_ALPHA 
    var LX = screen_size[0] / 2 - 37 / 1 + 27;
    var RX = screen_size[0] / 2 + 38 / 1 - 28;
    var UY = screen_size[1] - 103 - 18 - 42;
    var DY = screen_size[1] - 103 - 42;
    Render.OutlineStringCustom(sp_x, sp_y, 0, ccor_text, [255, 255, 255, alpha], font)
    //Render.StringCustom(x - 17, sp_y - 14, 0, "0", [color[0], color[1], color[2], color[3]], icon)
    Render.Line(LX, DY, RX, DY, signColor);
    //бок левый
    Render.Line(screen_size[0] / 2, UY, LX, DY, signColor);
    Render.Line(screen_size[0] / 2, UY - -0, LX - -0, DY - 1, color[0], color[1], color[2], color[3]);
    //бок правый
    Render.Line(screen_size[0] / 2, UY, RX, DY, signColor);
    Render.Line(screen_size[0] / 2 + -0, UY - 1, RX + 0, DY - 1, color[0], color[1], color[2], color[3]);
    Render.StringCustom(x - 4, sp_y - 7, 0, "!", [color[0], color[1], color[2], color[3]], font_b)
    Render.OutlineStringCustom(x + 20, sp_y, 0, "+-" + (server_vars / 1).toFixed(1) + "ms", [255, 255, 255, 255], font)
    var bytes_in_text = "in: 16.01k/s    "
    var bi_width = Render.TextSizeCustom(bytes_in_text, font)
    var sent_bytes_in_text = "out: 5.02k/s"
    var sb_width = Render.TextSizeCustom(sent_bytes_in_text, font)
    var tickrate = 1 / Globals.TickInterval()
    var lerp_time = Convar.GetFloat("cl_interp_ratio") * (1000 / tickrate)
    var lerp_clr = [255, 255, 255]
    if (lerp_time / 1000 < 2 / Convar.GetInt("cl_updaterate")) {
        lerp_clr = [255, 125, 95]
    }
    Render.OutlineStringCustom(sp_x, sp_y + 20*cn, 0, bytes_in_text, [255, 255, 255, LC_ALPHA * 255], font) 
    Render.OutlineStringCustom(sp_x + bi_width[0], sp_y + 20*cn, 0, "lerp: " + lerp_time.toFixed(1) + " ms", [lerp_clr[0], lerp_clr[1], lerp_clr[2], LC_ALPHA * 255], font) 
    cn = cn + 1
    Render.OutlineStringCustom(sp_x, sp_y + 20*cn, 0, sent_bytes_in_text, [255, 255, 255, LC_ALPHA * 255], font) 
    cn = cn + 1
    Render.OutlineStringCustom(sp_x, sp_y + 20*cn, 0, "sv: " + (server_framerate / 1).toFixed(2) + " +- " + (server_vars / 1).toFixed(2) + "mc    var: " + (server_vars / 1).toFixed(3) + " mc", [255, 255, 255, LC_ALPHA * 255], font) 
    cn = cn + 1
    var ping = Math.round(Entity.GetProp(Entity.GetLocalPlayer(), "CPlayerResource", "m_iPing")).toString()
    var avg_ping = ping
    var pc = ping_color(avg_ping)
    var latency_interval = (ping) / (Globals.TickInterval())
    var additional_latency = Math.min(latency_interval * 1000, 1) * 100 //-- 100 = green 0 = red
    var tr_text = "tick: " + tickrate + "p/s    "
    var tr_width = Render.TextSizeCustom(tr_text, font)
    var nd_text = "delay: " + ping.toString() + "ms (+- " + Math.abs(avg_ping - ping) + "ms)    "
    var nd_width = Render.TextSizeCustom(nd_text, font)
    var incoming_latency = Math.max(0, (server_vars + ping) * 1000)
    //Render.OutlineStringCustom(sp_x, sp_y + 20*cn, 0, tr_text, [pc[0], pc[1], pc[2], LC_ALPHA * 255], font) 
    Render.OutlineStringCustom(sp_x, sp_y + 20*cn, 0, nd_text, [pc[0], pc[1], pc[2], LC_ALPHA * 255], font) 
    Render.OutlineStringCustom(sp_x + nd_width[0], sp_y + 20*cn, 0, "datagram", [255, 255 / 100 * additional_latency, 255 / 100 * additional_latency, LC_ALPHA * 255], font) 
    var lc_state = 0
    var lc_variants = {
        [0] : "UNSAFE", 
        [1] : "LAG COMP BREAKER",
        [2] : "SHIFTING TICKBASE",
    }
    var lc_text = "lagcomp: "
    var lc_width = Render.TextSizeCustom(lc_text, font)
    var lc_color = [255, 45, 45, 255]
    if(UI.IsHotkeyActive("Rage", "Exploits", "Hide shots")) { lc_state = 1, lc_color = [255, 125, 95, 255] }
    if(UI.IsHotkeyActive("Rage", "Exploits", "Doubletap")) { lc_state = 2, lc_color = [42, 250, 87, 255] }
    if(Exploit.GetCharge() != 1) { lc_state = 0, lc_color = [255, 45, 45, 255] }
    Render.OutlineStringCustom((scx / 2) - 60, sp_y + 28*cn, 0, lc_text, [255, 255, 255, 255], font)
    Render.OutlineStringCustom((scx / 2) - 60 + lc_width[0], sp_y + 28*cn, 0, lc_variants[lc_state], lc_color, font) 
    }
}
/*UI.AddDropdown("Style", ["one", "two"]);
function isDoubleTapActive() {
    var isCheckboxActive = UI.GetValue("Rage", "Exploits", "Doubletap");
    var isKeyActive = UI.IsHotkeyActive("Rage", "Exploits", "Doubletap");
    return isCheckboxActive && isKeyActive;
}
function isHActive() {
    var isCheckboxActive = UI.GetValue("Rage", "Exploits", "Hide shots");
    var isKeyActive = UI.IsHotkeyActive("Rage", "Exploits", "Hide shots");
    return isCheckboxActive && isKeyActive;
}

/*
Render.Circle( x1 - 15, y4 + 42, 13, [ 0, 0, 0, 255 ] );   
Render.Circle( x1 - 16, y4 + 43, 13, [ 255, 255, 255, 255 ] );
*/
/*
function GetVelocity() {
    var velocity = Entity.GetProp(Entity.GetLocalPlayer(), "CBasePlayer", "m_vecVelocity[0]");
    return Math.sqrt(velocity[0] * velocity[0] + velocity[1] * velocity[1]);
}
function draw() {
    var stl = UI.GetValue("Script items", "Style")
    if (stl == 0) {
        var ping = Math.round(Entity.GetProp(Entity.GetLocalPlayer(), "CPlayerResource", "m_iPing")).toString()
        var today = new Date();
        var hours1 = today.getHours();
        var minutes1 = today.getMinutes();
        var seconds1 = today.getSeconds();
        var hours = hours1 <= 9 ? "0" + today.getHours() + ":" : today.getHours() + ":";
        var minutes = minutes1 <= 9 ? "0" + today.getMinutes() + ":" : today.getMinutes() + ":";
        var seconds = seconds1 <= 9 ? "0" + today.getSeconds() : today.getSeconds();
        var screen_size = Render.GetScreenSize()
        var font2 = Render.AddFont("Verdana", 7, 700);
        var font3 = Render.AddFont("Verdana", 14, 500);
        var local = Entity.GetLocalPlayer();
        var fps = Math.floor(1 / Global.Frametime());
        var speed = (GetVelocity().toFixed(0)).toString();
        if(!World.GetServerString()) {
            ping = 0;
            speed = 0;
        }
        g_Local_weapon = Entity.GetWeapon(local);
        weapon_name = Entity.GetName(g_Local_weapon);
        g_Local_classname = Entity.GetClassName(g_Local_weapon);
        
        Render.StringCustom(screen_size[0] / 2 - 16, screen_size[1] - 92, 0, "!", [0, 0, 0, 255], font3);
        Render.StringCustom(screen_size[0] / 2 - 16, screen_size[1] - 94, 0, "!", [0, 0, 0, 255], font3);
        Render.StringCustom(screen_size[0] / 2 - 17, screen_size[1] - 93, 0, "!", [0, 0, 0, 255], font3);
        Render.StringCustom(screen_size[0] / 2 - 15, screen_size[1] - 93, 0, "!", [0, 0, 0, 255], font3);
        Render.StringCustom(screen_size[0] / 2 - 16, screen_size[1] - 93, 0, "!", [255, 255, 255, 255], font3);
        //top
        Render.Line(screen_size[0] / 2 - 17, screen_size[1] - 96, screen_size[0] / 2 - 11, screen_size[1] - 96, [255, 255, 255, 195]);
        Render.Line(screen_size[0] / 2 - 17, screen_size[1] - 95, screen_size[0] / 2 - 11, screen_size[1] - 95, [255, 255, 255, 195]);
        Render.Line(screen_size[0] / 2 - 18, screen_size[1] - 95, screen_size[0] / 2 - 10, screen_size[1] - 95, [255, 255, 255, 195]);
        Render.Line(screen_size[0] / 2 - 18, screen_size[1] - 94, screen_size[0] / 2 - 10, screen_size[1] - 94, [255, 255, 255, 195]);
        //бока
        Render.Line(screen_size[0] / 2 - 19, screen_size[1] - 93, screen_size[0] / 2 - 26, screen_size[1] - 75, [255, 255, 255, 195]);
        Render.Line(screen_size[0] / 2 - 19, screen_size[1] - 93, screen_size[0] / 2 - 26, screen_size[1] - 75, [255, 255, 255, 195]);
        Render.Line(screen_size[0] / 2 - 9, screen_size[1] - 93, screen_size[0] / 2 - 2, screen_size[1] - 75, [255, 255, 255, 195]);
        Render.Line(screen_size[0] / 2 - 9, screen_size[1] - 93, screen_size[0] / 2 - 2, screen_size[1] - 75, [255, 255, 255, 195]);
        //низ
        Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 72, screen_size[0] / 2 - 5, screen_size[1] - 72, [255, 255, 255, 195]);
        Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 71, screen_size[0] / 2 - 5, screen_size[1] - 71, [255, 255, 255, 195]);
        Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 70, screen_size[0] / 2 - 5, screen_size[1] - 70, [255, 255, 255, 195]);
        //низ право
        Render.Line(screen_size[0] / 2 - 5, screen_size[1] - 71, screen_size[0] / 2 - 2, screen_size[1] - 75, [255, 255, 255, 195]);
        Render.Line(screen_size[0] / 2 - 5, screen_size[1] - 71, screen_size[0] / 2 - 2, screen_size[1] - 75, [255, 255, 255, 195]);
        //низ лев
        Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 71, screen_size[0] / 2 - 26, screen_size[1] - 75, [255, 255, 255, 165]);
        Render.Line(screen_size[0] / 2 - 23, screen_size[1] - 71, screen_size[0] / 2 - 26, screen_size[1] - 75, [255, 255, 255, 195]);
        
        //text   
        Render.StringCustom(screen_size[0] / 2 - 101, screen_size[1] - 80, 0, "packet choke", [0, 0, 0, 255], font2);
        Render.StringCustom(screen_size[0] / 2 - 100, screen_size[1] - 81, 0, "packet choke", [255, 255, 255, 255], font2);
        Render.StringCustom(screen_size[0] / 2 + 4, screen_size[1] - 80, 0, "choke: 0%", [0, 0, 0, 255], font2);
        Render.StringCustom(screen_size[0] / 2 + 5, screen_size[1] - 81, 0, "choke: 0%", [255, 255, 255, 255], font2);
        //if (fps < 99){
            Render.StringCustom(screen_size[0] / 2 + 4, screen_size[1] - 66, 0, "loss: 0% (+- 0.5)", [0, 0, 0, 255], font2);
            Render.StringCustom(screen_size[0] / 2 + 5, screen_size[1] - 67, 0, "loss: 0% (+- 0.5)", [255, 255, 255, 255], font2);
        //} else {
        //    Render.StringCustom(screen_size[0] / 2 + 4, screen_size[1] - 66, 0, " loss: 0% (+- 0.5)", [0, 0, 0, 255], font2);
        //    Render.StringCustom(screen_size[0] / 2 + 5, screen_size[1] - 67, 0, " loss: 0% (+- 0.5)", [255, 255, 255, 255], font2);
        //}
        Render.StringCustom(screen_size[0] / 2 - 101, screen_size[1] - 51, 0, "velocity: " + speed + " u/s " + " ticks: " + Globals.Tickrate().toString() + "  time: " + hours + minutes + seconds, [0, 0, 0, 255], font2);
        Render.StringCustom(screen_size[0] / 2 - 100, screen_size[1] - 52, 0, "velocity: " + speed + " u/s " + " ticks: " + Globals.Tickrate().toString() + "  time: " + hours + minutes + seconds, [255, 255, 255, 255], font2);
        if (ping < 99){
            Render.StringCustom(screen_size[0] / 2 - 101, screen_size[1] - 66, 0, "latency: " + (ping * 1), [0, 0, 0, 255], font2);
            Render.StringCustom(screen_size[0] / 2 - 100, screen_size[1] - 67, 0, "latency: " + (ping * 1), [255, 255, 255, 255], font2);
        } else {
            Render.StringCustom(screen_size[0] / 2 - 101, screen_size[1] - 66, 0, " latency: " + (ping * 1), [0, 0, 0, 255], font2);
            Render.StringCustom(screen_size[0] / 2 - 100, screen_size[1] - 67, 0, " latency: " + (ping * 1), [255, 255, 255, 255], font2);
        }
        Render.StringCustom(screen_size[0] / 2 - 48, screen_size[1] - 66, 0, "  fps: " + fps, [0, 0, 0, 255], font2);
        Render.StringCustom(screen_size[0] / 2 - 47, screen_size[1] - 67, 0, "  fps: " + fps, [255, 255, 255, 255], font2);
        
        //LG
        Render.StringCustom(screen_size[0] / 2 - 48, screen_size[1] - 21, 0, "lagcomp: ", [0, 0, 0, 255], font2);
        Render.StringCustom(screen_size[0] / 2 - 47, screen_size[1] - 22, 0, "lagcomp: ", [255, 255, 255, 255], font2);
        if (isHActive() == 1) {
            Render.StringCustom(screen_size[0] / 2 + 3, screen_size[1] - 21, 0, "broken", [0, 0, 0, 255], font2);
            Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] - 22, 0, "broken", [42, 250, 87, 255], font2);
        }
        if (isDoubleTapActive() == 0 && isHActive() == 0) {
            Render.StringCustom(screen_size[0] / 2 + 3, screen_size[1] - 21, 0, "unsafe", [0, 0, 0, 255], font2);
            Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] - 22, 0, "unsafe", [250, 42, 42, 255], font2);
        }
        if (isDoubleTapActive() == 1 || isHActive() == 1) {
            Render.StringCustom(screen_size[0] / 2 + 3, screen_size[1] - 21, 0, "broken", [0, 0, 0, 255], font2);
            Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] - 22, 0, "broken", [42, 250, 87, 255], font2);
        }
        if (isDoubleTapActive() == 1 || isHActive() == 1) {
            Render.StringCustom(screen_size[0] / 2 + 3, screen_size[1] - 21, 0, "broken", [0, 0, 0, 255], font2);
            Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] - 22, 0, "broken", [42, 250, 87, 255], font2);
        }
    }
    if (stl == 1) {
        var ping = Math.round(Entity.GetProp(Entity.GetLocalPlayer(), "CPlayerResource", "m_iPing")).toString()
        var ping2 = Math.floor(Local.Latency() * 1000 / 19.5);
        var today = new Date();
        var hours1 = today.getHours();
        var minutes1 = today.getMinutes();
        var seconds1 = today.getSeconds();
        var hours = hours1 <= 9 ? "0" + today.getHours() + ":" : today.getHours() + ":";
        var minutes = minutes1 <= 9 ? "0" + today.getMinutes() + ":" : today.getMinutes() + ":";
        var seconds = seconds1 <= 9 ? "0" + today.getSeconds() : today.getSeconds();
        var screen_size = Render.GetScreenSize()
        var font2 = Render.AddFont("Small Fonts", 7, 0);
        var local = Entity.GetLocalPlayer();
        var fps = Math.floor(1 / Global.Frametime());
        g_Local_weapon = Entity.GetWeapon(local);
        weapon_name = Entity.GetName(g_Local_weapon);
        g_Local_classname = Entity.GetClassName(g_Local_weapon);
        var alpha_3 = Math.sin(Globals.Curtime() * 4) * 55 + 200;
        var trWidth = 17;
        var trHeight = 18;
        var LX = screen_size[0] / 2 - trWidth / 1 + 7;
        var RX = screen_size[0] / 2 + trWidth / 1 - 8;
        var UY = screen_size[1] - 103 - trHeight;
        var DY = screen_size[1] - 103;
        var font3 = Render.AddFont("Verdana", 10, 0);
        var font4 = Render.AddFont("Verdana", 7, 0);
        var signColor = [255, 207, 48, 255];
        var shadowColor = [194, 159, 47, 255];
        var green = [36, 240, 80, 255];
        var red = [250, 42, 42, 255];
        var speedd = (GetVelocity().toFixed(0)).toString()
        if(!World.GetServerString()) {
            ping = 0;
            speedd = 0;
        }
        if (ping > 69)
        //Render.StringCustom(screen_size[0] / 2 - 16, screen_size[1] - 92, 0, "!", [0,0,0,255], font3 );   
        {
            Render.StringCustom(screen_size[0] / 2, UY + 3, 0, "!", [64, 50, 15, 200], font3);
            Render.StringCustom(screen_size[0] / 2 - 1 * 1.0031, UY + 3, 0, "!", ping < 69 ? signColor : [red[0], red[1], red[2], alpha_3], font3);
        } else {
            Render.StringCustom(screen_size[0] / 2, UY + 3, 0, "!", [64, 50, 15, 200], font3);
            Render.StringCustom(screen_size[0] / 2 - 1 * 1.0031, UY + 3, 0, "!", signColor, font3);
        }
        if (ping > 69) {
            //низ
            Render.Line(LX, DY, RX, DY, ping < 69 ? signColor : [red[0], red[1], red[2], alpha_3]);
            //бок левый
            Render.Line(screen_size[0] / 2, UY, LX, DY, ping < 69 ? signColor : [red[0], red[1], red[2], alpha_3]);
            //бок правый
            Render.Line(screen_size[0] / 2, UY, RX, DY, ping < 69 ? signColor : [red[0], red[1], red[2], alpha_3]);
        } else {
            //низ
            Render.Line(LX, DY, RX, DY, signColor);
            //бок левый
            Render.Line(screen_size[0] / 2, UY, LX, DY, signColor);
            Render.Line(screen_size[0] / 2, UY - -0, LX - -0, DY - 1, shadowColor);
            //бок правый
            Render.Line(screen_size[0] / 2, UY, RX, DY, signColor);
            Render.Line(screen_size[0] / 2 + -0, UY - 1, RX + 0, DY - 1, shadowColor);
        }
        //текст графа
        var lp = Entity.GetLocalPlayer();
        var velocity = Math.round(GetVelocity(lp));
        {
            if (ping < 69) {
                Render.StringCustom(screen_size[0] / 2 - 75, screen_size[1] - 112, 0, "clock syncing", [0, 0, 0, alpha_3], font2);
                Render.StringCustom(screen_size[0] / 2 - 74, screen_size[1] - 113, 0, "clock syncing", [255, 255, 255, alpha_3], font2);
                Render.StringCustom(screen_size[0] / 2 + 18, screen_size[1] - 112, 0, "+-" + ping2 / 1 + "." + ping2 * 3 / 1 + "ms", [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 + 17, screen_size[1] - 113, 0, "+-" + ping2 / 1 + "." + ping2 * 3 / 1 + "ms", [255, 255, 255, 255], font2);
                Render.StringCustom(screen_size[0] / 2 - 75, screen_size[1] - 92, 0, "loss:(+-" + ping2 / 5 + ")  ", [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 - 74, screen_size[1] - 93, 0, "loss:(+-" + ping2 / 5 + ")  ", [255, 255, 255, 255], font2);
                Render.StringCustom(screen_size[0] / 2 - 18, screen_size[1] - 92, 0, "ping: " + "          fps:", [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 - 19, screen_size[1] - 93, 0, "ping: " + "          fps:", [255, 255, 255, 255], font2);
                Render.StringCustom(screen_size[0] / 2 + 30, screen_size[1] - 92, 0, "    " + fps, [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 + 31, screen_size[1] - 93, 0, "    " + fps, fps < 60 ? [red[0], red[1], red[2], alpha_3] : [255, 255, 255, 255], font2);
                Render.StringCustom(screen_size[0] / 2 - 75, screen_size[1] - 71, 0, "time: " + hours + minutes + seconds + "   ticks: " + Globals.Tickrate().toString() + "   velocity: " + speedd + " u/s ", [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 - 74, screen_size[1] - 72, 0, "time: " + hours + minutes + seconds + "   ticks: " + Globals.Tickrate().toString() + "   velocity: " + speedd + " u/s ", [255, 255, 255, 255], font2);
                Render.StringCustom(screen_size[0] / 2 + 0, screen_size[1] - 92, 0, " " + ping, [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 + 1, screen_size[1] - 93, 0, " " + ping, ping > 60 ? [255, 125, 95, 255] : [255, 255, 255, 255], font2);
            } else {
                Render.StringCustom(screen_size[0] / 2 - 80, screen_size[1] - 112, 0, "lost connection ", [0, 0, 0, alpha_3], font2);
                Render.StringCustom(screen_size[0] / 2 - 79, screen_size[1] - 113, 0, "lost connection ", [255, 255, 255, alpha_3], font2);
                Render.StringCustom(screen_size[0] / 2 + 18, screen_size[1] - 112, 0, "+-" + ping2 / 1 + "." + ping2 * 3 / 1 + "ms", [0, 0, 0, alpha_3], font2);
                Render.StringCustom(screen_size[0] / 2 + 17, screen_size[1] - 113, 0, "+-" + ping2 / 1 + "." + ping2 * 3 / 1 + "ms", [255, 255, 255, alpha_3], font2);
                Render.StringCustom(screen_size[0] / 2 - 56, screen_size[1] - 92, 0, "(+-" + ping2 / 4 + ")  ", [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 - 80, screen_size[1] - 92, 0, "loss:", [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 - 79, screen_size[1] - 93, 0, "loss:", [255, 255, 255, 255], font2);
                Render.StringCustom(screen_size[0] / 2 - 61, screen_size[1] - 93, 0, "  (+-" + ping2 / 4 + ")  ", [255, 82, 62, 255], font2);
                Render.StringCustom(screen_size[0] / 2 - 25, screen_size[1] - 92, 0, "ping: " + "          fps:", [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 - 25, screen_size[1] - 93, 0, "ping: " + "          fps:", [255, 255, 255, 255], font2);
                Render.StringCustom(screen_size[0] / 2 + 27, screen_size[1] - 92, 0, "    " + fps, [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 + 26, screen_size[1] - 93, 0, "    " + fps, fps < 60 ? [red[0], red[1], red[2], alpha_3] : [255, 255, 255, 255], font2);
                Render.StringCustom(screen_size[0] / 2 + -6, screen_size[1] - 92, 0, " " + ping, [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 + -7, screen_size[1] - 93, 0, " " + ping, ping > 60 ? [255, 125, 95, 255] : [255, 255, 255, 255], font2);
                Render.StringCustom(screen_size[0] / 2 - 79, screen_size[1] - 71, 0, "time: " + hours + minutes + seconds + "   ticks: " + Globals.Tickrate().toString() + "   velocity: " + (GetVelocity().toFixed(0)).toString() + " u/s ", [0, 0, 0, 255], font2);
                Render.StringCustom(screen_size[0] / 2 - 78, screen_size[1] - 72, 0, "time: " + hours + minutes + seconds + "   ticks: " + Globals.Tickrate().toString() + "   velocity: " + (GetVelocity().toFixed(0)).toString() + " u/s ", [255, 255, 255, 255], font2);
            }
        }
        if (fps < 55) {
            Render.StringCustom(screen_size[0] / 2 - 72, screen_size[1] - 46, 0, "WARNING! [performance trouble]", [255, 0, 0, alpha_3], font4);
        }
        Render.StringCustom(screen_size[0] / 2 - 40, screen_size[1] - 21, 0, "lagcomp: ", [0, 0, 0, 255], font2);
        Render.StringCustom(screen_size[0] / 2 - 39, screen_size[1] - 22, 0, "lagcomp: ", [255, 255, 255, 255], font2);
        if (isHActive() == 0 && velocity > 270) {
            Render.StringCustom(screen_size[0] / 2 + 3, screen_size[1] - 21, 0, "broken", [0, 0, 0, 255], font2);
            Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] - 22, 0, "broken", green, font2);
        } else {
            Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] - 22, 0, "unsafe", red, font2);
        }
        if (isDoubleTapActive() == 1) {
            Render.StringCustom(screen_size[0] / 2 + 3, screen_size[1] - 21, 0, "broken [shifting]", [0, 0, 0, 255], font2);
            Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] - 22, 0, "broken [shifting]", green, font2);
        }
    }
}
*/
Cheat.RegisterCallback("Draw", "draw");
 
Последнее редактирование:
Забаненный
Статус
Оффлайн
Регистрация
26 Мар 2021
Сообщения
65
Реакции[?]
24
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
1619339634597.png
1619339638221.png
1619339640515.png

Зачем делать в начале функцию под оутлайн и заюзать её 2 раза в конце не понятно, а фпс'y больно
 
Забаненный
Статус
Оффлайн
Регистрация
17 Янв 2021
Сообщения
183
Реакции[?]
94
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Huh?
Пользователь
Статус
Оффлайн
Регистрация
14 Дек 2017
Сообщения
752
Реакции[?]
127
Поинты[?]
0
кинь готовую js для в3 :NotLikeThis: :NotLikeThis:
 
Последнее редактирование:
Забаненный
Статус
Оффлайн
Регистрация
10 Апр 2021
Сообщения
16
Реакции[?]
5
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
кинь готовую js для в3
 
Забаненный
Статус
Оффлайн
Регистрация
17 Янв 2021
Сообщения
183
Реакции[?]
94
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
кинь готовую js для в3 :NotLikeThis: :NotLikeThis:
кинь готовую js для в3
Шаг 1: копируешь текст (ctrl+c) или (пкм, копировать)
Шаг 2: открыть папку скриптов
Шаг 3: создать блокнот (пкм, создать, текстовый документ)
Шаг 4: вставить скопированный текст (ctrl+v) или (пкм, вставить)
Шаг 5: нажать сохранить как (слева сверху) поставить название и в конце написать .js или (переименовать тхт файл в js (для более умных))
Шаг 6: загрузить скрипт (misc, JAVASCRIPT, нажать кнопку с названием скрипта (квадратик))
Шаг 7: настроить скрипт
Шаг 8: посмотреть видео («как пользоваться блакнотом» и «windows 10 для чайников»)
 
Huh?
Пользователь
Статус
Оффлайн
Регистрация
14 Дек 2017
Сообщения
752
Реакции[?]
127
Поинты[?]
0
Шаг 1: копируешь текст (ctrl+c) или (пкм, копировать)
Шаг 2: открыть папку скриптов
Шаг 3: создать блокнот (пкм, создать, текстовый документ)
Шаг 4: вставить скопированный текст (ctrl+v) или (пкм, вставить)
Шаг 5: нажать сохранить как (слева сверху) поставить название и в конце написать .js или (переименовать тхт файл в js (для более умных))
Шаг 6: загрузить скрипт (misc, JAVASCRIPT, нажать кнопку с названием скрипта (квадратик))
Шаг 7: настроить скрипт
Шаг 8: посмотреть видео («как пользоваться блакнотом» и «windows 10 для чайников»)
для в3 выдает ошибку 77 линии скрипта :)
 
dress to impress, always brand new
Начинающий
Статус
Оффлайн
Регистрация
30 Мар 2020
Сообщения
72
Реакции[?]
12
Поинты[?]
0
ахаха в коде мои комментарии остались........
 
Забаненный
Статус
Оффлайн
Регистрация
17 Янв 2021
Сообщения
183
Реакции[?]
94
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сверху Снизу