Crack Lua [NL] Enchanced Visuals src leak

Забаненный
Статус
Оффлайн
Регистрация
31 Дек 2018
Сообщения
442
Реакции[?]
212
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

Данный скрипт не проверялся модераторами, так как является кряком приватной LUA и в нём может присутствовать обфускация. Даже известные пользователи могут выложить вредоносный скрипт под видом крякнутого, поэтому любое использование исключительно на свой страх и риск.

Пожалуйста, авторизуйтесь для просмотра ссылки.
code_language.lua:
local ffi = require("ffi")
local shell = ffi.load("Shell32.dll")

local fonts = {
    Smallest_Pixel = Render.InitFont("Smallest Pixel-7", 10, {}),
    Smallest_Pixel11 = Render.InitFont("Smallest Pixel-7", 11, {}),
    Verdana = Render.InitFont("Verdana", 10, {}),
    h1 = Render.InitFont("Verdana", 70, {"b"}),
    Calibri = Render.InitFont("Calibri", 24, {"b"}),
    Acta_Symbols = Render.InitFont("Acta Symbols W95 Arrows", 55, {}),
    Tahoma_Bold = Render.InitFont("Tahoma Bold", 20, {}),
    Tahoma_Bold50 = Render.InitFont("Tahoma Bold", 50, {}),
    Verdana12 = Render.InitFont("Verdana", 12, {"r"}),
    Verdana_Bold = Render.InitFont("Verdana Bold", 11, {}),
    Verdana13 = Render.InitFont("Verdana", 13, {}),
    Verdana44 = Render.InitFont("Verdana", 44, {}),
    anti = Render.InitFont("Verdana", 12, {"b", "i"}),
    aim = Render.InitFont("Verdana", 12, {"i"}),
}

local fov_cs_debug = CVar.FindVar("fov_cs_debug")

local menu = {
    Slow_Walk = Menu.FindVar("Aimbot", "Anti Aim", "Misc", "Slow Walk"),
    Fake_Duck = Menu.FindVar("Aimbot", "Anti Aim", "Misc", "Fake Duck"),
    Inverter = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Inverter"),
    Enable_Fake_Angle = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Enable Fake Angle"),
    Enable_Fake_Lag = Menu.FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag"),
    Leg_Movement = Menu.FindVar("Aimbot", "Anti Aim", "Misc", "Leg Movement"),
    Double_Tap = Menu.FindVar("Aimbot", "Ragebot", "Exploits", "Double Tap"),
    Hide_Shots = Menu.FindVar("Aimbot", "Ragebot", "Exploits", "Hide Shots"),
    Min_Damage = Menu.FindVar("Aimbot", "Ragebot", "Accuracy", "Minimum Damage"),
    Hc_Value = Menu.FindVar("Aimbot", "Ragebot", "Accuracy", "Hit Chance"),
    Yaw_Base = Menu.FindVar("Aimbot", "Anti Aim", "Main", "Yaw Base"),
    Yaw_Modifier = Menu.FindVar("Aimbot", "Anti Aim", "Main", "Yaw Modifier"),
    Left_Limit = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Left Limit"),
    Right_Limit = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Right Limit"),
    Fake_Options = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Fake Options"),
    LBY_Mode = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "LBY Mode"),
    Desync_On_Shot = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Desync On Shot"),
    Freestanding_Desync = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Freestanding Desync"),
    Modifier_Degree = Menu.FindVar("Aimbot", "Anti Aim", "Main", "Modifier Degree"),
    Yaw_Add = Menu.FindVar("Aimbot", "Anti Aim", "Main", "Yaw Add"),
    Pitch = Menu.FindVar("Aimbot", "Anti Aim", "Main", "Pitch"),
    Fake_Lag = Menu.FindVar("Aimbot", "Anti Aim", "Fake Lag", "Limit"),
    Fake_Lag_Randomization = Menu.FindVar("Aimbot", "Anti Aim", "Fake Lag", "Randomization"),
    Camera_Fov = Menu.FindVar("Visuals", "View", "Camera", "FOV"),
    Viewmodel_Fov = Menu.FindVar("Visuals", "View", "Viewmodel", "FOV"),
    Override_Resolver = Menu.FindVar("Aimbot", "Ragebot", "Main", "Override Resolver"),
    Autostrafe = Menu.FindVar("Miscellaneous", "Main", "Movement", "Auto Strafe"),
    Auto_Peek = Menu.FindVar("Miscellaneous", "Main", "Movement", "Auto Peek"),
    Remove_Scope = Menu.FindVar("Visuals", "View", "Camera", "Remove Scope"),
    Hit_Sound = Menu.FindVar("Visuals", "World", "Hit", "Hit Sound"),
    Body_Aim = Menu.FindVar("Aimbot", "Ragebot", "Misc", "Body Aim"),
    Safe_Points = Menu.FindVar("Aimbot", "Ragebot", "Misc", "Safe Points"),
    Third_Person = Menu.FindVar("Visuals", "View", "Thirdperson", "Enable Thirdperson"),
}

local screen_size = EngineClient.GetScreenSize()
local menu_pos = Render.GetMenuPos()
local menu_sz = Render.GetMenuSize()

Menu.Text("Enhanced Visuals", "Enhanced Visuals", "Welcome back, " .. Cheat.GetCheatUserName() .. "!")
Menu.Text("Enhanced Visuals", "Enhanced Visuals", "\nfor better experience...\n\n")

ffi.cdef[[
    int ShellExecuteA(void* hwnd, const char* lpOperation, const char* lpFile, const char* lpParameters, const char* lpDirectory, int nShowCmd);
]]
Menu.Button("Enhanced Visuals", "Enhanced Visuals", "Join Support Discord", "", function()
    shell.ShellExecuteA(nil, "open", "https://discord.gg/X3FHK6htXm", nil, nil, 0)
end)

local warn1 = Menu.Text("Enhanced Visuals", "!!WARNING!!", "Connect server for previews!")
local warn2 = Menu.Text("Main", "!!WARNING!!", "Connect server for previews!")

local custom_hitsound = Menu.MultiCombo("Main", "Custom Hitsound", "Enable for", {"Hit", "Kill", "Head", "Shot"}, 0, "")
local hitsound = {
    hit = Menu.TextBox("Main", "Custom Hitsound", "Hit sound", 64, "buttons/arena_switch_press_02"),
    kill = Menu.TextBox("Main", "Custom Hitsound", "Kill sound", 64, "buttons/arena_switch_press_02"),
    head = Menu.TextBox("Main", "Custom Hitsound", "Head sound", 64, "buttons/arena_switch_press_02"),
    shot = Menu.TextBox("Main", "Custom Hitsound", "Shot sound", 64, "buttons/arena_switch_press_02"),
}
local ch_setbutton = Menu.Button("Main", "Custom Hitsound", "Disable neverlose hit sound", "", function()
    menu.Hit_Sound:Set(false)
end)

local v_indicator = Menu.Combo("Main", "Visual", "Indicator", {"Disabled", "Idealyaw V2", "prediction", "Acatel", "Ideal Yaw", "Killaura", "Arctic", "Invictus", "Old prediction", "Aimsense", "Acatel modern"}, 0, "")
local pred_iction = Menu.MultiCombo("Main", "Visual", "Display", { "Script name", "Anti-aim arrows", "Anti-aim status", "Doubletap", "Hide shots", "Quickpeek", "Freestanding", "Force body aim", "Force safe point" }, 0, "Prediction indicators to show")
local pred_old = Menu.MultiCombo("Main", "Visual", "Display ", { "Script name", "Rotation arrow", "Doubletap", "Hide shots", "Force body aim", "Force safe point", "Freestanding", "Quickpeek" }, 0, "Prediction indicators to show")
local ColorOne = Menu.ColorEdit("Main", "Visual", "Color 1", Color.new(1, 1, 1, 1), "")
local ColorTwo = Menu.ColorEdit("Main", "Visual", "Color 2", Color.new(1, 1, 1, 1), "")

local pred_left = Menu.TextBox("Main", "Visual", "Left side text", 24, "predi", "Prediction left side text")
local pred_right = Menu.TextBox("Main", "Visual", "Right side text", 24, "ction", "Prediction right side text")
local acatel_text = Menu.TextBox("Main", "Visual", "Script name", 24, "acatel", "Acatel text")
local acatel_version = Menu.TextBox("Main", "Visual", "Lua Version", 24, "beta", "Acatel version (lua, beta or whatever")
local modern_acatel_text = Menu.TextBox("Main", "Visual", "Script name ", 24, "acatel", "Modern Acatel text")
local modern_acatel_version = Menu.TextBox("Main", "Visual", "Lua Version ", 24, "beta", "Modern Acatel version (lua, beta or whatever")
local idealyaw_text = Menu.TextBox("Main", "Visual", "Ideal Yaw text", 24, "IDEALYAW", "Ideal Yaw text")
local killaura_text = Menu.TextBox("Main", "Visual", "Killaura text", 24, "killaura", "Killaura text")
local arctict_text = Menu.TextBox("Main", "Visual", "Arctic text", 24, "arctic", "Arctic text")
local invictus_text = Menu.TextBox("Main", "Visual", "Invictus text", 24, "Invictus", "Invictus text")
local old_pred_left = Menu.TextBox("Main", "Visual", "Left side text ", 24, "predi", "Old prediction left side text")
local old_pred_right = Menu.TextBox("Main", "Visual", "Right side text ", 24, "ction", "Old prediction right side text")

local v_damageindicator = Menu.ComboColor("Main", "Visual", "Damage Ind.", {"Disabled", "cross", "left", "top", "right"}, 0, Color.new(1, 1, 1, 1), "")
local v_dmg_font = Menu.Combo("Main", "Visual", "Dmg Ind. Font", {"Smallest Pixel-7", "Verdana"}, 0, "")
local v_dmg_options = Menu.Switch("Main", "Visual", "Always show Damage Indicator", false, "")

local team_skeet = Menu.SwitchColor("Main", "Team Skeet", "Master Switch", false, Color.new(1, 1, 1, 1), "")
local ts_gradient = Menu.Switch("Main", "Team Skeet", "Gradient", false, "")
local ts_hotkey = Menu.Switch("Main", "Team Skeet", "Keybinds", false, "")
local ts_indicator_items = Menu.MultiCombo("Main", "Team Skeet", "Indicator", {"Desync", "Fake lag", "Speed", "Height"}, 0, "")
local ts_it_values = Menu.Switch("Main", "Team Skeet", "Indicator Show Values", false, "")

local skeet_indicator = Menu.Switch("Main", "Skeet Indicator", "Master Switch", false, "")
local si_settings = Menu.MultiCombo("Main", "Skeet Indicator", "Display Indicator's", {"DESYNC", "FAKELAG", "DT", "ONSHOT", "DMG", "HC", "FS", "DUCK", "BAIM", "SAFE", "DA", "AX", "LC"}, 0, "")
local si_options = Menu.MultiCombo("Main", "Skeet Indicator", "Option's", {"Always Show DMG", "Always Show HC"}, 0, "")
local skeet_autopeek = Menu.SwitchColor("Main", "Skeet Indicator", "Auto Peek", false, menu.Auto_Peek:GetColor(), "Dont Bind")
local sa_alpha = Menu.SliderInt("Main", "Skeet Indicator", "Auto Peek Alpha", 5, 2, 15, "Default value is 5")

local solus_ui = Menu.MultiCombo("Main", "Solus UI", "Windows", {"Watermark", "Keybinds"}, 0, "")
local solus_uiColor = Menu.ColorEdit("Main", "Solus UI", "Color", Color.new(0.55686277151108, 0.64705884456635, 0.89803922176361, 0.33333334326744), "")
local solus_uiGradient = Menu.Switch("Main", "Solus UI", "Gradient Color", false, "")
local su_watermark = Menu.MultiCombo("Main", "Solus UI", "Watermark", {"User Name", "Fps", "Latency", "Server IP", "Tickrate", "Time"}, 0, "")
local su_watername = Menu.Combo("Main", "Solus UI", "Watermark Name", {"Cheat", "Steam"}, 0, "")
local su_cheat = Menu.TextBox("Main", "Solus UI", "Cheat Name", 28, "Neverlose", "")

local custom_scope = Menu.SwitchColor("Main", "Custom Scope", "Master Switch", false, Color.new(1, 1, 1, 1), "")
local cs_lines_width = Menu.SliderInt("Main", "Custom Scope", "Scope lines width", 80, 0, 150, "")
local cs_lines_offset = Menu.SliderInt("Main", "Custom Scope", "Scope lines offset", 10, 0, 150, "")
local cs_invert = Menu.Switch("Main", "Custom Scope", "Invert Arrows", true, "")
local cs_anim = Menu.Switch("Main", "Custom Scope", "Disable Animations", false, "")
local global_viewmodelonscope = Menu.Switch("Main", "Custom Scope", "View model on scope", false, "")
local cs_setbutton = Menu.Button("Main", "Custom Scope", "Set remove scope to no lines", "", function()
    menu.Remove_Scope:SetInt(2)
end)

local info_bar = Menu.MultiCombo("Main", "Info Bar", "Indicator", {"ping", "fps", "tick", "velocity"}, 0, "")
local ib_color = Menu.ColorEdit("Main", "Info Bar", "Color", Color.new(0.0666666666666667, 0.0666666666666667, 0.0666666666666667, 1), "Default color '#111111FF'")

local log_system = Menu.SwitchColor("Main", "Log System", "Master Switch", false, Color.new(1, 1, 1, 1), "")
local ls_display = Menu.MultiCombo("Main", "Log System", "Display", {"Damage", "Hurt", "Miss", "Purchases", "Bomb plant", "Hostage Taken", "Shot (only console)"}, 0, "")
local ls_print = Menu.MultiCombo("Main", "Log System", "Print to", {"Screen", "Console"}, 0, "")

local holo_panel = Menu.SwitchColor("Main", "Holo Panel", "Master Switch", false, Color.new(1, 1, 1, 1), "")
local hp_display = Menu.MultiCombo("Main", "Holo Panel", "Display", {"Thirdperson", "First-Person", "Scope"}, 0, "")
local hp_settings = Menu.MultiCombo("Main", "Holo Panel", "Settings", {"Draw line", "Draw circle", "Blur Background", "Gradient", "Only Weapon"}, 0, "")
local hp_line = Menu.ColorEdit("Main", "Holo Panel", "Line Color", Color.new(1, 1, 1, 1), "")
local hp_circle = Menu.SliderIntColor("Main", "Holo Panel", "Circle Size", 2, 2, 10, Color.new(1, 1, 1, 1), "")
local hp_alpha = Menu.SliderInt("Main", "Holo Panel", "Background Alhpa", 76, 0, 255, "Default value is 76")
local hp_blur = Menu.ColorEdit("Main", "Holo Panel", "Blur Color", Color.new(1, 1, 1, 0.3))

local gradient1 = Color.new(0, 0.7843137254901961, 1, 1)
local gradient2 = Color.new(1, 0, 0.9333333333333333, 1)
local gradient3 = Color.new(1, 0.9176470588235294, 0, 1)

local function on_start()
    if global_viewmodelonscope:GetBool() then
        fov_cs_debug:SetInt(90)
    else
        fov_cs_debug:SetInt(0)
    end

    cs_lines_width:SetVisible(custom_scope:GetBool())
    cs_lines_offset:SetVisible(custom_scope:GetBool())
    cs_invert:SetVisible(custom_scope:GetBool())
    cs_anim:SetVisible(custom_scope:GetBool())

    hitsound.hit:SetVisible(custom_hitsound:Get(1))
    hitsound.kill:SetVisible(custom_hitsound:Get(2))
    hitsound.head:SetVisible(custom_hitsound:Get(3))
    hitsound.shot:SetVisible(custom_hitsound:Get(4))

    ts_gradient:SetVisible(team_skeet:GetBool())
    ts_hotkey:SetVisible(team_skeet:GetBool())
    ts_indicator_items:SetVisible(team_skeet:GetBool())
    ts_it_values:SetVisible(team_skeet:GetBool() and ts_indicator_items:Get() > 0)

    pred_iction:SetVisible(v_indicator:GetInt() == 2)
    pred_old:SetVisible(v_indicator:GetInt() == 8)
    ColorOne:SetVisible(v_indicator:GetInt() > 1)
    ColorTwo:SetVisible(v_indicator:GetInt() > 1)

    v_dmg_options:SetVisible(v_damageindicator:GetInt() > 0)
    v_dmg_font:SetVisible(v_damageindicator:GetInt() > 0)

    pred_left:SetVisible(v_indicator:GetInt() == 2)
    pred_right:SetVisible(v_indicator:GetInt() == 2)
    acatel_text:SetVisible(v_indicator:GetInt() == 3)
    acatel_version:SetVisible(v_indicator:GetInt() == 3)
    idealyaw_text:SetVisible(v_indicator:GetInt() == 4)
    killaura_text:SetVisible(v_indicator:GetInt() == 5)
    arctict_text:SetVisible(v_indicator:GetInt() == 6)
    invictus_text:SetVisible(v_indicator:GetInt() == 7)
    old_pred_left:SetVisible(v_indicator:GetInt() == 8)
    old_pred_right:SetVisible(v_indicator:GetInt() == 8)
    modern_acatel_text:SetVisible(v_indicator:GetInt() == 10)
    modern_acatel_version:SetVisible(v_indicator:GetInt() == 10)

    si_settings:SetVisible(skeet_indicator:GetBool())
    si_options:SetVisible(skeet_indicator:GetBool())
    skeet_autopeek:SetVisible(skeet_indicator:GetBool())
    sa_alpha:SetVisible(skeet_indicator:GetBool() and skeet_autopeek:GetBool())

    solus_uiColor:SetVisible(solus_ui:GetInt() > 0)
    solus_uiGradient:SetVisible(solus_ui:GetInt() > 0)
    su_watermark:SetVisible(solus_ui:GetInt() > 0)
    su_watername:SetVisible(solus_ui:GetInt() > 0 and su_watermark:Get(1))
    su_cheat:SetVisible(solus_ui:GetInt() > 0)

    ls_display:SetVisible(log_system:GetBool())
    ls_print:SetVisible(log_system:GetBool())

    hp_display:SetVisible(holo_panel:GetBool())
    hp_settings:SetVisible(holo_panel:GetBool())
    hp_line:SetVisible(hp_display:Get(1) and holo_panel:GetBool() and hp_settings:Get(1))
    hp_circle:SetVisible(hp_display:Get(1) and holo_panel:GetBool() and hp_settings:Get(2))
    hp_alpha:SetVisible(holo_panel:GetBool())
    hp_blur:SetVisible(hp_settings:Get(3) and holo_panel:GetBool())

    ib_color:SetVisible(info_bar:Get() > 0)

    if menu.Remove_Scope:GetInt() ~= 2 then cs_setbutton:SetVisible(custom_scope:GetBool()) else cs_setbutton:SetVisible(false) end
    if custom_hitsound:Get() > 0 then ch_setbutton:SetVisible(menu.Hit_Sound:GetBool()) else ch_setbutton:SetVisible(false) end
end
on_start()
custom_scope:RegisterCallback(on_start)
cs_setbutton:RegisterCallback(on_start)
menu.Remove_Scope:RegisterCallback(on_start)
team_skeet:RegisterCallback(on_start)
v_damageindicator:RegisterCallback(on_start)
custom_hitsound:RegisterCallback(on_start)
menu.Hit_Sound:RegisterCallback(on_start)
ch_setbutton:RegisterCallback(on_start)
v_indicator:RegisterCallback(on_start)
skeet_indicator:RegisterCallback(on_start)
solus_ui:RegisterCallback(on_start)
su_watermark:RegisterCallback(on_start)
su_watername:RegisterCallback(on_start)
log_system:RegisterCallback(on_start)
holo_panel:RegisterCallback(on_start)
hp_display:RegisterCallback(on_start)
hp_settings:RegisterCallback(on_start)
skeet_autopeek:RegisterCallback(on_start)
info_bar:RegisterCallback(on_start)
ts_indicator_items:RegisterCallback(on_start)

local function live_state(skip)
    if not EngineClient.IsConnected() then return false end
    if skip == true then goto skip end
    if not EntityList.GetLocalPlayer() then return false end
    if EntityList.GetLocalPlayer():GetProp("DT_BasePlayer", "m_lifeState") then return false end
    ::skip::
    return true
end

local function getState()
    local air_state = EntityList.GetLocalPlayer():GetProp("DT_BasePlayer", "m_fFlags") == 256
    local duck_state = EntityList.GetLocalPlayer():GetProp("DT_BasePlayer", "m_fFlags") == 263
    local slow_state = menu.Slow_Walk:GetBool()
    local velocity = math.floor(EntityList.GetLocalPlayer():GetProp("m_vecVelocity"):Length2D())

    if air_state then
        return 1
    elseif duck_state then
        return 2
    elseif slow_state then
        return 3
    elseif velocity >= 5 then
        return 4
    else
        return 0
    end
end

local function get_desync()
    local GetCurrentRealRotation = AntiAim.GetCurrentRealRotation()
    local GetFakeRotation = AntiAim.GetFakeRotation()
    local GetMaxDesyncDelta = AntiAim.GetMaxDesyncDelta()
    local GetMinDesyncDelta = AntiAim.GetMinDesyncDelta()

    local get_delta = GetCurrentRealRotation - GetFakeRotation

    if get_delta > GetMaxDesyncDelta then
        get_delta = GetMaxDesyncDelta
    elseif get_delta < GetMinDesyncDelta then
        get_delta = GetMinDesyncDelta
    end

    return math.floor(get_delta)
end

local function get_delta()
    if not live_state() then return 0 end

    local RealYaw = AntiAim.GetCurrentRealRotation()
    local FakeYaw = AntiAim.GetFakeRotation()
    local delta = math.min(math.abs(RealYaw - FakeYaw), 58)

    return delta
end

local function lp()
    local local_index = EngineClient.GetLocalPlayer()
    local localplayer = EntityList.GetClientEntity(local_index)
    if localplayer == nil then return end
    local me = localplayer:GetPlayer()
    return me
end

local function render_text(text, pos, color, size, text_font, outline, align)
    local text_size = Render.CalcTextSize(text, size, text_font)
   
    if align == 0 then -- To the left
        Render.Text(text, Vector2.new(pos.x - text_size.x, pos.y), color, size, text_font, outline)
    elseif align == 1 then -- To the center
        Render.Text(text, Vector2.new(pos.x - (text_size.x / 2), pos.y), color, size, text_font, outline)
    elseif align == 2 then -- To the right
        Render.Text(text, pos, color, size, text_font, outline)
    end
end

local function Animation(check, name, value, speed)
    if check then
        return name + (value - name) * GlobalVars.frametime * speed
    else
        return name - (value + name) * GlobalVars.frametime * speed / 2;
    end
end

local function quest(cond, T, F)
    if cond then return true else return false end
end

local function lerp(a, b, percentage)
    return math.floor(a + (b - a) * percentage)
end

local Minimum_Damage, Dormant_Aimbot, Hit_Chance = false
local Minimum_Damage_override = 0

local function update_binds()
    if not live_state(true) then return end

    local binds = Cheat.GetBinds()

    Minimum_Damage, Dormant_Aimbot, Hit_Chance = false

    for i = 1, #binds do
        local bind = binds[i]

        if bind:GetName() == "Minimum Damage" then
            if bind:IsActive() then
                Minimum_Damage = true
                Minimum_Damage_override = bind:GetValue()
            end
        end

        if bind:GetName() == "Dormant Aimbot" then
            if bind:IsActive() then
                Dormant_Aimbot = true
            end
        end

        if bind:GetName() == "Hit Chance" then
            if bind:IsActive() then
                Hit_Chance = true
            end
        end
    end
end

local function Clamp(v, min, max)
    if v > max then return max end
    if v < min then return min end
    return v
end

local scope_anim = 0

local function scope()
    if not live_state() then return end

    if not EntityList.GetLocalPlayer():GetProp("m_bIsScoped") then
        if not cs_anim:GetBool() then if scope_anim > 0 then scope_anim = scope_anim - 5 else scope_anim = 0 end end
        return
    end

    if cs_anim:GetBool() then
        scope_anim = 255
    else
        if scope_anim < 255 then scope_anim = scope_anim + 5 else scope_anim = 255 end
    end

    if cs_invert:GetBool() then
        scope_color1 = Color.new(custom_scope:GetColor().r, custom_scope:GetColor().g, custom_scope:GetColor().b, scope_anim / 255)
        scope_color2 = Color.new(custom_scope:GetColor().r, custom_scope:GetColor().g, custom_scope:GetColor().b, 0)
    else
        scope_color1 = Color.new(custom_scope:GetColor().r, custom_scope:GetColor().g, custom_scope:GetColor().b, 0)
        scope_color2 = Color.new(custom_scope:GetColor().r, custom_scope:GetColor().g, custom_scope:GetColor().b, scope_anim / 255)
    end

    x = screen_size.x / 2
    y = screen_size.y / 2
    w = cs_lines_width:GetInt()
    o = cs_lines_offset:GetInt()

    Render.GradientBoxFilled(Vector2.new(x - w - o, y), Vector2.new(x - o, y + 1), scope_color1, scope_color2, scope_color1, scope_color2)
    Render.GradientBoxFilled(Vector2.new(x + w + o, y), Vector2.new(x + o, y + 1), scope_color1, scope_color2, scope_color1, scope_color2)
    Render.GradientBoxFilled(Vector2.new(x, y - o - w), Vector2.new(x + 1, y - o), scope_color1, scope_color1, scope_color2, scope_color2)
    Render.GradientBoxFilled(Vector2.new(x, y + o + w), Vector2.new(x + 1, y + o), scope_color1, scope_color1, scope_color2, scope_color2)
end

local function viewmodelonscope()
    if not global_viewmodelonscope:GetBool() then
        fov_cs_debug:SetInt(0)
    end
end
global_viewmodelonscope:RegisterCallback(viewmodelonscope)

local function fov_cs()
    if global_viewmodelonscope:GetBool() then
        fov_cs_debug:SetInt(90)
    end
end

local function draw_rainbow(x, y, w, h, o)
    x = math.floor(x)
    y = math.floor(y)

    if o then
        c1 = Color.new(0, 0.7843137254901961, 1, 160/255)
        c2 = Color.new(1, 0, 0.9333333333333333, 160/255)
        c3 = Color.new(1, 0.9176470588235294, 0, 160/255)
       
        Render.GradientBoxFilled(Vector2.new(x, y - 1), Vector2.new(x + w / 2, y), c1, c2, c1, c2)
        Render.GradientBoxFilled(Vector2.new(x + w / 2, y - 1), Vector2.new(x + w / 2 * 2, y), c2, c3, c2, c3)

        Render.GradientBoxFilled(Vector2.new(x, y + h), Vector2.new(x + w / 2, y + h + 1), c1, c2, c1, c2)
        Render.GradientBoxFilled(Vector2.new(x + w / 2, y + h), Vector2.new(x + w / 2 * 2, y + h + 1), c2, c3, c2, c3)

        Render.BoxFilled(Vector2.new(x, y - 1), Vector2.new(x - 1, y + h + 1), c1)
        Render.BoxFilled(Vector2.new(x + w, y - 1), Vector2.new(x + w + 1, y + h + 1), c3)
    end

    if o then
        z1 = Color.new(0, 0.7843137254901961, 1, team_skeet:GetColor().a)
        z2 = Color.new(1, 0, 0.9333333333333333, team_skeet:GetColor().a)
        z3 = Color.new(1, 0.9176470588235294, 0, team_skeet:GetColor().a)
    else
        z1 = Color.new(0, 0.7843137254901961, 1, 1)
        z2 = Color.new(1, 0, 0.9333333333333333, 1)
        z3 = Color.new(1, 0.9176470588235294, 0, 1)
    end

    Render.GradientBoxFilled(Vector2.new(x, y), Vector2.new(x + w / 2, y + h), z1, z2, z1, z2)
    Render.GradientBoxFilled(Vector2.new(x + w / 2, y), Vector2.new(x + w / 2 * 2, y + h), z2, z3, z2, z3)
end

local function ts_keybind(x, y, w)
    x = math.floor(x)
    y = math.floor(y)

    local render_offset = 0
    if ts_gradient:GetBool() then draw_rainbow(x, y, w, 1, false) else Render.BoxFilled(Vector2.new(x, y), Vector2.new(x + w, y + 1), Color.new(team_skeet:GetColor().r, team_skeet:GetColor().g, team_skeet:GetColor().b, 1)) end
    Render.BoxFilled(Vector2.new(x, y + 1), Vector2.new(x + w, y + 16), Color.new(20/255, 20/255, 20/255, 1))
    Render.Text("keybinds", Vector2.new(x + w / 2, y + 16 / 2), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, true)
    Render.BoxFilled(Vector2.new(x, y + 16), Vector2.new(x + w, y + 20), Color.new(25/255, 25/255, 25/255, 1))

    local function draw_keybinds(bind)
        if not bind:IsActive() then return end

        Render.BoxFilled(Vector2.new(x, y + 20 + render_offset * 16), Vector2.new(x + w, y + 16 + render_offset * 16 + 20), Color.new(25/255, 25/255, 25/255, 1))

        if bind:GetValue() == "on" then name = bind:GetName() else name = bind:GetName() .. " [" .. bind:GetValue() .. "]" end
        mode = bind:GetMode()
        if mode == 1 then key_mode = "HELD" elseif mode == 0 then key_mode = "TOGGLED" end

        if ts_gradient:GetBool() then
            ts_color1 = gradient1
            ts_color2 = gradient3
        else
            ts_color1 = Color.new(team_skeet:GetColor().r, team_skeet:GetColor().g, team_skeet:GetColor().b, 1)
            ts_color2 = Color.new(1, 1, 1, 1)
        end
       
        Render.Text(name, Vector2.new(x + 5, y + 20 + render_offset * 16), ts_color1, 10, fonts.Smallest_Pixel, true, false)
        Render.Text(key_mode, Vector2.new(x + 5 + w - 10 - Render.CalcTextSize(key_mode, 10, fonts.Smallest_Pixel).x, y + 20 + render_offset * 16), ts_color2, 10, fonts.Smallest_Pixel, true, false)

        render_offset = render_offset + 1
    end

    local binds = Cheat.GetBinds()
    for i = 1, #binds do
        draw_keybinds(binds[i])
    end
end

local function ts_indicator(x, y, w)
    x = math.floor(x)
    y = math.floor(y)

    ts_height = 0
    ts_velocity = 0
    speed_size = 0
    ts_fakelag = 0
    ts_fakeyaw = 0

    local ro_i = 0
    if ts_indicator_items:Get(1) then ro_i = ro_i + 1 end
    if ts_indicator_items:Get(2) then ro_i = ro_i + 1 end
    if ts_indicator_items:Get(3) then ro_i = ro_i + 1 end
    if ts_indicator_items:Get(4) then ro_i = ro_i + 1 end
    Render.BoxFilled(Vector2.new(x, y + 16), Vector2.new(x + w, y + 20 + ro_i * 16), Color.new(25/255, 25/255, 25/255, 1))
    if ts_gradient:GetBool() then draw_rainbow(x, y, w, 1, false) else Render.BoxFilled(Vector2.new(x, y), Vector2.new(x + w, y + 1), Color.new(team_skeet:GetColor().r, team_skeet:GetColor().g, team_skeet:GetColor().b, 1)) end
    Render.BoxFilled(Vector2.new(x, y + 1), Vector2.new(x + w, y + 16), Color.new(20/255, 20/255, 20/255, 1))
    Render.Text("indicators", Vector2.new(x + w / 2, y + 16 / 2), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, true)

    if live_state() then
        ts_height = EntityList.GetLocalPlayer():GetProp("m_flDuckAmount")
        ts_velocity = EntityList.GetLocalPlayer():GetProp("m_vecVelocity"):Length2D()
        if math.floor(EntityList.GetLocalPlayer():GetProp("m_vecVelocity"):Length2D()) / 4 > 130 then
            speed_size = 130
        else
            speed_size = math.floor(EntityList.GetLocalPlayer():GetProp("m_vecVelocity"):Length2D()) / 4
        end
        ts_fakelag = ClientState.m_choked_commands
        ts_fakeyaw = get_desync()
    end

    if ts_indicator_items:Get(4) then
        ro_i = ro_i - 1
        Render.Text("HEIGHT", Vector2.new(x + 5, y + 20 + ro_i * 16), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, false)
        if ts_it_values:GetBool() then render_text(string.format("%s", math.floor(ts_height)), Vector2.new(x + 60, y + 20 + ro_i * 16), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, 0) end
        if ts_it_values:GetBool() then
            if ts_gradient:GetBool() then
                draw_rainbow(x + 66, y + 21 + ro_i * 16, ts_height * 130, 8, true)
            else
                Render.BoxFilled(Vector2.new(x + 65, y + 20 + ro_i * 16), Vector2.new(x + 65 + ts_height * 130, y + 30 + ro_i * 16), team_skeet:GetColor())
                Render.Box(Vector2.new(x + 65, y + 20 + ro_i * 16), Vector2.new(x + 65 + ts_height * 130, y + 30 + ro_i * 16), Color.new(team_skeet:GetColor().r, team_skeet:GetColor().g, team_skeet:GetColor().b, 160/255))
            end
        else
            if ts_gradient:GetBool() then
                draw_rainbow(x + 51, y + 21 + ro_i * 16, ts_height * 145, 8, true)
            else
                Render.BoxFilled(Vector2.new(x + 50, y + 20 + ro_i * 16), Vector2.new(x + 50 + ts_height * 145, y + 30 + ro_i * 16), team_skeet:GetColor())
                Render.Box(Vector2.new(x + 50, y + 20 + ro_i * 16), Vector2.new(x + 50 + ts_height * 145, y + 30 + ro_i * 16), Color.new(team_skeet:GetColor().r, team_skeet:GetColor().g, team_skeet:GetColor().b, 160/255))
            end
        end
    end

    if ts_indicator_items:Get(3) then
        ro_i = ro_i - 1
        Render.Text("VELOCITY", Vector2.new(x + 5, y + 20 + ro_i * 16), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, false)
        if ts_it_values:GetBool() then render_text(string.format("%s", math.floor(ts_velocity)), Vector2.new(x + 60, y + 20 + ro_i * 16), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, 0) end
        if ts_it_values:GetBool() then
            if ts_gradient:GetBool() then
                draw_rainbow(x + 66, y + 21 + ro_i * 16, speed_size, 8, true)
            else
                Render.BoxFilled(Vector2.new(x + 65, y + 20 + ro_i * 16), Vector2.new(x + 65 + speed_size, y + 30 + ro_i * 16), team_skeet:GetColor())
                Render.Box(Vector2.new(x + 65, y + 20 + ro_i * 16), Vector2.new(x + 65 + speed_size, y + 30 + ro_i * 16), Color.new(team_skeet:GetColor().r, team_skeet:GetColor().g, team_skeet:GetColor().b, 160/255))
            end
        else
            if ts_gradient:GetBool() then
                draw_rainbow(x + 51, y + 21 + ro_i * 16, speed_size + 15, 8, true)
            else
                Render.BoxFilled(Vector2.new(x + 50, y + 20 + ro_i * 16), Vector2.new(x + 50 + speed_size + 15, y + 30 + ro_i * 16), team_skeet:GetColor())
                Render.Box(Vector2.new(x + 50, y + 20 + ro_i * 16), Vector2.new(x + 50 + speed_size + 15, y + 30 + ro_i * 16), Color.new(team_skeet:GetColor().r, team_skeet:GetColor().g, team_skeet:GetColor().b, 160/255))
            end
        end
    end

    if ts_indicator_items:Get(2) then
        ro_i = ro_i - 1
        Render.Text("FAKELAG", Vector2.new(x + 5, y + 20 + ro_i * 16), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, false)
        if ts_it_values:GetBool() then render_text(string.format("%s", math.floor(ts_fakelag)), Vector2.new(x + 60, y + 20 + ro_i * 16), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, 0) end
        if ts_it_values:GetBool() then
            if ts_gradient:GetBool() then
                draw_rainbow(x + 66, y + 21 + ro_i * 16, (math.abs(ts_fakelag) / 14) * 130, 8, true)
            else
                Render.BoxFilled(Vector2.new(x + 65, y + 20 + ro_i * 16), Vector2.new(x + 65 + (math.abs(ts_fakelag) / 14) * 130, y + 30 + ro_i * 16), team_skeet:GetColor())
                Render.Box(Vector2.new(x + 65, y + 20 + ro_i * 16), Vector2.new(x + 65 + (math.abs(ts_fakelag) / 14) * 130, y + 30 + ro_i * 16), Color.new(team_skeet:GetColor().r, team_skeet:GetColor().g, team_skeet:GetColor().b, 160/255))
            end
        else
            if ts_gradient:GetBool() then
                draw_rainbow(x + 51, y + 21 + ro_i * 16, (math.abs(ts_fakelag) / 14) * 145, 8, true)
            else
                Render.BoxFilled(Vector2.new(x + 50, y + 20 + ro_i * 16), Vector2.new(x + 50 + (math.abs(ts_fakelag) / 14) * 145, y + 30 + ro_i * 16), team_skeet:GetColor())
                Render.Box(Vector2.new(x + 50, y + 20 + ro_i * 16), Vector2.new(x + 50 + (math.abs(ts_fakelag) / 14) * 145, y + 30 + ro_i * 16), Color.new(team_skeet:GetColor().r, team_skeet:GetColor().g, team_skeet:GetColor().b, 160/255))
            end
        end
    end

    if ts_indicator_items:Get(1) then
        ro_i = ro_i - 1
        Render.Text("FAKEYAW", Vector2.new(x + 5, y + 20 + ro_i * 16), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, false)
        if ts_it_values:GetBool() then render_text(string.format("%s", ts_fakeyaw), Vector2.new(x + 60, y + 20 + ro_i * 16), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, 0) end
        if ts_it_values:GetBool() then
            if ts_gradient:GetBool() then
                draw_rainbow(x + 66, y + 21 + ro_i * 16, (math.abs(ts_fakeyaw) / 58) * 130, 8, true)
            else
                Render.BoxFilled(Vector2.new(x + 65, y + 20 + ro_i * 16), Vector2.new(x + 65 + (math.abs(ts_fakeyaw) / 58) * 130, y + 30 + ro_i * 16), team_skeet:GetColor())
                Render.Box(Vector2.new(x + 65, y + 20 + ro_i * 16), Vector2.new(x + 65 + (math.abs(ts_fakeyaw) / 58) * 130, y + 30 + ro_i * 16), Color.new(team_skeet:GetColor().r, team_skeet:GetColor().g, team_skeet:GetColor().b, 160/255))
            end
        else
            if ts_gradient:GetBool() then
                draw_rainbow(x + 51, y + 21 + ro_i * 16, (math.abs(ts_fakeyaw) / 58) * 145, 8, true)
            else
                Render.BoxFilled(Vector2.new(x + 50, y + 20 + ro_i * 16), Vector2.new(x + 50 + (math.abs(ts_fakeyaw) / 58) * 145, y + 30 + ro_i * 16), team_skeet:GetColor())
                Render.Box(Vector2.new(x + 50, y + 20 + ro_i * 16), Vector2.new(x + 50 + (math.abs(ts_fakeyaw) / 58) * 145, y + 30 + ro_i * 16), Color.new(team_skeet:GetColor().r, team_skeet:GetColor().g, team_skeet:GetColor().b, 160/255))
            end
        end
    end
end

local calcs = {
    deg2rad = function(self, x)
        return x * (math.pi / 180.0)
    end,

    rotated_position = function(self, start, rotation, distance)
        local rad = self:deg2rad(rotation)
        local new_start = Vector.new(start.x, start.y, start.z)
        new_start.x = new_start.x + math.cos(rad) * distance
        new_start.y = new_start.y + math.sin(rad) * distance

        return new_start
    end
}

local function indicators()
    if not live_state() then return end

    local get_screen = EngineClient:GetScreenSize()
    local x = get_screen.x / 2
    local y = get_screen.y / 2
    local arrows_size = 17
    local text_inds = 10
    local text_title = 16
    local ind_dst = 0
    local size_ideal = 12
    local ind_spr = 8

    local charge = Exploits.GetCharge()
    local dmg_value = menu.Min_Damage:GetInt()
    local main_color = ColorOne:GetColor()
    local accent_color = ColorTwo:GetColor()

    local local_player = EngineClient.GetLocalPlayer()
    local player = EntityList.GetClientEntity(local_player)

    local baim_color = Color.new(0.3, 0.3, 0.3, 1)
    local sp_color = Color.new(0.3, 0.3, 0.3, 1)
    local freestanding_color = Color.new(0.3, 0.3, 0.3, 1)
    local hs_color = Color.new(0.3, 0.3, 0.3, 1)

    if (menu.Body_Aim:GetInt() > 0) then
        baim_color = main_color
    end
   
    if (menu.Safe_Points:GetInt() > 0) then
        sp_color = main_color
    end
   
    if (menu.Yaw_Base:GetInt() == 5) then
        freestanding_color = main_color
    end

    if menu.Hide_Shots:Get() then
        hs_color = Color.new(1, 1, 1, 1)
    end

    local real = AntiAim.GetCurrentRealRotation()
    local fake = AntiAim.GetFakeRotation()
    local max_dsy = AntiAim.GetMaxDesyncDelta()
    local min_dsy = AntiAim.GetMinDesyncDelta()
    local delta = real - fake

    if (delta > max_dsy) then
        delta = max_dsy
    elseif (delta < min_dsy) then
        delta = min_dsy
    end

    local inAir = bit.band(player:GetProp("m_fFlags"), 1) ~= 1 or bit.band(bit.lshift(1, 1)) == 1
    local inverted = AntiAim.GetInverterState()
    local fakeyaw_text = "-"
    if inverted then
        fakeyaw_text = "L"
    else
        fakeyaw_text = "R"
    end

    local acatel_style_2 = "-"
    if inverted then
        acatel_style_2 = "LEFT"
    else
        acatel_style_2 = "RIGHT"
    end

    r = main_color.r
    g = main_color.g
    b =    main_color.b
    r2 = accent_color.r
    g2 = accent_color.g
    b2 = accent_color.b
    a = (math.floor(math.sin(GlobalVars.curtime * 2) * 220 + 221)) / 1000 * 6.92

    local pulse = Color.new(r2, g2, b2, a)
    local puls = Color.new(r, g, b, 0)
    local desyncdelta = math.min(math.abs(AntiAim.GetCurrentRealRotation() - AntiAim.GetFakeRotation()) / 2, 58)

    local center = get_screen / Vector2.new(2, 2)

    local viewangles = EngineClient:GetViewAngles()
    local radio = 45
    local get_origin = player:GetRenderOrigin()
   
    local real_screen = Render.ScreenPosition(calcs:rotated_position(get_origin, real, 50))
    local fake_screen = Render.ScreenPosition(calcs:rotated_position(get_origin, fake, 50))
   
    local real_rotation = calcs:deg2rad(viewangles.yaw - AntiAim.GetCurrentRealRotation() - 90);
    local fake_rotation = calcs:deg2rad(viewangles.yaw - AntiAim.GetFakeRotation() - 90);

    local left_color = main_color
    local right_color = accent_color

    if v_indicator:GetInt() == 1 then
        iy_offset = 0
        iy_height = 20
   
        iy_offset = iy_offset + 1
        Render.Text("IDEALYAW", Vector2.new(screen_size.x / 2 + 1, screen_size.y / 2 + iy_height + 1 + iy_offset * 12), Color.new(0, 0, 0, 1), 11)
        Render.Text("IDEALYAW", Vector2.new(screen_size.x / 2, screen_size.y / 2 + iy_height + iy_offset * 12), Color.new(193 / 255, 130 / 255, 64 / 255, 1), 11)
   
        iy_offset = iy_offset + 1
        Render.Text("FAKEYAW", Vector2.new(screen_size.x / 2 + 1, screen_size.y / 2 + iy_height + 1 + iy_offset * 12), Color.new(0, 0, 0, 1), 11)
        Render.Text("FAKEYAW", Vector2.new(screen_size.x / 2, screen_size.y / 2 + iy_height + iy_offset * 12), Color.new(172 / 255, 117 / 255, 190 / 255, 1), 11)
   
        if menu.Double_Tap:GetBool() then
            iy_offset = iy_offset + 1
            Render.Text("DT", Vector2.new(screen_size.x / 2 + 1, screen_size.y / 2 + iy_height + 1 + iy_offset * 12), Color.new(0, 0, 0, 1), 11)
            if Exploits.GetCharge() == 1 then
                Render.Text("DT", Vector2.new(screen_size.x / 2, screen_size.y / 2 + iy_height + iy_offset * 12), Color.new(77 / 255, 196 / 255, 85 / 255, 1), 11)
            else
                Render.Text("DT", Vector2.new(screen_size.x / 2, screen_size.y / 2 + iy_height + iy_offset * 12), Color.new(196 / 255, 77 / 255, 77 / 255, 1), 11)
            end
        end
   
        if menu.Hide_Shots:GetBool() then
            iy_offset = iy_offset + 1
            Render.Text("AA", Vector2.new(screen_size.x / 2 + 1, screen_size.y / 2 + iy_height + 1 + iy_offset * 12), Color.new(0, 0, 0, 1), 11)
            Render.Text("AA", Vector2.new(screen_size.x / 2, screen_size.y / 2 + iy_height + iy_offset * 12), Color.new(77 / 255, 148 / 255, 196 / 255, 1), 11)
        end
    elseif v_indicator:GetInt() == 2 then
        if pred_iction:Get(1) then
            if inverted then
                new_predi = main_color
                new_ction = accent_color
            else
                new_predi = accent_color
                new_ction = main_color
            end

            render_text(pred_left:Get(), Vector2.new(x, y + 20), new_predi, 11, fonts.Verdana_Bold, false, 0)
            render_text(pred_right:Get() .. "°", Vector2.new(x, y + 20), new_ction, 11, fonts.Verdana_Bold, false, 2)
        end

        if pred_iction:Get(2) then
            render_text("w", Vector2.new(x - 60, y - 10), main_color, arrows_size, fonts.Acta_Symbols, false, 0)
            render_text("x", Vector2.new(x + 60, y - 10), main_color, arrows_size, fonts.Acta_Symbols, false, 0)
        end

        if pred_iction:Get(3) then
            local aa_status = "DYNAMIC-"

            if inAir then
                aa_status = "AEROBIC^"
            elseif player:GetProp("m_flDuckAmount") > 0.8 then
                aa_status = "TANK"
            else
                aa_status = "DYNAMIC-"
            end

            render_text(aa_status, Vector2.new(x, y + 30 + ind_dst), accent_color, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end

        if pred_iction:Get(4) then
            if (charge <= 0) then dt_state = Color.RGBA(255, 0, 0, 255) else dt_state = accent_color end

            if menu.Double_Tap:GetBool() then
                pred_iction_dt_col = accent_color
            else
                pred_iction_dt_col = main_color
            end

            render_text("DT", Vector2.new(x, y + 30 + ind_dst), pred_iction_dt_col, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end

        if pred_iction:Get(5) then
            if menu.Hide_Shots:GetBool() then
                pred_iction_hs_col = accent_color
            else
                pred_iction_hs_col = main_color
            end

            render_text("OS-AA", Vector2.new(x, y + 30 + ind_dst), pred_iction_hs_col, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end

        if pred_iction:Get(6) then
            if menu.Auto_Peek:GetBool() then
                pred_iction_ap_col = accent_color
            else
                pred_iction_ap_col = main_color
            end

            render_text("QUICKPEEK", Vector2.new(x, y + 30 + ind_dst), pred_iction_ap_col, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end

        if pred_iction:Get(7) then
            if menu.Yaw_Base:GetInt() == 5 then
                pred_iction_fs_col = accent_color
            else
                pred_iction_fs_col = main_color
            end

            render_text("FREESTANDING", Vector2.new(x, y + 30 + ind_dst), pred_iction_fs_col, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end

        if pred_iction:Get(8) then
            if menu.Body_Aim:GetInt() > 0 then
                pred_iction_b_col = accent_color
            else
                pred_iction_b_col = main_color
            end

            render_text("BAIM", Vector2.new(x, y + 30 + ind_dst), pred_iction_b_col, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end

        if pred_iction:Get(9) then
            if menu.Safe_Points:GetInt() > 0 then
                pred_iction_s_col = accent_color
            else
                pred_iction_s_col = main_color
            end

            render_text("SAFE", Vector2.new(x, y + 30 + ind_dst), pred_iction_s_col, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end
    elseif v_indicator:GetInt() == 3 then
        render_text(acatel_text:Get(), Vector2.new(x, y + 30), main_color, text_inds, fonts.Smallest_Pixel, true, 2)
        render_text(acatel_version:Get(), Vector2.new(x + Render.CalcTextSize(acatel_text:Get(), text_inds, fonts.Smallest_Pixel).x, y + 30), pulse, text_inds, fonts.Smallest_Pixel, true, 2)

        render_text("FAKE", Vector2.new(x, y + 38.5), Color.new(197/255, 198/255, 254/255, 1), text_inds, fonts.Smallest_Pixel, true, 2)
        render_text("YAW", Vector2.new(x + 21, y + 38.5), Color.new(197/255, 198/255, 254/255, 1), text_inds, fonts.Smallest_Pixel, true, 2)
        render_text(fakeyaw_text, Vector2.new(x + 39, y + 38.5), Color.new(1, 1, 1, 1), text_inds, fonts.Smallest_Pixel, true, 2)

        if menu.Double_Tap:GetBool() then
            if charge <= 0 then acatel_us_dt = Color.RGBA(255, 0, 0, 255) else acatel_us_dt = Color.RGBA(0, 255, 0, 255) end

            render_text("DT", Vector2.new(x, y + 46), acatel_us_dt, text_inds, fonts.Smallest_Pixel, true, 2)
            ind_dst = ind_dst + ind_spr
        elseif menu.Hide_Shots:GetBool() then
            render_text("ONSHOT", Vector2.new(x, y + 46), Color.RGBA(255, 194, 179, 255), text_inds, fonts.Smallest_Pixel, true, 2)
            ind_dst = ind_dst + ind_spr
        end
        render_text("BAIM", Vector2.new(x, y + 46 + ind_dst), baim_color, text_inds, fonts.Smallest_Pixel, true, 2)
        render_text("SP", Vector2.new(x + 23, y + 46 + ind_dst), sp_color, text_inds, fonts.Smallest_Pixel, true, 2)
        render_text("FS", Vector2.new(x + 35, y + 46 + ind_dst), freestanding_color, text_inds, fonts.Smallest_Pixel, true, 2)
    elseif v_indicator:GetInt() == 4 then
        local ideal_sec = Color.new(173/255, 148/255, 255/255, 1)
        local ideal_pink = Color.new(204/255, 143/255, 237/255, 1)
        local ideal_orange = Color.new(241/255, 133/255, 25/255, 1)
        local ideal_shadow = Color.new(0.5, 0.5, 0.5, 0.5)
        local idealyaw = idealyaw_text:Get()

        local ideal_aa = "DEFAULT"
        if menu.Yaw_Base:GetInt() == 6 then
            ideal_aa = "FREESTAND"
        end

        if menu.Yaw_Base:GetInt() == 2 then
            idealyaw = "FAKE YAW"

            if menu.Yaw_Base:GetInt() == 6 then
                ideal_aa = "FREESTAND"
            end

            render_text(idealyaw, Vector2.new(x , y + 31 + ind_dst), Color.new(0/255, 0/255, 0/255, 1), size_ideal, fonts.Verdana12, false, 2)
            render_text(idealyaw, Vector2.new(x, y + 30 + ind_dst), ideal_sec, size_ideal, fonts.Verdana12, false, 2)
               
            render_text(">", Vector2.new(x + 65, y - 10), ideal_pink, 25, fonts.Tahoma_Bold50, false, 1)
            render_text("<", Vector2.new(x - 65, y - 10), ideal_shadow, 25, fonts.Tahoma_Bold50, false, 1)
            render_text("V", Vector2.new(x, y + 80), ideal_shadow, 25, fonts.Tahoma_Bold50, false, 1)
               
            render_text(ideal_aa, Vector2.new(x , y + 44 + ind_dst), Color.new(0/255, 0/255, 0/255, 1), size_ideal, fonts.Verdana12, false, 2)
            render_text(ideal_aa, Vector2.new(x, y + 43 + ind_dst), Color.new(1, 0, 0, 1), size_ideal, fonts.Verdana12, false, 2)
        elseif menu.Yaw_Base:GetInt() == 3 then
            idealyaw = "FAKE YAW"
               
            if menu.Yaw_Base:GetInt() == 5 then
                ideal_aa = "FREESTAND"
            end
               
            render_text(idealyaw, Vector2.new(x , y + 31 + ind_dst), Color.new(0/255, 0/255, 0/255, 1), size_ideal, fonts.Verdana12, false, 2)
            render_text(idealyaw, Vector2.new(x, y + 30 + ind_dst), ideal_sec, size_ideal, fonts.Verdana12, false, 2)
               
            render_text("<", Vector2.new(x - 65, y - 10), ideal_pink, 25, fonts.Tahoma_Bold50, false, 1)
            render_text(">", Vector2.new(x + 65, y - 10), ideal_shadow, 25, fonts.Tahoma_Bold50, false, 1)
            render_text("V", Vector2.new(x, y + 80), ideal_shadow, 25, fonts.Tahoma_Bold50, false, 1)
               
            render_text(ideal_aa, Vector2.new(x , y + 44 + ind_dst), Color.new(0/255, 0/255, 0/255, 1), size_ideal, fonts.Verdana12, false, 2)
            render_text(ideal_aa, Vector2.new(x, y + 43 + ind_dst), Color.new(1, 0, 0, 1), size_ideal, fonts.Verdana12, false, 2)
        else
            ideal_aa = "DYNAMIC"
               
            if menu.Yaw_Base:GetInt() == 5 then
                ideal_aa = "FREESTAND"
            end
               
            render_text(idealyaw, Vector2.new(x , y + 31 + ind_dst), Color.new(0/255, 0/255, 0/255, 1), size_ideal, fonts.Verdana12, false, 2)
            render_text(idealyaw, Vector2.new(x, y + 30 + ind_dst), ideal_orange, size_ideal, fonts.Verdana12, false, 2)
               
            render_text(ideal_aa, Vector2.new(x , y + 44 + ind_dst), Color.new(0/255, 0/255, 0/255, 1), size_ideal, fonts.Verdana12, false, 2)
            render_text(ideal_aa, Vector2.new(x, y + 43 + ind_dst), ideal_pink, size_ideal, fonts.Verdana12, false, 2)
        end

        if (menu.Double_Tap:GetBool()) then
            if charge <= 0 and not menu.Fake_Duck:GetBool()then
                render_text("DT", Vector2.new(x, y + 57 + ind_dst), Color.new(0,0,0,255), size_ideal, fonts.Verdana12, false, 2)
                render_text("DT", Vector2.new(x, y + 56 + ind_dst), Color.new(255,0,0,255), size_ideal, fonts.Verdana12, false, 2)
                ind_dst = ind_dst + ind_spr
            elseif menu.Fake_Duck:GetBool() and charge <= 0 then
                render_text("DT (fakeduck)", Vector2.new(x, y + 57 + ind_dst), Color.new(0,0,0,255), size_ideal, fonts.Verdana12, false, 2)
                render_text("DT (fakeduck)", Vector2.new(x, y + 56 + ind_dst), Color.new(255,0,0,255), size_ideal, fonts.Verdana12, false, 2)
                ind_dst = ind_dst + ind_spr
            else
                render_text("DT", Vector2.new(x, y + 57 + ind_dst), Color.new(0,0,0,255), size_ideal, fonts.Verdana12, false, 2)
                render_text("DT", Vector2.new(x, y + 56 + ind_dst), Color.new(0,255,0,255), size_ideal, fonts.Verdana12, false, 2)
                ind_dst = ind_dst + ind_spr
            end
        end
       
        if menu.Hide_Shots:GetBool() and (menu.Double_Tap:GetBool()) and not menu.Fake_Duck:GetBool() then
            render_text("AA", Vector2.new(x , y + 62 + ind_dst), Color.new(0/255, 0/255, 0/255, 1), size_ideal, fonts.Verdana12, false, 2)
            render_text("AA", Vector2.new(x, y + 61 + ind_dst), ideal_pink, size_ideal, fonts.Verdana12, false, 2)
            ind_dst = ind_dst + ind_spr
        elseif menu.Hide_Shots:GetBool() and not (menu.Double_Tap:GetBool()) and not menu.Fake_Duck:GetBool() then
            render_text("AA", Vector2.new(x , y + 56 + ind_dst), Color.new(0/255, 0/255, 0/255, 1), size_ideal, fonts.Verdana12, false, 2)
            render_text("AA", Vector2.new(x, y + 55 + ind_dst), ideal_pink, size_ideal, fonts.Verdana12, false, 2)
            ind_dst = ind_dst + ind_spr
        elseif menu.Fake_Duck:GetBool() and menu.Hide_Shots:GetBool() and not menu.Double_Tap:GetBool() then
            render_text("AA (fakeduck)", Vector2.new(x , y + 56 + ind_dst), Color.new(0/255, 0/255, 0/255, 1), size_ideal, fonts.Verdana12, false, 2)
            render_text("AA (fakeduck)", Vector2.new(x, y + 55 + ind_dst), Color.new(255,0,0,255), size_ideal, fonts.Verdana12, false, 2)
            ind_dst = ind_dst + ind_sprs
        elseif menu.Fake_Duck:GetBool() and menu.Hide_Shots:GetBool() and menu.Double_Tap:GetBool() then
            render_text("AA", Vector2.new(x , y + 62 + ind_dst), Color.new(0/255, 0/255, 0/255, 1), size_ideal, fonts.Verdana12, false, 2)
            render_text("AA", Vector2.new(x, y + 61 + ind_dst), Color.new(255,0,0,255), size_ideal, fonts.Verdana12, false, 2)
            ind_dst = ind_dst + ind_spr
        end
    elseif v_indicator:GetInt() == 5 then
        local choke = ClientState.m_choked_commands
        local fl_str = string.format("FL:" .. choke)

        local aa_status = "AA:STABLE AURA"

        if inAir then
            aa_state = "AA:FLYING JESUS"
        elseif player:GetProp("m_flDuckAmount") > 0.8 then
            aa_state = "AA:CROUCHING"
        else
            aa_state = "AA:STABLE AURA"
        end

        render_text("Q", Vector2.new(x - 50, y - 10), accent_color, 22, fonts.Acta_Symbols, false, 1)
        render_text("R", Vector2.new(x + 50, y - 10), accent_color, 22, fonts.Acta_Symbols, false, 1)

        render_text(killaura_text:Get(), Vector2.new(x, y + 30), main_color, text_inds, fonts.Smallest_Pixel, true, 0)

        render_text(aa_state, Vector2.new(x, y + 38), accent_color, text_inds, fonts.Smallest_Pixel, true, 0)

        if menu.Double_Tap:GetBool() then
            if charge <= 0 then killaura_dt_text = "DT:SHIFTING" else killaura_dt_text = "DT:NERVOUS" end

            render_text(killaura_dt_text, Vector2.new(x, y + 46 + ind_dst), accent_color, text_inds, fonts.Smallest_Pixel, true, 0)
            ind_dst = ind_dst + ind_spr
        end

        render_text(fl_str, Vector2.new(x, y + 46 + ind_dst), accent_color, text_inds, fonts.Smallest_Pixel, true, 0)
    elseif v_indicator:GetInt() == 6 then
        render_text(arctict_text:Get(), Vector2.new(x, y + 32 ), main_color, text_inds, fonts.Smallest_Pixel, true, 1)

        local aa_status = "STANDING"
        if inAir then
            aa_status = "AIR"
        elseif player:GetProp("m_flDuckAmount") > 0.8 then
            aa_status = "CROUCHING"
        elseif (menu.Slow_Walk:GetBool()) then
            aa_status = "SLOWWALK"
        else
            aa_status = "STANDING"
        end
        render_text(aa_status, Vector2.new(x, y + 40), main_color, text_inds, fonts.Smallest_Pixel, true, 1)

        if menu.Double_Tap:GetBool() then
            if charge <= 0 then arctic_dt = Color.new(0.5, 0.5, 0.5, 1) else arctic_dt = accent_color end
        else
            arctic_dt = Color.new(0.5, 0.5, 0.5, 1)
        end
        render_text("DT", Vector2.new(x - 8, y + 48), arctic_dt, text_inds, fonts.Smallest_Pixel, true, 0)

        if menu.Yaw_Base:GetInt() == 5 then arctic_fs = accent_color else arctic_fs = Color.new(0.5, 0.5, 0.5, 1) end
        render_text("FS", Vector2.new(x, y + 48 + ind_dst), arctic_fs, text_inds, fonts.Smallest_Pixel, true, 1)

        if menu.Hide_Shots:GetBool() then arctic_hs = accent_color else arctic_hs = Color.new(0.5, 0.5, 0.5, 1) end
        render_text("HS", Vector2.new(x + 8, y + 48), arctic_hs, text_inds, fonts.Smallest_Pixel, true, 2)
    elseif v_indicator:GetInt() == 7 then
        if (inverted) then
            invictus_a1 = Color.new(0.3, 0.3, 0.3, 1)
            invictus_a2 = main_color
        else
            invictus_a1 = main_color
            invictus_a2 = Color.new(0.3, 0.3, 0.3, 1)
        end

        render_text("<", Vector2.new(x - 50, y - 10), invictus_a1, 20, fonts.Tahoma_Bold, false, 1)
        render_text(">", Vector2.new(x + 50, y - 10), invictus_a1, 20, fonts.Tahoma_Bold, false, 1)

        render_text(invictus_text:Get(), Vector2.new(x + 1, y + 33 ), Color.new(0, 0, 0, 1), 12, fonts.Verdana12, false, 1)
        render_text(invictus_text:Get(), Vector2.new(x, y + 32 ), main_color, 12, fonts.Verdana12, false, 1)
        Render.GradientBoxFilled(Vector2.new(x, y + 47), Vector2.new(x+(math.abs(desyncdelta*58/60)),y + 49), main_color, puls, main_color, puls)
        Render.GradientBoxFilled(Vector2.new(x, y + 47), Vector2.new(x+(-math.abs(desyncdelta*58/60)),y + 49), main_color, puls, main_color, puls)
    elseif v_indicator:GetInt() == 8 then
        ind_spr = 10

        if pred_old:Get(1) then
            if inverted then
                old_predi = main_color
                old_ction = accent_color
            else
                old_predi = accent_color
                old_ction = main_color
            end

            render_text(old_pred_left:Get(), Vector2.new(x, y + 50), old_predi, 11, fonts.Verdana_Bold, false, 0)
            render_text(old_pred_right:Get() .. "°", Vector2.new(x, y + 50), old_ction, 11, fonts.Verdana_Bold, false, 2)
        end

        if pred_old:Get(2) then
            if inverted then
                left_color = main_color
                right_color = accent_color
            end

            Render.PolyFilled(left_color,
                Vector2.new(center.x + math.cos(real_rotation) * radio,
                            center.y + math.sin(real_rotation) * radio),
                Vector2.new(center.x + math.cos(real_rotation + calcs:deg2rad(20)) * (radio - 15),
                            center.y + math.sin(real_rotation + calcs:deg2rad(20)) * (radio - 15)),
                Vector2.new(center.x + math.cos(real_rotation) * (radio - 13),
                            center.y + math.sin(real_rotation) * (radio - 13))
            )

            Render.PolyFilled(right_color,
                Vector2.new(center.x + math.cos(real_rotation) * radio,
                            center.y + math.sin(real_rotation) * radio),
                Vector2.new(center.x + math.cos(real_rotation - calcs:deg2rad(20)) * (radio - 15),
                            center.y + math.sin(real_rotation - calcs:deg2rad(20)) * (radio - 15)),
                Vector2.new(center.x + math.cos(real_rotation) * (radio - 13),
                            center.y + math.sin(real_rotation) * (radio - 13))
            )
        end

        if pred_old:Get(3) then
            if charge <= 0 then dt_state = Color.RGBA(255, 0, 0, 255) else dt_state = accent_color end
            if menu.Double_Tap:GetBool() then old_pred_dt = accent_color else old_pred_dt = main_color end

            render_text("DT", Vector2.new(x, y + 66 + ind_dst), old_pred_dt, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end

        if pred_old:Get(4) then
            if menu.Hide_Shots:GetBool() then old_pred_hs = accent_color else old_pred_hs = main_color end

            render_text("OS-AA", Vector2.new(x, y + 66 + ind_dst), old_pred_hs, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end

        if pred_old:Get(5) then
            if menu.Body_Aim:GetInt() > 0 then old_pred_b = accent_color else old_pred_b = main_color end

            render_text("BAIM", Vector2.new(x, y + 66 + ind_dst), old_pred_b, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end

        if pred_old:Get(6) then
            if menu.Safe_Points:GetInt() > 0 then old_pred_s = accent_color else old_pred_s = main_color end

            render_text("SAFE", Vector2.new(x, y + 66 + ind_dst), old_pred_s, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end

        if pred_old:Get(7) then
            if menu.Yaw_Base:GetInt() == 5 then old_pred_fs = accent_color else old_pred_fs = main_color end

            render_text("FREESTAND", Vector2.new(x, y + 66 + ind_dst), old_pred_fs, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end

        if pred_old:Get(8) then
            if menu.Auto_Peek:GetBool() then old_pred_ap = accent_color else old_pred_ap = main_color end

            render_text("QUICKPEEK", Vector2.new(x, y + 66 + ind_dst), old_pred_ap, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end
    elseif v_indicator:GetInt() == 9 then
        if menu.Yaw_Base:GetInt() == 2 then
            Render.PolyFilled(Color.new(0, 0, 0, 100/255), Vector2.new(screen_size.x / 2 + 70, screen_size.y / 2 - 10), Vector2.new(screen_size.x / 2 + 70 + 20, screen_size.y / 2), Vector2.new(screen_size.x / 2 + 70, screen_size.y / 2 + 10))
        elseif menu.Yaw_Base:GetInt() == 3 then
            Render.PolyFilled(Color.new(0, 0, 0, 100/255), Vector2.new(screen_size.x / 2 - 70, screen_size.y / 2 - 10), Vector2.new(screen_size.x / 2 - 70 - 20, screen_size.y / 2), Vector2.new(screen_size.x / 2 - 70, screen_size.y / 2 + 10))
        end

        Render.Text("aim", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("aim sense", 12, fonts.anti).x / 4 - Render.CalcTextSize("sense", 12, fonts.aim).x / 2 - 1, screen_size.y / 2 + 15 + 1), Color.new(0, 0, 0, 0.392156862745098), 12, fonts.anti)
        Render.Text("sense", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("aim sense", 12, fonts.anti).x / 4 + Render.CalcTextSize("aim", 12, fonts.anti).x / 2 - 1, screen_size.y / 2 + 15 + 1), Color.new(0, 0, 0, 0.392156862745098), 12, fonts.aim)
        Render.Circle(Vector2.new(screen_size.x / 2 - Render.CalcTextSize("aim sense", 12, fonts.anti).x / 4 + Render.CalcTextSize("aim sense", 12, fonts.anti).x / 2 + 15 - 1, screen_size.y / 2 + 15 + 1), 2.0, 30, Color.new(0, 0, 0, 0.392156862745098))

        if get_desync() > 0 then  
            Render.Text("aim", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("aim sense", 12, fonts.anti).x / 4 - Render.CalcTextSize("sense", 12, fonts.aim).x / 2, screen_size.y / 2 + 15), Color.new(ColorOne:GetColor().r, ColorOne:GetColor().g, ColorOne:GetColor().b, 1), 12, fonts.anti)
            Render.Text("sense", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("aim sense", 12, fonts.anti).x / 4 + Render.CalcTextSize("aim", 12, fonts.anti).x / 2, screen_size.y / 2 + 15), Color.new(1, 1, 1, 1), 12, fonts.aim)
        else
            Render.Text("aim", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("aim sense", 12, fonts.anti).x / 4 - Render.CalcTextSize("sense", 12, fonts.aim).x / 2, screen_size.y / 2 + 15), Color.new(1, 1, 1, 1), 12, fonts.anti)
            Render.Text("sense", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("aim sense", 12, fonts.anti).x / 4 + Render.CalcTextSize("aim", 12, fonts.anti).x / 2, screen_size.y / 2 + 15), Color.new(ColorOne:GetColor().r, ColorOne:GetColor().g, ColorOne:GetColor().b, 1), 12, fonts.aim)
        end
        Render.Circle(Vector2.new(screen_size.x / 2 - Render.CalcTextSize("aim sense", 12, fonts.anti).x / 4 + Render.CalcTextSize("aim sense", 12, fonts.anti).x / 2 + 15, screen_size.y / 2 + 15), 2.0, 30, Color.new(1, 1, 1, 1))

        index = 45

        side_color = Color.new(ColorOne:GetColor().r, ColorOne:GetColor().g, ColorOne:GetColor().b, 1)
        inside_color = Color.new(1, 1, 1, 70/255)

        if math.floor(get_desync()) > 0 then
            Render.GradientBoxFilled(Vector2.new(screen_size.x / 2 - math.abs(get_desync() * 58 / 100), screen_size.y / 2 + 6 + index / 2), Vector2.new(screen_size.x / 2 + math.abs(get_desync() * 58 / 100), screen_size.y / 2 + 6 + index / 2 + 2), side_color, inside_color, side_color, inside_color)
        else
            Render.GradientBoxFilled(Vector2.new(screen_size.x / 2 - math.abs(get_desync() * 58 / 100), screen_size.y / 2 + 6 + index / 2), Vector2.new(screen_size.x / 2 + math.abs(get_desync() * 58 / 100), screen_size.y / 2 + 6 + index / 2 + 2), inside_color, side_color, inside_color, side_color)
        end
        Render.Box(Vector2.new(screen_size.x / 2 - math.abs(get_desync() * 58 / 100) - 1, screen_size.y / 2 + 6 + index / 2 - 1), Vector2.new(screen_size.x / 2 + math.abs(get_desync() * 58 / 100) + 1, screen_size.y / 2 + 6 + index / 2 + 3), Color.new(0, 0, 0, 50/255))

        if Cheat.IsKeyDown(0x45) then
            string = "60*"
        elseif getState() == 1 then
            string = "in air"
        elseif menu.Fake_Duck:GetBool() then
            string = "fake crouch"
        elseif getState() == 2 then
            string = "crouch"
        elseif getState() == 3 then
            string = "slow walk"
        elseif getState() == 4 then
            string = "move"
        elseif getState() == 0 then
            string = "stand"
        end

        Render.Text(string, Vector2.new(screen_size.x / 2, screen_size.y / 2 + index - 6), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, true)

        if menu.Double_Tap:GetBool() and menu.Auto_Peek:GetBool() then
            Render.Text("IDEAL TICK " .. Clamp(math.floor(Exploits.GetCharge() * 100), 0, 100).. "x", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("IDEAL TICK " .. math.floor(Exploits.GetCharge()) * 100 .. "x", 10, fonts.Smallest_Pixel).x / 2, screen_size.y / 2 + index), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, false)
            return
        end

        if menu.Double_Tap:GetBool() then
            Render.Text("DT", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("DT FS", 10, fonts.Smallest_Pixel).x, screen_size.y / 2 + index), Color.new(1, 0, 0, 1), 10, fonts.Smallest_Pixel, true, false)
            Render.Text("DT", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("DT FS", 10, fonts.Smallest_Pixel).x, screen_size.y / 2 + index), Color.new(1, 1, 1, Exploits.GetCharge()), 10, fonts.Smallest_Pixel, true, false)
        else
            Render.Text("DT", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("DT FS", 10, fonts.Smallest_Pixel).x, screen_size.y / 2 + index), Color.new(1, 1, 1, 70/255), 10, fonts.Smallest_Pixel, true, false)
        end

        if menu.Yaw_Base:GetInt() == 5 then
            Render.Text("FS", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("FS", 10, fonts.Smallest_Pixel).x / 2, screen_size.y / 2 + index), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, false)
        else
            Render.Text("FS", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("FS", 10, fonts.Smallest_Pixel).x / 2, screen_size.y / 2 + index), Color.new(1, 1, 1, 70/255), 10, fonts.Smallest_Pixel, true, false)
        end

        if menu.Hide_Shots:GetBool() then
            Render.Text("HS", Vector2.new(screen_size.x / 2 + Render.CalcTextSize("FS HS", 10, fonts.Smallest_Pixel).x / 2, screen_size.y / 2 + index), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, false)
        else
            Render.Text("HS", Vector2.new(screen_size.x / 2 + Render.CalcTextSize("FS HS", 10, fonts.Smallest_Pixel).x / 2, screen_size.y / 2 + index), Color.new(1, 1, 1, 70/255), 10, fonts.Smallest_Pixel, true, false)
        end
    elseif v_indicator:GetInt() == 10 then
        render_text(modern_acatel_text:Get(), Vector2.new(x, y + 30), Color.new(1, 1, 1, 1), text_inds, fonts.Smallest_Pixel, true, 2)
        render_text(modern_acatel_version:Get(), Vector2.new(x + Render.CalcTextSize(modern_acatel_text:Get(), text_inds, fonts.Smallest_Pixel).x, y + 30), Color.new(r, g, b, a), text_inds, fonts.Smallest_Pixel, true, 2)
               
        render_text("SMART:", Vector2.new(x, y + 38.5), Color.RGBA(220, 91, 97, 255), text_inds, fonts.Smallest_Pixel, true, 2)
        render_text(acatel_style_2, Vector2.new(x + 29, y + 38.5), Color.RGBA(138, 137, 204, 255), text_inds, fonts.Smallest_Pixel, true, 2)
               
        if menu.Double_Tap:GetBool() then
            if charge <= 0 then dt_color = Color.RGBA(255, 0, 0, 255) else dt_color = Color.RGBA(0, 255, 0, 255) end
        else
            dt_color = Color.new(0.3, 0.3, 0.3, 1)
        end

        render_text("DT", Vector2.new(x, y + 46 + ind_dst), dt_color, text_inds, fonts.Smallest_Pixel, true, 2)
        render_text("HS", Vector2.new(x + 11, y + 46 + ind_dst), hs_color, text_inds, fonts.Smallest_Pixel, true, 2)
        render_text("FS", Vector2.new(x + 23, y + 46 + ind_dst), freestanding_color, text_inds, fonts.Smallest_Pixel, true, 2)
        render_text("M:B", Vector2.new(x + 35, y + 46 + ind_dst), Color.new(1,1,1,1), text_inds, fonts.Smallest_Pixel, true, 2)
    end
end

local function infobar()
    ib_offset = 0
    if not live_state() then return end

    velocity = math.floor(EntityList.GetLocalPlayer():GetProp("m_vecVelocity"):Length2D())
    ping = math.floor(EngineClient.GetNetChannelInfo():GetAvgLatency(0) * 1000)
    tick = math.floor(1 / GlobalVars.interval_per_tick)
    fps = math.floor(1 / GlobalVars.frametime)

    ib_height = 26
    ib_weight = 200
    ib_i = 80

    ib_col1 = Color.new(ib_color:GetColor().r, ib_color:GetColor().g, ib_color:GetColor().b, 0)
    ib_col2 = ib_color:GetColor()

    ib_up1 = Color.new(ib_color:GetColor().r, ib_color:GetColor().g, ib_color:GetColor().b, 0)
    ib_up2 = ib_color:GetColor()

    infbr_font = fonts.Verdana13
    infbr_size = 13

    Render.GradientBoxFilled(Vector2.new(screen_size.x / 2 - ib_weight, screen_size.y), Vector2.new(screen_size.x / 2, screen_size.y - ib_height), ib_col1, ib_col2, ib_col1, ib_col2)
    Render.GradientBoxFilled(Vector2.new(screen_size.x / 2 + ib_weight, screen_size.y), Vector2.new(screen_size.x / 2, screen_size.y - ib_height), ib_col1, ib_col2, ib_col1, ib_col2)

    if info_bar:Get(1) then
        ib_offset = ib_offset + 1
        render_text(ping .. " ", Vector2.new(screen_size.x / 2 - ib_weight + 1 + ib_offset * ib_i, screen_size.y - 7 - ib_height / 2), Color.new(0, 0, 0, 1), infbr_size, infbr_font, false, 0)
        render_text(ping .. " ", Vector2.new(screen_size.x / 2 - ib_weight + ib_offset * ib_i, screen_size.y - 8 - ib_height / 2), Color.new(Clamp(ping, 150, 255)/255, 200/255, 60/255, 1), infbr_size, infbr_font, false, 0)
        Render.Text("PING", Vector2.new(screen_size.x / 2 - ib_weight + ib_offset * ib_i, screen_size.y - 6 - ib_height / 2), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, false)
    end

    if info_bar:Get(2) then
        ib_offset = ib_offset + 1
        render_text(fps .. " ", Vector2.new(screen_size.x / 2 - ib_weight + 1 + ib_offset * ib_i, screen_size.y - 7 - ib_height / 2), Color.new(0, 0, 0, 1), infbr_size, infbr_font, false, 0)
        render_text(fps .. " ", Vector2.new(screen_size.x / 2 - ib_weight + ib_offset * ib_i, screen_size.y - 8 - ib_height / 2), Color.new(Clamp(fps, 255, 150)/255, 200/255, 60/255, 1), infbr_size, infbr_font, false, 0)
        Render.Text("FPS", Vector2.new(screen_size.x / 2 - ib_weight + ib_offset * ib_i, screen_size.y - 6 - ib_height / 2), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, false)
    end

    if info_bar:Get(3) then
        ib_offset = ib_offset + 1
        render_text(tick .. " ", Vector2.new(screen_size.x / 2 - ib_weight + 1 + ib_offset * ib_i, screen_size.y - 7 - ib_height / 2), Color.new(0, 0, 0, 1), infbr_size, infbr_font, false, 0)
        render_text(tick .. " ", Vector2.new(screen_size.x / 2 - ib_weight + ib_offset * ib_i, screen_size.y - 8 - ib_height / 2), Color.new(150/255, 200/255, 60/255, 1), infbr_size, infbr_font, false, 0)
        Render.Text("TICK", Vector2.new(screen_size.x / 2 - ib_weight + ib_offset * ib_i, screen_size.y - 6 - ib_height / 2), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, false)
    end

    if info_bar:Get(4) then
        ib_offset = ib_offset + 1
        render_text(velocity .. " ", Vector2.new(screen_size.x / 2 - ib_weight + 1 + ib_offset * ib_i, screen_size.y - 7 - ib_height / 2), Color.new(0, 0, 0, 1), infbr_size, infbr_font, false, 0)
        render_text(velocity .. " ", Vector2.new(screen_size.x / 2 - ib_weight + ib_offset * ib_i, screen_size.y - 8 - ib_height / 2), Color.new(Clamp(velocity, 255, 150)/255, 200/255, 60/255, 1), infbr_size, infbr_font, false, 0)
        Render.Text("SPEED", Vector2.new(screen_size.x / 2 - ib_weight + ib_offset * ib_i, screen_size.y - 6 - ib_height / 2), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, false)
    end
end

local function play_hitsound(event)
    if EntityList.GetLocalPlayer() ~= EntityList.GetPlayerForUserID(event:GetInt("attacker", 0)) then return end

    if custom_hitsound:Get(3) and event:GetName() == "player_hurt" and event:GetInt("hitgroup", 0) == 1 then -- head
        if hitsound.head:Get() == "" then EngineClient.ExecuteClientCmd("play buttons/arena_switch_press_02") else EngineClient.ExecuteClientCmd("play " .. hitsound.head:Get()) end
    elseif custom_hitsound:Get(2) and event:GetName() == "player_death" then -- kill
        if hitsound.kill:Get() == "" then EngineClient.ExecuteClientCmd("play buttons/arena_switch_press_02") else EngineClient.ExecuteClientCmd("play " .. hitsound.kill:Get()) end
    elseif custom_hitsound:Get(1) and event:GetName() == "player_hurt" then -- hit
        if hitsound.hit:Get() == "" then EngineClient.ExecuteClientCmd("play buttons/arena_switch_press_02") else EngineClient.ExecuteClientCmd("play " .. hitsound.hit:Get()) end
    end
end

local function shot_sound(shot)
    if not custom_hitsound:Get(4) then return end -- shot
    if shot.reason == 0 then return end
    if hitsound.shot:Get() == "" then EngineClient.ExecuteClientCmd("play buttons/arena_switch_press_02") else EngineClient.ExecuteClientCmd("play " .. hitsound.shot:Get()) end
end

local function damageindicator()
    if not live_state() then return end

    if v_damageindicator:Get() == 1 then
        vector = Vector2.new(screen_size.x / 2 + 5, screen_size.y / 2 + 5)
    elseif v_damageindicator:Get() == 2 then
        vector = Vector2.new(screen_size.x / 2 - 30, screen_size.y / 2 - 30)
    elseif v_damageindicator:Get() == 3 then
        vector = Vector2.new(screen_size.x / 2, screen_size.y / 2 - 30)
    elseif v_damageindicator:Get() == 4 then
        vector = Vector2.new(screen_size.x / 2 + 30, screen_size.y / 2 - 30)
    end

    if v_dmg_options:GetBool() then
        if v_dmg_font:Get() == 0 then
            Render.Text(menu.Min_Damage:GetInt() .. "", vector, v_damageindicator:GetColor(), 10, fonts.Smallest_Pixel, true, false)
        elseif v_dmg_font:Get() == 1 then
            Render.Text(menu.Min_Damage:GetInt() .. "", Vector2.new(vector.x + 1, vector.y + 1), Color.new(0, 0, 0, v_damageindicator:GetColor().a), 10, fonts.Verdana, false, false)
            Render.Text(menu.Min_Damage:GetInt() .. "", vector, v_damageindicator:GetColor(), 10, fonts.Verdana, false, false)
        end
    else
        if not Minimum_Damage == true then return end

        if v_dmg_font:Get() == 0 then
            Render.Text(Minimum_Damage_override .. "", vector, v_damageindicator:GetColor(), 10, fonts.Smallest_Pixel, true, false)
        elseif v_dmg_font:Get() == 1 then
            Render.Text(Minimum_Damage_override .. "", Vector2.new(vector.x + 1, vector.y + 1), Color.new(0, 0, 0, v_damageindicator:GetColor().a), 10, fonts.Verdana, false, false)
            Render.Text(Minimum_Damage_override .. "", vector, v_damageindicator:GetColor(), 10, fonts.Verdana, false, false)
        end
    end
end

local function shadow_Text(text, x, y, color)
    text_size = Render.CalcTextSize(text, 24, fonts.Calibri)
    w = 25
    Render.GradientBoxFilled(Vector2.new(x, y), Vector2.new(x + text_size.x / 2, y + w), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.2156862745098039), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.2156862745098039))
    Render.GradientBoxFilled(Vector2.new(x + text_size.x / 2, y), Vector2.new(x + ((text_size.x / 2) * 2), y + w), Color.new(0, 0, 0, 0.2156862745098039), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.2156862745098039), Color.new(0, 0, 0, 0))
    Render.Text(text, Vector2.new(x + 5, y + 2), color, 24, fonts.Calibri)
end

local function skeet_indicators()
    si_offset = 0
    si_height = 35

    is_y = screen_size.y/1.48 - 5

    if not live_state(true) then return end

    if si_settings:Get(1) and live_state() then
        shadow_Text("FAKE    ", 5, is_y + si_offset * si_height, Color.new(Clamp((math.abs(get_desync()) / 58) * 255, 255, 150)/255, 200/255, 60/255, 1))
        Render.Circle(Vector2.new(Render.CalcTextSize("FAKE    ", 24, fonts.Calibri).x, is_y + si_offset * si_height + 12), 7, 32, Color.new(0, 0, 0, 100 / 255), 4, 0, 360)
        Render.Circle(Vector2.new(Render.CalcTextSize("FAKE    ", 24, fonts.Calibri).x, is_y + si_offset * si_height + 12), 7, 32, Color.new(Clamp((math.abs(get_desync()) / 58) * 255, 255, 150)/255, 200/255, 60/255, 1), 4, 0, (math.abs(get_desync()) / 58) * 360)
        si_offset = si_offset - 1
    end

    if si_settings:Get(2) and live_state() then
        shadow_Text("CHOKE    ", 5, is_y + si_offset * si_height, Color.new(Clamp((math.abs(ClientState.m_choked_commands) / 14) * 255, 255, 150)/255, 200/255, 60/255, 1))
        Render.Circle(Vector2.new(Render.CalcTextSize("CHOKE    ", 24, fonts.Calibri).x, is_y + si_offset * si_height + 12), 7, 32, Color.new(0, 0, 0, 100 / 255), 4, 0, 360)
        Render.Circle(Vector2.new(Render.CalcTextSize("CHOKE    ", 24, fonts.Calibri).x, is_y + si_offset * si_height + 12), 7, 32, Color.new(Clamp((math.abs(ClientState.m_choked_commands) / 14) * 255, 255, 150)/255, 200/255, 60/255, 1), 4, 0, (math.abs(ClientState.m_choked_commands) / 14) * 360)
        si_offset = si_offset - 1
    end

    if si_settings:Get(3) then
        if menu.Double_Tap:GetBool() then
            if Exploits.GetCharge() == 1 then shadow_Text("DT", 5, is_y + si_offset * si_height, Color.RGBA(132, 195, 16, 255)) else shadow_Text("DT", 5, is_y + si_offset * si_height, Color.RGBA(255, 0, 0, 255)) end
            si_offset = si_offset - 1
        end
    end

    if si_settings:Get(4) then
        if menu.Hide_Shots:GetBool() then
            if Exploits.GetCharge() == 1 then shadow_Text("ONSHOT", 5, is_y + si_offset * si_height, Color.RGBA(236, 236, 236, 255)) else shadow_Text("ONSHOT", 5, is_y + si_offset * si_height, Color.RGBA(255, 0, 0, 255)) end
            si_offset = si_offset - 1
        end
    end

    if si_settings:Get(5) then
        if Minimum_Damage == true or si_options:Get(1) then
            if menu.Min_Damage:GetInt() <= 0 then
                shadow_Text("Dynamic", 5, is_y + si_offset * si_height, Color.RGBA(236, 236, 236, 255))
            else
                shadow_Text(menu.Min_Damage:GetInt() .. "", 5, is_y + si_offset * si_height, Color.RGBA(236, 236, 236, 255))
            end
            si_offset = si_offset - 1
        end
    end

    if si_settings:Get(6) then
        if Hit_Chance == true or si_options:Get(2) then
            if menu.Hc_Value:GetInt() <= 0 then
                shadow_Text("Dynamic", 5, is_y + si_offset * si_height, Color.RGBA(255, 135, 55, 255))
            else
                shadow_Text(menu.Hc_Value:GetInt() .. "", 5, is_y + si_offset * si_height, Color.RGBA(255, 135, 55, 255))
            end
            si_offset = si_offset - 1
        end
    end

    if si_settings:Get(7) then
        if menu.Yaw_Base:GetInt() == 5 then
            shadow_Text("FS", 5, is_y + si_offset * si_height, Color.RGBA(132, 195, 16, 255))
            si_offset = si_offset - 1
        end
    end

    if si_settings:Get(8) then
        if menu.Fake_Duck:GetBool() then
            shadow_Text("DUCK", 5, is_y + si_offset * si_height, Color.RGBA(236, 236, 236, 255))
            si_offset = si_offset - 1
        end
    end

    if si_settings:Get(9) then
        if menu.Body_Aim:GetInt() >= 1 then
            shadow_Text("BODY", 5, is_y + si_offset * si_height, Color.RGBA(132, 195, 16, 255))
            si_offset = si_offset - 1
        end
    end

    if si_settings:Get(10) then
        if menu.Safe_Points:GetInt() >= 1 then
            shadow_Text("SAFE", 5, is_y + si_offset * si_height, Color.RGBA(132, 195, 16, 255))
            si_offset = si_offset - 1
        end
    end

    if si_settings:Get(11) then
        if Dormant_Aimbot == true then
            shadow_Text("DA", 5, is_y + si_offset * si_height, Color.RGBA(132, 195, 16, 255))
            si_offset = si_offset - 1
        end
    end

    if si_settings:Get(12) then
        if CVar.FindVar("cl_lagcompensation"):GetInt() == 0 then
            shadow_Text("AX", 5, is_y + si_offset * si_height, Color.RGBA(132, 195, 16, 255))
            si_offset = si_offset - 1
        end
    end

    if si_settings:Get(13) and live_state() then
        if bit.band(EntityList.GetLocalPlayer():GetProp("DT_BasePlayer", "m_fFlags"), bit.lshift(1, 0)) == 0 then
            shadow_Text("LC", 5, is_y + si_offset * si_height, menu.Double_Tap:GetBool() and Exploits.GetCharge() == 1 and Color.RGBA(255, 0, 0, 255) or Color.RGBA(132, 195, 16, 255))
            si_offset = si_offset - 1
        end
    end
end

local run_state = false

local function skeet_peek()
    if not live_state() then return end

    if menu.Auto_Peek:GetBool() and not run_state then
        origin = EntityList.GetLocalPlayer():GetProp("DT_BaseEntity", "m_vecOrigin")
        run_state = true
    elseif not menu.Auto_Peek:GetBool() then
        run_state = false
    end

    alpha = sa_alpha:GetInt()

    size = 25
    a_c = skeet_autopeek:GetColor()

    if run_state then
        for i = 0, 360, 5 do
            Render.Circle3DFilled(origin, 58, (i / 360) * size, Color.new(a_c.r, a_c.g, a_c.b, alpha/255), false)
        end
    end
end

ffi.cdef[[
    typedef struct {
        unsigned short wYear;
        unsigned short wMonth;
        unsigned short wDayOfWeek;
        unsigned short wDay;
        unsigned short wHour;
        unsigned short wMinute;
        unsigned short wSecond;
        unsigned short wMilliseconds;
    } SYSTEMTIME, *LPSYSTEMTIME;
   
    void GetSystemTime(LPSYSTEMTIME lpSystemTime);
    void GetLocalTime(LPSYSTEMTIME lpSystemTime);
]]

local function solusui_watermark()
    fps = math.floor(1 / GlobalVars.frametime)
    ping = math.floor(EngineClient.GetNetChannelInfo():GetAvgLatency(0) * 1000)
    server_ip = EngineClient.GetNetChannelInfo():GetAddress()
    tick = math.floor(1 / GlobalVars.interval_per_tick)

    x_Add = 6
    y_Add = 7
    x_Bor = 3
    y_Tot = 17

    local local_time = ffi.new("SYSTEMTIME")
    ffi.C.GetLocalTime(local_time)

    if su_watername:GetInt() == 1 then watermark_username = EntityList.GetLocalPlayer():GetName() else watermark_username = Cheat.GetCheatUserName() end
    watermark_text = su_cheat:Get()

    if su_watermark:Get(1) then watermark_text = watermark_text .. " | " .. watermark_username end
    if su_watermark:Get(2) then watermark_text = watermark_text .. " | " .. fps .. " fps" end
    if su_watermark:Get(3) then watermark_text = watermark_text .. " | " .. "delay: " .. ping .. "ms" end
    if su_watermark:Get(4) then watermark_text = watermark_text .. " | " .. server_ip end
    if su_watermark:Get(5) then watermark_text = watermark_text .. " | " .. tick .. "tick" end
    if su_watermark:Get(6) then watermark_text = watermark_text .. " | " .. string.format("%02d:%02d:%02d", local_time.wHour, local_time.wMinute, local_time.wSecond) end

    watermark_size = Render.CalcTextSize(watermark_text, 12, fonts.Verdana12)

    if solus_uiGradient:GetBool() then
        draw_rainbow(screen_size.x - watermark_size.x - x_Add - x_Bor, 7, watermark_size.x + x_Bor + 3, 2, false)
    else
        Render.BoxFilled(Vector2.new(screen_size.x - x_Add + x_Bor, y_Add), Vector2.new(screen_size.x - x_Add - watermark_size.x - x_Bor, y_Add + 2), Color.new(solus_uiColor:GetColor().r, solus_uiColor:GetColor().g, solus_uiColor:GetColor().b, 1))
    end
    Render.BoxFilled(Vector2.new(screen_size.x - x_Add + x_Bor, y_Add + 2), Vector2.new(screen_size.x - x_Add - watermark_size.x - x_Bor, y_Add + 2 + y_Tot), Color.new(18 / 255, 18 / 255, 18 / 255, solus_uiColor:GetColor().a))
    Render.Text(watermark_text, Vector2.new(screen_size.x - x_Add - watermark_size.x + 1, y_Add + 5), Color.new(0, 0, 0, 1), 12, fonts.Verdana12)
    Render.Text(watermark_text, Vector2.new(screen_size.x - x_Add - watermark_size.x, y_Add + 4), Color.new(1.0, 1.0, 1.0, 1.0), 12, fonts.Verdana12)
end

local su_anim = 0

local function solusui_keybinds(x, y)
    x = math.floor(x)
    y = math.floor(y)

    local su_ro = 0
    w = 170

    local function su_render_keybinds(bind)
        if not bind:IsActive() then return end

        local bind_name = bind:GetName()
        local bind_val = bind:GetValue()
        local bind_mod = bind:GetMode()

        if bind_name == "Auto Peek" then bind_name = "Quick peek assist" end
        if bind_name == "Fake Duck" then bind_name = "Duck peek assist" end

        if bind_mod == 0 then bind_mod = "Toggled" elseif bind_mod == 1 then bind_mod = "Hold" end
        --if bind_val ~= "on" then bind_mod = bind_val end

        left_render_Text = bind_name
        left_render_text_size = Render.CalcTextSize(left_render_Text, 12, fonts.Verdana12).x
        right_render_Text = "[" .. bind_mod .. "]"
        right_render_text_size = Render.CalcTextSize(right_render_Text, 12, fonts.Verdana12).x

        calc_w = 70 + left_render_text_size + right_render_text_size

        --[[if w_a > calc_w then
            if w_a > w then w_a = w_a - 5 else w_a = w end
        else
            if w_a < calc_w then w_a = w_a + 5 else w_a = calc_w end
        end]]

        su_anim = 255

        Render.Text(left_render_Text, Vector2.new(x + 3, y + 20 + 1 + (su_ro * 16)), Color.new(0, 0, 0, su_anim/255), 12, fonts.Verdana12, false)
        Render.Text(left_render_Text, Vector2.new(x + 4, y + 20 + (su_ro * 16)), Color.new(1, 1, 1, su_anim/255), 12, fonts.Verdana12, false)

        Render.Text(right_render_Text, Vector2.new(x + w - 3 - right_render_text_size, y + 20 + 1 + (su_ro * 16)), Color.new(0, 0, 0, su_anim/255), 12, fonts.Verdana12, false)
        Render.Text(right_render_Text, Vector2.new(x + w - 3 + 1 - right_render_text_size, y + 20 + (su_ro * 16)), Color.new(1, 1, 1, su_anim/255), 12, fonts.Verdana12, false)

        su_ro = su_ro + 1
    end

    local binds = Cheat.GetBinds()
    for i = 1, #binds do
        su_render_keybinds(binds[i])
    end

    if solus_uiGradient:GetBool() then
        draw_rainbow(x, y, w, 2, false)
    else
        Render.BoxFilled(Vector2.new(x, y), Vector2.new(x + w, y + 2), Color.new(solus_uiColor:GetColor().r, solus_uiColor:GetColor().g, solus_uiColor:GetColor().b, 1))
    end
    Render.BoxFilled(Vector2.new(x, y + 2), Vector2.new(x + w, y + 2 + 17), Color.new(18 / 255, 18 / 255, 18 / 255, solus_uiColor:GetColor().a))
    Render.Text("Keybinds", Vector2.new(x + w / 2 + 1, y + 11), Color.new(0, 0, 0, 1), 12, fonts.Verdana12, false, true)
    Render.Text("Keybinds", Vector2.new(x + w / 2, y + 10), Color.new(1.0, 1.0, 1.0, 1.0), 12, fonts.Verdana12, false, true)
end

local log_list = {}
local log_size = 0

local function log_register()
    log_size = log_size + 1
    for i, log in ipairs(log_list) do
        Render.Text(log.text, Vector2.new(6, 1 + i * 10), Color.new(0, 0, 0, 1), 13, fonts.Verdana13, false, false)
        Render.Text(log.text, Vector2.new(5, i * 10), log_system:GetColor(), 13, fonts.Verdana13, false, false)
        if log.time + 5 < GlobalVars.realtime then table.remove(log_list, i) end
    end
end

local hitbox = {
    [0] = "generic",
    [1] = "head",
    [2] = "chest",
    [3] = "stomach",
    [4] = "left arm",
    [5] = "right arm",
    [6] = "left leg",
    [7] = "right leg",
    [10] = "gear"
}

local miss_reason = {
    [0] = "Hit",
    [1] = "Resolver",
    [2] = "Spread",
    [3] = "Occlusion",
    [4] = "Prediction error"
}

local FindElement = ffi.cast("unsigned long(__thiscall*)(void*, const char*)", Utils.PatternScan("client.dll", "55 8B EC 53 8B 5D 08 56 57 8B F9 33 F6 39 77 28"))
local CHudChat = FindElement(ffi.cast("unsigned long**", ffi.cast("uintptr_t", Utils.PatternScan("client.dll", "B9 ? ? ? ? E8 ? ? ? ? 8B 5D 08")) + 1)[0], "CHudChat")
local FFI_ChatPrint = ffi.cast("void(__cdecl*)(int, int, int, const char*, ...)", ffi.cast("void***", CHudChat)[0][27])

local function PrintChat(text) FFI_ChatPrint(CHudChat, 0, 0, string.format("%s ", text)) end

local function Register_HitorMiss(shot)
    local hitchance = shot.hitchance
    local bt = shot.backtrack
    local hitgroup = hitbox[shot.hitgroup]
    local dmg = shot.damage
    local target_index = shot.target_index
    local target_name = EntityList.GetPlayer(target_index):GetName()
    local remaining_hp = EntityList.GetPlayer(target_index):GetProp("m_iHealth")
    local reason = miss_reason[shot.reason]
    local spread_degree = hitbox[shot.spread_degree]
    local wanted_hitgroup = shot.wanted_hitgroup
    local wanted_damage = shot.wanted_damage
    local log_text = "unk"

    if shot.reason == 0 and ls_display:Get(6) then
        log_text = string.format("[%s] Hit %s's %s for %s(%s) (%s remaining)", target_index, target_name, hitgroup, dmg, wanted_damage, remaining_hp)

        if ls_print:Get(2) then
            print("[neverlose] " .. log_text .. string.format("aimed=%s(%s) bt=%s", wanted_hitgroup, hitchance, bt))
        end
    elseif shot.reason > 0 and ls_display:Get(3) then
        log_text = string.format("[%s] Missed %s's %s(%s)(%s) due to %s bt=%s", target_index, target_name, hitgroup, dmg, hitchance, reason, bt)

        if ls_print:Get(1) then
            table.insert(log_list, {text = log_text, time = GlobalVars.realtime})
        end

        if ls_print:Get(2) then
            print("[neverlose] " .. log_text)
        end
    end
end

local function Log_player_hurt(event)
    if event:GetName() ~= "player_hurt" then return end
    if not ls_display:Get(1) then return end

    local ph_text = "unk"

    local me = EntityList.GetLocalPlayer()
    local victim = EntityList.GetPlayerForUserID(event:GetInt("userid"))
    local attacker = EntityList.GetPlayerForUserID(event:GetInt("attacker"))

    if attacker ~= me then return end
   
    local ph_name = victim:GetName()
    local ph_hp = victim:GetProp("m_iHealth")

    local weapon_name = event:GetString("weapon", "unknown")
    local is_knife = string.match(weapon_name, "knife") or weapon_name == "bayonet"

    local ph_dmg = event:GetString("dmg_health", "unknown")
    local ph_hg = hitbox[event:GetInt("hitgroup", 0)]

    if is_knife then
        ph_text = string.format("Knifed %s's %s hp remaining", ph_name, ph_hp)
    elseif weapon_name == "hegrenade" then
        ph_text = string.format("Naded %s's %s hp remaining", ph_name, ph_hp)
    elseif weapon_name == "inferno" then
        ph_text = string.format("Burned %s's %s hp remaining", ph_name, ph_hp)
    else
        log_text = string.format("[%s] Hit %s's %s for %s (%s remaining)", event:GetInt("userid"), ph_name, ph_hg, ph_dmg, ph_hp)
    end

    if ls_print:Get(1) then
        table.insert(log_list, {text = log_text, time = GlobalVars.realtime})
    end

    if ls_print:Get(2) then
        print("[neverlose] " .. log_text)
    end
end

local function log_get_hit(event)
    if event:GetName() ~= "player_hurt" then return end
    if not ls_display:Get(2) then return end

    local me = EntityList.GetLocalPlayer()
    local victim = EntityList.GetPlayerForUserID(event:GetInt("userid"))
    local attacker = EntityList.GetPlayerForUserID(event:GetInt("attacker"))

    local gh_name = attacker:GetName()
    local gh_hp = me:GetProp("m_iHealth")
    local gh_dmg = event:GetString("dmg_health", "unknown")
    local gh_hg = hitbox[event:GetInt("hitgroup", 0)]

    local gh_text = string.format("[%s] Hurt by %s Hitbox: %s for %s (%s remaining)", event:GetInt("userid"), gh_name, gh_hg, gh_dmg, gh_hp)

    if victim ~= me or attacker == me then return end

    if ls_print:Get(1) then
        table.insert(log_list, {text = gh_text, time = GlobalVars.realtime})
    end

    if ls_print:Get(2) then
        print("[neverlose] " .. gh_text)
    end
end

local function log_purchase(event)
    if event:GetName() ~= "item_purchase" then return end
    if not ls_display:Get(4) then return end

    local p_text = "unk"

    local me = EntityList.GetLocalPlayer()
    local victim = EntityList.GetPlayerForUserID(event:GetInt("userid"))
    local username = victim:GetName()
    local item = string.gsub(event:GetString("weapon", "unknown"), "weapon_", "")

    if me == victim then return end

    p_text = string.format("%s bought %s", username, item)

    if ls_print:Get(1) then
        table.insert(log_list, {text = p_text, time = GlobalVars.realtime})
    end

    if ls_print:Get(2) then
        print("[neverlose] " .. p_text)
    end
end

local function log_bomb(event)
    if not ls_display:Get(5) then return end
    if not string.match(event:GetName(), "bomb_") then return end

    local me = EntityList.GetLocalPlayer()
    local victim = EntityList.GetPlayerForUserID(event:GetInt("userid"))
    local username = victim:GetName()

    if me == victim then return end

    local b_text = "unk"

    local player_resource = EntityList.GetPlayerResource()
    local localPos = victim:GetRenderOrigin()

    local m_bombsiteCenterA = player_resource:GetProp("DT_CSPlayerResource", "m_bombsiteCenterA")
    local m_bombsiteCenterB = player_resource:GetProp("DT_CSPlayerResource", "m_bombsiteCenterB")
    local dist_to_a = localPos:DistTo(m_bombsiteCenterA)
    local dist_to_b = localPos:DistTo(m_bombsiteCenterB)

    planting_site = dist_to_a < dist_to_b and "A" or "B"

    if event:GetName() == "bomb_beginplant" then
        b_text = string.format("%s started to plant the bomb site %s", username, planting_site)
    elseif event:GetName() == "bomb_abortplant" then
        b_text = string.format("%s aborted to plant the bomb", username)
    elseif event:GetName() == "bomb_planted" then
        b_text = string.format("%s planted bomb to site %s", username, planting_site)
    elseif event:GetName() == "bomb_begindefuse" then
        b_text = string.format("%s started to defuse", username)
    elseif event:GetName() == "bomb_begindefuse" then
        b_text = string.format("%s aborted to defuse", username)
    else
        return
    end

    if ls_print:Get(1) then
        table.insert(log_list, {text = b_text, time = GlobalVars.realtime})
    end

    if ls_print:Get(2) then
        print("[neverlose] " .. b_text)
    end
end

local function log_hostage(event)
    if not ls_display:Get(6) then return end
    if not event:GetName() == "hostage_rescued" then return end

    local me = EntityList.GetLocalPlayer()
    local victim = EntityList.GetPlayerForUserID(event:GetInt("userid"))
    local username = victim:GetName()

    local h_text = string.format("%s rescued the hostage", username)

    if me == victim then return end

    if ls_print:Get(1) then
        table.insert(log_list, {text = h_text, time = GlobalVars.realtime})
    end

    if ls_print:Get(2) then
        print("[neverlose] " .. h_text)
    end
end

local hp = {
    x = 0,
    y = 0,
}

local ffi_handler = {}
local muzzle = {}

ffi.cdef[[

    typedef struct {
        float x;
        float y;
        float z;
    } vec3_struct;

    typedef void*(__thiscall* c_entity_list_get_client_entity_t)(void*, int);
    typedef void*(__thiscall* c_entity_list_get_client_entity_from_handle_t)(void*, uintptr_t);

    typedef int(__thiscall* c_weapon_get_muzzle_attachment_index_first_person_t)(void*, void*);
    typedef int(__thiscall* c_weapon_get_muzzle_attachment_index_third_person_t)(void*);
    typedef bool(__thiscall* c_entity_get_attachment_t)(void*, int, vec3_struct*);
]]

ffi_handler.bind_argument = function(fn, arg)
    return function(...)
        return fn(arg, ...)
    end
end

ffi_handler.interface_type = ffi.typeof("uintptr_t**")

ffi_handler.i_client_entity_list = ffi.cast(ffi_handler.interface_type, Utils.CreateInterface("client.dll", "VClientEntityList003"))
ffi_handler.get_client_entity = ffi_handler.bind_argument(ffi.cast("c_entity_list_get_client_entity_t", ffi_handler.i_client_entity_list[0][3]), ffi_handler.i_client_entity_list)

muzzle.pos = Vector.new(0, 0, 0)

muzzle.attachment_index = 84
muzzle.muzzle_attachment_index_1st = 468
muzzle.muzzle_attachment_index_3rd = 469

muzzle.get = function()
    if not EngineClient.IsInGame() then return end

    local me = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
    if not me or EntityList.GetLocalPlayer():GetProp("DT_BasePlayer", "m_iHealth") < 1 then return end

    local my_weapon = EntityList.GetClientEntityFromHandle(me:GetProp("DT_BaseCombatCharacter", "m_hActiveWeapon"))
    if not my_weapon then return end

    local my_address = ffi_handler.get_client_entity(me:EntIndex())
    if not my_address then return end

    local my_weapon_address = ffi_handler.get_client_entity(my_weapon:EntIndex())
    if not my_weapon_address then return end

    local viewmodel = EntityList.GetClientEntityFromHandle(me:GetProp("DT_BasePlayer", "m_hViewModel[0]"))
    if not viewmodel then return end

    local viewmodel_ent = ffi_handler.get_client_entity(viewmodel:EntIndex())
    if not viewmodel_ent then return end

    local weaponworldmodel = EntityList.GetClientEntityFromHandle(my_weapon:GetProp("DT_BaseCombatWeapon", "m_hWeaponWorldModel"))
    if not weaponworldmodel then return end

    local weaponworldmodel_ent = ffi_handler.get_client_entity(weaponworldmodel:EntIndex())
    if not weaponworldmodel_ent then return end

    local viewmodel_vtbl = ffi.cast(ffi_handler.interface_type, viewmodel_ent)[0]
    local weaponworldmodel_vtbl = ffi.cast(ffi_handler.interface_type, weaponworldmodel_ent)[0]
    local weapon_vtbl = ffi.cast(ffi_handler.interface_type, my_weapon_address)[0]

    local get_viewmodel_attachment_fn = ffi.cast("c_entity_get_attachment_t", viewmodel_vtbl[muzzle.attachment_index])
    local get_weaponworldmodel_attachment_fn = ffi.cast("c_entity_get_attachment_t", weaponworldmodel_vtbl[muzzle.attachment_index])
    local get_muzzle_attachment_index_1st_fn = ffi.cast("c_weapon_get_muzzle_attachment_index_first_person_t", weapon_vtbl[muzzle.muzzle_attachment_index_1st])
    local get_muzzle_attachment_index_3rd_fn = ffi.cast("c_weapon_get_muzzle_attachment_index_third_person_t", weapon_vtbl[muzzle.muzzle_attachment_index_3rd])

    local muzzle_attachment_index_1st = get_muzzle_attachment_index_1st_fn(my_weapon_address, viewmodel_ent)
    local muzzle_attachment_index_3rd = get_muzzle_attachment_index_3rd_fn(my_weapon_address)

    local ret = ffi.new("vec3_struct[1]")
    local is_thirdperson = menu.Third_Person

    if is_thirdperson:GetBool() then
        state = get_weaponworldmodel_attachment_fn(weaponworldmodel_ent, muzzle_attachment_index_3rd, ret)
    else
        state = get_viewmodel_attachment_fn(viewmodel_ent, muzzle_attachment_index_1st, ret)
    end

    return {state = state, pos = Vector.new(ret[0].x, ret[0].y, ret[0].z)}
end

local panel = {
    w = 170,
    h = 2,
    s = 22,
}

local panel_oc = 0
local oc_draw0 = 0
local oc_draw1 = 0
local oc_draw2 = 0
local oc_draw3 = 0
local oc_draw4 = 0

local exp_panel_color = Color.RGBA(196, 196, 196, 255)

local function draw_panel(x, y)
    hp_col1 = Color.new(holo_panel:GetColor().r, holo_panel:GetColor().g, holo_panel:GetColor().b, 1)
    hp_col2 = holo_panel:GetColor()
    w = 90

    local weapon = EntityList.GetClientEntity(EngineClient.GetLocalPlayer()):GetPlayer():GetActiveWeapon():GetWeaponID()

    weap_size = 60 --Render.CalcWeaponIconSize(weapon, 14).x
    invert_Text = "-"
    if AntiAim.GetInverterState() then invert_Text = "LEFT" else invert_Text = "Right" end

    if ClientState.m_choked_commands < panel_oc then
        oc_draw0 = oc_draw1
        oc_draw1 = oc_draw2
        oc_draw2 = oc_draw3
        oc_draw3 = oc_draw4
        oc_draw4 = panel_oc
    end
    panel_oc = ClientState.m_choked_commands

    if Exploits.GetCharge() == 1 then fl_panel_color = Color.new(Exploits.GetCharge(), 0, 0, 1) else fl_panel_color = Color.new(1, 1, 1, 1) end
    if Exploits.GetCharge() == 1 then exp_panel_color = Color.RGBA(196, 196, 196, 255) else Color.RGBA(122, 122, 122, 255) end
    if Exploits.GetCharge() == 1 then panel_exp_color = Color.new(0, 1, 0, 1) else panel_exp_color = Color.new(1, 0, 0, 1) end
    if menu.Double_Tap:GetBool() then
        panel_exp_text = "DT"
    elseif menu.Hide_Shots:GetBool() then
        panel_exp_text = "OSAA"
    else
        panel_exp_text = "INACTIVE"
        panel_exp_color = Color.new(1, 0, 0, (math.floor(math.sin(GlobalVars.curtime * 2) * 220 + 221)) / 1000 * 6.92)
    end

    if hp_settings:Get(4) then
        draw_rainbow(x, y, panel.w, 2, false)
    else
        Render.GradientBoxFilled(Vector2.new(x, y), Vector2.new(x + panel.w / 2, y + panel.h), hp_col2, hp_col1, hp_col2, hp_col1)
        Render.GradientBoxFilled(Vector2.new(x + panel.w / 2, y), Vector2.new(x + panel.w, y + panel.h), hp_col1, hp_col2, hp_col1, hp_col2)
    end

    if hp_settings:Get(3) then Render.Blur(Vector2.new(x, y + panel.h), Vector2.new(x + panel.w, y + panel.h + w), hp_blur:GetColor()) else Render.BoxFilled(Vector2.new(x, y + panel.h), Vector2.new(x + panel.w, y + panel.h + w), Color.new(0, 0, 0, hp_alpha:GetInt() / 255)) end

    Render.Text("ANTI-AIM DEBUG", Vector2.new(x + panel.w / 2, y + panel.h + 10), Color.new(1, 1, 1, 1), 11, fonts.Smallest_Pixel11, true, true)
    Render.Text(string.format("FAKE YAW: (%s) %s", invert_Text, math.floor(get_delta())), Vector2.new(x + 5, y + panel.h + 10 + (1 * 14)), Color.new(1, 1, 1, 1), 11, fonts.Smallest_Pixel11, true, false)
    Render.Text(string.format("FL DATA: %s-%s-%s-%s-%s", oc_draw0, oc_draw1, oc_draw2, oc_draw3, oc_draw4), Vector2.new(x + 5, y + panel.h + 10 + (2 * 14)), fl_panel_color, 11, fonts.Smallest_Pixel11, true, false)
    Render.Text("EXPLOIT: ", Vector2.new(x + 5, y + panel.h + 10 + (3 * 14)), exp_panel_color, 11, fonts.Smallest_Pixel11, true, false)
    if menu.Double_Tap:GetBool() or menu.Hide_Shots:GetBool() then
    Render.Text(panel_exp_text .. " %" .. Clamp(math.floor(Exploits.GetCharge() * 100), 0, 100), Vector2.new(x + 5 + Render.CalcTextSize("EXPLOIT: ", 11, fonts.Smallest_Pixel11).x, y + panel.h + 10 + (3 * 14)), panel_exp_color, 11, fonts.Smallest_Pixel11, true, false)
    else
        Render.Text(panel_exp_text, Vector2.new(x + 5 + Render.CalcTextSize("EXPLOIT: ", 11, fonts.Smallest_Pixel11).x, y + panel.h + 10 + (3 * 14)), panel_exp_color, 11, fonts.Smallest_Pixel11, true, false)
    end
    Render.WeaponIcon(weapon, Vector2.new(x + 5, y + panel.h + 10 + (4 * 14)), Color.new(1, 1, 1), 14)
    Render.Text("|", Vector2.new(x + 10 + weap_size, y + panel.h + 10 + (4 * 14)), Color.new(1, 1, 1, 1), 11, fonts.Smallest_Pixel11, true, false)
    Render.Text(menu.Hc_Value:GetInt() .. "%", Vector2.new(x + 5 + weap_size + Render.CalcTextSize(" | ", 11, fonts.Smallest_Pixel11).x, y + panel.h + 10 + (4 * 14)), Color.RGBA(196, 196, 196, 255), 11, fonts.Smallest_Pixel11, true, false)
    Render.Text(menu.Min_Damage:GetInt() .. "DMG", Vector2.new(x + 5 + weap_size + Render.CalcTextSize(" | " .. menu.Hc_Value:GetInt() .. "% ", 11, fonts.Smallest_Pixel11).x, y + panel.h + 10 + (4 * 14)), Color.RGBA(122, 122, 122, 255), 11, fonts.Smallest_Pixel11, true, false)
end

local function debug_panel()
    if not live_state() then return end

    local me = lp()
    local hitbox = me:GetHitboxCenter(3)
    local world_stand =  Render.WorldToScreen(hitbox)

    extra_x = 120
    extra_y = -150

    if hp_display:Get(1) and menu.Third_Person:GetBool() then
        if hp_settings:Get(1) and not hp_settings:Get(5) then Render.Line(Vector2.new(hp.x + extra_x, hp.y + extra_y), Vector2.new(screen_size.x / 2, world_stand.y), hp_line:GetColor()) end
        if hp_settings:Get(2) then Render.CircleFilled(Vector2.new(screen_size.x / 2, world_stand.y), hp_circle:GetInt(), 30, hp_circle:GetColor()) end
        hp.x = lerp(hp.x, world_stand.x, GlobalVars.frametime * 8)
        hp.y = lerp(hp.y, world_stand.y, GlobalVars.frametime * 8)
    end

    local function draw_fp()
        local muzzle_temp = muzzle.get()
       
        if muzzle_temp then
            muzzle.pos = muzzle_temp.pos
        end

        local pos2d = Render.WorldToScreen(muzzle.pos)

        if pos2d ~= nil then
            hp.x = lerp(hp.x, pos2d.x, GlobalVars.frametime * 8)
            hp.y = lerp(hp.y, pos2d.y, GlobalVars.frametime * 8)
            if hp_settings:Get(1) then Render.Line(Vector2.new(hp.x + extra_x, hp.y + extra_y), Vector2.new(pos2d.x, pos2d.y), hp_line:GetColor()) end
            if hp_settings:Get(2) then Render.CircleFilled(Vector2.new(pos2d.x, pos2d.y), hp_circle:GetInt(), 30, hp_circle:GetColor()) end
            draw_panel(hp.x + extra_x, hp.y + extra_y)
        end
    end

    local entity = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
    local player = entity:GetPlayer()
    local weap = player:GetActiveWeapon()

    if hp.y > screen_size.y then hp.y = screen_size.y - 200 end
    if hp.x > screen_size.x then hp.x = screen_size.x - 170 end

    if hp_display:Get(1) and menu.Third_Person:GetBool() then
        if hp_settings:Get(5) then
            draw_fp()
        else
            draw_panel(hp.x + extra_x, hp.y + extra_y)
        end
    elseif hp_display:Get(2) and not menu.Third_Person:GetBool() and not EntityList.GetLocalPlayer():GetProp("m_bIsScoped") then
        if weap:IsKnife() or weap:IsGrenade() then return end
        draw_fp()
    elseif hp_display:Get(3) and not menu.Third_Person:GetBool() and EntityList.GetLocalPlayer():GetProp("m_bIsScoped") then
        if weap:IsKnife() or weap:IsGrenade() then return end
        draw_fp()
    end
end

local ts = false
local ts_x = 5
local ts_y = 500
local ts_ = false
local ts_x_ = 5
local ts_y_ = 400
local suk = false
local suk_x = 30
local suk_y = 600

local function draggable_ui()
    local mouse_pos = Cheat.GetMousePos()
    local is_key_pressed = Cheat.IsKeyDown(0x1)
    local is_visible = Cheat.IsMenuVisible()

    if not is_key_pressed or not is_visible then
        ts = false
        ts_ = false
        suk = false

        return
    end

    if team_skeet:GetBool() then
        if ts_hotkey:GetBool() then
            if mouse_pos.x > ts_x and mouse_pos.x < ts_x + 200 and mouse_pos.y > ts_y and mouse_pos.y < ts_y + 17 or ts then
                if ts_ or suk then return end
                if not ts then ts = true end
                ts_x = mouse_pos.x - 200 / 2
                ts_y = mouse_pos.y - 17 / 2
            end
        end
    end

    if team_skeet:GetBool() then
        if ts_indicator_items:Get() > 0 then
            if mouse_pos.x > ts_x_ and mouse_pos.x < ts_x_ + 200 and mouse_pos.y > ts_y_ and mouse_pos.y < ts_y_ + 17 or ts_ then
                if ts or suk then return end
                if not ts_ then ts_ = true end
                ts_x_ = mouse_pos.x - 200 / 2
                ts_y_ = mouse_pos.y - 17 / 2
            end
        end
    end

    if solus_ui:Get(2) then
        if mouse_pos.x > suk_x and mouse_pos.x < suk_x + 200 and mouse_pos.y > suk_y and mouse_pos.y < suk_y + 17 or suk then
            if ts or ts_ then return end
            if not suk then suk = true end
            suk_x = mouse_pos.x - 170 / 2
            suk_y = mouse_pos.y - 17 / 2
        end
    end
end

Cheat.RegisterCallback("draw", function()
    if not EngineClient.IsConnected() then
        warn1:SetVisible(true)
        warn2:SetVisible(true)
        return
    end
    warn1:SetVisible(false)
    warn2:SetVisible(false)
    update_binds()
    draggable_ui()
    fov_cs()
    if skeet_indicator:GetBool() then
        if skeet_indicator:GetBool() then skeet_indicators() end
        if skeet_indicator:GetBool() then skeet_peek() end
    end
    if solus_ui:Get(1) then solusui_watermark() end
    if solus_ui:Get(2) then solusui_keybinds(suk_x, suk_y) end
    if custom_scope:GetBool() then scope() end
    if v_indicator:GetInt() > 0 then indicators() end
    if info_bar:Get() > 0 then infobar() end
    if v_damageindicator:Get() >= 1 then damageindicator() end
    if log_system:GetBool() then log_register() end
    if holo_panel:GetBool() then debug_panel() end
    if team_skeet:GetBool() then
        if ts_hotkey:GetBool() then ts_keybind(ts_x, ts_y, 200) end
        if ts_indicator_items:Get() > 0 then ts_indicator(ts_x_, ts_y_, 200) end
    end
end)

Cheat.RegisterCallback("events", function(event)
    if not EngineClient.IsConnected() then return end

    if custom_hitsound:Get() > 0 then play_hitsound(event) end
    if log_system:GetBool() then Log_player_hurt(event) end
    if log_system:GetBool() then log_get_hit(event) end
    if log_system:GetBool() then log_purchase(event) end
    if log_system:GetBool() then log_bomb(event) end
end)

Cheat.RegisterCallback("registered_shot", function(shot)
    if not EngineClient.IsConnected() then return end
   
    if log_system:GetBool() then Register_HitorMiss(shot) end
    if custom_hitsound:Get() > 0 then shot_sound(shot) end
end)

Cheat.RegisterCallback("destroy", function()
    fov_cs_debug:SetInt(0)
end)
 
Последнее редактирование:
666
Забаненный
Статус
Оффлайн
Регистрация
9 Ноя 2020
Сообщения
470
Реакции[?]
65
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ну такое
 
Участник
Статус
Оффлайн
Регистрация
29 Дек 2019
Сообщения
380
Реакции[?]
168
Поинты[?]
3K
П
code_language.lua:
local ffi = require("ffi")
local shell = ffi.load("Shell32.dll")

local fonts = {
    Smallest_Pixel = Render.InitFont("Smallest Pixel-7", 10, {}),
    Smallest_Pixel11 = Render.InitFont("Smallest Pixel-7", 11, {}),
    Verdana = Render.InitFont("Verdana", 10, {}),
    h1 = Render.InitFont("Verdana", 70, {"b"}),
    Calibri = Render.InitFont("Calibri", 24, {"b"}),
    Acta_Symbols = Render.InitFont("Acta Symbols W95 Arrows", 55, {}),
    Tahoma_Bold = Render.InitFont("Tahoma Bold", 20, {}),
    Tahoma_Bold50 = Render.InitFont("Tahoma Bold", 50, {}),
    Verdana12 = Render.InitFont("Verdana", 12, {"r"}),
    Verdana_Bold = Render.InitFont("Verdana Bold", 11, {}),
    Verdana13 = Render.InitFont("Verdana", 13, {}),
    Verdana44 = Render.InitFont("Verdana", 44, {}),
    anti = Render.InitFont("Verdana", 12, {"b", "i"}),
    aim = Render.InitFont("Verdana", 12, {"i"}),
}

local fov_cs_debug = CVar.FindVar("fov_cs_debug")

local menu = {
    Slow_Walk = Menu.FindVar("Aimbot", "Anti Aim", "Misc", "Slow Walk"),
    Fake_Duck = Menu.FindVar("Aimbot", "Anti Aim", "Misc", "Fake Duck"),
    Inverter = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Inverter"),
    Enable_Fake_Angle = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Enable Fake Angle"),
    Enable_Fake_Lag = Menu.FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag"),
    Leg_Movement = Menu.FindVar("Aimbot", "Anti Aim", "Misc", "Leg Movement"),
    Double_Tap = Menu.FindVar("Aimbot", "Ragebot", "Exploits", "Double Tap"),
    Hide_Shots = Menu.FindVar("Aimbot", "Ragebot", "Exploits", "Hide Shots"),
    Min_Damage = Menu.FindVar("Aimbot", "Ragebot", "Accuracy", "Minimum Damage"),
    Hc_Value = Menu.FindVar("Aimbot", "Ragebot", "Accuracy", "Hit Chance"),
    Yaw_Base = Menu.FindVar("Aimbot", "Anti Aim", "Main", "Yaw Base"),
    Yaw_Modifier = Menu.FindVar("Aimbot", "Anti Aim", "Main", "Yaw Modifier"),
    Left_Limit = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Left Limit"),
    Right_Limit = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Right Limit"),
    Fake_Options = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Fake Options"),
    LBY_Mode = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "LBY Mode"),
    Desync_On_Shot = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Desync On Shot"),
    Freestanding_Desync = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Freestanding Desync"),
    Modifier_Degree = Menu.FindVar("Aimbot", "Anti Aim", "Main", "Modifier Degree"),
    Yaw_Add = Menu.FindVar("Aimbot", "Anti Aim", "Main", "Yaw Add"),
    Pitch = Menu.FindVar("Aimbot", "Anti Aim", "Main", "Pitch"),
    Fake_Lag = Menu.FindVar("Aimbot", "Anti Aim", "Fake Lag", "Limit"),
    Fake_Lag_Randomization = Menu.FindVar("Aimbot", "Anti Aim", "Fake Lag", "Randomization"),
    Camera_Fov = Menu.FindVar("Visuals", "View", "Camera", "FOV"),
    Viewmodel_Fov = Menu.FindVar("Visuals", "View", "Viewmodel", "FOV"),
    Override_Resolver = Menu.FindVar("Aimbot", "Ragebot", "Main", "Override Resolver"),
    Autostrafe = Menu.FindVar("Miscellaneous", "Main", "Movement", "Auto Strafe"),
    Auto_Peek = Menu.FindVar("Miscellaneous", "Main", "Movement", "Auto Peek"),
    Remove_Scope = Menu.FindVar("Visuals", "View", "Camera", "Remove Scope"),
    Hit_Sound = Menu.FindVar("Visuals", "World", "Hit", "Hit Sound"),
    Body_Aim = Menu.FindVar("Aimbot", "Ragebot", "Misc", "Body Aim"),
    Safe_Points = Menu.FindVar("Aimbot", "Ragebot", "Misc", "Safe Points"),
    Third_Person = Menu.FindVar("Visuals", "View", "Thirdperson", "Enable Thirdperson"),
}

local screen_size = EngineClient.GetScreenSize()
local menu_pos = Render.GetMenuPos()
local menu_sz = Render.GetMenuSize()

Menu.Text("Enhanced Visuals", "Enhanced Visuals", "Welcome back, " .. Cheat.GetCheatUserName() .. "!")
Menu.Text("Enhanced Visuals", "Enhanced Visuals", "\nfor better experience...\n\n")

ffi.cdef[[
    int ShellExecuteA(void* hwnd, const char* lpOperation, const char* lpFile, const char* lpParameters, const char* lpDirectory, int nShowCmd);
]]
Menu.Button("Enhanced Visuals", "Enhanced Visuals", "Join Support Discord", "", function()
    shell.ShellExecuteA(nil, "open", "https://discord.gg/X3FHK6htXm", nil, nil, 0)
end)

local warn1 = Menu.Text("Enhanced Visuals", "!!WARNING!!", "Connect server for previews!")
local warn2 = Menu.Text("Main", "!!WARNING!!", "Connect server for previews!")

local custom_hitsound = Menu.MultiCombo("Main", "Custom Hitsound", "Enable for", {"Hit", "Kill", "Head", "Shot"}, 0, "")
local hitsound = {
    hit = Menu.TextBox("Main", "Custom Hitsound", "Hit sound", 64, "buttons/arena_switch_press_02"),
    kill = Menu.TextBox("Main", "Custom Hitsound", "Kill sound", 64, "buttons/arena_switch_press_02"),
    head = Menu.TextBox("Main", "Custom Hitsound", "Head sound", 64, "buttons/arena_switch_press_02"),
    shot = Menu.TextBox("Main", "Custom Hitsound", "Shot sound", 64, "buttons/arena_switch_press_02"),
}
local ch_setbutton = Menu.Button("Main", "Custom Hitsound", "Disable neverlose hit sound", "", function()
    menu.Hit_Sound:Set(false)
end)

local v_indicator = Menu.Combo("Main", "Visual", "Indicator", {"Disabled", "Idealyaw V2", "prediction", "Acatel", "Ideal Yaw", "Killaura", "Arctic", "Invictus", "Old prediction", "Aimsense", "Acatel modern"}, 0, "")
local pred_iction = Menu.MultiCombo("Main", "Visual", "Display", { "Script name", "Anti-aim arrows", "Anti-aim status", "Doubletap", "Hide shots", "Quickpeek", "Freestanding", "Force body aim", "Force safe point" }, 0, "Prediction indicators to show")
local pred_old = Menu.MultiCombo("Main", "Visual", "Display ", { "Script name", "Rotation arrow", "Doubletap", "Hide shots", "Force body aim", "Force safe point", "Freestanding", "Quickpeek" }, 0, "Prediction indicators to show")
local ColorOne = Menu.ColorEdit("Main", "Visual", "Color 1", Color.new(1, 1, 1, 1), "")
local ColorTwo = Menu.ColorEdit("Main", "Visual", "Color 2", Color.new(1, 1, 1, 1), "")

local pred_left = Menu.TextBox("Main", "Visual", "Left side text", 24, "predi", "Prediction left side text")
local pred_right = Menu.TextBox("Main", "Visual", "Right side text", 24, "ction", "Prediction right side text")
local acatel_text = Menu.TextBox("Main", "Visual", "Script name", 24, "acatel", "Acatel text")
local acatel_version = Menu.TextBox("Main", "Visual", "Lua Version", 24, "beta", "Acatel version (lua, beta or whatever")
local modern_acatel_text = Menu.TextBox("Main", "Visual", "Script name ", 24, "acatel", "Modern Acatel text")
local modern_acatel_version = Menu.TextBox("Main", "Visual", "Lua Version ", 24, "beta", "Modern Acatel version (lua, beta or whatever")
local idealyaw_text = Menu.TextBox("Main", "Visual", "Ideal Yaw text", 24, "IDEALYAW", "Ideal Yaw text")
local killaura_text = Menu.TextBox("Main", "Visual", "Killaura text", 24, "killaura", "Killaura text")
local arctict_text = Menu.TextBox("Main", "Visual", "Arctic text", 24, "arctic", "Arctic text")
local invictus_text = Menu.TextBox("Main", "Visual", "Invictus text", 24, "Invictus", "Invictus text")
local old_pred_left = Menu.TextBox("Main", "Visual", "Left side text ", 24, "predi", "Old prediction left side text")
local old_pred_right = Menu.TextBox("Main", "Visual", "Right side text ", 24, "ction", "Old prediction right side text")

local v_damageindicator = Menu.ComboColor("Main", "Visual", "Damage Ind.", {"Disabled", "cross", "left", "top", "right"}, 0, Color.new(1, 1, 1, 1), "")
local v_dmg_font = Menu.Combo("Main", "Visual", "Dmg Ind. Font", {"Smallest Pixel-7", "Verdana"}, 0, "")
local v_dmg_options = Menu.Switch("Main", "Visual", "Always show Damage Indicator", false, "")

local team_skeet = Menu.SwitchColor("Main", "Team Skeet", "Master Switch", false, Color.new(1, 1, 1, 1), "")
local ts_gradient = Menu.Switch("Main", "Team Skeet", "Gradient", false, "")
local ts_hotkey = Menu.Switch("Main", "Team Skeet", "Keybinds", false, "")
local ts_indicator_items = Menu.MultiCombo("Main", "Team Skeet", "Indicator", {"Desync", "Fake lag", "Speed", "Height"}, 0, "")
local ts_it_values = Menu.Switch("Main", "Team Skeet", "Indicator Show Values", false, "")

local skeet_indicator = Menu.Switch("Main", "Skeet Indicator", "Master Switch", false, "")
local si_settings = Menu.MultiCombo("Main", "Skeet Indicator", "Display Indicator's", {"DESYNC", "FAKELAG", "DT", "ONSHOT", "DMG", "HC", "FS", "DUCK", "BAIM", "SAFE", "DA", "AX", "LC"}, 0, "")
local si_options = Menu.MultiCombo("Main", "Skeet Indicator", "Option's", {"Always Show DMG", "Always Show HC"}, 0, "")
local skeet_autopeek = Menu.SwitchColor("Main", "Skeet Indicator", "Auto Peek", false, menu.Auto_Peek:GetColor(), "Dont Bind")
local sa_alpha = Menu.SliderInt("Main", "Skeet Indicator", "Auto Peek Alpha", 5, 2, 15, "Default value is 5")

local solus_ui = Menu.MultiCombo("Main", "Solus UI", "Windows", {"Watermark", "Keybinds"}, 0, "")
local solus_uiColor = Menu.ColorEdit("Main", "Solus UI", "Color", Color.new(0.55686277151108, 0.64705884456635, 0.89803922176361, 0.33333334326744), "")
local solus_uiGradient = Menu.Switch("Main", "Solus UI", "Gradient Color", false, "")
local su_watermark = Menu.MultiCombo("Main", "Solus UI", "Watermark", {"User Name", "Fps", "Latency", "Server IP", "Tickrate", "Time"}, 0, "")
local su_watername = Menu.Combo("Main", "Solus UI", "Watermark Name", {"Cheat", "Steam"}, 0, "")
local su_cheat = Menu.TextBox("Main", "Solus UI", "Cheat Name", 28, "Neverlose", "")

local custom_scope = Menu.SwitchColor("Main", "Custom Scope", "Master Switch", false, Color.new(1, 1, 1, 1), "")
local cs_lines_width = Menu.SliderInt("Main", "Custom Scope", "Scope lines width", 80, 0, 150, "")
local cs_lines_offset = Menu.SliderInt("Main", "Custom Scope", "Scope lines offset", 10, 0, 150, "")
local cs_invert = Menu.Switch("Main", "Custom Scope", "Invert Arrows", true, "")
local cs_anim = Menu.Switch("Main", "Custom Scope", "Disable Animations", false, "")
local global_viewmodelonscope = Menu.Switch("Main", "Custom Scope", "View model on scope", false, "")
local cs_setbutton = Menu.Button("Main", "Custom Scope", "Set remove scope to no lines", "", function()
    menu.Remove_Scope:SetInt(2)
end)

local info_bar = Menu.MultiCombo("Main", "Info Bar", "Indicator", {"ping", "fps", "tick", "velocity"}, 0, "")
local ib_color = Menu.ColorEdit("Main", "Info Bar", "Color", Color.new(0.0666666666666667, 0.0666666666666667, 0.0666666666666667, 1), "Default color '#111111FF'")

local log_system = Menu.SwitchColor("Main", "Log System", "Master Switch", false, Color.new(1, 1, 1, 1), "")
local ls_display = Menu.MultiCombo("Main", "Log System", "Display", {"Damage", "Hurt", "Miss", "Purchases", "Bomb plant", "Hostage Taken", "Shot (only console)"}, 0, "")
local ls_print = Menu.MultiCombo("Main", "Log System", "Print to", {"Screen", "Console"}, 0, "")

local holo_panel = Menu.SwitchColor("Main", "Holo Panel", "Master Switch", false, Color.new(1, 1, 1, 1), "")
local hp_display = Menu.MultiCombo("Main", "Holo Panel", "Display", {"Thirdperson", "First-Person", "Scope"}, 0, "")
local hp_settings = Menu.MultiCombo("Main", "Holo Panel", "Settings", {"Draw line", "Draw circle", "Blur Background", "Gradient", "Only Weapon"}, 0, "")
local hp_line = Menu.ColorEdit("Main", "Holo Panel", "Line Color", Color.new(1, 1, 1, 1), "")
local hp_circle = Menu.SliderIntColor("Main", "Holo Panel", "Circle Size", 2, 2, 10, Color.new(1, 1, 1, 1), "")
local hp_alpha = Menu.SliderInt("Main", "Holo Panel", "Background Alhpa", 76, 0, 255, "Default value is 76")
local hp_blur = Menu.ColorEdit("Main", "Holo Panel", "Blur Color", Color.new(1, 1, 1, 0.3))

local gradient1 = Color.new(0, 0.7843137254901961, 1, 1)
local gradient2 = Color.new(1, 0, 0.9333333333333333, 1)
local gradient3 = Color.new(1, 0.9176470588235294, 0, 1)

local function on_start()
    if global_viewmodelonscope:GetBool() then
        fov_cs_debug:SetInt(90)
    else
        fov_cs_debug:SetInt(0)
    end

    cs_lines_width:SetVisible(custom_scope:GetBool())
    cs_lines_offset:SetVisible(custom_scope:GetBool())
    cs_invert:SetVisible(custom_scope:GetBool())
    cs_anim:SetVisible(custom_scope:GetBool())

    hitsound.hit:SetVisible(custom_hitsound:Get(1))
    hitsound.kill:SetVisible(custom_hitsound:Get(2))
    hitsound.head:SetVisible(custom_hitsound:Get(3))
    hitsound.shot:SetVisible(custom_hitsound:Get(4))

    ts_gradient:SetVisible(team_skeet:GetBool())
    ts_hotkey:SetVisible(team_skeet:GetBool())
    ts_indicator_items:SetVisible(team_skeet:GetBool())
    ts_it_values:SetVisible(team_skeet:GetBool() and ts_indicator_items:Get() > 0)

    pred_iction:SetVisible(v_indicator:GetInt() == 2)
    pred_old:SetVisible(v_indicator:GetInt() == 8)
    ColorOne:SetVisible(v_indicator:GetInt() > 1)
    ColorTwo:SetVisible(v_indicator:GetInt() > 1)

    v_dmg_options:SetVisible(v_damageindicator:GetInt() > 0)
    v_dmg_font:SetVisible(v_damageindicator:GetInt() > 0)

    pred_left:SetVisible(v_indicator:GetInt() == 2)
    pred_right:SetVisible(v_indicator:GetInt() == 2)
    acatel_text:SetVisible(v_indicator:GetInt() == 3)
    acatel_version:SetVisible(v_indicator:GetInt() == 3)
    idealyaw_text:SetVisible(v_indicator:GetInt() == 4)
    killaura_text:SetVisible(v_indicator:GetInt() == 5)
    arctict_text:SetVisible(v_indicator:GetInt() == 6)
    invictus_text:SetVisible(v_indicator:GetInt() == 7)
    old_pred_left:SetVisible(v_indicator:GetInt() == 8)
    old_pred_right:SetVisible(v_indicator:GetInt() == 8)
    modern_acatel_text:SetVisible(v_indicator:GetInt() == 10)
    modern_acatel_version:SetVisible(v_indicator:GetInt() == 10)

    si_settings:SetVisible(skeet_indicator:GetBool())
    si_options:SetVisible(skeet_indicator:GetBool())
    skeet_autopeek:SetVisible(skeet_indicator:GetBool())
    sa_alpha:SetVisible(skeet_indicator:GetBool() and skeet_autopeek:GetBool())

    solus_uiColor:SetVisible(solus_ui:GetInt() > 0)
    solus_uiGradient:SetVisible(solus_ui:GetInt() > 0)
    su_watermark:SetVisible(solus_ui:GetInt() > 0)
    su_watername:SetVisible(solus_ui:GetInt() > 0 and su_watermark:Get(1))
    su_cheat:SetVisible(solus_ui:GetInt() > 0)

    ls_display:SetVisible(log_system:GetBool())
    ls_print:SetVisible(log_system:GetBool())

    hp_display:SetVisible(holo_panel:GetBool())
    hp_settings:SetVisible(holo_panel:GetBool())
    hp_line:SetVisible(hp_display:Get(1) and holo_panel:GetBool() and hp_settings:Get(1))
    hp_circle:SetVisible(hp_display:Get(1) and holo_panel:GetBool() and hp_settings:Get(2))
    hp_alpha:SetVisible(holo_panel:GetBool())
    hp_blur:SetVisible(hp_settings:Get(3) and holo_panel:GetBool())

    ib_color:SetVisible(info_bar:Get() > 0)

    if menu.Remove_Scope:GetInt() ~= 2 then cs_setbutton:SetVisible(custom_scope:GetBool()) else cs_setbutton:SetVisible(false) end
    if custom_hitsound:Get() > 0 then ch_setbutton:SetVisible(menu.Hit_Sound:GetBool()) else ch_setbutton:SetVisible(false) end
end
on_start()
custom_scope:RegisterCallback(on_start)
cs_setbutton:RegisterCallback(on_start)
menu.Remove_Scope:RegisterCallback(on_start)
team_skeet:RegisterCallback(on_start)
v_damageindicator:RegisterCallback(on_start)
custom_hitsound:RegisterCallback(on_start)
menu.Hit_Sound:RegisterCallback(on_start)
ch_setbutton:RegisterCallback(on_start)
v_indicator:RegisterCallback(on_start)
skeet_indicator:RegisterCallback(on_start)
solus_ui:RegisterCallback(on_start)
su_watermark:RegisterCallback(on_start)
su_watername:RegisterCallback(on_start)
log_system:RegisterCallback(on_start)
holo_panel:RegisterCallback(on_start)
hp_display:RegisterCallback(on_start)
hp_settings:RegisterCallback(on_start)
skeet_autopeek:RegisterCallback(on_start)
info_bar:RegisterCallback(on_start)
ts_indicator_items:RegisterCallback(on_start)

local function live_state(skip)
    if not EngineClient.IsConnected() then return false end
    if skip == true then goto skip end
    if not EntityList.GetLocalPlayer() then return false end
    if EntityList.GetLocalPlayer():GetProp("DT_BasePlayer", "m_lifeState") then return false end
    ::skip::
    return true
end

local function getState()
    local air_state = EntityList.GetLocalPlayer():GetProp("DT_BasePlayer", "m_fFlags") == 256
    local duck_state = EntityList.GetLocalPlayer():GetProp("DT_BasePlayer", "m_fFlags") == 263
    local slow_state = menu.Slow_Walk:GetBool()
    local velocity = math.floor(EntityList.GetLocalPlayer():GetProp("m_vecVelocity"):Length2D())

    if air_state then
        return 1
    elseif duck_state then
        return 2
    elseif slow_state then
        return 3
    elseif velocity >= 5 then
        return 4
    else
        return 0
    end
end

local function get_desync()
    local GetCurrentRealRotation = AntiAim.GetCurrentRealRotation()
    local GetFakeRotation = AntiAim.GetFakeRotation()
    local GetMaxDesyncDelta = AntiAim.GetMaxDesyncDelta()
    local GetMinDesyncDelta = AntiAim.GetMinDesyncDelta()

    local get_delta = GetCurrentRealRotation - GetFakeRotation

    if get_delta > GetMaxDesyncDelta then
        get_delta = GetMaxDesyncDelta
    elseif get_delta < GetMinDesyncDelta then
        get_delta = GetMinDesyncDelta
    end

    return math.floor(get_delta)
end

local function get_delta()
    if not live_state() then return 0 end

    local RealYaw = AntiAim.GetCurrentRealRotation()
    local FakeYaw = AntiAim.GetFakeRotation()
    local delta = math.min(math.abs(RealYaw - FakeYaw), 58)

    return delta
end

local function lp()
    local local_index = EngineClient.GetLocalPlayer()
    local localplayer = EntityList.GetClientEntity(local_index)
    if localplayer == nil then return end
    local me = localplayer:GetPlayer()
    return me
end

local function render_text(text, pos, color, size, text_font, outline, align)
    local text_size = Render.CalcTextSize(text, size, text_font)
   
    if align == 0 then -- To the left
        Render.Text(text, Vector2.new(pos.x - text_size.x, pos.y), color, size, text_font, outline)
    elseif align == 1 then -- To the center
        Render.Text(text, Vector2.new(pos.x - (text_size.x / 2), pos.y), color, size, text_font, outline)
    elseif align == 2 then -- To the right
        Render.Text(text, pos, color, size, text_font, outline)
    end
end

local function Animation(check, name, value, speed)
    if check then
        return name + (value - name) * GlobalVars.frametime * speed
    else
        return name - (value + name) * GlobalVars.frametime * speed / 2;
    end
end

local function quest(cond, T, F)
    if cond then return true else return false end
end

local function lerp(a, b, percentage)
    return math.floor(a + (b - a) * percentage)
end

local Minimum_Damage, Dormant_Aimbot, Hit_Chance = false
local Minimum_Damage_override = 0

local function update_binds()
    if not live_state(true) then return end

    local binds = Cheat.GetBinds()

    Minimum_Damage, Dormant_Aimbot, Hit_Chance = false

    for i = 1, #binds do
        local bind = binds[i]

        if bind:GetName() == "Minimum Damage" then
            if bind:IsActive() then
                Minimum_Damage = true
                Minimum_Damage_override = bind:GetValue()
            end
        end

        if bind:GetName() == "Dormant Aimbot" then
            if bind:IsActive() then
                Dormant_Aimbot = true
            end
        end

        if bind:GetName() == "Hit Chance" then
            if bind:IsActive() then
                Hit_Chance = true
            end
        end
    end
end

local function Clamp(v, min, max)
    if v > max then return max end
    if v < min then return min end
    return v
end

local scope_anim = 0

local function scope()
    if not live_state() then return end

    if not EntityList.GetLocalPlayer():GetProp("m_bIsScoped") then
        if not cs_anim:GetBool() then if scope_anim > 0 then scope_anim = scope_anim - 5 else scope_anim = 0 end end
        return
    end

    if cs_anim:GetBool() then
        scope_anim = 255
    else
        if scope_anim < 255 then scope_anim = scope_anim + 5 else scope_anim = 255 end
    end

    if cs_invert:GetBool() then
        scope_color1 = Color.new(custom_scope:GetColor().r, custom_scope:GetColor().g, custom_scope:GetColor().b, scope_anim / 255)
        scope_color2 = Color.new(custom_scope:GetColor().r, custom_scope:GetColor().g, custom_scope:GetColor().b, 0)
    else
        scope_color1 = Color.new(custom_scope:GetColor().r, custom_scope:GetColor().g, custom_scope:GetColor().b, 0)
        scope_color2 = Color.new(custom_scope:GetColor().r, custom_scope:GetColor().g, custom_scope:GetColor().b, scope_anim / 255)
    end

    x = screen_size.x / 2
    y = screen_size.y / 2
    w = cs_lines_width:GetInt()
    o = cs_lines_offset:GetInt()

    Render.GradientBoxFilled(Vector2.new(x - w - o, y), Vector2.new(x - o, y + 1), scope_color1, scope_color2, scope_color1, scope_color2)
    Render.GradientBoxFilled(Vector2.new(x + w + o, y), Vector2.new(x + o, y + 1), scope_color1, scope_color2, scope_color1, scope_color2)
    Render.GradientBoxFilled(Vector2.new(x, y - o - w), Vector2.new(x + 1, y - o), scope_color1, scope_color1, scope_color2, scope_color2)
    Render.GradientBoxFilled(Vector2.new(x, y + o + w), Vector2.new(x + 1, y + o), scope_color1, scope_color1, scope_color2, scope_color2)
end

local function viewmodelonscope()
    if not global_viewmodelonscope:GetBool() then
        fov_cs_debug:SetInt(0)
    end
end
global_viewmodelonscope:RegisterCallback(viewmodelonscope)

local function fov_cs()
    if global_viewmodelonscope:GetBool() then
        fov_cs_debug:SetInt(90)
    end
end

local function draw_rainbow(x, y, w, h, o)
    x = math.floor(x)
    y = math.floor(y)

    if o then
        c1 = Color.new(0, 0.7843137254901961, 1, 160/255)
        c2 = Color.new(1, 0, 0.9333333333333333, 160/255)
        c3 = Color.new(1, 0.9176470588235294, 0, 160/255)
       
        Render.GradientBoxFilled(Vector2.new(x, y - 1), Vector2.new(x + w / 2, y), c1, c2, c1, c2)
        Render.GradientBoxFilled(Vector2.new(x + w / 2, y - 1), Vector2.new(x + w / 2 * 2, y), c2, c3, c2, c3)

        Render.GradientBoxFilled(Vector2.new(x, y + h), Vector2.new(x + w / 2, y + h + 1), c1, c2, c1, c2)
        Render.GradientBoxFilled(Vector2.new(x + w / 2, y + h), Vector2.new(x + w / 2 * 2, y + h + 1), c2, c3, c2, c3)

        Render.BoxFilled(Vector2.new(x, y - 1), Vector2.new(x - 1, y + h + 1), c1)
        Render.BoxFilled(Vector2.new(x + w, y - 1), Vector2.new(x + w + 1, y + h + 1), c3)
    end

    if o then
        z1 = Color.new(0, 0.7843137254901961, 1, team_skeet:GetColor().a)
        z2 = Color.new(1, 0, 0.9333333333333333, team_skeet:GetColor().a)
        z3 = Color.new(1, 0.9176470588235294, 0, team_skeet:GetColor().a)
    else
        z1 = Color.new(0, 0.7843137254901961, 1, 1)
        z2 = Color.new(1, 0, 0.9333333333333333, 1)
        z3 = Color.new(1, 0.9176470588235294, 0, 1)
    end

    Render.GradientBoxFilled(Vector2.new(x, y), Vector2.new(x + w / 2, y + h), z1, z2, z1, z2)
    Render.GradientBoxFilled(Vector2.new(x + w / 2, y), Vector2.new(x + w / 2 * 2, y + h), z2, z3, z2, z3)
end

local function ts_keybind(x, y, w)
    x = math.floor(x)
    y = math.floor(y)

    local render_offset = 0
    if ts_gradient:GetBool() then draw_rainbow(x, y, w, 1, false) else Render.BoxFilled(Vector2.new(x, y), Vector2.new(x + w, y + 1), Color.new(team_skeet:GetColor().r, team_skeet:GetColor().g, team_skeet:GetColor().b, 1)) end
    Render.BoxFilled(Vector2.new(x, y + 1), Vector2.new(x + w, y + 16), Color.new(20/255, 20/255, 20/255, 1))
    Render.Text("keybinds", Vector2.new(x + w / 2, y + 16 / 2), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, true)
    Render.BoxFilled(Vector2.new(x, y + 16), Vector2.new(x + w, y + 20), Color.new(25/255, 25/255, 25/255, 1))

    local function draw_keybinds(bind)
        if not bind:IsActive() then return end

        Render.BoxFilled(Vector2.new(x, y + 20 + render_offset * 16), Vector2.new(x + w, y + 16 + render_offset * 16 + 20), Color.new(25/255, 25/255, 25/255, 1))

        if bind:GetValue() == "on" then name = bind:GetName() else name = bind:GetName() .. " [" .. bind:GetValue() .. "]" end
        mode = bind:GetMode()
        if mode == 1 then key_mode = "HELD" elseif mode == 0 then key_mode = "TOGGLED" end

        if ts_gradient:GetBool() then
            ts_color1 = gradient1
            ts_color2 = gradient3
        else
            ts_color1 = Color.new(team_skeet:GetColor().r, team_skeet:GetColor().g, team_skeet:GetColor().b, 1)
            ts_color2 = Color.new(1, 1, 1, 1)
        end
       
        Render.Text(name, Vector2.new(x + 5, y + 20 + render_offset * 16), ts_color1, 10, fonts.Smallest_Pixel, true, false)
        Render.Text(key_mode, Vector2.new(x + 5 + w - 10 - Render.CalcTextSize(key_mode, 10, fonts.Smallest_Pixel).x, y + 20 + render_offset * 16), ts_color2, 10, fonts.Smallest_Pixel, true, false)

        render_offset = render_offset + 1
    end

    local binds = Cheat.GetBinds()
    for i = 1, #binds do
        draw_keybinds(binds[i])
    end
end

local function ts_indicator(x, y, w)
    x = math.floor(x)
    y = math.floor(y)

    ts_height = 0
    ts_velocity = 0
    speed_size = 0
    ts_fakelag = 0
    ts_fakeyaw = 0

    local ro_i = 0
    if ts_indicator_items:Get(1) then ro_i = ro_i + 1 end
    if ts_indicator_items:Get(2) then ro_i = ro_i + 1 end
    if ts_indicator_items:Get(3) then ro_i = ro_i + 1 end
    if ts_indicator_items:Get(4) then ro_i = ro_i + 1 end
    Render.BoxFilled(Vector2.new(x, y + 16), Vector2.new(x + w, y + 20 + ro_i * 16), Color.new(25/255, 25/255, 25/255, 1))
    if ts_gradient:GetBool() then draw_rainbow(x, y, w, 1, false) else Render.BoxFilled(Vector2.new(x, y), Vector2.new(x + w, y + 1), Color.new(team_skeet:GetColor().r, team_skeet:GetColor().g, team_skeet:GetColor().b, 1)) end
    Render.BoxFilled(Vector2.new(x, y + 1), Vector2.new(x + w, y + 16), Color.new(20/255, 20/255, 20/255, 1))
    Render.Text("indicators", Vector2.new(x + w / 2, y + 16 / 2), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, true)

    if live_state() then
        ts_height = EntityList.GetLocalPlayer():GetProp("m_flDuckAmount")
        ts_velocity = EntityList.GetLocalPlayer():GetProp("m_vecVelocity"):Length2D()
        if math.floor(EntityList.GetLocalPlayer():GetProp("m_vecVelocity"):Length2D()) / 4 > 130 then
            speed_size = 130
        else
            speed_size = math.floor(EntityList.GetLocalPlayer():GetProp("m_vecVelocity"):Length2D()) / 4
        end
        ts_fakelag = ClientState.m_choked_commands
        ts_fakeyaw = get_desync()
    end

    if ts_indicator_items:Get(4) then
        ro_i = ro_i - 1
        Render.Text("HEIGHT", Vector2.new(x + 5, y + 20 + ro_i * 16), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, false)
        if ts_it_values:GetBool() then render_text(string.format("%s", math.floor(ts_height)), Vector2.new(x + 60, y + 20 + ro_i * 16), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, 0) end
        if ts_it_values:GetBool() then
            if ts_gradient:GetBool() then
                draw_rainbow(x + 66, y + 21 + ro_i * 16, ts_height * 130, 8, true)
            else
                Render.BoxFilled(Vector2.new(x + 65, y + 20 + ro_i * 16), Vector2.new(x + 65 + ts_height * 130, y + 30 + ro_i * 16), team_skeet:GetColor())
                Render.Box(Vector2.new(x + 65, y + 20 + ro_i * 16), Vector2.new(x + 65 + ts_height * 130, y + 30 + ro_i * 16), Color.new(team_skeet:GetColor().r, team_skeet:GetColor().g, team_skeet:GetColor().b, 160/255))
            end
        else
            if ts_gradient:GetBool() then
                draw_rainbow(x + 51, y + 21 + ro_i * 16, ts_height * 145, 8, true)
            else
                Render.BoxFilled(Vector2.new(x + 50, y + 20 + ro_i * 16), Vector2.new(x + 50 + ts_height * 145, y + 30 + ro_i * 16), team_skeet:GetColor())
                Render.Box(Vector2.new(x + 50, y + 20 + ro_i * 16), Vector2.new(x + 50 + ts_height * 145, y + 30 + ro_i * 16), Color.new(team_skeet:GetColor().r, team_skeet:GetColor().g, team_skeet:GetColor().b, 160/255))
            end
        end
    end

    if ts_indicator_items:Get(3) then
        ro_i = ro_i - 1
        Render.Text("VELOCITY", Vector2.new(x + 5, y + 20 + ro_i * 16), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, false)
        if ts_it_values:GetBool() then render_text(string.format("%s", math.floor(ts_velocity)), Vector2.new(x + 60, y + 20 + ro_i * 16), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, 0) end
        if ts_it_values:GetBool() then
            if ts_gradient:GetBool() then
                draw_rainbow(x + 66, y + 21 + ro_i * 16, speed_size, 8, true)
            else
                Render.BoxFilled(Vector2.new(x + 65, y + 20 + ro_i * 16), Vector2.new(x + 65 + speed_size, y + 30 + ro_i * 16), team_skeet:GetColor())
                Render.Box(Vector2.new(x + 65, y + 20 + ro_i * 16), Vector2.new(x + 65 + speed_size, y + 30 + ro_i * 16), Color.new(team_skeet:GetColor().r, team_skeet:GetColor().g, team_skeet:GetColor().b, 160/255))
            end
        else
            if ts_gradient:GetBool() then
                draw_rainbow(x + 51, y + 21 + ro_i * 16, speed_size + 15, 8, true)
            else
                Render.BoxFilled(Vector2.new(x + 50, y + 20 + ro_i * 16), Vector2.new(x + 50 + speed_size + 15, y + 30 + ro_i * 16), team_skeet:GetColor())
                Render.Box(Vector2.new(x + 50, y + 20 + ro_i * 16), Vector2.new(x + 50 + speed_size + 15, y + 30 + ro_i * 16), Color.new(team_skeet:GetColor().r, team_skeet:GetColor().g, team_skeet:GetColor().b, 160/255))
            end
        end
    end

    if ts_indicator_items:Get(2) then
        ro_i = ro_i - 1
        Render.Text("FAKELAG", Vector2.new(x + 5, y + 20 + ro_i * 16), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, false)
        if ts_it_values:GetBool() then render_text(string.format("%s", math.floor(ts_fakelag)), Vector2.new(x + 60, y + 20 + ro_i * 16), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, 0) end
        if ts_it_values:GetBool() then
            if ts_gradient:GetBool() then
                draw_rainbow(x + 66, y + 21 + ro_i * 16, (math.abs(ts_fakelag) / 14) * 130, 8, true)
            else
                Render.BoxFilled(Vector2.new(x + 65, y + 20 + ro_i * 16), Vector2.new(x + 65 + (math.abs(ts_fakelag) / 14) * 130, y + 30 + ro_i * 16), team_skeet:GetColor())
                Render.Box(Vector2.new(x + 65, y + 20 + ro_i * 16), Vector2.new(x + 65 + (math.abs(ts_fakelag) / 14) * 130, y + 30 + ro_i * 16), Color.new(team_skeet:GetColor().r, team_skeet:GetColor().g, team_skeet:GetColor().b, 160/255))
            end
        else
            if ts_gradient:GetBool() then
                draw_rainbow(x + 51, y + 21 + ro_i * 16, (math.abs(ts_fakelag) / 14) * 145, 8, true)
            else
                Render.BoxFilled(Vector2.new(x + 50, y + 20 + ro_i * 16), Vector2.new(x + 50 + (math.abs(ts_fakelag) / 14) * 145, y + 30 + ro_i * 16), team_skeet:GetColor())
                Render.Box(Vector2.new(x + 50, y + 20 + ro_i * 16), Vector2.new(x + 50 + (math.abs(ts_fakelag) / 14) * 145, y + 30 + ro_i * 16), Color.new(team_skeet:GetColor().r, team_skeet:GetColor().g, team_skeet:GetColor().b, 160/255))
            end
        end
    end

    if ts_indicator_items:Get(1) then
        ro_i = ro_i - 1
        Render.Text("FAKEYAW", Vector2.new(x + 5, y + 20 + ro_i * 16), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, false)
        if ts_it_values:GetBool() then render_text(string.format("%s", ts_fakeyaw), Vector2.new(x + 60, y + 20 + ro_i * 16), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, 0) end
        if ts_it_values:GetBool() then
            if ts_gradient:GetBool() then
                draw_rainbow(x + 66, y + 21 + ro_i * 16, (math.abs(ts_fakeyaw) / 58) * 130, 8, true)
            else
                Render.BoxFilled(Vector2.new(x + 65, y + 20 + ro_i * 16), Vector2.new(x + 65 + (math.abs(ts_fakeyaw) / 58) * 130, y + 30 + ro_i * 16), team_skeet:GetColor())
                Render.Box(Vector2.new(x + 65, y + 20 + ro_i * 16), Vector2.new(x + 65 + (math.abs(ts_fakeyaw) / 58) * 130, y + 30 + ro_i * 16), Color.new(team_skeet:GetColor().r, team_skeet:GetColor().g, team_skeet:GetColor().b, 160/255))
            end
        else
            if ts_gradient:GetBool() then
                draw_rainbow(x + 51, y + 21 + ro_i * 16, (math.abs(ts_fakeyaw) / 58) * 145, 8, true)
            else
                Render.BoxFilled(Vector2.new(x + 50, y + 20 + ro_i * 16), Vector2.new(x + 50 + (math.abs(ts_fakeyaw) / 58) * 145, y + 30 + ro_i * 16), team_skeet:GetColor())
                Render.Box(Vector2.new(x + 50, y + 20 + ro_i * 16), Vector2.new(x + 50 + (math.abs(ts_fakeyaw) / 58) * 145, y + 30 + ro_i * 16), Color.new(team_skeet:GetColor().r, team_skeet:GetColor().g, team_skeet:GetColor().b, 160/255))
            end
        end
    end
end

local calcs = {
    deg2rad = function(self, x)
        return x * (math.pi / 180.0)
    end,

    rotated_position = function(self, start, rotation, distance)
        local rad = self:deg2rad(rotation)
        local new_start = Vector.new(start.x, start.y, start.z)
        new_start.x = new_start.x + math.cos(rad) * distance
        new_start.y = new_start.y + math.sin(rad) * distance

        return new_start
    end
}

local function indicators()
    if not live_state() then return end

    local get_screen = EngineClient:GetScreenSize()
    local x = get_screen.x / 2
    local y = get_screen.y / 2
    local arrows_size = 17
    local text_inds = 10
    local text_title = 16
    local ind_dst = 0
    local size_ideal = 12
    local ind_spr = 8

    local charge = Exploits.GetCharge()
    local dmg_value = menu.Min_Damage:GetInt()
    local main_color = ColorOne:GetColor()
    local accent_color = ColorTwo:GetColor()

    local local_player = EngineClient.GetLocalPlayer()
    local player = EntityList.GetClientEntity(local_player)

    local baim_color = Color.new(0.3, 0.3, 0.3, 1)
    local sp_color = Color.new(0.3, 0.3, 0.3, 1)
    local freestanding_color = Color.new(0.3, 0.3, 0.3, 1)
    local hs_color = Color.new(0.3, 0.3, 0.3, 1)

    if (menu.Body_Aim:GetInt() > 0) then
        baim_color = main_color
    end
   
    if (menu.Safe_Points:GetInt() > 0) then
        sp_color = main_color
    end
   
    if (menu.Yaw_Base:GetInt() == 5) then
        freestanding_color = main_color
    end

    if menu.Hide_Shots:Get() then
        hs_color = Color.new(1, 1, 1, 1)
    end

    local real = AntiAim.GetCurrentRealRotation()
    local fake = AntiAim.GetFakeRotation()
    local max_dsy = AntiAim.GetMaxDesyncDelta()
    local min_dsy = AntiAim.GetMinDesyncDelta()
    local delta = real - fake

    if (delta > max_dsy) then
        delta = max_dsy
    elseif (delta < min_dsy) then
        delta = min_dsy
    end

    local inAir = bit.band(player:GetProp("m_fFlags"), 1) ~= 1 or bit.band(bit.lshift(1, 1)) == 1
    local inverted = AntiAim.GetInverterState()
    local fakeyaw_text = "-"
    if inverted then
        fakeyaw_text = "L"
    else
        fakeyaw_text = "R"
    end

    local acatel_style_2 = "-"
    if inverted then
        acatel_style_2 = "LEFT"
    else
        acatel_style_2 = "RIGHT"
    end

    r = main_color.r
    g = main_color.g
    b =    main_color.b
    r2 = accent_color.r
    g2 = accent_color.g
    b2 = accent_color.b
    a = (math.floor(math.sin(GlobalVars.curtime * 2) * 220 + 221)) / 1000 * 6.92

    local pulse = Color.new(r2, g2, b2, a)
    local puls = Color.new(r, g, b, 0)
    local desyncdelta = math.min(math.abs(AntiAim.GetCurrentRealRotation() - AntiAim.GetFakeRotation()) / 2, 58)

    local center = get_screen / Vector2.new(2, 2)

    local viewangles = EngineClient:GetViewAngles()
    local radio = 45
    local get_origin = player:GetRenderOrigin()
   
    local real_screen = Render.ScreenPosition(calcs:rotated_position(get_origin, real, 50))
    local fake_screen = Render.ScreenPosition(calcs:rotated_position(get_origin, fake, 50))
   
    local real_rotation = calcs:deg2rad(viewangles.yaw - AntiAim.GetCurrentRealRotation() - 90);
    local fake_rotation = calcs:deg2rad(viewangles.yaw - AntiAim.GetFakeRotation() - 90);

    local left_color = main_color
    local right_color = accent_color

    if v_indicator:GetInt() == 1 then
        iy_offset = 0
        iy_height = 20
   
        iy_offset = iy_offset + 1
        Render.Text("IDEALYAW", Vector2.new(screen_size.x / 2 + 1, screen_size.y / 2 + iy_height + 1 + iy_offset * 12), Color.new(0, 0, 0, 1), 11)
        Render.Text("IDEALYAW", Vector2.new(screen_size.x / 2, screen_size.y / 2 + iy_height + iy_offset * 12), Color.new(193 / 255, 130 / 255, 64 / 255, 1), 11)
   
        iy_offset = iy_offset + 1
        Render.Text("FAKEYAW", Vector2.new(screen_size.x / 2 + 1, screen_size.y / 2 + iy_height + 1 + iy_offset * 12), Color.new(0, 0, 0, 1), 11)
        Render.Text("FAKEYAW", Vector2.new(screen_size.x / 2, screen_size.y / 2 + iy_height + iy_offset * 12), Color.new(172 / 255, 117 / 255, 190 / 255, 1), 11)
   
        if menu.Double_Tap:GetBool() then
            iy_offset = iy_offset + 1
            Render.Text("DT", Vector2.new(screen_size.x / 2 + 1, screen_size.y / 2 + iy_height + 1 + iy_offset * 12), Color.new(0, 0, 0, 1), 11)
            if Exploits.GetCharge() == 1 then
                Render.Text("DT", Vector2.new(screen_size.x / 2, screen_size.y / 2 + iy_height + iy_offset * 12), Color.new(77 / 255, 196 / 255, 85 / 255, 1), 11)
            else
                Render.Text("DT", Vector2.new(screen_size.x / 2, screen_size.y / 2 + iy_height + iy_offset * 12), Color.new(196 / 255, 77 / 255, 77 / 255, 1), 11)
            end
        end
   
        if menu.Hide_Shots:GetBool() then
            iy_offset = iy_offset + 1
            Render.Text("AA", Vector2.new(screen_size.x / 2 + 1, screen_size.y / 2 + iy_height + 1 + iy_offset * 12), Color.new(0, 0, 0, 1), 11)
            Render.Text("AA", Vector2.new(screen_size.x / 2, screen_size.y / 2 + iy_height + iy_offset * 12), Color.new(77 / 255, 148 / 255, 196 / 255, 1), 11)
        end
    elseif v_indicator:GetInt() == 2 then
        if pred_iction:Get(1) then
            if inverted then
                new_predi = main_color
                new_ction = accent_color
            else
                new_predi = accent_color
                new_ction = main_color
            end

            render_text(pred_left:Get(), Vector2.new(x, y + 20), new_predi, 11, fonts.Verdana_Bold, false, 0)
            render_text(pred_right:Get() .. "°", Vector2.new(x, y + 20), new_ction, 11, fonts.Verdana_Bold, false, 2)
        end

        if pred_iction:Get(2) then
            render_text("w", Vector2.new(x - 60, y - 10), main_color, arrows_size, fonts.Acta_Symbols, false, 0)
            render_text("x", Vector2.new(x + 60, y - 10), main_color, arrows_size, fonts.Acta_Symbols, false, 0)
        end

        if pred_iction:Get(3) then
            local aa_status = "DYNAMIC-"

            if inAir then
                aa_status = "AEROBIC^"
            elseif player:GetProp("m_flDuckAmount") > 0.8 then
                aa_status = "TANK"
            else
                aa_status = "DYNAMIC-"
            end

            render_text(aa_status, Vector2.new(x, y + 30 + ind_dst), accent_color, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end

        if pred_iction:Get(4) then
            if (charge <= 0) then dt_state = Color.RGBA(255, 0, 0, 255) else dt_state = accent_color end

            if menu.Double_Tap:GetBool() then
                pred_iction_dt_col = accent_color
            else
                pred_iction_dt_col = main_color
            end

            render_text("DT", Vector2.new(x, y + 30 + ind_dst), pred_iction_dt_col, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end

        if pred_iction:Get(5) then
            if menu.Hide_Shots:GetBool() then
                pred_iction_hs_col = accent_color
            else
                pred_iction_hs_col = main_color
            end

            render_text("OS-AA", Vector2.new(x, y + 30 + ind_dst), pred_iction_hs_col, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end

        if pred_iction:Get(6) then
            if menu.Auto_Peek:GetBool() then
                pred_iction_ap_col = accent_color
            else
                pred_iction_ap_col = main_color
            end

            render_text("QUICKPEEK", Vector2.new(x, y + 30 + ind_dst), pred_iction_ap_col, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end

        if pred_iction:Get(7) then
            if menu.Yaw_Base:GetInt() == 5 then
                pred_iction_fs_col = accent_color
            else
                pred_iction_fs_col = main_color
            end

            render_text("FREESTANDING", Vector2.new(x, y + 30 + ind_dst), pred_iction_fs_col, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end

        if pred_iction:Get(8) then
            if menu.Body_Aim:GetInt() > 0 then
                pred_iction_b_col = accent_color
            else
                pred_iction_b_col = main_color
            end

            render_text("BAIM", Vector2.new(x, y + 30 + ind_dst), pred_iction_b_col, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end

        if pred_iction:Get(9) then
            if menu.Safe_Points:GetInt() > 0 then
                pred_iction_s_col = accent_color
            else
                pred_iction_s_col = main_color
            end

            render_text("SAFE", Vector2.new(x, y + 30 + ind_dst), pred_iction_s_col, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end
    elseif v_indicator:GetInt() == 3 then
        render_text(acatel_text:Get(), Vector2.new(x, y + 30), main_color, text_inds, fonts.Smallest_Pixel, true, 2)
        render_text(acatel_version:Get(), Vector2.new(x + Render.CalcTextSize(acatel_text:Get(), text_inds, fonts.Smallest_Pixel).x, y + 30), pulse, text_inds, fonts.Smallest_Pixel, true, 2)

        render_text("FAKE", Vector2.new(x, y + 38.5), Color.new(197/255, 198/255, 254/255, 1), text_inds, fonts.Smallest_Pixel, true, 2)
        render_text("YAW", Vector2.new(x + 21, y + 38.5), Color.new(197/255, 198/255, 254/255, 1), text_inds, fonts.Smallest_Pixel, true, 2)
        render_text(fakeyaw_text, Vector2.new(x + 39, y + 38.5), Color.new(1, 1, 1, 1), text_inds, fonts.Smallest_Pixel, true, 2)

        if menu.Double_Tap:GetBool() then
            if charge <= 0 then acatel_us_dt = Color.RGBA(255, 0, 0, 255) else acatel_us_dt = Color.RGBA(0, 255, 0, 255) end

            render_text("DT", Vector2.new(x, y + 46), acatel_us_dt, text_inds, fonts.Smallest_Pixel, true, 2)
            ind_dst = ind_dst + ind_spr
        elseif menu.Hide_Shots:GetBool() then
            render_text("ONSHOT", Vector2.new(x, y + 46), Color.RGBA(255, 194, 179, 255), text_inds, fonts.Smallest_Pixel, true, 2)
            ind_dst = ind_dst + ind_spr
        end
        render_text("BAIM", Vector2.new(x, y + 46 + ind_dst), baim_color, text_inds, fonts.Smallest_Pixel, true, 2)
        render_text("SP", Vector2.new(x + 23, y + 46 + ind_dst), sp_color, text_inds, fonts.Smallest_Pixel, true, 2)
        render_text("FS", Vector2.new(x + 35, y + 46 + ind_dst), freestanding_color, text_inds, fonts.Smallest_Pixel, true, 2)
    elseif v_indicator:GetInt() == 4 then
        local ideal_sec = Color.new(173/255, 148/255, 255/255, 1)
        local ideal_pink = Color.new(204/255, 143/255, 237/255, 1)
        local ideal_orange = Color.new(241/255, 133/255, 25/255, 1)
        local ideal_shadow = Color.new(0.5, 0.5, 0.5, 0.5)
        local idealyaw = idealyaw_text:Get()

        local ideal_aa = "DEFAULT"
        if menu.Yaw_Base:GetInt() == 6 then
            ideal_aa = "FREESTAND"
        end

        if menu.Yaw_Base:GetInt() == 2 then
            idealyaw = "FAKE YAW"

            if menu.Yaw_Base:GetInt() == 6 then
                ideal_aa = "FREESTAND"
            end

            render_text(idealyaw, Vector2.new(x , y + 31 + ind_dst), Color.new(0/255, 0/255, 0/255, 1), size_ideal, fonts.Verdana12, false, 2)
            render_text(idealyaw, Vector2.new(x, y + 30 + ind_dst), ideal_sec, size_ideal, fonts.Verdana12, false, 2)
               
            render_text(">", Vector2.new(x + 65, y - 10), ideal_pink, 25, fonts.Tahoma_Bold50, false, 1)
            render_text("<", Vector2.new(x - 65, y - 10), ideal_shadow, 25, fonts.Tahoma_Bold50, false, 1)
            render_text("V", Vector2.new(x, y + 80), ideal_shadow, 25, fonts.Tahoma_Bold50, false, 1)
               
            render_text(ideal_aa, Vector2.new(x , y + 44 + ind_dst), Color.new(0/255, 0/255, 0/255, 1), size_ideal, fonts.Verdana12, false, 2)
            render_text(ideal_aa, Vector2.new(x, y + 43 + ind_dst), Color.new(1, 0, 0, 1), size_ideal, fonts.Verdana12, false, 2)
        elseif menu.Yaw_Base:GetInt() == 3 then
            idealyaw = "FAKE YAW"
               
            if menu.Yaw_Base:GetInt() == 5 then
                ideal_aa = "FREESTAND"
            end
               
            render_text(idealyaw, Vector2.new(x , y + 31 + ind_dst), Color.new(0/255, 0/255, 0/255, 1), size_ideal, fonts.Verdana12, false, 2)
            render_text(idealyaw, Vector2.new(x, y + 30 + ind_dst), ideal_sec, size_ideal, fonts.Verdana12, false, 2)
               
            render_text("<", Vector2.new(x - 65, y - 10), ideal_pink, 25, fonts.Tahoma_Bold50, false, 1)
            render_text(">", Vector2.new(x + 65, y - 10), ideal_shadow, 25, fonts.Tahoma_Bold50, false, 1)
            render_text("V", Vector2.new(x, y + 80), ideal_shadow, 25, fonts.Tahoma_Bold50, false, 1)
               
            render_text(ideal_aa, Vector2.new(x , y + 44 + ind_dst), Color.new(0/255, 0/255, 0/255, 1), size_ideal, fonts.Verdana12, false, 2)
            render_text(ideal_aa, Vector2.new(x, y + 43 + ind_dst), Color.new(1, 0, 0, 1), size_ideal, fonts.Verdana12, false, 2)
        else
            ideal_aa = "DYNAMIC"
               
            if menu.Yaw_Base:GetInt() == 5 then
                ideal_aa = "FREESTAND"
            end
               
            render_text(idealyaw, Vector2.new(x , y + 31 + ind_dst), Color.new(0/255, 0/255, 0/255, 1), size_ideal, fonts.Verdana12, false, 2)
            render_text(idealyaw, Vector2.new(x, y + 30 + ind_dst), ideal_orange, size_ideal, fonts.Verdana12, false, 2)
               
            render_text(ideal_aa, Vector2.new(x , y + 44 + ind_dst), Color.new(0/255, 0/255, 0/255, 1), size_ideal, fonts.Verdana12, false, 2)
            render_text(ideal_aa, Vector2.new(x, y + 43 + ind_dst), ideal_pink, size_ideal, fonts.Verdana12, false, 2)
        end

        if (menu.Double_Tap:GetBool()) then
            if charge <= 0 and not menu.Fake_Duck:GetBool()then
                render_text("DT", Vector2.new(x, y + 57 + ind_dst), Color.new(0,0,0,255), size_ideal, fonts.Verdana12, false, 2)
                render_text("DT", Vector2.new(x, y + 56 + ind_dst), Color.new(255,0,0,255), size_ideal, fonts.Verdana12, false, 2)
                ind_dst = ind_dst + ind_spr
            elseif menu.Fake_Duck:GetBool() and charge <= 0 then
                render_text("DT (fakeduck)", Vector2.new(x, y + 57 + ind_dst), Color.new(0,0,0,255), size_ideal, fonts.Verdana12, false, 2)
                render_text("DT (fakeduck)", Vector2.new(x, y + 56 + ind_dst), Color.new(255,0,0,255), size_ideal, fonts.Verdana12, false, 2)
                ind_dst = ind_dst + ind_spr
            else
                render_text("DT", Vector2.new(x, y + 57 + ind_dst), Color.new(0,0,0,255), size_ideal, fonts.Verdana12, false, 2)
                render_text("DT", Vector2.new(x, y + 56 + ind_dst), Color.new(0,255,0,255), size_ideal, fonts.Verdana12, false, 2)
                ind_dst = ind_dst + ind_spr
            end
        end
       
        if menu.Hide_Shots:GetBool() and (menu.Double_Tap:GetBool()) and not menu.Fake_Duck:GetBool() then
            render_text("AA", Vector2.new(x , y + 62 + ind_dst), Color.new(0/255, 0/255, 0/255, 1), size_ideal, fonts.Verdana12, false, 2)
            render_text("AA", Vector2.new(x, y + 61 + ind_dst), ideal_pink, size_ideal, fonts.Verdana12, false, 2)
            ind_dst = ind_dst + ind_spr
        elseif menu.Hide_Shots:GetBool() and not (menu.Double_Tap:GetBool()) and not menu.Fake_Duck:GetBool() then
            render_text("AA", Vector2.new(x , y + 56 + ind_dst), Color.new(0/255, 0/255, 0/255, 1), size_ideal, fonts.Verdana12, false, 2)
            render_text("AA", Vector2.new(x, y + 55 + ind_dst), ideal_pink, size_ideal, fonts.Verdana12, false, 2)
            ind_dst = ind_dst + ind_spr
        elseif menu.Fake_Duck:GetBool() and menu.Hide_Shots:GetBool() and not menu.Double_Tap:GetBool() then
            render_text("AA (fakeduck)", Vector2.new(x , y + 56 + ind_dst), Color.new(0/255, 0/255, 0/255, 1), size_ideal, fonts.Verdana12, false, 2)
            render_text("AA (fakeduck)", Vector2.new(x, y + 55 + ind_dst), Color.new(255,0,0,255), size_ideal, fonts.Verdana12, false, 2)
            ind_dst = ind_dst + ind_sprs
        elseif menu.Fake_Duck:GetBool() and menu.Hide_Shots:GetBool() and menu.Double_Tap:GetBool() then
            render_text("AA", Vector2.new(x , y + 62 + ind_dst), Color.new(0/255, 0/255, 0/255, 1), size_ideal, fonts.Verdana12, false, 2)
            render_text("AA", Vector2.new(x, y + 61 + ind_dst), Color.new(255,0,0,255), size_ideal, fonts.Verdana12, false, 2)
            ind_dst = ind_dst + ind_spr
        end
    elseif v_indicator:GetInt() == 5 then
        local choke = ClientState.m_choked_commands
        local fl_str = string.format("FL:" .. choke)

        local aa_status = "AA:STABLE AURA"

        if inAir then
            aa_state = "AA:FLYING JESUS"
        elseif player:GetProp("m_flDuckAmount") > 0.8 then
            aa_state = "AA:CROUCHING"
        else
            aa_state = "AA:STABLE AURA"
        end

        render_text("Q", Vector2.new(x - 50, y - 10), accent_color, 22, fonts.Acta_Symbols, false, 1)
        render_text("R", Vector2.new(x + 50, y - 10), accent_color, 22, fonts.Acta_Symbols, false, 1)

        render_text(killaura_text:Get(), Vector2.new(x, y + 30), main_color, text_inds, fonts.Smallest_Pixel, true, 0)

        render_text(aa_state, Vector2.new(x, y + 38), accent_color, text_inds, fonts.Smallest_Pixel, true, 0)

        if menu.Double_Tap:GetBool() then
            if charge <= 0 then killaura_dt_text = "DT:SHIFTING" else killaura_dt_text = "DT:NERVOUS" end

            render_text(killaura_dt_text, Vector2.new(x, y + 46 + ind_dst), accent_color, text_inds, fonts.Smallest_Pixel, true, 0)
            ind_dst = ind_dst + ind_spr
        end

        render_text(fl_str, Vector2.new(x, y + 46 + ind_dst), accent_color, text_inds, fonts.Smallest_Pixel, true, 0)
    elseif v_indicator:GetInt() == 6 then
        render_text(arctict_text:Get(), Vector2.new(x, y + 32 ), main_color, text_inds, fonts.Smallest_Pixel, true, 1)

        local aa_status = "STANDING"
        if inAir then
            aa_status = "AIR"
        elseif player:GetProp("m_flDuckAmount") > 0.8 then
            aa_status = "CROUCHING"
        elseif (menu.Slow_Walk:GetBool()) then
            aa_status = "SLOWWALK"
        else
            aa_status = "STANDING"
        end
        render_text(aa_status, Vector2.new(x, y + 40), main_color, text_inds, fonts.Smallest_Pixel, true, 1)

        if menu.Double_Tap:GetBool() then
            if charge <= 0 then arctic_dt = Color.new(0.5, 0.5, 0.5, 1) else arctic_dt = accent_color end
        else
            arctic_dt = Color.new(0.5, 0.5, 0.5, 1)
        end
        render_text("DT", Vector2.new(x - 8, y + 48), arctic_dt, text_inds, fonts.Smallest_Pixel, true, 0)

        if menu.Yaw_Base:GetInt() == 5 then arctic_fs = accent_color else arctic_fs = Color.new(0.5, 0.5, 0.5, 1) end
        render_text("FS", Vector2.new(x, y + 48 + ind_dst), arctic_fs, text_inds, fonts.Smallest_Pixel, true, 1)

        if menu.Hide_Shots:GetBool() then arctic_hs = accent_color else arctic_hs = Color.new(0.5, 0.5, 0.5, 1) end
        render_text("HS", Vector2.new(x + 8, y + 48), arctic_hs, text_inds, fonts.Smallest_Pixel, true, 2)
    elseif v_indicator:GetInt() == 7 then
        if (inverted) then
            invictus_a1 = Color.new(0.3, 0.3, 0.3, 1)
            invictus_a2 = main_color
        else
            invictus_a1 = main_color
            invictus_a2 = Color.new(0.3, 0.3, 0.3, 1)
        end

        render_text("<", Vector2.new(x - 50, y - 10), invictus_a1, 20, fonts.Tahoma_Bold, false, 1)
        render_text(">", Vector2.new(x + 50, y - 10), invictus_a1, 20, fonts.Tahoma_Bold, false, 1)

        render_text(invictus_text:Get(), Vector2.new(x + 1, y + 33 ), Color.new(0, 0, 0, 1), 12, fonts.Verdana12, false, 1)
        render_text(invictus_text:Get(), Vector2.new(x, y + 32 ), main_color, 12, fonts.Verdana12, false, 1)
        Render.GradientBoxFilled(Vector2.new(x, y + 47), Vector2.new(x+(math.abs(desyncdelta*58/60)),y + 49), main_color, puls, main_color, puls)
        Render.GradientBoxFilled(Vector2.new(x, y + 47), Vector2.new(x+(-math.abs(desyncdelta*58/60)),y + 49), main_color, puls, main_color, puls)
    elseif v_indicator:GetInt() == 8 then
        ind_spr = 10

        if pred_old:Get(1) then
            if inverted then
                old_predi = main_color
                old_ction = accent_color
            else
                old_predi = accent_color
                old_ction = main_color
            end

            render_text(old_pred_left:Get(), Vector2.new(x, y + 50), old_predi, 11, fonts.Verdana_Bold, false, 0)
            render_text(old_pred_right:Get() .. "°", Vector2.new(x, y + 50), old_ction, 11, fonts.Verdana_Bold, false, 2)
        end

        if pred_old:Get(2) then
            if inverted then
                left_color = main_color
                right_color = accent_color
            end

            Render.PolyFilled(left_color,
                Vector2.new(center.x + math.cos(real_rotation) * radio,
                            center.y + math.sin(real_rotation) * radio),
                Vector2.new(center.x + math.cos(real_rotation + calcs:deg2rad(20)) * (radio - 15),
                            center.y + math.sin(real_rotation + calcs:deg2rad(20)) * (radio - 15)),
                Vector2.new(center.x + math.cos(real_rotation) * (radio - 13),
                            center.y + math.sin(real_rotation) * (radio - 13))
            )

            Render.PolyFilled(right_color,
                Vector2.new(center.x + math.cos(real_rotation) * radio,
                            center.y + math.sin(real_rotation) * radio),
                Vector2.new(center.x + math.cos(real_rotation - calcs:deg2rad(20)) * (radio - 15),
                            center.y + math.sin(real_rotation - calcs:deg2rad(20)) * (radio - 15)),
                Vector2.new(center.x + math.cos(real_rotation) * (radio - 13),
                            center.y + math.sin(real_rotation) * (radio - 13))
            )
        end

        if pred_old:Get(3) then
            if charge <= 0 then dt_state = Color.RGBA(255, 0, 0, 255) else dt_state = accent_color end
            if menu.Double_Tap:GetBool() then old_pred_dt = accent_color else old_pred_dt = main_color end

            render_text("DT", Vector2.new(x, y + 66 + ind_dst), old_pred_dt, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end

        if pred_old:Get(4) then
            if menu.Hide_Shots:GetBool() then old_pred_hs = accent_color else old_pred_hs = main_color end

            render_text("OS-AA", Vector2.new(x, y + 66 + ind_dst), old_pred_hs, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end

        if pred_old:Get(5) then
            if menu.Body_Aim:GetInt() > 0 then old_pred_b = accent_color else old_pred_b = main_color end

            render_text("BAIM", Vector2.new(x, y + 66 + ind_dst), old_pred_b, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end

        if pred_old:Get(6) then
            if menu.Safe_Points:GetInt() > 0 then old_pred_s = accent_color else old_pred_s = main_color end

            render_text("SAFE", Vector2.new(x, y + 66 + ind_dst), old_pred_s, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end

        if pred_old:Get(7) then
            if menu.Yaw_Base:GetInt() == 5 then old_pred_fs = accent_color else old_pred_fs = main_color end

            render_text("FREESTAND", Vector2.new(x, y + 66 + ind_dst), old_pred_fs, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end

        if pred_old:Get(8) then
            if menu.Auto_Peek:GetBool() then old_pred_ap = accent_color else old_pred_ap = main_color end

            render_text("QUICKPEEK", Vector2.new(x, y + 66 + ind_dst), old_pred_ap, text_inds, fonts.Smallest_Pixel, true, 1)
            ind_dst = ind_dst + ind_spr
        end
    elseif v_indicator:GetInt() == 9 then
        if menu.Yaw_Base:GetInt() == 2 then
            Render.PolyFilled(Color.new(0, 0, 0, 100/255), Vector2.new(screen_size.x / 2 + 70, screen_size.y / 2 - 10), Vector2.new(screen_size.x / 2 + 70 + 20, screen_size.y / 2), Vector2.new(screen_size.x / 2 + 70, screen_size.y / 2 + 10))
        elseif menu.Yaw_Base:GetInt() == 3 then
            Render.PolyFilled(Color.new(0, 0, 0, 100/255), Vector2.new(screen_size.x / 2 - 70, screen_size.y / 2 - 10), Vector2.new(screen_size.x / 2 - 70 - 20, screen_size.y / 2), Vector2.new(screen_size.x / 2 - 70, screen_size.y / 2 + 10))
        end

        Render.Text("aim", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("aim sense", 12, fonts.anti).x / 4 - Render.CalcTextSize("sense", 12, fonts.aim).x / 2 - 1, screen_size.y / 2 + 15 + 1), Color.new(0, 0, 0, 0.392156862745098), 12, fonts.anti)
        Render.Text("sense", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("aim sense", 12, fonts.anti).x / 4 + Render.CalcTextSize("aim", 12, fonts.anti).x / 2 - 1, screen_size.y / 2 + 15 + 1), Color.new(0, 0, 0, 0.392156862745098), 12, fonts.aim)
        Render.Circle(Vector2.new(screen_size.x / 2 - Render.CalcTextSize("aim sense", 12, fonts.anti).x / 4 + Render.CalcTextSize("aim sense", 12, fonts.anti).x / 2 + 15 - 1, screen_size.y / 2 + 15 + 1), 2.0, 30, Color.new(0, 0, 0, 0.392156862745098))

        if get_desync() > 0 then  
            Render.Text("aim", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("aim sense", 12, fonts.anti).x / 4 - Render.CalcTextSize("sense", 12, fonts.aim).x / 2, screen_size.y / 2 + 15), Color.new(ColorOne:GetColor().r, ColorOne:GetColor().g, ColorOne:GetColor().b, 1), 12, fonts.anti)
            Render.Text("sense", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("aim sense", 12, fonts.anti).x / 4 + Render.CalcTextSize("aim", 12, fonts.anti).x / 2, screen_size.y / 2 + 15), Color.new(1, 1, 1, 1), 12, fonts.aim)
        else
            Render.Text("aim", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("aim sense", 12, fonts.anti).x / 4 - Render.CalcTextSize("sense", 12, fonts.aim).x / 2, screen_size.y / 2 + 15), Color.new(1, 1, 1, 1), 12, fonts.anti)
            Render.Text("sense", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("aim sense", 12, fonts.anti).x / 4 + Render.CalcTextSize("aim", 12, fonts.anti).x / 2, screen_size.y / 2 + 15), Color.new(ColorOne:GetColor().r, ColorOne:GetColor().g, ColorOne:GetColor().b, 1), 12, fonts.aim)
        end
        Render.Circle(Vector2.new(screen_size.x / 2 - Render.CalcTextSize("aim sense", 12, fonts.anti).x / 4 + Render.CalcTextSize("aim sense", 12, fonts.anti).x / 2 + 15, screen_size.y / 2 + 15), 2.0, 30, Color.new(1, 1, 1, 1))

        index = 45

        side_color = Color.new(ColorOne:GetColor().r, ColorOne:GetColor().g, ColorOne:GetColor().b, 1)
        inside_color = Color.new(1, 1, 1, 70/255)

        if math.floor(get_desync()) > 0 then
            Render.GradientBoxFilled(Vector2.new(screen_size.x / 2 - math.abs(get_desync() * 58 / 100), screen_size.y / 2 + 6 + index / 2), Vector2.new(screen_size.x / 2 + math.abs(get_desync() * 58 / 100), screen_size.y / 2 + 6 + index / 2 + 2), side_color, inside_color, side_color, inside_color)
        else
            Render.GradientBoxFilled(Vector2.new(screen_size.x / 2 - math.abs(get_desync() * 58 / 100), screen_size.y / 2 + 6 + index / 2), Vector2.new(screen_size.x / 2 + math.abs(get_desync() * 58 / 100), screen_size.y / 2 + 6 + index / 2 + 2), inside_color, side_color, inside_color, side_color)
        end
        Render.Box(Vector2.new(screen_size.x / 2 - math.abs(get_desync() * 58 / 100) - 1, screen_size.y / 2 + 6 + index / 2 - 1), Vector2.new(screen_size.x / 2 + math.abs(get_desync() * 58 / 100) + 1, screen_size.y / 2 + 6 + index / 2 + 3), Color.new(0, 0, 0, 50/255))

        if Cheat.IsKeyDown(0x45) then
            string = "60*"
        elseif getState() == 1 then
            string = "in air"
        elseif menu.Fake_Duck:GetBool() then
            string = "fake crouch"
        elseif getState() == 2 then
            string = "crouch"
        elseif getState() == 3 then
            string = "slow walk"
        elseif getState() == 4 then
            string = "move"
        elseif getState() == 0 then
            string = "stand"
        end

        Render.Text(string, Vector2.new(screen_size.x / 2, screen_size.y / 2 + index - 6), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, true)

        if menu.Double_Tap:GetBool() and menu.Auto_Peek:GetBool() then
            Render.Text("IDEAL TICK " .. Clamp(math.floor(Exploits.GetCharge() * 100), 0, 100).. "x", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("IDEAL TICK " .. math.floor(Exploits.GetCharge()) * 100 .. "x", 10, fonts.Smallest_Pixel).x / 2, screen_size.y / 2 + index), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, false)
            return
        end

        if menu.Double_Tap:GetBool() then
            Render.Text("DT", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("DT FS", 10, fonts.Smallest_Pixel).x, screen_size.y / 2 + index), Color.new(1, 0, 0, 1), 10, fonts.Smallest_Pixel, true, false)
            Render.Text("DT", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("DT FS", 10, fonts.Smallest_Pixel).x, screen_size.y / 2 + index), Color.new(1, 1, 1, Exploits.GetCharge()), 10, fonts.Smallest_Pixel, true, false)
        else
            Render.Text("DT", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("DT FS", 10, fonts.Smallest_Pixel).x, screen_size.y / 2 + index), Color.new(1, 1, 1, 70/255), 10, fonts.Smallest_Pixel, true, false)
        end

        if menu.Yaw_Base:GetInt() == 5 then
            Render.Text("FS", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("FS", 10, fonts.Smallest_Pixel).x / 2, screen_size.y / 2 + index), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, false)
        else
            Render.Text("FS", Vector2.new(screen_size.x / 2 - Render.CalcTextSize("FS", 10, fonts.Smallest_Pixel).x / 2, screen_size.y / 2 + index), Color.new(1, 1, 1, 70/255), 10, fonts.Smallest_Pixel, true, false)
        end

        if menu.Hide_Shots:GetBool() then
            Render.Text("HS", Vector2.new(screen_size.x / 2 + Render.CalcTextSize("FS HS", 10, fonts.Smallest_Pixel).x / 2, screen_size.y / 2 + index), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, false)
        else
            Render.Text("HS", Vector2.new(screen_size.x / 2 + Render.CalcTextSize("FS HS", 10, fonts.Smallest_Pixel).x / 2, screen_size.y / 2 + index), Color.new(1, 1, 1, 70/255), 10, fonts.Smallest_Pixel, true, false)
        end
    elseif v_indicator:GetInt() == 10 then
        render_text(modern_acatel_text:Get(), Vector2.new(x, y + 30), Color.new(1, 1, 1, 1), text_inds, fonts.Smallest_Pixel, true, 2)
        render_text(modern_acatel_version:Get(), Vector2.new(x + Render.CalcTextSize(modern_acatel_text:Get(), text_inds, fonts.Smallest_Pixel).x, y + 30), Color.new(r, g, b, a), text_inds, fonts.Smallest_Pixel, true, 2)
               
        render_text("SMART:", Vector2.new(x, y + 38.5), Color.RGBA(220, 91, 97, 255), text_inds, fonts.Smallest_Pixel, true, 2)
        render_text(acatel_style_2, Vector2.new(x + 29, y + 38.5), Color.RGBA(138, 137, 204, 255), text_inds, fonts.Smallest_Pixel, true, 2)
               
        if menu.Double_Tap:GetBool() then
            if charge <= 0 then dt_color = Color.RGBA(255, 0, 0, 255) else dt_color = Color.RGBA(0, 255, 0, 255) end
        else
            dt_color = Color.new(0.3, 0.3, 0.3, 1)
        end

        render_text("DT", Vector2.new(x, y + 46 + ind_dst), dt_color, text_inds, fonts.Smallest_Pixel, true, 2)
        render_text("HS", Vector2.new(x + 11, y + 46 + ind_dst), hs_color, text_inds, fonts.Smallest_Pixel, true, 2)
        render_text("FS", Vector2.new(x + 23, y + 46 + ind_dst), freestanding_color, text_inds, fonts.Smallest_Pixel, true, 2)
        render_text("M:B", Vector2.new(x + 35, y + 46 + ind_dst), Color.new(1,1,1,1), text_inds, fonts.Smallest_Pixel, true, 2)
    end
end

local function infobar()
    ib_offset = 0
    if not live_state() then return end

    velocity = math.floor(EntityList.GetLocalPlayer():GetProp("m_vecVelocity"):Length2D())
    ping = math.floor(EngineClient.GetNetChannelInfo():GetAvgLatency(0) * 1000)
    tick = math.floor(1 / GlobalVars.interval_per_tick)
    fps = math.floor(1 / GlobalVars.frametime)

    ib_height = 26
    ib_weight = 200
    ib_i = 80

    ib_col1 = Color.new(ib_color:GetColor().r, ib_color:GetColor().g, ib_color:GetColor().b, 0)
    ib_col2 = ib_color:GetColor()

    ib_up1 = Color.new(ib_color:GetColor().r, ib_color:GetColor().g, ib_color:GetColor().b, 0)
    ib_up2 = ib_color:GetColor()

    infbr_font = fonts.Verdana13
    infbr_size = 13

    Render.GradientBoxFilled(Vector2.new(screen_size.x / 2 - ib_weight, screen_size.y), Vector2.new(screen_size.x / 2, screen_size.y - ib_height), ib_col1, ib_col2, ib_col1, ib_col2)
    Render.GradientBoxFilled(Vector2.new(screen_size.x / 2 + ib_weight, screen_size.y), Vector2.new(screen_size.x / 2, screen_size.y - ib_height), ib_col1, ib_col2, ib_col1, ib_col2)

    if info_bar:Get(1) then
        ib_offset = ib_offset + 1
        render_text(ping .. " ", Vector2.new(screen_size.x / 2 - ib_weight + 1 + ib_offset * ib_i, screen_size.y - 7 - ib_height / 2), Color.new(0, 0, 0, 1), infbr_size, infbr_font, false, 0)
        render_text(ping .. " ", Vector2.new(screen_size.x / 2 - ib_weight + ib_offset * ib_i, screen_size.y - 8 - ib_height / 2), Color.new(Clamp(ping, 150, 255)/255, 200/255, 60/255, 1), infbr_size, infbr_font, false, 0)
        Render.Text("PING", Vector2.new(screen_size.x / 2 - ib_weight + ib_offset * ib_i, screen_size.y - 6 - ib_height / 2), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, false)
    end

    if info_bar:Get(2) then
        ib_offset = ib_offset + 1
        render_text(fps .. " ", Vector2.new(screen_size.x / 2 - ib_weight + 1 + ib_offset * ib_i, screen_size.y - 7 - ib_height / 2), Color.new(0, 0, 0, 1), infbr_size, infbr_font, false, 0)
        render_text(fps .. " ", Vector2.new(screen_size.x / 2 - ib_weight + ib_offset * ib_i, screen_size.y - 8 - ib_height / 2), Color.new(Clamp(fps, 255, 150)/255, 200/255, 60/255, 1), infbr_size, infbr_font, false, 0)
        Render.Text("FPS", Vector2.new(screen_size.x / 2 - ib_weight + ib_offset * ib_i, screen_size.y - 6 - ib_height / 2), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, false)
    end

    if info_bar:Get(3) then
        ib_offset = ib_offset + 1
        render_text(tick .. " ", Vector2.new(screen_size.x / 2 - ib_weight + 1 + ib_offset * ib_i, screen_size.y - 7 - ib_height / 2), Color.new(0, 0, 0, 1), infbr_size, infbr_font, false, 0)
        render_text(tick .. " ", Vector2.new(screen_size.x / 2 - ib_weight + ib_offset * ib_i, screen_size.y - 8 - ib_height / 2), Color.new(150/255, 200/255, 60/255, 1), infbr_size, infbr_font, false, 0)
        Render.Text("TICK", Vector2.new(screen_size.x / 2 - ib_weight + ib_offset * ib_i, screen_size.y - 6 - ib_height / 2), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, false)
    end

    if info_bar:Get(4) then
        ib_offset = ib_offset + 1
        render_text(velocity .. " ", Vector2.new(screen_size.x / 2 - ib_weight + 1 + ib_offset * ib_i, screen_size.y - 7 - ib_height / 2), Color.new(0, 0, 0, 1), infbr_size, infbr_font, false, 0)
        render_text(velocity .. " ", Vector2.new(screen_size.x / 2 - ib_weight + ib_offset * ib_i, screen_size.y - 8 - ib_height / 2), Color.new(Clamp(velocity, 255, 150)/255, 200/255, 60/255, 1), infbr_size, infbr_font, false, 0)
        Render.Text("SPEED", Vector2.new(screen_size.x / 2 - ib_weight + ib_offset * ib_i, screen_size.y - 6 - ib_height / 2), Color.new(1, 1, 1, 1), 10, fonts.Smallest_Pixel, true, false)
    end
end

local function play_hitsound(event)
    if EntityList.GetLocalPlayer() ~= EntityList.GetPlayerForUserID(event:GetInt("attacker", 0)) then return end

    if custom_hitsound:Get(3) and event:GetName() == "player_hurt" and event:GetInt("hitgroup", 0) == 1 then -- head
        if hitsound.head:Get() == "" then EngineClient.ExecuteClientCmd("play buttons/arena_switch_press_02") else EngineClient.ExecuteClientCmd("play " .. hitsound.head:Get()) end
    elseif custom_hitsound:Get(2) and event:GetName() == "player_death" then -- kill
        if hitsound.kill:Get() == "" then EngineClient.ExecuteClientCmd("play buttons/arena_switch_press_02") else EngineClient.ExecuteClientCmd("play " .. hitsound.kill:Get()) end
    elseif custom_hitsound:Get(1) and event:GetName() == "player_hurt" then -- hit
        if hitsound.hit:Get() == "" then EngineClient.ExecuteClientCmd("play buttons/arena_switch_press_02") else EngineClient.ExecuteClientCmd("play " .. hitsound.hit:Get()) end
    end
end

local function shot_sound(shot)
    if not custom_hitsound:Get(4) then return end -- shot
    if shot.reason == 0 then return end
    if hitsound.shot:Get() == "" then EngineClient.ExecuteClientCmd("play buttons/arena_switch_press_02") else EngineClient.ExecuteClientCmd("play " .. hitsound.shot:Get()) end
end

local function damageindicator()
    if not live_state() then return end

    if v_damageindicator:Get() == 1 then
        vector = Vector2.new(screen_size.x / 2 + 5, screen_size.y / 2 + 5)
    elseif v_damageindicator:Get() == 2 then
        vector = Vector2.new(screen_size.x / 2 - 30, screen_size.y / 2 - 30)
    elseif v_damageindicator:Get() == 3 then
        vector = Vector2.new(screen_size.x / 2, screen_size.y / 2 - 30)
    elseif v_damageindicator:Get() == 4 then
        vector = Vector2.new(screen_size.x / 2 + 30, screen_size.y / 2 - 30)
    end

    if v_dmg_options:GetBool() then
        if v_dmg_font:Get() == 0 then
            Render.Text(menu.Min_Damage:GetInt() .. "", vector, v_damageindicator:GetColor(), 10, fonts.Smallest_Pixel, true, false)
        elseif v_dmg_font:Get() == 1 then
            Render.Text(menu.Min_Damage:GetInt() .. "", Vector2.new(vector.x + 1, vector.y + 1), Color.new(0, 0, 0, v_damageindicator:GetColor().a), 10, fonts.Verdana, false, false)
            Render.Text(menu.Min_Damage:GetInt() .. "", vector, v_damageindicator:GetColor(), 10, fonts.Verdana, false, false)
        end
    else
        if not Minimum_Damage == true then return end

        if v_dmg_font:Get() == 0 then
            Render.Text(Minimum_Damage_override .. "", vector, v_damageindicator:GetColor(), 10, fonts.Smallest_Pixel, true, false)
        elseif v_dmg_font:Get() == 1 then
            Render.Text(Minimum_Damage_override .. "", Vector2.new(vector.x + 1, vector.y + 1), Color.new(0, 0, 0, v_damageindicator:GetColor().a), 10, fonts.Verdana, false, false)
            Render.Text(Minimum_Damage_override .. "", vector, v_damageindicator:GetColor(), 10, fonts.Verdana, false, false)
        end
    end
end

local function shadow_Text(text, x, y, color)
    text_size = Render.CalcTextSize(text, 24, fonts.Calibri)
    w = 25
    Render.GradientBoxFilled(Vector2.new(x, y), Vector2.new(x + text_size.x / 2, y + w), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.2156862745098039), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.2156862745098039))
    Render.GradientBoxFilled(Vector2.new(x + text_size.x / 2, y), Vector2.new(x + ((text_size.x / 2) * 2), y + w), Color.new(0, 0, 0, 0.2156862745098039), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.2156862745098039), Color.new(0, 0, 0, 0))
    Render.Text(text, Vector2.new(x + 5, y + 2), color, 24, fonts.Calibri)
end

local function skeet_indicators()
    si_offset = 0
    si_height = 35

    is_y = screen_size.y/1.48 - 5

    if not live_state(true) then return end

    if si_settings:Get(1) and live_state() then
        shadow_Text("FAKE    ", 5, is_y + si_offset * si_height, Color.new(Clamp((math.abs(get_desync()) / 58) * 255, 255, 150)/255, 200/255, 60/255, 1))
        Render.Circle(Vector2.new(Render.CalcTextSize("FAKE    ", 24, fonts.Calibri).x, is_y + si_offset * si_height + 12), 7, 32, Color.new(0, 0, 0, 100 / 255), 4, 0, 360)
        Render.Circle(Vector2.new(Render.CalcTextSize("FAKE    ", 24, fonts.Calibri).x, is_y + si_offset * si_height + 12), 7, 32, Color.new(Clamp((math.abs(get_desync()) / 58) * 255, 255, 150)/255, 200/255, 60/255, 1), 4, 0, (math.abs(get_desync()) / 58) * 360)
        si_offset = si_offset - 1
    end

    if si_settings:Get(2) and live_state() then
        shadow_Text("CHOKE    ", 5, is_y + si_offset * si_height, Color.new(Clamp((math.abs(ClientState.m_choked_commands) / 14) * 255, 255, 150)/255, 200/255, 60/255, 1))
        Render.Circle(Vector2.new(Render.CalcTextSize("CHOKE    ", 24, fonts.Calibri).x, is_y + si_offset * si_height + 12), 7, 32, Color.new(0, 0, 0, 100 / 255), 4, 0, 360)
        Render.Circle(Vector2.new(Render.CalcTextSize("CHOKE    ", 24, fonts.Calibri).x, is_y + si_offset * si_height + 12), 7, 32, Color.new(Clamp((math.abs(ClientState.m_choked_commands) / 14) * 255, 255, 150)/255, 200/255, 60/255, 1), 4, 0, (math.abs(ClientState.m_choked_commands) / 14) * 360)
        si_offset = si_offset - 1
    end

    if si_settings:Get(3) then
        if menu.Double_Tap:GetBool() then
            if Exploits.GetCharge() == 1 then shadow_Text("DT", 5, is_y + si_offset * si_height, Color.RGBA(132, 195, 16, 255)) else shadow_Text("DT", 5, is_y + si_offset * si_height, Color.RGBA(255, 0, 0, 255)) end
            si_offset = si_offset - 1
        end
    end

    if si_settings:Get(4) then
        if menu.Hide_Shots:GetBool() then
            if Exploits.GetCharge() == 1 then shadow_Text("ONSHOT", 5, is_y + si_offset * si_height, Color.RGBA(236, 236, 236, 255)) else shadow_Text("ONSHOT", 5, is_y + si_offset * si_height, Color.RGBA(255, 0, 0, 255)) end
            si_offset = si_offset - 1
        end
    end

    if si_settings:Get(5) then
        if Minimum_Damage == true or si_options:Get(1) then
            if menu.Min_Damage:GetInt() <= 0 then
                shadow_Text("Dynamic", 5, is_y + si_offset * si_height, Color.RGBA(236, 236, 236, 255))
            else
                shadow_Text(menu.Min_Damage:GetInt() .. "", 5, is_y + si_offset * si_height, Color.RGBA(236, 236, 236, 255))
            end
            si_offset = si_offset - 1
        end
    end

    if si_settings:Get(6) then
        if Hit_Chance == true or si_options:Get(2) then
            if menu.Hc_Value:GetInt() <= 0 then
                shadow_Text("Dynamic", 5, is_y + si_offset * si_height, Color.RGBA(255, 135, 55, 255))
            else
                shadow_Text(menu.Hc_Value:GetInt() .. "", 5, is_y + si_offset * si_height, Color.RGBA(255, 135, 55, 255))
            end
            si_offset = si_offset - 1
        end
    end

    if si_settings:Get(7) then
        if menu.Yaw_Base:GetInt() == 5 then
            shadow_Text("FS", 5, is_y + si_offset * si_height, Color.RGBA(132, 195, 16, 255))
            si_offset = si_offset - 1
        end
    end

    if si_settings:Get(8) then
        if menu.Fake_Duck:GetBool() then
            shadow_Text("DUCK", 5, is_y + si_offset * si_height, Color.RGBA(236, 236, 236, 255))
            si_offset = si_offset - 1
        end
    end

    if si_settings:Get(9) then
        if menu.Body_Aim:GetInt() >= 1 then
            shadow_Text("BODY", 5, is_y + si_offset * si_height, Color.RGBA(132, 195, 16, 255))
            si_offset = si_offset - 1
        end
    end

    if si_settings:Get(10) then
        if menu.Safe_Points:GetInt() >= 1 then
            shadow_Text("SAFE", 5, is_y + si_offset * si_height, Color.RGBA(132, 195, 16, 255))
            si_offset = si_offset - 1
        end
    end

    if si_settings:Get(11) then
        if Dormant_Aimbot == true then
            shadow_Text("DA", 5, is_y + si_offset * si_height, Color.RGBA(132, 195, 16, 255))
            si_offset = si_offset - 1
        end
    end

    if si_settings:Get(12) then
        if CVar.FindVar("cl_lagcompensation"):GetInt() == 0 then
            shadow_Text("AX", 5, is_y + si_offset * si_height, Color.RGBA(132, 195, 16, 255))
            si_offset = si_offset - 1
        end
    end

    if si_settings:Get(13) and live_state() then
        if bit.band(EntityList.GetLocalPlayer():GetProp("DT_BasePlayer", "m_fFlags"), bit.lshift(1, 0)) == 0 then
            shadow_Text("LC", 5, is_y + si_offset * si_height, menu.Double_Tap:GetBool() and Exploits.GetCharge() == 1 and Color.RGBA(255, 0, 0, 255) or Color.RGBA(132, 195, 16, 255))
            si_offset = si_offset - 1
        end
    end
end

local run_state = false

local function skeet_peek()
    if not live_state() then return end

    if menu.Auto_Peek:GetBool() and not run_state then
        origin = EntityList.GetLocalPlayer():GetProp("DT_BaseEntity", "m_vecOrigin")
        run_state = true
    elseif not menu.Auto_Peek:GetBool() then
        run_state = false
    end

    alpha = sa_alpha:GetInt()

    size = 25
    a_c = skeet_autopeek:GetColor()

    if run_state then
        for i = 0, 360, 5 do
            Render.Circle3DFilled(origin, 58, (i / 360) * size, Color.new(a_c.r, a_c.g, a_c.b, alpha/255), false)
        end
    end
end

ffi.cdef[[
    typedef struct {
        unsigned short wYear;
        unsigned short wMonth;
        unsigned short wDayOfWeek;
        unsigned short wDay;
        unsigned short wHour;
        unsigned short wMinute;
        unsigned short wSecond;
        unsigned short wMilliseconds;
    } SYSTEMTIME, *LPSYSTEMTIME;
   
    void GetSystemTime(LPSYSTEMTIME lpSystemTime);
    void GetLocalTime(LPSYSTEMTIME lpSystemTime);
]]

local function solusui_watermark()
    fps = math.floor(1 / GlobalVars.frametime)
    ping = math.floor(EngineClient.GetNetChannelInfo():GetAvgLatency(0) * 1000)
    server_ip = EngineClient.GetNetChannelInfo():GetAddress()
    tick = math.floor(1 / GlobalVars.interval_per_tick)

    x_Add = 6
    y_Add = 7
    x_Bor = 3
    y_Tot = 17

    local local_time = ffi.new("SYSTEMTIME")
    ffi.C.GetLocalTime(local_time)

    if su_watername:GetInt() == 1 then watermark_username = EntityList.GetLocalPlayer():GetName() else watermark_username = Cheat.GetCheatUserName() end
    watermark_text = su_cheat:Get()

    if su_watermark:Get(1) then watermark_text = watermark_text .. " | " .. watermark_username end
    if su_watermark:Get(2) then watermark_text = watermark_text .. " | " .. fps .. " fps" end
    if su_watermark:Get(3) then watermark_text = watermark_text .. " | " .. "delay: " .. ping .. "ms" end
    if su_watermark:Get(4) then watermark_text = watermark_text .. " | " .. server_ip end
    if su_watermark:Get(5) then watermark_text = watermark_text .. " | " .. tick .. "tick" end
    if su_watermark:Get(6) then watermark_text = watermark_text .. " | " .. string.format("%02d:%02d:%02d", local_time.wHour, local_time.wMinute, local_time.wSecond) end

    watermark_size = Render.CalcTextSize(watermark_text, 12, fonts.Verdana12)

    if solus_uiGradient:GetBool() then
        draw_rainbow(screen_size.x - watermark_size.x - x_Add - x_Bor, 7, watermark_size.x + x_Bor + 3, 2, false)
    else
        Render.BoxFilled(Vector2.new(screen_size.x - x_Add + x_Bor, y_Add), Vector2.new(screen_size.x - x_Add - watermark_size.x - x_Bor, y_Add + 2), Color.new(solus_uiColor:GetColor().r, solus_uiColor:GetColor().g, solus_uiColor:GetColor().b, 1))
    end
    Render.BoxFilled(Vector2.new(screen_size.x - x_Add + x_Bor, y_Add + 2), Vector2.new(screen_size.x - x_Add - watermark_size.x - x_Bor, y_Add + 2 + y_Tot), Color.new(18 / 255, 18 / 255, 18 / 255, solus_uiColor:GetColor().a))
    Render.Text(watermark_text, Vector2.new(screen_size.x - x_Add - watermark_size.x + 1, y_Add + 5), Color.new(0, 0, 0, 1), 12, fonts.Verdana12)
    Render.Text(watermark_text, Vector2.new(screen_size.x - x_Add - watermark_size.x, y_Add + 4), Color.new(1.0, 1.0, 1.0, 1.0), 12, fonts.Verdana12)
end

local su_anim = 0

local function solusui_keybinds(x, y)
    x = math.floor(x)
    y = math.floor(y)

    local su_ro = 0
    w = 170

    local function su_render_keybinds(bind)
        if not bind:IsActive() then return end

        local bind_name = bind:GetName()
        local bind_val = bind:GetValue()
        local bind_mod = bind:GetMode()

        if bind_name == "Auto Peek" then bind_name = "Quick peek assist" end
        if bind_name == "Fake Duck" then bind_name = "Duck peek assist" end

        if bind_mod == 0 then bind_mod = "Toggled" elseif bind_mod == 1 then bind_mod = "Hold" end
        --if bind_val ~= "on" then bind_mod = bind_val end

        left_render_Text = bind_name
        left_render_text_size = Render.CalcTextSize(left_render_Text, 12, fonts.Verdana12).x
        right_render_Text = "[" .. bind_mod .. "]"
        right_render_text_size = Render.CalcTextSize(right_render_Text, 12, fonts.Verdana12).x

        calc_w = 70 + left_render_text_size + right_render_text_size

        --[[if w_a > calc_w then
            if w_a > w then w_a = w_a - 5 else w_a = w end
        else
            if w_a < calc_w then w_a = w_a + 5 else w_a = calc_w end
        end]]

        su_anim = 255

        Render.Text(left_render_Text, Vector2.new(x + 3, y + 20 + 1 + (su_ro * 16)), Color.new(0, 0, 0, su_anim/255), 12, fonts.Verdana12, false)
        Render.Text(left_render_Text, Vector2.new(x + 4, y + 20 + (su_ro * 16)), Color.new(1, 1, 1, su_anim/255), 12, fonts.Verdana12, false)

        Render.Text(right_render_Text, Vector2.new(x + w - 3 - right_render_text_size, y + 20 + 1 + (su_ro * 16)), Color.new(0, 0, 0, su_anim/255), 12, fonts.Verdana12, false)
        Render.Text(right_render_Text, Vector2.new(x + w - 3 + 1 - right_render_text_size, y + 20 + (su_ro * 16)), Color.new(1, 1, 1, su_anim/255), 12, fonts.Verdana12, false)

        su_ro = su_ro + 1
    end

    local binds = Cheat.GetBinds()
    for i = 1, #binds do
        su_render_keybinds(binds[i])
    end

    if solus_uiGradient:GetBool() then
        draw_rainbow(x, y, w, 2, false)
    else
        Render.BoxFilled(Vector2.new(x, y), Vector2.new(x + w, y + 2), Color.new(solus_uiColor:GetColor().r, solus_uiColor:GetColor().g, solus_uiColor:GetColor().b, 1))
    end
    Render.BoxFilled(Vector2.new(x, y + 2), Vector2.new(x + w, y + 2 + 17), Color.new(18 / 255, 18 / 255, 18 / 255, solus_uiColor:GetColor().a))
    Render.Text("Keybinds", Vector2.new(x + w / 2 + 1, y + 11), Color.new(0, 0, 0, 1), 12, fonts.Verdana12, false, true)
    Render.Text("Keybinds", Vector2.new(x + w / 2, y + 10), Color.new(1.0, 1.0, 1.0, 1.0), 12, fonts.Verdana12, false, true)
end

local log_list = {}
local log_size = 0

local function log_register()
    log_size = log_size + 1
    for i, log in ipairs(log_list) do
        Render.Text(log.text, Vector2.new(6, 1 + i * 10), Color.new(0, 0, 0, 1), 13, fonts.Verdana13, false, false)
        Render.Text(log.text, Vector2.new(5, i * 10), log_system:GetColor(), 13, fonts.Verdana13, false, false)
        if log.time + 5 < GlobalVars.realtime then table.remove(log_list, i) end
    end
end

local hitbox = {
    [0] = "generic",
    [1] = "head",
    [2] = "chest",
    [3] = "stomach",
    [4] = "left arm",
    [5] = "right arm",
    [6] = "left leg",
    [7] = "right leg",
    [10] = "gear"
}

local miss_reason = {
    [0] = "Hit",
    [1] = "Resolver",
    [2] = "Spread",
    [3] = "Occlusion",
    [4] = "Prediction error"
}

local FindElement = ffi.cast("unsigned long(__thiscall*)(void*, const char*)", Utils.PatternScan("client.dll", "55 8B EC 53 8B 5D 08 56 57 8B F9 33 F6 39 77 28"))
local CHudChat = FindElement(ffi.cast("unsigned long**", ffi.cast("uintptr_t", Utils.PatternScan("client.dll", "B9 ? ? ? ? E8 ? ? ? ? 8B 5D 08")) + 1)[0], "CHudChat")
local FFI_ChatPrint = ffi.cast("void(__cdecl*)(int, int, int, const char*, ...)", ffi.cast("void***", CHudChat)[0][27])

local function PrintChat(text) FFI_ChatPrint(CHudChat, 0, 0, string.format("%s ", text)) end

local function Register_HitorMiss(shot)
    local hitchance = shot.hitchance
    local bt = shot.backtrack
    local hitgroup = hitbox[shot.hitgroup]
    local dmg = shot.damage
    local target_index = shot.target_index
    local target_name = EntityList.GetPlayer(target_index):GetName()
    local remaining_hp = EntityList.GetPlayer(target_index):GetProp("m_iHealth")
    local reason = miss_reason[shot.reason]
    local spread_degree = hitbox[shot.spread_degree]
    local wanted_hitgroup = shot.wanted_hitgroup
    local wanted_damage = shot.wanted_damage
    local log_text = "unk"

    if shot.reason == 0 and ls_display:Get(6) then
        log_text = string.format("[%s] Hit %s's %s for %s(%s) (%s remaining)", target_index, target_name, hitgroup, dmg, wanted_damage, remaining_hp)

        if ls_print:Get(2) then
            print("[neverlose] " .. log_text .. string.format("aimed=%s(%s) bt=%s", wanted_hitgroup, hitchance, bt))
        end
    elseif shot.reason > 0 and ls_display:Get(3) then
        log_text = string.format("[%s] Missed %s's %s(%s)(%s) due to %s bt=%s", target_index, target_name, hitgroup, dmg, hitchance, reason, bt)

        if ls_print:Get(1) then
            table.insert(log_list, {text = log_text, time = GlobalVars.realtime})
        end

        if ls_print:Get(2) then
            print("[neverlose] " .. log_text)
        end
    end
end

local function Log_player_hurt(event)
    if event:GetName() ~= "player_hurt" then return end
    if not ls_display:Get(1) then return end

    local ph_text = "unk"

    local me = EntityList.GetLocalPlayer()
    local victim = EntityList.GetPlayerForUserID(event:GetInt("userid"))
    local attacker = EntityList.GetPlayerForUserID(event:GetInt("attacker"))

    if attacker ~= me then return end
   
    local ph_name = victim:GetName()
    local ph_hp = victim:GetProp("m_iHealth")

    local weapon_name = event:GetString("weapon", "unknown")
    local is_knife = string.match(weapon_name, "knife") or weapon_name == "bayonet"

    local ph_dmg = event:GetString("dmg_health", "unknown")
    local ph_hg = hitbox[event:GetInt("hitgroup", 0)]

    if is_knife then
        ph_text = string.format("Knifed %s's %s hp remaining", ph_name, ph_hp)
    elseif weapon_name == "hegrenade" then
        ph_text = string.format("Naded %s's %s hp remaining", ph_name, ph_hp)
    elseif weapon_name == "inferno" then
        ph_text = string.format("Burned %s's %s hp remaining", ph_name, ph_hp)
    else
        log_text = string.format("[%s] Hit %s's %s for %s (%s remaining)", event:GetInt("userid"), ph_name, ph_hg, ph_dmg, ph_hp)
    end

    if ls_print:Get(1) then
        table.insert(log_list, {text = log_text, time = GlobalVars.realtime})
    end

    if ls_print:Get(2) then
        print("[neverlose] " .. log_text)
    end
end

local function log_get_hit(event)
    if event:GetName() ~= "player_hurt" then return end
    if not ls_display:Get(2) then return end

    local me = EntityList.GetLocalPlayer()
    local victim = EntityList.GetPlayerForUserID(event:GetInt("userid"))
    local attacker = EntityList.GetPlayerForUserID(event:GetInt("attacker"))

    local gh_name = attacker:GetName()
    local gh_hp = me:GetProp("m_iHealth")
    local gh_dmg = event:GetString("dmg_health", "unknown")
    local gh_hg = hitbox[event:GetInt("hitgroup", 0)]

    local gh_text = string.format("[%s] Hurt by %s Hitbox: %s for %s (%s remaining)", event:GetInt("userid"), gh_name, gh_hg, gh_dmg, gh_hp)

    if victim ~= me or attacker == me then return end

    if ls_print:Get(1) then
        table.insert(log_list, {text = gh_text, time = GlobalVars.realtime})
    end

    if ls_print:Get(2) then
        print("[neverlose] " .. gh_text)
    end
end

local function log_purchase(event)
    if event:GetName() ~= "item_purchase" then return end
    if not ls_display:Get(4) then return end

    local p_text = "unk"

    local me = EntityList.GetLocalPlayer()
    local victim = EntityList.GetPlayerForUserID(event:GetInt("userid"))
    local username = victim:GetName()
    local item = string.gsub(event:GetString("weapon", "unknown"), "weapon_", "")

    if me == victim then return end

    p_text = string.format("%s bought %s", username, item)

    if ls_print:Get(1) then
        table.insert(log_list, {text = p_text, time = GlobalVars.realtime})
    end

    if ls_print:Get(2) then
        print("[neverlose] " .. p_text)
    end
end

local function log_bomb(event)
    if not ls_display:Get(5) then return end
    if not string.match(event:GetName(), "bomb_") then return end

    local me = EntityList.GetLocalPlayer()
    local victim = EntityList.GetPlayerForUserID(event:GetInt("userid"))
    local username = victim:GetName()

    if me == victim then return end

    local b_text = "unk"

    local player_resource = EntityList.GetPlayerResource()
    local localPos = victim:GetRenderOrigin()

    local m_bombsiteCenterA = player_resource:GetProp("DT_CSPlayerResource", "m_bombsiteCenterA")
    local m_bombsiteCenterB = player_resource:GetProp("DT_CSPlayerResource", "m_bombsiteCenterB")
    local dist_to_a = localPos:DistTo(m_bombsiteCenterA)
    local dist_to_b = localPos:DistTo(m_bombsiteCenterB)

    planting_site = dist_to_a < dist_to_b and "A" or "B"

    if event:GetName() == "bomb_beginplant" then
        b_text = string.format("%s started to plant the bomb site %s", username, planting_site)
    elseif event:GetName() == "bomb_abortplant" then
        b_text = string.format("%s aborted to plant the bomb", username)
    elseif event:GetName() == "bomb_planted" then
        b_text = string.format("%s planted bomb to site %s", username, planting_site)
    elseif event:GetName() == "bomb_begindefuse" then
        b_text = string.format("%s started to defuse", username)
    elseif event:GetName() == "bomb_begindefuse" then
        b_text = string.format("%s aborted to defuse", username)
    else
        return
    end

    if ls_print:Get(1) then
        table.insert(log_list, {text = b_text, time = GlobalVars.realtime})
    end

    if ls_print:Get(2) then
        print("[neverlose] " .. b_text)
    end
end

local function log_hostage(event)
    if not ls_display:Get(6) then return end
    if not event:GetName() == "hostage_rescued" then return end

    local me = EntityList.GetLocalPlayer()
    local victim = EntityList.GetPlayerForUserID(event:GetInt("userid"))
    local username = victim:GetName()

    local h_text = string.format("%s rescued the hostage", username)

    if me == victim then return end

    if ls_print:Get(1) then
        table.insert(log_list, {text = h_text, time = GlobalVars.realtime})
    end

    if ls_print:Get(2) then
        print("[neverlose] " .. h_text)
    end
end

local hp = {
    x = 0,
    y = 0,
}

local ffi_handler = {}
local muzzle = {}

ffi.cdef[[

    typedef struct {
        float x;
        float y;
        float z;
    } vec3_struct;

    typedef void*(__thiscall* c_entity_list_get_client_entity_t)(void*, int);
    typedef void*(__thiscall* c_entity_list_get_client_entity_from_handle_t)(void*, uintptr_t);

    typedef int(__thiscall* c_weapon_get_muzzle_attachment_index_first_person_t)(void*, void*);
    typedef int(__thiscall* c_weapon_get_muzzle_attachment_index_third_person_t)(void*);
    typedef bool(__thiscall* c_entity_get_attachment_t)(void*, int, vec3_struct*);
]]

ffi_handler.bind_argument = function(fn, arg)
    return function(...)
        return fn(arg, ...)
    end
end

ffi_handler.interface_type = ffi.typeof("uintptr_t**")

ffi_handler.i_client_entity_list = ffi.cast(ffi_handler.interface_type, Utils.CreateInterface("client.dll", "VClientEntityList003"))
ffi_handler.get_client_entity = ffi_handler.bind_argument(ffi.cast("c_entity_list_get_client_entity_t", ffi_handler.i_client_entity_list[0][3]), ffi_handler.i_client_entity_list)

muzzle.pos = Vector.new(0, 0, 0)

muzzle.attachment_index = 84
muzzle.muzzle_attachment_index_1st = 468
muzzle.muzzle_attachment_index_3rd = 469

muzzle.get = function()
    if not EngineClient.IsInGame() then return end

    local me = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
    if not me or EntityList.GetLocalPlayer():GetProp("DT_BasePlayer", "m_iHealth") < 1 then return end

    local my_weapon = EntityList.GetClientEntityFromHandle(me:GetProp("DT_BaseCombatCharacter", "m_hActiveWeapon"))
    if not my_weapon then return end

    local my_address = ffi_handler.get_client_entity(me:EntIndex())
    if not my_address then return end

    local my_weapon_address = ffi_handler.get_client_entity(my_weapon:EntIndex())
    if not my_weapon_address then return end

    local viewmodel = EntityList.GetClientEntityFromHandle(me:GetProp("DT_BasePlayer", "m_hViewModel[0]"))
    if not viewmodel then return end

    local viewmodel_ent = ffi_handler.get_client_entity(viewmodel:EntIndex())
    if not viewmodel_ent then return end

    local weaponworldmodel = EntityList.GetClientEntityFromHandle(my_weapon:GetProp("DT_BaseCombatWeapon", "m_hWeaponWorldModel"))
    if not weaponworldmodel then return end

    local weaponworldmodel_ent = ffi_handler.get_client_entity(weaponworldmodel:EntIndex())
    if not weaponworldmodel_ent then return end

    local viewmodel_vtbl = ffi.cast(ffi_handler.interface_type, viewmodel_ent)[0]
    local weaponworldmodel_vtbl = ffi.cast(ffi_handler.interface_type, weaponworldmodel_ent)[0]
    local weapon_vtbl = ffi.cast(ffi_handler.interface_type, my_weapon_address)[0]

    local get_viewmodel_attachment_fn = ffi.cast("c_entity_get_attachment_t", viewmodel_vtbl[muzzle.attachment_index])
    local get_weaponworldmodel_attachment_fn = ffi.cast("c_entity_get_attachment_t", weaponworldmodel_vtbl[muzzle.attachment_index])
    local get_muzzle_attachment_index_1st_fn = ffi.cast("c_weapon_get_muzzle_attachment_index_first_person_t", weapon_vtbl[muzzle.muzzle_attachment_index_1st])
    local get_muzzle_attachment_index_3rd_fn = ffi.cast("c_weapon_get_muzzle_attachment_index_third_person_t", weapon_vtbl[muzzle.muzzle_attachment_index_3rd])

    local muzzle_attachment_index_1st = get_muzzle_attachment_index_1st_fn(my_weapon_address, viewmodel_ent)
    local muzzle_attachment_index_3rd = get_muzzle_attachment_index_3rd_fn(my_weapon_address)

    local ret = ffi.new("vec3_struct[1]")
    local is_thirdperson = menu.Third_Person

    if is_thirdperson:GetBool() then
        state = get_weaponworldmodel_attachment_fn(weaponworldmodel_ent, muzzle_attachment_index_3rd, ret)
    else
        state = get_viewmodel_attachment_fn(viewmodel_ent, muzzle_attachment_index_1st, ret)
    end

    return {state = state, pos = Vector.new(ret[0].x, ret[0].y, ret[0].z)}
end

local panel = {
    w = 170,
    h = 2,
    s = 22,
}

local panel_oc = 0
local oc_draw0 = 0
local oc_draw1 = 0
local oc_draw2 = 0
local oc_draw3 = 0
local oc_draw4 = 0

local exp_panel_color = Color.RGBA(196, 196, 196, 255)

local function draw_panel(x, y)
    hp_col1 = Color.new(holo_panel:GetColor().r, holo_panel:GetColor().g, holo_panel:GetColor().b, 1)
    hp_col2 = holo_panel:GetColor()
    w = 90

    local weapon = EntityList.GetClientEntity(EngineClient.GetLocalPlayer()):GetPlayer():GetActiveWeapon():GetWeaponID()

    weap_size = 60 --Render.CalcWeaponIconSize(weapon, 14).x
    invert_Text = "-"
    if AntiAim.GetInverterState() then invert_Text = "LEFT" else invert_Text = "Right" end

    if ClientState.m_choked_commands < panel_oc then
        oc_draw0 = oc_draw1
        oc_draw1 = oc_draw2
        oc_draw2 = oc_draw3
        oc_draw3 = oc_draw4
        oc_draw4 = panel_oc
    end
    panel_oc = ClientState.m_choked_commands

    if Exploits.GetCharge() == 1 then fl_panel_color = Color.new(Exploits.GetCharge(), 0, 0, 1) else fl_panel_color = Color.new(1, 1, 1, 1) end
    if Exploits.GetCharge() == 1 then exp_panel_color = Color.RGBA(196, 196, 196, 255) else Color.RGBA(122, 122, 122, 255) end
    if Exploits.GetCharge() == 1 then panel_exp_color = Color.new(0, 1, 0, 1) else panel_exp_color = Color.new(1, 0, 0, 1) end
    if menu.Double_Tap:GetBool() then
        panel_exp_text = "DT"
    elseif menu.Hide_Shots:GetBool() then
        panel_exp_text = "OSAA"
    else
        panel_exp_text = "INACTIVE"
        panel_exp_color = Color.new(1, 0, 0, (math.floor(math.sin(GlobalVars.curtime * 2) * 220 + 221)) / 1000 * 6.92)
    end

    if hp_settings:Get(4) then
        draw_rainbow(x, y, panel.w, 2, false)
    else
        Render.GradientBoxFilled(Vector2.new(x, y), Vector2.new(x + panel.w / 2, y + panel.h), hp_col2, hp_col1, hp_col2, hp_col1)
        Render.GradientBoxFilled(Vector2.new(x + panel.w / 2, y), Vector2.new(x + panel.w, y + panel.h), hp_col1, hp_col2, hp_col1, hp_col2)
    end

    if hp_settings:Get(3) then Render.Blur(Vector2.new(x, y + panel.h), Vector2.new(x + panel.w, y + panel.h + w), hp_blur:GetColor()) else Render.BoxFilled(Vector2.new(x, y + panel.h), Vector2.new(x + panel.w, y + panel.h + w), Color.new(0, 0, 0, hp_alpha:GetInt() / 255)) end

    Render.Text("ANTI-AIM DEBUG", Vector2.new(x + panel.w / 2, y + panel.h + 10), Color.new(1, 1, 1, 1), 11, fonts.Smallest_Pixel11, true, true)
    Render.Text(string.format("FAKE YAW: (%s) %s", invert_Text, math.floor(get_delta())), Vector2.new(x + 5, y + panel.h + 10 + (1 * 14)), Color.new(1, 1, 1, 1), 11, fonts.Smallest_Pixel11, true, false)
    Render.Text(string.format("FL DATA: %s-%s-%s-%s-%s", oc_draw0, oc_draw1, oc_draw2, oc_draw3, oc_draw4), Vector2.new(x + 5, y + panel.h + 10 + (2 * 14)), fl_panel_color, 11, fonts.Smallest_Pixel11, true, false)
    Render.Text("EXPLOIT: ", Vector2.new(x + 5, y + panel.h + 10 + (3 * 14)), exp_panel_color, 11, fonts.Smallest_Pixel11, true, false)
    if menu.Double_Tap:GetBool() or menu.Hide_Shots:GetBool() then
    Render.Text(panel_exp_text .. " %" .. Clamp(math.floor(Exploits.GetCharge() * 100), 0, 100), Vector2.new(x + 5 + Render.CalcTextSize("EXPLOIT: ", 11, fonts.Smallest_Pixel11).x, y + panel.h + 10 + (3 * 14)), panel_exp_color, 11, fonts.Smallest_Pixel11, true, false)
    else
        Render.Text(panel_exp_text, Vector2.new(x + 5 + Render.CalcTextSize("EXPLOIT: ", 11, fonts.Smallest_Pixel11).x, y + panel.h + 10 + (3 * 14)), panel_exp_color, 11, fonts.Smallest_Pixel11, true, false)
    end
    Render.WeaponIcon(weapon, Vector2.new(x + 5, y + panel.h + 10 + (4 * 14)), Color.new(1, 1, 1), 14)
    Render.Text("|", Vector2.new(x + 10 + weap_size, y + panel.h + 10 + (4 * 14)), Color.new(1, 1, 1, 1), 11, fonts.Smallest_Pixel11, true, false)
    Render.Text(menu.Hc_Value:GetInt() .. "%", Vector2.new(x + 5 + weap_size + Render.CalcTextSize(" | ", 11, fonts.Smallest_Pixel11).x, y + panel.h + 10 + (4 * 14)), Color.RGBA(196, 196, 196, 255), 11, fonts.Smallest_Pixel11, true, false)
    Render.Text(menu.Min_Damage:GetInt() .. "DMG", Vector2.new(x + 5 + weap_size + Render.CalcTextSize(" | " .. menu.Hc_Value:GetInt() .. "% ", 11, fonts.Smallest_Pixel11).x, y + panel.h + 10 + (4 * 14)), Color.RGBA(122, 122, 122, 255), 11, fonts.Smallest_Pixel11, true, false)
end

local function debug_panel()
    if not live_state() then return end

    local me = lp()
    local hitbox = me:GetHitboxCenter(3)
    local world_stand =  Render.WorldToScreen(hitbox)

    extra_x = 120
    extra_y = -150

    if hp_display:Get(1) and menu.Third_Person:GetBool() then
        if hp_settings:Get(1) and not hp_settings:Get(5) then Render.Line(Vector2.new(hp.x + extra_x, hp.y + extra_y), Vector2.new(screen_size.x / 2, world_stand.y), hp_line:GetColor()) end
        if hp_settings:Get(2) then Render.CircleFilled(Vector2.new(screen_size.x / 2, world_stand.y), hp_circle:GetInt(), 30, hp_circle:GetColor()) end
        hp.x = lerp(hp.x, world_stand.x, GlobalVars.frametime * 8)
        hp.y = lerp(hp.y, world_stand.y, GlobalVars.frametime * 8)
    end

    local function draw_fp()
        local muzzle_temp = muzzle.get()
       
        if muzzle_temp then
            muzzle.pos = muzzle_temp.pos
        end

        local pos2d = Render.WorldToScreen(muzzle.pos)

        if pos2d ~= nil then
            hp.x = lerp(hp.x, pos2d.x, GlobalVars.frametime * 8)
            hp.y = lerp(hp.y, pos2d.y, GlobalVars.frametime * 8)
            if hp_settings:Get(1) then Render.Line(Vector2.new(hp.x + extra_x, hp.y + extra_y), Vector2.new(pos2d.x, pos2d.y), hp_line:GetColor()) end
            if hp_settings:Get(2) then Render.CircleFilled(Vector2.new(pos2d.x, pos2d.y), hp_circle:GetInt(), 30, hp_circle:GetColor()) end
            draw_panel(hp.x + extra_x, hp.y + extra_y)
        end
    end

    local entity = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
    local player = entity:GetPlayer()
    local weap = player:GetActiveWeapon()

    if hp.y > screen_size.y then hp.y = screen_size.y - 200 end
    if hp.x > screen_size.x then hp.x = screen_size.x - 170 end

    if hp_display:Get(1) and menu.Third_Person:GetBool() then
        if hp_settings:Get(5) then
            draw_fp()
        else
            draw_panel(hp.x + extra_x, hp.y + extra_y)
        end
    elseif hp_display:Get(2) and not menu.Third_Person:GetBool() and not EntityList.GetLocalPlayer():GetProp("m_bIsScoped") then
        if weap:IsKnife() or weap:IsGrenade() then return end
        draw_fp()
    elseif hp_display:Get(3) and not menu.Third_Person:GetBool() and EntityList.GetLocalPlayer():GetProp("m_bIsScoped") then
        if weap:IsKnife() or weap:IsGrenade() then return end
        draw_fp()
    end
end

local ts = false
local ts_x = 5
local ts_y = 500
local ts_ = false
local ts_x_ = 5
local ts_y_ = 400
local suk = false
local suk_x = 30
local suk_y = 600

local function draggable_ui()
    local mouse_pos = Cheat.GetMousePos()
    local is_key_pressed = Cheat.IsKeyDown(0x1)
    local is_visible = Cheat.IsMenuVisible()

    if not is_key_pressed or not is_visible then
        ts = false
        ts_ = false
        suk = false

        return
    end

    if team_skeet:GetBool() then
        if ts_hotkey:GetBool() then
            if mouse_pos.x > ts_x and mouse_pos.x < ts_x + 200 and mouse_pos.y > ts_y and mouse_pos.y < ts_y + 17 or ts then
                if ts_ or suk then return end
                if not ts then ts = true end
                ts_x = mouse_pos.x - 200 / 2
                ts_y = mouse_pos.y - 17 / 2
            end
        end
    end

    if team_skeet:GetBool() then
        if ts_indicator_items:Get() > 0 then
            if mouse_pos.x > ts_x_ and mouse_pos.x < ts_x_ + 200 and mouse_pos.y > ts_y_ and mouse_pos.y < ts_y_ + 17 or ts_ then
                if ts or suk then return end
                if not ts_ then ts_ = true end
                ts_x_ = mouse_pos.x - 200 / 2
                ts_y_ = mouse_pos.y - 17 / 2
            end
        end
    end

    if solus_ui:Get(2) then
        if mouse_pos.x > suk_x and mouse_pos.x < suk_x + 200 and mouse_pos.y > suk_y and mouse_pos.y < suk_y + 17 or suk then
            if ts or ts_ then return end
            if not suk then suk = true end
            suk_x = mouse_pos.x - 170 / 2
            suk_y = mouse_pos.y - 17 / 2
        end
    end
end

Cheat.RegisterCallback("draw", function()
    if not EngineClient.IsConnected() then
        warn1:SetVisible(true)
        warn2:SetVisible(true)
        return
    end
    warn1:SetVisible(false)
    warn2:SetVisible(false)
    update_binds()
    draggable_ui()
    fov_cs()
    if skeet_indicator:GetBool() then
        if skeet_indicator:GetBool() then skeet_indicators() end
        if skeet_indicator:GetBool() then skeet_peek() end
    end
    if solus_ui:Get(1) then solusui_watermark() end
    if solus_ui:Get(2) then solusui_keybinds(suk_x, suk_y) end
    if custom_scope:GetBool() then scope() end
    if v_indicator:GetInt() > 0 then indicators() end
    if info_bar:Get() > 0 then infobar() end
    if v_damageindicator:Get() >= 1 then damageindicator() end
    if log_system:GetBool() then log_register() end
    if holo_panel:GetBool() then debug_panel() end
    if team_skeet:GetBool() then
        if ts_hotkey:GetBool() then ts_keybind(ts_x, ts_y, 200) end
        if ts_indicator_items:Get() > 0 then ts_indicator(ts_x_, ts_y_, 200) end
    end
end)

Cheat.RegisterCallback("events", function(event)
    if not EngineClient.IsConnected() then return end

    if custom_hitsound:Get() > 0 then play_hitsound(event) end
    if log_system:GetBool() then Log_player_hurt(event) end
    if log_system:GetBool() then log_get_hit(event) end
    if log_system:GetBool() then log_purchase(event) end
    if log_system:GetBool() then log_bomb(event) end
end)

Cheat.RegisterCallback("registered_shot", function(shot)
    if not EngineClient.IsConnected() then return end
   
    if log_system:GetBool() then Register_HitorMiss(shot) end
    if custom_hitsound:Get() > 0 then shot_sound(shot) end
end)

Cheat.RegisterCallback("destroy", function()
    fov_cs_debug:SetInt(0)
end)
издааа
 
Сверху Снизу