local a=[[
  local screen = EngineClient.GetScreenSize()
local timevar = GlobalVars.curtime
local verdana16 = Render.InitFont("Verdana", 12)

local select = Menu.Combo("unique.tech / main","Select",{"ragebot","antiaim","misc", "info"}, 0)

local fakelag_bool = Menu.Switch("unique.tech / fakelags","fakelag enable", false)
local fakelag_mode = Menu.Combo("unique.tech / fakelags","fakelag mode",{"default","random","flactuate","jitter"}, 0)
local fakelag_val1 = Menu.SliderInt("unique.tech / fakelags","fakelag value #1", 5, 0, 14)
local fakelag_val2 = Menu.SliderInt("unique.tech / fakelags","fakelag value #2", 14, 0, 14)
local legbreakercheckbox = Menu.Switch("unique.tech / anim fuckers", "leg breaker", false)
local aapresetstand = Menu.Combo("unique.tech / anti-aim presets","[stand] anti-aim preset",{"off","static","jitter","opposite","low delta","tank aa","null delta", "unique preset #1", "unique preset #2", "unique preset #3"}, 0)
local aapresetmove = Menu.Combo("unique.tech / anti-aim presets","[move] anti-aim preset",{"off","static","jitter","opposite","low delta","tank aa","null delta", "unique preset #1", "unique preset #2", "unique preset #3"}, 0)
local aapresetair = Menu.Combo("unique.tech / anti-aim presets","[air] anti-aim preset",{"off","static","jitter","opposite","low delta","tank aa","null delta", "unique preset #1", "unique preset #2", "unique preset #3"}, 0)
local aapresetslowwalk = Menu.Combo("unique.tech / anti-aim presets","[slowwalk] anti-aim preset",{"off","static","jitter","opposite","low delta","tank aa","null delta", "unique preset #1", "unique preset #2", "unique preset #3"}, 0)
local Left = Menu.Hotkey("unique.tech / manuals", "left", 0x0)
local Backward = Menu.Hotkey("unique.tech / manuals", "backward", 0x0)
local Right = Menu.Hotkey("unique.tech / manuals", "right", 0x0)
local Forward = Menu.Hotkey("unique.tech / manuals", "forward", 0x0)
local watermark_enable = Menu.Switch("unique.tech / watermark", "watermark", true)
local water_clr = Menu.ColorEdit("unique.tech / watermark", "watermark color", Color.new(0.1, 0.1, 0.1, 0.6))
local waterline_clr = Menu.ColorEdit("unique.tech / watermark", "watermark line color", Color.new(0.1, 0.1, 0.8, 1.0))
local watermarkposx = Menu.SliderInt("unique.tech / watermark","watermark pos x", 0, 0, screen.x)
local watermarkposy = Menu.SliderInt("unique.tech / watermark","watermark pos y", 0, 0, screen.y)
local AWPminDMG = Menu.Switch("unique.tech / weapons", "awp adaptive mindmg", false)
local JumpScoutBool = Menu.Switch("unique.tech / weapons", "jumpscout", false)
local defaulthitchance = Menu.SliderInt("unique.tech / weapons","default scout hitchance", 70, 1, 100)
local jumphitchance = Menu.SliderInt("unique.tech / weapons","jumpscout hitchance", 30, 1, 45)
local AutoScopeScar = Menu.Switch("unique.tech / weapons", "auto-snipers ideal scope", false)
local IdealHitBoxesCheckBox = Menu.Switch("unique.tech / hitscan", "ideal hitboxes", false)
local ragdollgravity = Menu.Switch("unique.tech / fun", "ragdoll gravity", false)
local indicatorscheckbox = Menu.Switch("unique.tech / indicators", "indicators", false)
local lowdeltavalue = Menu.SliderInt("unique.tech / anti-aim presets","low delta value", 30, 15, 35)
local nulldeltavalue = Menu.SliderInt("unique.tech / anti-aim presets","null delta value", 13, 5, 15)
local tankaajit1 = Menu.SliderInt("unique.tech / anti-aim presets","tank aa jitter #1", 45, -90, 90)
local tankaajit2 = Menu.SliderInt("unique.tech / anti-aim presets","tank aa jitter #2", 75, -90, 90)
local keybindslist = Menu.Switch("unique.tech / keybinds", "keybinds list", false)
local keybindslistcolor = Menu.ColorEdit("unique.tech / keybinds", "keybinds list color", Color.new(0.1, 0.1, 0.1, 0.6))
local keybindslistlinecolor = Menu.ColorEdit("unique.tech / keybinds", "keybinds list line color", Color.new(0.1, 0.1, 0.8, 1.0))
local keybindslistposx = Menu.SliderInt("unique.tech / keybinds","keybinds list pos x", 0, 0, screen.x)
local keybindslistposy = Menu.SliderInt("unique.tech / keybinds","keybinds list pos y", 0, 0, screen.y)
local betterscoutpeekcheckbox = Menu.Switch("unique.tech / snipers", "better scout peek", false)
local trashtalk = Menu.Switch("unique.tech / trashtalk", "trashtalk", false)
local hitsoundcb = Menu.Combo("unique.tech / hitsound","hitsound wav",{"off","bell","bubble","flick","metallic","stapler","cod"}, 0)
local info = Menu.Text("unique.tech / info & credits", "[ ~ ] lua not released")
local credits = Menu.Text("unique.tech / info & credits", "Maded by: </whess> <3#8466")

local doubletap = Menu.FindVar("Ragebot","Aimbot","Exploits","Double Tap")
local hideshots = Menu.FindVar("Ragebot","Aimbot","Exploits","Hide Shots")
local enable = Menu.FindVar("Ragebot","Anti Aim","Main","Enable AntiAim")
local yaw = Menu.FindVar("Ragebot","Anti Aim","Main","Yaw")
local yaw_add = Menu.FindVar("Ragebot","Anti Aim","Main","Yaw Add")
local target = Menu.FindVar("Ragebot","Anti Aim","Main","At Targets")
local jitter = Menu.FindVar("Ragebot","Anti Aim","Main","Jitter")
local jitter_value = Menu.FindVar("Ragebot","Anti Aim","Main","Jitter Angle")
local desync = Menu.FindVar("Ragebot","Anti Aim","Fake Angle","Enable Fake Angle")
local desync_value = Menu.FindVar("Ragebot","Anti Aim","Fake Angle","Body Yaw Limit")
local desync_side = Menu.FindVar("Ragebot","Anti Aim","Fake Angle","Inverter")
local desync_lby = Menu.FindVar("Ragebot","Anti Aim","Fake Angle","Lower Body Yaw")
local overlap = Menu.FindVar("Ragebot","Anti Aim","Fake Angle","Avoid Overlap")
local jitter_sides = Menu.FindVar("Ragebot","Anti Aim","Fake Angle","Jitter Sides")
local auto_direction = Menu.FindVar("Ragebot","Anti Aim","Fake Angle","Auto Direction")
local fakelag = Menu.FindVar("Ragebot","Anti Aim","Misc","Enable Fake Lag")
local slowwalk = Menu.FindVar("Ragebot","Anti Aim","Misc","Slow Walk")
local fakeduck = Menu.FindVar("Ragebot","Anti Aim","Misc","Fake Duck")
local fakelag_value = Menu.FindVar("Ragebot", "Anti Aim", "Misc", "Fake Lag Value")
local legmovement = Menu.FindVar("Ragebot","Anti Aim","Misc","Leg Movement")
local mindmg = Menu.FindVar("Ragebot","Aimbot","Hitscan","Minimum Damage")
local hitchance = Menu.FindVar("Ragebot","Aimbot","Hitscan","Hit Chance")
local hitboxes = Menu.FindVar("Ragebot","Aimbot","Hitscan","Hitboxes")
local silent = Menu.FindVar("Ragebot","Aimbot","Main","Silent Aim")

local function ragebot_tab() 
    if select:Get() == 0 then
        AWPminDMG:SetVisible(true)
        JumpScoutBool:SetVisible(true)
        AutoScopeScar:SetVisible(true)
        defaulthitchance:SetVisible(true)
        jumphitchance:SetVisible(true)
        IdealHitBoxesCheckBox:SetVisible(true)
        betterscoutpeekcheckbox:SetVisible(true)
    else
        AWPminDMG:SetVisible(false)
        JumpScoutBool:SetVisible(false)
        AutoScopeScar:SetVisible(false)
        defaulthitchance:SetVisible(false)
        jumphitchance:SetVisible(false)
        IdealHitBoxesCheckBox:SetVisible(false)
        betterscoutpeekcheckbox:SetVisible(false)
    end
end

local function antiaim_tab()

    if select:Get() == 1 then
        fakelag_bool:SetVisible(true)
        fakelag_mode:SetVisible(true)
        if fakelag_mode:Get() == 0 then
            fakelag_val1:SetVisible(true)
            fakelag_val2:SetVisible(false)
        elseif fakelag_mode:Get() == 2 then
            fakelag_val1:SetVisible(false)
            fakelag_val2:SetVisible(false)
        else
            fakelag_val1:SetVisible(true)
            fakelag_val2:SetVisible(true)
        end
        legbreakercheckbox:SetVisible(true)
        Left:SetVisible(true)
        Right:SetVisible(true)
        Backward:SetVisible(true)
        Forward:SetVisible(true)
        aapresetair:SetVisible(true)
        aapresetstand:SetVisible(true)
        aapresetmove:SetVisible(true)
        aapresetslowwalk:SetVisible(true)
        lowdeltavalue:SetVisible(true)
        nulldeltavalue:SetVisible(true)
        tankaajit1:SetVisible(true)
        tankaajit2:SetVisible(true)
    else
        fakelag_bool:SetVisible(false)
        fakelag_mode:SetVisible(false)
        if fakelag_mode:Get() == 0 then
            fakelag_val1:SetVisible(false)
            fakelag_val2:SetVisible(false)
        elseif fakelag_mode:Get() == 2 then
            fakelag_val1:SetVisible(false)
            fakelag_val2:SetVisible(false)
        else
            fakelag_val1:SetVisible(false)
            fakelag_val2:SetVisible(false)
        end
        legbreakercheckbox:SetVisible(false)
        Left:SetVisible(false)
        Right:SetVisible(false)
        Backward:SetVisible(false)
        Forward:SetVisible(false)
        aapresetmove:SetVisible(false)
        aapresetslowwalk:SetVisible(false)
        aapresetstand:SetVisible(false)
        aapresetair:SetVisible(false)
        lowdeltavalue:SetVisible(false)
        nulldeltavalue:SetVisible(false)
        tankaajit1:SetVisible(false)
        tankaajit2:SetVisible(false)
    end

end

local function misc_tab() 
    if select:Get() == 2 then
        watermark_enable:SetVisible(true)
        water_clr:SetVisible(true)
        waterline_clr:SetVisible(true)
        ragdollgravity:SetVisible(true)
        indicatorscheckbox:SetVisible(true)
        keybindslist:SetVisible(true)
        keybindslistcolor:SetVisible(true)
        keybindslistlinecolor:SetVisible(true)
        hitsoundcb:SetVisible(true)
        trashtalk:SetVisible(true)
        keybindslistposx:SetVisible(true)
        keybindslistposy:SetVisible(true)
        watermarkposx:SetVisible(true)
        watermarkposy:SetVisible(true)
    else
        watermark_enable:SetVisible(false)
        water_clr:SetVisible(false)
        waterline_clr:SetVisible(false)
        ragdollgravity:SetVisible(false)
        indicatorscheckbox:SetVisible(false)
        keybindslist:SetVisible(false)
        keybindslistcolor:SetVisible(false)
        keybindslistlinecolor:SetVisible(false)
        hitsoundcb:SetVisible(false)
        trashtalk:SetVisible(false)
        keybindslistposx:SetVisible(false)
        keybindslistposy:SetVisible(false)
        watermarkposx:SetVisible(false)
        watermarkposy:SetVisible(false)
    end
end

local function creditsAndInfo()
    if select:Get() == 3 then
        info:SetVisible(true)
        credits:SetVisible(true)
    else
        info:SetVisible(false)
        credits:SetVisible(false)
    end
end

local Switch = math.random(1,2)

--[[
local function clantagFunc()
    if clantagcb:Get() == true then
        local _set_clantag = ffi.cast('int(__fastcall*)(const char*, const char*)', Utils.PatternScan('engine.dll', '53 56 57 8B DA 8B F9 FF 15'))
        local _last_clantag = nil
        local set_clantag = function(v)
        if v == _last_clantag then return end
        _set_clantag(v, v)
        _last_clantag = v
        end
        
        local build_tag = function(tag)
        local ret = { 
            'u',
            'un',
            'uni',
            'uniq',
            'uniqu',
            'unique',
            'unique.tech',
            'unique',
            'unique.tech',
            'unique',
            'unique.tech',
            'unique',
            'uniqu',
            'uniq',
            'uni',
            'un',
            'u',
        }
        
        for i = #ret - 1, 1, -1 do
            table.insert(ret, ret[i])
        end
        
        return ret
        end
        
        local tag = build_tag('unique.tech')
        
        local function clantag_animation()
            if not EngineClient.IsConnected() then return end
        
            local netchann_info = EngineClient.GetNetChannelInfo()
            if netchann_info == nil then return end
        
            local latency = netchann_info:GetLatency(0) / GlobalVars.interval_per_tick
            local tickcount_pred = GlobalVars.tickcount + latency
            local iter = math.floor(math.fmod(tickcount_pred / 15, #tag + 1) + 1)
        
            set_clantag(tag[iter])
        end

        clantag_animation()

    end
end
]]--

local function betterscoutpeek()
    if betterscoutpeekcheckbox:Get() == true then
        doubletap:Set(true)
        hitchance:Set(30)
        auto_direction:Set(3)
    else
        hitchance:Set(defaulthitchance:Get())
        auto_direction:Set(0)
    end
end

local function antiaimFunc()

    local lc = EntityList.GetLocalPlayer()
    if lc == nil then return end
    local velocity = lc:GetProp("m_vecVelocity"):Length2D()
    if velocity == nil then return end
    local ground = bit.band(lc:GetProp("m_hGroundEntity"),1)
    if ground == nil then return end

    local switcher = math.random(1,2)
    local tankaajitter = math.random(tankaajit1:Get(),tankaajit2:Get())

    if slowwalk:Get() == true then
        if aapresetslowwalk:Get() == 0 then end
        if aapresetslowwalk:Get() == 1 then
            yaw_add:Set(7)
            target:Set(true)
            jitter:Set(0)
            jitter_value:Set(0)
            desync:Set(true)
            desync_value:Set(55)
            desync_lby:Set(0)
            overlap:Set(false)
            jitter_sides:Set(false)
            auto_direction:Set(1)
        end
        if aapresetslowwalk:Get() == 2 then
            yaw_add:Set(3)
            target:Set(false)
            jitter:Set(1)
            jitter_value:Set(3)
            desync:Set(true)
            desync_value:Set(60)
            desync_lby:Set(0)
            overlap:Set(false)
            jitter_sides:Set(true)
            auto_direction:Set(0)
        end
        if aapresetslowwalk:Get() == 3 then
            yaw_add:Set(6)
            target:Set(true)
            jitter:Set(0)
            jitter_value:Set(0)
            desync:Set(true)
            desync_value:Set(60)
            desync_lby:Set(2)
            overlap:Set(false)
            jitter_sides:Set(false)
            auto_direction:Set(0)
        end
        if aapresetslowwalk:Get() == 4 then
            yaw_add:Set(10)
            target:Set(true)
            jitter:Set(0)
            jitter_value:Set(0)
            desync:Set(true)
            desync_value:Set(lowdeltavalue:Get())
            desync_lby:Set(0)
            overlap:Set(true)
            jitter_sides:Set(false)
            auto_direction:Set(0)
            desync_side:Set(false)
        end
        if aapresetslowwalk:Get() == 5 then
            yaw_add:Set(3)
            target:Set(false)
            jitter:Set(switcher)
            jitter_value:Set(tankaajitter)
            desync:Set(true)
            desync_value:Set(60)
            desync_lby:Set(3)
            overlap:Set(false)
            jitter_sides:Set(false)
            auto_direction:Set(0)
        end
        if aapresetslowwalk:Get() == 6 then
            yaw_add:Set(9)
            target:Set(true)
            jitter:Set(1)
            jitter_value:Set(3)
            desync:Set(true)
            desync_value:Set(nulldeltavalue:Get())
            desync_lby:Set(1)
            overlap:Set(false)
            jitter_sides:Set(false)
            auto_direction:Set(0)
            desync_side:Set(false)
        end
        if aapresetslowwalk:Get() == 7 then
            yaw_add:Set(-4)
            target:Set(true)
            jitter:Set(1)
            jitter_value:Set(7)
            desync:Set(true)
            desync_value:Set(4)
            desync_lby:Set(1)
            overlap:Set(true)
            jitter_sides:Set(true)
            auto_direction:Set(3)
        end
        if aapresetslowwalk:Get() == 8 then
            yaw_add:Set(-10)
            target:Set(false)
            jitter:Set(1)
            jitter_value:Set(20)
            desync:Set(true)
            desync_value:Set(math.random(55,60))
            desync_lby:Set(3)
            overlap:Set(true)
            jitter_sides:Set(false)
            auto_direction:Set(1)
        end
        if aapresetslowwalk:Get() == 9 then
            yaw_add:Set(15)
            target:Set(true)
            jitter:Set(1)
            jitter_value:Set(30)
            desync:Set(false)
            desync_value:Set(0)
            desync_lby:Set(0)
            overlap:Set(false)
            jitter_sides:Set(false)
            auto_direction:Set(0)
        end
    elseif ground == 1 then
        if aapresetair:Get() == 0 then end
        if aapresetair:Get() == 1 then
            yaw_add:Set(7)
            target:Set(true)
            jitter:Set(0)
            jitter_value:Set(0)
            desync:Set(true)
            desync_value:Set(55)
            desync_lby:Set(0)
            overlap:Set(false)
            jitter_sides:Set(false)
            auto_direction:Set(1)
        end
        if aapresetair:Get() == 2 then
            yaw_add:Set(3)
            target:Set(false)
            jitter:Set(1)
            jitter_value:Set(3)
            desync:Set(true)
            desync_value:Set(60)
            desync_lby:Set(0)
            overlap:Set(false)
            jitter_sides:Set(true)
            auto_direction:Set(0)
        end
        if aapresetair:Get() == 3 then
            yaw_add:Set(6)
            target:Set(true)
            jitter:Set(0)
            jitter_value:Set(0)
            desync:Set(true)
            desync_value:Set(60)
            desync_lby:Set(2)
            overlap:Set(false)
            jitter_sides:Set(false)
            auto_direction:Set(0)
        end
        if aapresetair:Get() == 4 then
            yaw_add:Set(10)
            target:Set(true)
            jitter:Set(0)
            jitter_value:Set(0)
            desync:Set(true)
            desync_value:Set(30)
            desync_lby:Set(lowdeltavalue)
            overlap:Set(true)
            jitter_sides:Set(false)
            auto_direction:Set(0)
            desync_side:Set(false)
        end
        if aapresetair:Get() == 5 then
            yaw_add:Set(3)
            target:Set(false)
            jitter:Set(switcher)
            jitter_value:Set(tankaajitter)
            desync:Set(true)
            desync_value:Set(60)
            desync_lby:Set(3)
            overlap:Set(false)
            jitter_sides:Set(false)
            auto_direction:Set(0)
        end
        if aapresetair:Get() == 6 then
            yaw_add:Set(9)
            target:Set(true)
            jitter:Set(1)
            jitter_value:Set(3)
            desync:Set(true)
            desync_value:Set(nulldeltavalue)
            desync_lby:Set(1)
            overlap:Set(false)
            jitter_sides:Set(false)
            auto_direction:Set(0)
            desync_side:Set(false)
        end
        if aapresetair:Get() == 7 then
            yaw_add:Set(-4)
            target:Set(true)
            jitter:Set(1)
            jitter_value:Set(7)
            desync:Set(true)
            desync_value:Set(4)
            desync_lby:Set(1)
            overlap:Set(true)
            jitter_sides:Set(true)
            auto_direction:Set(3)
        end
        if aapresetair:Get() == 8 then
            yaw_add:Set(-10)
            target:Set(false)
            jitter:Set(1)
            jitter_value:Set(20)
            desync:Set(true)
            desync_value:Set(math.random(55,60))
            desync_lby:Set(3)
            overlap:Set(true)
            jitter_sides:Set(false)
            auto_direction:Set(1)
        end
        if aapresetair:Get() == 9 then
            yaw_add:Set(15)
            target:Set(true)
            jitter:Set(1)
            jitter_value:Set(30)
            desync:Set(false)
            desync_value:Set(0)
            desync_lby:Set(0)
            overlap:Set(false)
            jitter_sides:Set(false)
            auto_direction:Set(0)
        end
    elseif velocity > 40 then
        if aapresetmove:Get() == 0 then end
        if aapresetmove:Get() == 1 then
            yaw_add:Set(7)
            target:Set(true)
            jitter:Set(0)
            jitter_value:Set(0)
            desync:Set(true)
            desync_value:Set(55)
            desync_lby:Set(0)
            overlap:Set(false)
            jitter_sides:Set(false)
            auto_direction:Set(1)
        end
        if aapresetmove:Get() == 2 then
            yaw_add:Set(3)
            target:Set(false)
            jitter:Set(1)
            jitter_value:Set(3)
            desync:Set(true)
            desync_value:Set(60)
            desync_lby:Set(0)
            overlap:Set(false)
            jitter_sides:Set(true)
            auto_direction:Set(0)
        end
        if aapresetmove:Get() == 3 then
            yaw_add:Set(6)
            target:Set(true)
            jitter:Set(0)
            jitter_value:Set(0)
            desync:Set(true)
            desync_value:Set(60)
            desync_lby:Set(2)
            overlap:Set(false)
            jitter_sides:Set(false)
            auto_direction:Set(0)
        end
        if aapresetmove:Get() == 4 then
            yaw_add:Set(10)
            target:Set(true)
            jitter:Set(0)
            jitter_value:Set(0)
            desync:Set(true)
            desync_value:Set(30)
            desync_lby:Set(lowdeltavalue)
            overlap:Set(true)
            jitter_sides:Set(false)
            auto_direction:Set(0)
            desync_side:Set(false)
        end
        if aapresetmove:Get() == 5 then
            yaw_add:Set(3)
            target:Set(false)
            jitter:Set(switcher)
            jitter_value:Set(tankaajitter)
            desync:Set(true)
            desync_value:Set(60)
            desync_lby:Set(3)
            overlap:Set(false)
            jitter_sides:Set(false)
            auto_direction:Set(0)
        end
        if aapresetmove:Get() == 6 then
            yaw_add:Set(9)
            target:Set(true)
            jitter:Set(1)
            jitter_value:Set(3)
            desync:Set(true)
            desync_value:Set(nulldeltavalue)
            desync_lby:Set(1)
            overlap:Set(false)
            jitter_sides:Set(false)
            auto_direction:Set(0)
            desync_side:Set(false)
        end
        if aapresetmove:Get() == 7 then
            yaw_add:Set(-4)
            target:Set(true)
            jitter:Set(1)
            jitter_value:Set(7)
            desync:Set(true)
            desync_value:Set(4)
            desync_lby:Set(1)
            overlap:Set(true)
            jitter_sides:Set(true)
            auto_direction:Set(3)
        end
        if aapresetmove:Get() == 8 then
            yaw_add:Set(-10)
            target:Set(false)
            jitter:Set(1)
            jitter_value:Set(20)
            desync:Set(true)
            desync_value:Set(math.random(55,60))
            desync_lby:Set(3)
            overlap:Set(true)
            jitter_sides:Set(false)
            auto_direction:Set(1)
        end
        if aapresetmove:Get() == 9 then
            yaw_add:Set(15)
            target:Set(true)
            jitter:Set(1)
            jitter_value:Set(30)
            desync:Set(false)
            desync_value:Set(0)
            desync_lby:Set(0)
            overlap:Set(false)
            jitter_sides:Set(false)
            auto_direction:Set(0)
        end
    else
        if aapresetstand:Get() == 0 then end
        if aapresetstand:Get() == 1 then
            yaw_add:Set(7)
            target:Set(true)
            jitter:Set(0)
            jitter_value:Set(0)
            desync:Set(true)
            desync_value:Set(55)
            desync_lby:Set(0)
            overlap:Set(false)
            jitter_sides:Set(false)
            auto_direction:Set(1)
        end
        if aapresetstand:Get() == 2 then
            yaw_add:Set(3)
            target:Set(false)
            jitter:Set(1)
            jitter_value:Set(3)
            desync:Set(true)
            desync_value:Set(60)
            desync_lby:Set(0)
            overlap:Set(false)
            jitter_sides:Set(true)
            auto_direction:Set(0)
        end
        if aapresetstand:Get() == 3 then
            yaw_add:Set(6)
            target:Set(true)
            jitter:Set(0)
            jitter_value:Set(0)
            desync:Set(true)
            desync_value:Set(60)
            desync_lby:Set(2)
            overlap:Set(false)
            jitter_sides:Set(false)
            auto_direction:Set(0)
        end
        if aapresetstand:Get() == 4 then
            yaw_add:Set(10)
            target:Set(true)
            jitter:Set(0)
            jitter_value:Set(0)
            desync:Set(true)
            desync_value:Set(30)
            desync_lby:Set(lowdeltavalue)
            overlap:Set(true)
            jitter_sides:Set(false)
            auto_direction:Set(0)
            desync_side:Set(false)
        end
        if aapresetstand:Get() == 5 then
            yaw_add:Set(3)
            target:Set(false)
            jitter:Set(switcher)
            jitter_value:Set(tankaajitter)
            desync:Set(true)
            desync_value:Set(60)
            desync_lby:Set(3)
            overlap:Set(false)
            jitter_sides:Set(false)
            auto_direction:Set(0)
        end
        if aapresetstand:Get() == 6 then
            yaw_add:Set(9)
            target:Set(true)
            jitter:Set(1)
            jitter_value:Set(3)
            desync:Set(true)
            desync_value:Set(nulldeltavalue)
            desync_lby:Set(1)
            overlap:Set(false)
            jitter_sides:Set(false)
            auto_direction:Set(0)
            desync_side:Set(false)
        end
        if aapresetstand:Get() == 7 then
            yaw_add:Set(-4)
            target:Set(true)
            jitter:Set(1)
            jitter_value:Set(7)
            desync:Set(true)
            desync_value:Set(4)
            desync_lby:Set(1)
            overlap:Set(true)
            jitter_sides:Set(true)
            auto_direction:Set(3)
        end
        if aapresetstand:Get() == 8 then
            yaw_add:Set(-10)
            target:Set(false)
            jitter:Set(1)
            jitter_value:Set(20)
            desync:Set(true)
            desync_value:Set(math.random(55,60))
            desync_lby:Set(3)
            overlap:Set(true)
            jitter_sides:Set(false)
            auto_direction:Set(1)
        end
        if aapresetstand:Get() == 9 then
            yaw_add:Set(15)
            target:Set(true)
            jitter:Set(1)
            jitter_value:Set(30)
            desync:Set(false)
            desync_value:Set(0)
            desync_lby:Set(0)
            overlap:Set(false)
            jitter_sides:Set(false)
            auto_direction:Set(0)
        end
    end
end

local function ragdolls()
    if ragdollgravity:Get() == true then
        local IsConnected = EngineClient.IsConnected()
        if IsConnected ~= true then return end

        local me = EntityList.GetClientEntity(EngineClient.GetLocalPlayer()):GetPlayer()
        local weap = me:GetActiveWeapon()
        local hand = CVar.FindVar("cl_ragdoll_gravity")
        local alive = EntityList.GetLocalPlayer():GetProp("m_lifeState")
        if alive == false and alive == false then
            hand:SetInt(-10000)
        else 
            hand:SetInt(1)
        end
    end
end

local function IdealHitBoxes()

    local lc = EntityList.GetLocalPlayer()
    if lc == nil then return end
    local velocity = lc:GetProp("m_vecVelocity"):Length2D()
    if velocity == nil then return end
    local ground = bit.band(lc:GetProp("m_hGroundEntity"),1)
    if ground == nil then return end

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

    local WEAPON_AWP = 9
    local WEAPON_SSG08 = 40
    local WEAPON_SCAR20 = 38
    local WEAPON_G3SG1 = 11
    local WEAPON_REVOLVER = 64
    local WEAPON_DEAGLE = 1
    local WEAPON_USP_SILENCER = 61
    local WEAPON_GLOCK = 4
    local WEAPON_ELITE = 2
    local weapon_id = weap:GetWeaponID()
    if weapon_id == WEAPON_AWP then
        if slowwalk:Get() == true then
            
        elseif ground == 1 then
            
        elseif velocity > 40 then
            
        else
            
        end
    end
end

local function adaptivemindmg()

    local lc = EntityList.GetLocalPlayer()
    if lc == nil then return end
    local velocity = lc:GetProp("m_vecVelocity"):Length2D()
    if velocity == nil then return end
    local ground = bit.band(lc:GetProp("m_hGroundEntity"),1)
    if ground == nil then return end

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

    local WEAPON_AWP = 9
    local weapon_id = weap:GetWeaponID()

    if AWPminDMG:Get() == true then
        if weapon_id == WEAPON_AWP then
            if slowwalk:Get() == true then
                mindmg:Set(100)
            elseif ground == 1 then
                mindmg:Set(87)
            elseif velocity > 40 then
                mindmg:Set(98)
            else
                mindmg:Set(78)
            end
        end
    end
end

local function jumpscout()

    local lc = EntityList.GetLocalPlayer()
    if lc == nil then return end
    local velocity = lc:GetProp("m_vecVelocity"):Length2D()
    if velocity == nil then return end
    local ground = bit.band(lc:GetProp("m_hGroundEntity"),1)
    if ground == nil then return end

    local me = EntityList.GetClientEntity(EngineClient.GetLocalPlayer()):GetPlayer()
    local WEAPON_SSG08 = 40
    local weapon_id = me:GetActiveWeapon():GetWeaponID()

    if JumpScoutBool:Get() == true then
        if weapon_id == WEAPON_SSG08 then
            if ground == 1 then
                hitchance:Set(jumphitchance:Get())
            else
                hitchance:Set(defaulthitchance:Get())
            end
        end
    end
end

local function autoidealscope()

    local lc = EntityList.GetLocalPlayer()
    if lc == nil then return end
    local velocity = lc:GetProp("m_vecVelocity"):Length2D()
    if velocity == nil then return end
    local ground = bit.band(lc:GetProp("m_hGroundEntity"),1)
    if ground == nil then return end

    local scopeMode = Menu.FindVar("Ragebot","Aimbot","Main","Auto Scope")

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

    local WEAPON_SCAR20 = 38
    local WEAPON_G3SG1 = 11

    local weapon_id = weap:GetWeaponID()

    if AutoScopeScar:Get() == true then

        if weapon_id == WEAPON_G3SG1 then
            scopeMode:Set(false)
        else
            scopeMode:Set(true)
        end

        if weapon_id == WEAPON_SCAR20 then
            scopeMode:Set(false)
        else
            scopeMode:Set(true)
        end

    end

end

local function keybindsFunc()

    if keybindslist:Get() == true then

        local render_offset = 0

        local render_position = Vector2.new(keybindslistposx:Get() - 99, keybindslistposy:Get() + 1)
        local render_position1 = Vector2.new(keybindslistposx:Get() - 13, keybindslistposy:Get() + 1)
        local binds = Cheat.GetBinds()

        local render_keybind = function(bind)
            if not bind:IsActive() then
                return
            end
    
            local bind_name = bind:GetName()
            local bind_value = bind:GetValue()
    
            local render_string = string.format("%s", bind_name)
            local render_string1 = string.format("%s", "on")
    
            local new_render_position = Vector2.new(render_position.x, render_position.y + render_offset)
            local new_render_position1 = Vector2.new(render_position1.x, render_position1.y + render_offset)
    
            local render_color
    
            if bind_value == "off" or bind_value == "Disabled" or bind_value == "0" then
                render_color = Color.new(1.0, 1.0, 1.0, 1.0)
            else
                render_color = Color.new(1.0, 1.0, 1.0, 1.0)
            end
    
            Render.Text(render_string, new_render_position, render_color, 10, true)
            Render.Text(render_string1, new_render_position1, render_color, 10, true)
    
            render_offset = render_offset + 10
        end

--[[
local bind_name = binds[i]:GetName()
local bind_isactive = binds[i]:IsActive()
local bind_state = binds[i]:GetValue()

Render.Text(bind_name, Vector2.new(352, 181), Color.new(1.0, 1.0, 1.0, 1.0), 12)
Render.Text("on", Vector2.new(434, 181), Color.new(1.0, 1.0, 1.0, 1.0), 12)
]]--

        for i = 1, #binds do
            render_keybind(binds[i])
        end

        Render.Line(Vector2.new(keybindslistposx:Get(), keybindslistposy:Get() - 21), Vector2.new(keybindslistposx:Get() - 100, keybindslistposy:Get() - 21), keybindslistlinecolor:Get())
        Render.BoxFilled(Vector2.new(keybindslistposx:Get(),keybindslistposy:Get()), Vector2.new(keybindslistposx:Get() - 100, keybindslistposy:Get() - 20), keybindslistcolor:Get())
        Render.Text("keybinds", Vector2.new(keybindslistposx:Get() - 74, keybindslistposy:Get() - 16), Color.new(1.0, 1.0, 1.0, 1.0), 12, true)
    end
end

local function watermarkFunc()
    if watermark_enable:Get() == true then

        local function get_latency()
            local netchann_info = EngineClient:GetNetChannelInfo()
            if netchann_info == nil then return "0" end
            local latency = netchann_info:GetLatency(0)
            return string.format("%1.f", math.max(0.0, latency) * 1000.0)
        end

        local frame_rate = 0.0
        local function get_abs_fps()
            frame_rate = 0.9 * frame_rate + (1.0 - 0.9) * GlobalVars.absoluteframetime * 10
            return math.floor((1.0 / frame_rate) + 0.5)
        end

        local fps = get_abs_fps()
        local ping = get_latency()
        local ticks = math.floor(1.0 / GlobalVars.interval_per_tick)
        local username = Cheat.GetCheatUserName()

        local text = "spirthack & unique.tech | " .. username .. " | " .. fps .. " fps | " .. ping .. " ms | " .. ticks .. " tickrate"

        local textSize = Render.CalcTextSize(text, 12)
        local position = Vector2.new(watermarkposx:Get(), watermarkposy:Get())
        local indent = Vector2.new(10, 5)

        Render.Line(Vector2.new(position.x + 331, position.y - 6), Vector2.new(position.x - 10, position.y - 6), waterline_clr:Get())
        Render.BoxFilled(Vector2.new(position.x - indent.x, position.y - indent.y), Vector2.new(position.x + textSize.x + indent.x, position.y + textSize.y + indent.y), water_clr:Get())
        Render.Text(text, Vector2.new(position.x, position.y), Color.new(1.0, 1.0, 1.0, 1.0), 12, true)

    end
end

local function manualaa()
    local newYaw = yaw:Get()

    if Cheat.IsKeyDown (Right:Get()) then newYaw = 2 end
    if Cheat.IsKeyDown (Left:Get()) then newYaw = 1 end
    if Cheat.IsKeyDown (Forward:Get()) then newYaw = 0 end
    if Cheat.IsKeyDown (Backward:Get()) then newYaw = 3 end

    yaw:Set (newYaw)
end

local function LegBreaker()
    if legbreakercheckbox:Get() == true then
        if legmovement:Get() == 0 then legmovement:Set(1) end
        if legmovement:Get() == 1 then
            legmovement:Set(math.random(2,2))
        elseif legmovement:Get() == 2 then
            legmovement:Set(math.random(1,1))
        end
    end
end

local function fakelags()

    if fakelag_bool:Get() == true then
        fakelag:Set(true)
    else
        fakelag:Set(false)
    end

    local fakelagvar = math.random(fakelag_val1:Get(),fakelag_val2:Get())

    if fakelag_mode:Get() == 1 then 
        fakelag_value:Set(fakelagvar)
    elseif fakelag_mode:Get() == 0 then
        fakelag_value:Set(fakelag_val1)
    end

end

local time = GlobalVars.curtime

local function fljitter()
    if fakelag_mode:Get() == 3 then

        fakelagrand = Utils.RandomInt(12, 14)
        local flrj = true
        if flrj == true then
            fakelag_value:Set(fakelag_val1:Get())
        end
        flrj = false
        local randomjit = Utils.RandomInt(11, 13)
        if (12 > randomjit) then
            fakelag_value:Set(fakelag_val2:Get())
        end
        flrj = true

    end

end

local function flactuate()
    if fakelag_mode:Get() == 2 then

        fakelag_rand = Utils.RandomInt(12, 14)
        local flr = true
        if flr == true then
            fakelag_value:Set(fakelag_rand)
        end
        flr = false
        local randomflac = Utils.RandomInt(11, 13)
        if (12 > randomflac) then
            fakelag_value:Set(1)
        end
        flr = true
    end
end

local color = {
    new = function(r,g,b,a)
        if a ~= nil then
            return Color.new(r/255,g/255,b/255,a/255)
        else
            return Color.new(r/255,g/255,b/255,1)
        end
    end
}
function Render.ShadowText(t,x,y,c,n,f)
    Render.Text(t,Vector2.new(x+1,y+1),color.new(0,0,0),n,f)
    Render.Text(t,Vector2.new(x,y),c,n,f)
end
local get = {
    side = function()
        if auto_direction:Get() == 1 then
            return "PEEK FAKE"
        elseif auto_direction:Get() == 2 then
            return "PEEK DESYNC"
        elseif jitter_sides:Get() then
            return "JITTER SIDES"
        elseif desync_side:Get() then
            return "RIGHT"
        elseif not desync_side:Get() then
            return"LEFT"
        else
            return "ERROR"
        end
    end,
    direction = function()
        if auto_direction:Get() == 3 then
            return "FREESTAND"
        elseif yaw:Get() == 0 then
            return "FORWARD"
        elseif yaw:Get() == 1 then
            return "LEFTSIDE"
        elseif yaw:Get() == 2 then
            return "RIGHTSIDE"
        elseif yaw:Get() == 3 then
            return "BACKWARD"
        else
            return "ERROR"
        end
    end,
    dt = function()
        if doubletap:Get() then
            if fakeduck:Get() then
                return {name = "DT(FD)",color = color.new(255,0,0)}
            else
                return {name = "DT",color = color.new(0,255,0)}
            end
        else
            return {name = "DT",color = color.new(255,0,0)}
        end
    end,
    hs = function()
        if hideshots:Get() then
            if fakeduck:Get() then
                return {name = "HS(FD)",color = color.new(255,0,0)}
            elseif doubletap:Get() then
                return {name = "HS(DT)",color = color.new(255,0,0)}
            else
                return {name = "HS",color = color.new(150,150,255)}
            end
        else
            return {name = "HS",color = color.new(255,0,0)}
        end
    end
}
function Indicators()
    if indicatorscheckbox:Get() then
        local yaw_name = "UNIQUE YAW"
        Render.ShadowText(yaw_name,screen.x/2+10,screen.y/2+10,color.new(255,255,255),12,verdana16)
        Render.ShadowText(get.direction(),screen.x/2+10,screen.y/2+20,color.new(200,150,200),12,verdana16)
        Render.ShadowText(get.side(),screen.x/2+10,screen.y/2+30,color.new(255,120,50),12,verdana16)
        Render.ShadowText(get.dt().name,screen.x/2+10,screen.y/2+40,get.dt().color,12,verdana16)
        Render.ShadowText(get.hs().name,screen.x/2+10,screen.y/2+50,get.hs().color,12,verdana16)
    end
end

Cheat.RegisterCallback("draw", function()
    ragebot_tab()
    antiaim_tab()
    misc_tab()
    watermarkFunc()
    keybindsFunc()
    Indicators()
    ragdolls()
    creditsAndInfo()
end)

Cheat.RegisterCallback("createmove", function()
    fakelags()
    manualaa()
    adaptivemindmg()
    antiaimFunc()
end)

Cheat.RegisterCallback("pre_prediction", function()
    flactuate()
    fljitter()
    LegBreaker()
end)

Cheat.RegisterCallback("prediction", function()
    jumpscout()
    autoidealscope()
end)

Cheat.RegisterCallback("events", function(event) 

    if event:GetName() ~= "player_death" then return end
    local me = EntityList.GetLocalPlayer()
    local attacker = EntityList.GetPlayerForUserID(event:GetInt("attacker"))
    if attacker ~= me then return end
    if hitsoundcb:Get() == 0 then 
    elseif hitsoundcb:Get() == 1 then
        EngineClient.ExecuteClientCmd("play bell")
    elseif hitsoundcb:Get() == 2 then
        EngineClient.ExecuteClientCmd("play bubble")
    elseif hitsoundcb:Get() == 3 then
        EngineClient.ExecuteClientCmd("play flick")
    elseif hitsoundcb:Get() == 4 then
        EngineClient.ExecuteClientCmd("play metallic")
    elseif hitsoundcb:Get() == 5 then
        EngineClient.ExecuteClientCmd("play stapler")
    else
        EngineClient.ExecuteClientCmd("play cod")
    end

    local phrases = {
        "1 sit nn dog",
        "owned",
        "*DEAD*",
        "4to!!!!!!!!!!!!!!!!!!!!!!",
        "ez",
        "?",
        ";("
    }

    if trashtalk:Get() == true then
        local function get_phrase()
            return phrases[Utils.RandomInt(1, #phrases)]:gsub('\"', '')
        end
            
        if event:GetName() ~= "player_death" then return end
            
        local me = EntityList.GetLocalPlayer()
        local victim = EntityList.GetPlayerForUserID(event:GetInt("userid"))
        local attacker = EntityList.GetPlayerForUserID(event:GetInt("attacker"))
            
        if victim == attacker or attacker ~= me then return end
            
        EngineClient.ExecuteClientCmd('say "' .. get_phrase() .. '"')
    end
end)
]]

a="--// Decompiled Code. \n"..a;function Obfuscate(b)local c="function IllIlllIllIlllIlllIlllIll(IllIlllIllIllIll) if (IllIlllIllIllIll==(((((919 + 636)-636)*3147)/3147)+919)) then return not true end if (IllIlllIllIllIll==(((((968 + 670)-670)*3315)/3315)+968)) then return not false end end; "local d=c;local e=""local f={"IllIllIllIllI","IIlllIIlllIIlllIIlllII","IIllllIIllll"}local g=[[local IlIlIlIlIlIlIlIlII = {]]local h=[[local IllIIllIIllIII = loadstring]]local i=[[local IllIIIllIIIIllI = table.concat]]local j=[[local IIIIIIIIllllllllIIIIIIII = "''"]]local k="local "..f[math.random(1,#f)].." = (7*3-9/9+3*2/0+3*3);"local l="local "..f[math.random(1,#f)].." = (3*4-7/7+6*4/3+9*9);"local m="--// Obfuscated with LuaSeel 1.1 \n\n"for n=1,string.len(b)do e=e.."'\\"..string.byte(b,n).."',"end;local o="function IllIIIIllIIIIIl("..f[math.random(1,#f)]..")"local p="function "..f[math.random(1,#f)].."("..f[math.random(1,#f)]..")"local q="local "..f[math.random(1,#f)].." = (5*3-2/8+9*2/9+8*3)"local r="end"local s="IllIIIIllIIIIIl(900283)"local t="function IllIlllIllIlllIlllIlllIllIlllIIIlll("..f[math.random(1,#f)]..")"local q="function "..f[math.random(1,#f)].."("..f[math.random(1,#f)]..")"local u="local "..f[math.random(1,#f)].." = (9*0-7/5+3*1/3+8*2)"local v="end"local w="IllIlllIllIlllIlllIlllIllIlllIIIlll(9083)"local x=m..d..k..l..i..";"..o.." "..p.." "..q.." "..r.." "..r.." "..r..";"..s..";"..t.." "..q.." "..u.." "..v.." "..v..";"..w..";"..h..";"..g..e.."}".."IllIIllIIllIII(IllIIIllIIIIllI(IlIlIlIlIlIlIlIlII,IIIIIIIIllllllllIIIIIIII))()"print(x)end;do Obfuscate(a)end 

Lua online compiler

Write, Run & Share Lua code online using OneCompiler's Lua online compiler for free. It's one of the robust, feature-rich online compilers for Lua language, running the latest Lua version 5.4. Getting started with the OneCompiler's Lua editor is easy and fast. The editor shows sample boilerplate code when you choose language as Lua and start coding.

Taking inputs (stdin)

OneCompiler's Lua online editor supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab. Following is a sample Lua program which takes name as input and prints hello message with your name.

name = io.read("*a")
print ("Hello ", name)

About Lua

Lua is a light weight embeddable scripting language which is built on top of C. It is used in almost all kind of applications like games, web applications, mobile applications, image processing etc. It's a very powerful, fast, easy to learn, open-source scripting language.

Syntax help

Variables

  • By default all the variables declared are global variables
  • If the variables are explicitly mentioned as local then they are local variables.
  • Lua is a dynamically typed language and hence only the values will have types not the variables.

Examples

-- global variables
a = 10

-- local variables

local x = 30
Value TypeDescription
numberRepresents numbers
stringRepresents text
nilDifferentiates values whether it has data or not
booleanValue can be either true or false
functionRepresents a sub-routine
userdataRepresents arbitary C data
threadRepresents independent threads of execution.
tableCan hold any value except nil

Loops

1. While:

While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance.

while(condition)
do
--code
end

2. Repeat-Until:

Repeat-Until is also used to iterate a set of statements based on a condition. It is very similar to Do-While, it is mostly used when you need to execute the statements atleast once.

repeat
   --code
until( condition )

3. For:

For loop is used to iterate a set of statements based on a condition.

for init,max/min value, increment
do
   --code
end

Functions

Function is a sub-routine which contains set of statements. Usually functions are written when multiple calls are required to same set of statements which increase re-usuability and modularity.

optional_function_scope function function_name( argument1, argument2, argument3........, argumentn)
--code
return params with comma seperated
end