Crack Lua Neverlose Championship lua

Начинающий
Статус
Оффлайн
Регистрация
2 Мар 2022
Сообщения
10
Реакции[?]
5
Поинты[?]
0

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

idk paste with custom menu
Код:
local smallestfont = Render.InitFont("Smallest Pixel-7",10, {})
local smallestfontt = Render.InitFont("Smallest Pixel-7",10, {})
local smallestfonttt = Render.InitFont("Smallest Pixel-7",33, {})

miss_counter = 0
shot_time = 0
local ffi = require("ffi")
user32, kernel32 = ffi.load( "USER32" ), ffi.load( "KERNEL32" )

ffi.cdef[[
     typedef struct tagPOINT {
         long x;
         long y;
     } POINT;

     bool GetCursorPos(
         POINT* lpPoint
     );
]]
pointer = ffi.new("POINT[1]")
ffi.cdef[[
     enum { CF_TEXT = 1 };
     int      OpenClipboard(void*);
     void*    GetClipboardData(unsigned);
     int      CloseClipboard();
     void*    GlobalLock(void*);
     int      GlobalUnlock(void*);
     size_t   GlobalSize(void*);
         typedef void(__thiscall* asp_t)(void*, const char*, const char*, int);
         typedef bool(__thiscall* rsp_t)(void*, const char*, const char*);
         typedef int(__thiscall* gcpbs_t)(void*);
         typedef int(__thiscall* gcpbt_t)(void*, int,  char*, int);
         typedef char(__thiscall* gcd_t)(void*, char*, int);
         typedef bool(__thiscall* mv_t)(void*, const char*, const char*, const char*);
         typedef int(__thiscall* get_clipboard_text_count)(void*);
         typedef void(__thiscall* set_clipboard_text)(void*, const char*, int);
         typedef void(__thiscall* get_clipboard_text)(void*, int, const char*, int);
     void* CreateFileA(
         const char*                lpFileName,
         unsigned long                 dwDesiredAccess,
         unsigned long                 dwShareMode,
         unsigned long lpSecurityAttributes,
         unsigned long                 dwCreationDisposition,
         unsigned long                 dwFlagsAndAttributes,
         void*                hTemplateFile
     );
     short GetKeyState(
         int nVirtKey
     );
     bool ReadFile(
         void*       hFile,
         char*       lpBuffer,
         unsigned long        nNumberOfBytesToRead,
         unsigned long*      lpNumberOfBytesRead,
         int lpOverlapped
     );
     bool WriteFile(
         void*       hFile,
         char*      lpBuffer,
         unsigned long        nNumberOfBytesToWrite,
         unsigned long*      lpNumberOfBytesWritten,
         int lpOverlapped
     );
     unsigned long GetFileSize(
         void*  hFile,
         unsigned long* lpFileSizeHigh
     );
     void* CloseHandle(void *hFile);
     int MessageBoxA(void *w, const char *txt, const char *cap, int type);
     bool CreateDirectoryA(const char* lpPathName, void* lpSecurityAttributes);
     int exit(int arg);

     void* __stdcall URLDownloadToFileA(void* LPUNKNOWN, const char* LPCSTR, const char* LPCSTR2, int a, int LPBINDSTATUSCALLBACK);      
     void* __stdcall ShellExecuteA(void* hwnd, const char* op, const char* file, const char* params, const char* dir, int show_cmd);

     int AddFontResourceA(const char* unnamedParam1);

     bool DeleteUrlCacheEntryA(const char* lpszUrlName);
     typedef int BOOL;
     typedef long LONG;
     typedef struct{
         LONG x, y;
     }POINT, *LPPOINT;
     BOOL GetCursorPos(LPPOINT);
     short GetAsyncKeyState(int);
     void* GetProcAddress(void* hModule, const char* lpProcName);
     void* GetModuleHandleA(const char* lpModuleName);
   
     typedef struct {
       uint8_t r;
       uint8_t g;
       uint8_t b;
       uint8_t a;
   } color_struct_t;

   typedef void (*console_color_print)(const color_struct_t&, const char*, ...);

     typedef struct
     {
         unsigned char r, g, b;
         signed char exponent;
     } ColorRGBExp32;

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

     typedef struct
     {
         int        flags;
         vec3_t    origin;
         float    radius;
         ColorRGBExp32    color;
         float    die;
         float    decay;
         float    minlight;
         int        key;
         int        style;
         vec3_t    m_Direction;
         float    m_InnerAngle;
         float    m_OuterAngle;
     } dlight_t, *dlight_ptr_t;

     typedef dlight_ptr_t(__thiscall* alloc_dlight_t)(void*, int);
     typedef dlight_ptr_t(__thiscall* alloc_elight_t)(void*, int);
     typedef dlight_ptr_t(__thiscall* get_elight_by_key_t)(void*, int);
     typedef uintptr_t (__thiscall* GetClientEntity_4242425_t)(void*, int);
     typedef int(__fastcall* clantag_t)(const char*, const char*);
     struct c_animstate {
         char pad[ 3 ];
         char m_bForceWeaponUpdate; //0x4
         char pad1[ 91 ];
         void* m_pBaseEntity; //0x60
         void* m_pActiveWeapon; //0x64
         void* m_pLastActiveWeapon; //0x68
         float m_flLastClientSideAnimationUpdateTime; //0x6C
         int m_iLastClientSideAnimationUpdateFramecount; //0x70
         float m_flAnimUpdateDelta; //0x74
         float m_flEyeYaw; //0x78
         float m_flPitch; //0x7C
         float m_flGoalFeetYaw; //0x80
         float m_flCurrentFeetYaw; //0x84
         float m_flCurrentTorsoYaw; //0x88
         float m_flUnknownVelocityLean; //0x8C
         float m_flLeanAmount; //0x90
         char pad2[ 4 ];
         float m_flFeetCycle; //0x98
         float m_flFeetYawRate; //0x9C
         char pad3[ 4 ];
         float m_fDuckAmount; //0xA4
         float m_fLandingDuckAdditiveSomething; //0xA8
         char pad4[ 4 ];
         float m_vOriginX; //0xB0
         float m_vOriginY; //0xB4
         float m_vOriginZ; //0xB8
         float m_vLastOriginX; //0xBC
         float m_vLastOriginY; //0xC0
         float m_vLastOriginZ; //0xC4
         float m_vVelocityX; //0xC8
         float m_vVelocityY; //0xCC
         char pad5[ 4 ];
         float m_flUnknownFloat1; //0xD4
         char pad6[ 8 ];
         float m_flUnknownFloat2; //0xE0
         float m_flUnknownFloat3; //0xE4
         float m_flUnknown; //0xE8
         float m_flSpeed2D; //0xEC
         float m_flUpVelocity; //0xF0
         float m_flSpeedNormalized; //0xF4
         float m_flFeetSpeedForwardsOrSideWays; //0xF8
         float m_flFeetSpeedUnknownForwardOrSideways; //0xFC
         float m_flTimeSinceStartedMoving; //0x100
         float m_flTimeSinceStoppedMoving; //0x104
         bool m_bOnGround; //0x108
         bool m_bInHitGroundAnimation; //0x109
         float m_flTimeSinceInAir; //0x10A
         float m_flLastOriginZ; //0x10E
         float m_flHeadHeightOrOffsetFromHittingGroundAnimation; //0x112
         float m_flStopToFullRunningFraction; //0x116
         char pad7[ 4 ]; //0x11A
         float m_flMagicFraction; //0x11E
         char pad8[ 60 ]; //0x122
         float m_flWorldForce; //0x15E
         char pad9[ 462 ]; //0x162
         float m_flMaxYaw; //0x334
     };
     struct animation_layer_t {
         char pad20[24];
         uint32_t m_nSequence;
         float m_flPrevCycle;
         float m_flWeight;
         char pad20[8];
         float m_flCycle;
         void *m_pOwner;
         char pad_0038[ 4 ];
     };
]]


local ffi_helpers = {
   get_animstate_offset = function()
       return 14612
   end,
   get_entity_address = function(ent_index)
       local addr = get_client_entity_fn(entity_list_ptr, ent_index)
       return addr
   end,
   color_print_fn = ffi.cast("console_color_print", ffi.C.GetProcAddress(ffi.C.GetModuleHandleA("tier0.dll"), "?ConColorMsg@@YAXABVColor@@PBDZZ")),
   color_print = function(self, text, color)
       local col = ffi.new("color_struct_t")

       col.r = color.r * 255
       col.g = color.g * 255
       col.b = color.b * 255
       col.a = color.a * 255

       self.color_print_fn(col, text)
   end
}


local function coloredPrint(color, text)
     ffi_helpers.color_print(ffi_helpers, text, color)
end


    local ffi = require("ffi")
    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);
    ]]

indicatoraccent = Color.RGBA(255, 255, 255, 255)
akcentlel = Color.new(0.0, 0.5, 0.9, 1.0)
visualsakcentlel = Color.RGBA(255, 255, 255, 255)

local keybind_used = ""
local keybind_code = 0x114313
local toggled_key = false
local toggle = false
local is_active = false

boolVars = {}

boolVars[1] = false -- dt speed
boolVars[2] = false
boolVars[3] = {}
boolVars[3][1] = false
boolVars[3][2] = false
boolVars[3][3] = false
boolVars[4] = false -- dormant aimbot
boolVars[5] = false -- exploitz on hs
boolVars[6] = false -- teleport on shot
boolVars[7] = false
boolVars[8] = false

boolVars[9] = {}
boolVars[9][1] = false
boolVars[9][2] = false
boolVars[9][3] = false
boolVars[9][4] = false

boolVars[10] = false -- aspect ratio
boolVars[11] = false -- avoid data dormant
boolVars[12] = false -- dt accurate
boolVars[13] = false -- viewmodel in scope
boolVars[14] = false -- min dmg indicaotr
boolVars[15] = false -- manual aa arrows
boolVars[16] = false -- enable roll aa
boolVars[17] = {}
boolVars[17][1] = false
boolVars[17][2] = false
boolVars[17][3] = false
boolVars[17][4] = false
boolVars[18] = false -- pitch 0 on land
boolVars[19] = false -- Clantag
boolVars[20] = false -- legbreaker

boolVars[21] = false -- left AA
boolVars[22] = false -- Right AA
boolVars[23] = false -- Back AA
boolVars[24] = false -- Quick Peek
boolVars[25] = false -- tick
boolVars[26] = false -- tick peek
boolVars[27] = false -- roll resolver
boolVars[28] = false
boolVars[29] = false
boolVars[30] = false
boolVars[31] = false
boolVars[32] = false
boolVars[33] = false
boolVars[34] = false
boolVars[35] = false
boolVars[36] = false
boolVars[37] = false -- stimulate
boolVars[38] = false -- yaw flick
boolVars[39] = false -- yaw flick
boolVars[40] = false -- yaw flick
boolVars[41] = false -- indicator
boolVars[42] = false -- indicator
boolVars[43] = false -- indicator
boolVars[45] = false -- indicator
boolVars[47] = false -- indicator

boolVars[46] = {}
boolVars[46][1] = false
boolVars[46][2] = false
boolVars[46][3] = false

boolVars[44] = {}
boolVars[44][1] = false
boolVars[44][2] = false
boolVars[44][3] = false
boolVars[44][4] = false
intVars = {}

intVars[1] = 13 -- dt ticks
intVars[2] = 1
intVars[3] = 1
intVars[4] = 10
intVars[5] = 1
intVars[6] = 1
intVars[7] = 1920 -- aspect ratio
intVars[9] = 1 -- dormant aimbot min dmg
intVars[10] = 1 --watermark
intVars[11] = 1
intVars[12] = 1
intVars[13] = 1
intVars[14] = 1
intVars[15] = 1
intVars[16] = 1
intVars[17] = 1
intVars[18] = 1 -- presety
intVars[19] = {}
intVars[20] = 5
intVars[21] = 50
intVars[22] = 90
intVars[23] = 0
intVars[24] = 1
intVars[25] = 1
intVars[26] = 1
intVars[27] = 1
intVars[28] = 1
intVars[29] = 1
intVars[30] = 1
intVars[31] = 1
intVars[32] = 1
intVars[33] = 1
intVars[34] = 0
intVars[35] = 0
intVars[36] = 0
intVars[37] = 0
intVars[38] = 0
intVars[39] = 0
intVars[40] = 0
intVars[41] = 0
intVars[42] = 0
intVars[43] = 0
intVars[44] = 0
intVars[45] = 0
intVars[46] = 0
intVars[47] = 0
intVars[48] = 0
intVars[49] = 0
intVars[50] = 0
intVars[19][1] = {}
intVars[19][2] = {}
intVars[19][3] = {}
intVars[19][4] = {}
intVars[19][5] = {}
intVars[19][6] = {}
--stand
intVars[19][1][1] = 1
intVars[19][1][2] = 1
intVars[19][1][3] = 0
intVars[19][1][4] = 1
intVars[19][1][5] = 1
intVars[19][1][6] = 1
intVars[19][1][7] = 1
intVars[19][1][8] = 1
intVars[19][1][9] = 1
intVars[19][1][10] = 1


--slow
intVars[19][2][1] = 1
intVars[19][2][2] = 1
intVars[19][2][3] = 0
intVars[19][2][4] = 1
intVars[19][2][5] = 1
intVars[19][2][6] = 1
intVars[19][2][7] = 1
intVars[19][2][8] = 1
intVars[19][2][9] = 1
intVars[19][2][10] = 1


--run
intVars[19][3][1] = 1
intVars[19][3][2] = 1
intVars[19][3][3] = 0
intVars[19][3][4] = 1
intVars[19][3][5] = 1
intVars[19][3][6] = 1
intVars[19][3][7] = 1
intVars[19][3][8] = 1
intVars[19][3][9] = 1
intVars[19][3][10] = 1


--air
intVars[19][4][1] = 1
intVars[19][4][2] = 1
intVars[19][4][3] = 0
intVars[19][4][4] = 1
intVars[19][4][5] = 1
intVars[19][4][6] = 1
intVars[19][4][7] = 1
intVars[19][4][8] = 1
intVars[19][4][9] = 1
intVars[19][4][10] = 1


--crouch
intVars[19][5][1] = 1
intVars[19][5][2] = 1
intVars[19][5][3] = 0
intVars[19][5][4] = 1
intVars[19][5][5] = 1
intVars[19][5][6] = 1
intVars[19][5][7] = 1
intVars[19][5][8] = 1
intVars[19][5][9] = 1
intVars[19][5][10] = 1


--peek
intVars[19][6][1] = 1
intVars[19][6][2] = 1
intVars[19][6][3] = 0
intVars[19][6][4] = 1
intVars[19][6][5] = 1
intVars[19][6][6] = 1
intVars[19][6][7] = 1
intVars[19][6][8] = 1
intVars[19][6][9] = 1
intVars[19][6][10] = 1


colorVars = {}
colorVars[1] = false
colorVars[2] = false

keyVars = {}
key1Vars = {}
key2Vars = {}
key3Vars = {}
key4Vars = {}
key5Vars = {}
key6Vars = {}
key7Vars = {}

buttonVars = {}
kolorekVars = {}
kolorek1Vars = {}
kolorek2Vars = {}
kolorek3Vars = {}


buttonVars[1] = false
buttonVars[2] = false
buttonVars[3] = false
buttonVars[4] = false
buttonVars[5] = false
buttonVars[6] = false
buttonVars[7] = false
buttonVars[8] = false
buttonVars[9] = false
buttonVars[10] = false
buttonVars[11] = false

keyVars[1] = false -- nic
key1Vars[1] = 0x24
key2Vars[1] = 0
key3Vars[1] = false
key4Vars[1] = true
key5Vars[1] = false
key6Vars[1] = 0
key7Vars[1] = false

keyVars[2] = false -- nic
key1Vars[2] = 0x24
key2Vars[2] = 0
key3Vars[2] = false
key4Vars[2] = true
key5Vars[2] = false
key6Vars[2] = 0
key7Vars[2] = false

--left aa
keyVars[3] = false
key1Vars[3] = 0x6F
key2Vars[3] = 0
key3Vars[3] = false
key4Vars[3] = true
key5Vars[3] = false
key6Vars[3] = 0
key7Vars[3] = false

--right aa
keyVars[4] = false
key1Vars[4] = 0x6F
key2Vars[4] = 0
key3Vars[4] = false
key4Vars[4] = true
key5Vars[4] = false
key6Vars[4] = 0
key7Vars[4] = false

--back aa
keyVars[5] = false
key1Vars[5] = 0x6F
key2Vars[5] = 0
key3Vars[5] = false
key4Vars[5] = true
key5Vars[5] = false
key6Vars[5] = 0
key7Vars[5] = false

--roll resolver
keyVars[6] = false
key1Vars[6] = 0x6F
key2Vars[6] = 0
key3Vars[6] = false
key4Vars[6] = true
key5Vars[6] = false
key6Vars[6] = 0
key7Vars[6] = false

--edge yaw
keyVars[7] = false
key1Vars[7] = 0x6F
key2Vars[7] = 0
key3Vars[7] = false
key4Vars[7] = true
key5Vars[7] = false
key6Vars[7] = 0
key7Vars[7] = false

colorVars[1] = false
colorVars[2] = false
colorVars[3] = false
colorVars[4] = false
colorVars[5] = false

kolorekVars[1] = 255
kolorekVars[2] = 255

kolorek1Vars[1] = 0
kolorek2Vars[1] = 255
kolorek3Vars[1] = 255
kolorek1Vars[2] = 0
kolorek2Vars[2] = 255
kolorek3Vars[2] = 255

weaponSelect = 1
movementSelect = 1
versionse = "Relese"

local enable_picker = 0
local holdingpickerxd = false
local holding_alpha = false
local holding_circle = false
local holding_color = false
local pos_y_xd = 0
local pos_cx_xd = 0
local pos_cy_xd = 0

local dragingMenu = false
local holdingTab = 0
function toint(n)
    local s = tostring(n)
    local i, j = s:find('%.')
    if i then
        return tonumber(s:sub(1, i-1))
    else
        return n
    end
end

antibrute_ = false
antibrute__ = false
Cheat.RegisterCallback("events", function(event)
    if event:GetName() == "round_start" == true then
        miss_counter = 0
        misses = 0
        antibrute_ = false
        antibrute__ = false
    end  
    if event:GetName() == "player_hurt" == true and boolVars[46][3] == true then
        local victim = EntityList.GetPlayerForUserID(event:GetInt("userid")):GetPlayer()
        if not victim then return end
        local local_idx = EngineClient.GetLocalPlayer()
        local localEnt = EntityList.GetClientEntity(local_idx)
        if not localEnt then return end
        local local_player = localEnt:GetPlayer()
        if victim == local_player then
            if local_player:GetProp("DT_BasePlayer", "m_iHealth") > 0 then
            miss_counter = miss_counter + 1
            shot_time = GlobalVars.curtime
            end
        end
    end
    local local_time = ffi.new("SYSTEMTIME")
    ffi.C.GetLocalTime(local_time)
    if event:GetName() == "bullet_impact" then
        local local_idx = EngineClient.GetLocalPlayer()
        local localEnt = EntityList.GetClientEntity(local_idx)
        if not localEnt then return end
        local local_player = localEnt:GetPlayer()
        local origin = local_player:GetProp("m_vecOrigin")
        local user = EntityList.GetPlayerForUserID(event:GetInt("userid", 0))
        local local_player = EntityList.GetClientEntity(EngineClient.GetLocalPlayer()) --Get Local Entity
        local player = local_player:GetPlayer()
        local health = player:GetProp("DT_BasePlayer", "m_iHealth")
        local localOrigin = local_player:GetProp("m_vecOrigin")
        local shoot_pos = Vector.new(event:GetFloat("x"), event:GetFloat("y"), localOrigin.z)
        local attacker = EntityList.GetPlayerForUserID(event:GetInt("userid")):GetPlayer()
        if attacker:EntIndex() == local_idx then return end
        if attacker:IsTeamMate() then return end
        if localOrigin:DistTo(shoot_pos) < 160 and boolVars[46][2] == true then
            if(health > 0) then            
                miss_counter = miss_counter + 1
                shot_time = GlobalVars.curtime
            end
        end
    end
end)

local function sexbrute()
    if not boolVars[29] == true then return end
    if miss_counter >= 9 then
        miss_counter = 0
    end
    if EngineClient:IsConnected() == false then return end
    local localPlayer = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
        if localPlayer == nil then
            return end          
            local local_m_lifeState = localPlayer:GetProp("DT_BasePlayer", "m_lifeState")
        if local_m_lifestate then return end              
        local inverter = AntiAim.GetInverterState()
        if shot_time + 2 > GlobalVars.curtime then
                if miss_counter == 1 then
                    AntiAim.OverrideLimit(intVars[35])
                AntiAim.OverrideInverter(true)      
            else if miss_counter == 2 then
            AntiAim.OverrideInverter(false)
            AntiAim.OverrideLimit(intVars[36])
            else if miss_counter == 3 then
            AntiAim.OverrideInverter(true)
            AntiAim.OverrideLimit(intVars[37])
            else if miss_counter == 4 then
            AntiAim.OverrideInverter(false)
            AntiAim.OverrideLimit(intVars[38])
            else if miss_counter == 5 then
            AntiAim.OverrideInverter(true)
            AntiAim.OverrideLimit(intVars[39])                
            else if miss_counter == 6 then
            AntiAim.OverrideInverter(false)
            AntiAim.OverrideLimit(intVars[30])                
            else if miss_counter == 7 then
            AntiAim.OverrideInverter(true)
            AntiAim.OverrideLimit(intVars[41])                
            else if miss_counter == 8 then
            AntiAim.OverrideInverter(false)
            AntiAim.OverrideLimit(intVars[42])                
            end
    end
end
end
end
end
end
end
end
end


local quest = function(cond , T , F ) if cond then return true else return false end end
local lerp = function (a, b, percentage) return math.floor(a + (b - a) * percentage) end
local vars = {   anim_alpha_stand = 0 }

local switchnn = 0
local swittttchn = 0
local tttttaimar = 0
local function addcheckbind(x,y,text,i6, i1, i2, i3, i4, i5, i7, i8, i9, i10, i11)
    local mouse = Cheat.GetMousePos()
     
            local var
    if i11 ~= 0 then
        var = boolVars[i9][i10][i11]
    elseif i10 ~= 0 then
        var = boolVars[i9][i10]
    else
        var = boolVars[i9]
    end

    if mouse.x >= x and mouse.y >= y and  mouse.x <= x+20 and mouse.y <= 15+y then

        if Cheat.IsKeyDown(0x1) and holdingWidget == 0  then
           
           
            if i11 ~= 0 then
                boolVars[i9][i10][i11] = not boolVars[i9][i10][i11]
            elseif i10 ~= 0 then
                boolVars[i9][i10] = not boolVars[i9][i10]
            else
                boolVars[i9] = not boolVars[i9]
            end
            holdingWidget = 1
         
        elseif not Cheat.IsKeyDown(0x1) and holdingWidget ~= 0 then
            holdingWidget = 0
        end
    end
   
    if var == true or key5Vars[i6] == true then
         Render.BoxFilled(Vector2.new(x-2 , y), Vector2.new(x+17,15+y), Color.new(0.15, 0.15, 0.15, 1.0))
         Render.BoxFilled(Vector2.new(x, y-2), Vector2.new(x+15,17+y), Color.new(0.15, 0.15, 0.15, 1.0))
         Render.BoxFilled(Vector2.new(x, y), Vector2.new(x+15,15+y), akcentlel)
        Render.Box(Vector2.new(x , y), Vector2.new(x+15 , 15+y), Color.new(0.15, 0.15, 0.15, 1.0))
        Render.CircleFilled(Vector2.new(x, y), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
        Render.CircleFilled(Vector2.new(x, y + 15), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
        Render.CircleFilled(Vector2.new(x+15, y), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
        Render.CircleFilled(Vector2.new(x+15, y+15), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
    else
         Render.BoxFilled(Vector2.new(x-2 , y), Vector2.new(x+17,15+y), Color.new(0.15, 0.15, 0.15, 1.0))
         Render.BoxFilled(Vector2.new(x, y-2), Vector2.new(x+15,17+y), Color.new(0.15, 0.15, 0.15, 1.0))
         Render.BoxFilled(Vector2.new(x, y), Vector2.new(x+15,15+y), Color.new(0.1, 0.1, 0.1, 1.0))
        Render.Box(Vector2.new(x , y), Vector2.new(x+15 , 15+y), Color.new(0.15, 0.15, 0.15, 1.0))
        Render.CircleFilled(Vector2.new(x, y), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
        Render.CircleFilled(Vector2.new(x, y + 15), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
        Render.CircleFilled(Vector2.new(x+15, y), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
        Render.CircleFilled(Vector2.new(x+15, y+15), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
    end
   

    local var = keyVars[i1]
    local var = key1Vars[i2]
    local var = key2Vars[i3]
    local var = key3Vars[i4] -- toggle
    local var = key4Vars[i5] -- hold
    local var = key5Vars[i6] -- aktywacjaxd
    local var = key6Vars[i7] -- taimerxd
    local var = key7Vars[i8] -- taimerxd

    if swittttchn == 0 then
        tttttaimar = tttttaimar + 1
        swittttchn = 1
    end
    if swittttchn == 1 then
        swittttchn = 0
    end
   
    success = Cheat.GetMousePos()      

    if Cheat.IsKeyDown(0x1) and success.x >= x-20 and success.x <= x and success.y >= y and success.y <= y+10 and glow == false then
        glow = true
    end
    if Cheat.IsKeyDown(0x1) and success.x >= x-20 and success.x <= x and success.y >= y and success.y <= y+10 and glow == false then
        glow = true
    end
    if Cheat.IsKeyDown(0x2) and success.x >= x-60 and success.x <= x+60 and success.y >= y-20 and success.y <= y+20 and key7Vars[i8]  == false and tttttaimar >= 100 then
        key7Vars[i8]  = true
        tttttaimar = 0
    elseif Cheat.IsKeyDown(0x2) and success.x >= x-60 and success.x <= x+60 and success.y >= y-20 and success.y <= y+20 and key7Vars[i8]  == true and tttttaimar >= 100 then
        key7Vars[i8]  = false
        tttttaimar = 0
    end
    if key7Vars[i8] then
        Render.BoxFilled(Vector2.new(x+39, y + 7), Vector2.new(x+80, y + 7+30), Color.new(0.1,0.1, 0.1, 1))
        Render.Box(Vector2.new(x+39, y + 7), Vector2.new(x+80, y + 7+30), Color.new(35/255,35/255, 35/255, 1))
        if Cheat.IsKeyDown(0x1) and success.x >= x+40 and success.x <= x+70 and success.y >= y+7 and success.y <= y+23 then
            key3Vars[i4] = true
            key4Vars[i5] = false
        elseif Cheat.IsKeyDown(0x1) and success.x >= x+40 and success.x <= x+70 and success.y >= y+24 and success.y <= y+40 then
            key3Vars[i4] = false
            key4Vars[i5] = true                
        end
    end
    if key3Vars[i4] == true and key7Vars[i8]  then
        Render.Text("Hold", Vector2.new(x+40, y + 24), Color.new(0.7, 0.7, 0.7, 0.7), 12)
        Render.Text("Toggle", Vector2.new(x+40, y + 7), Color.new(1.0, 1.0, 1.0, 1.0), 12)
    elseif key3Vars[i4] == false and key7Vars[i8]  then
        Render.Text("Hold", Vector2.new(x+40, y + 24), Color.new(1.0, 1.0, 1.0, 1.0), 12)
        Render.Text("Toggle", Vector2.new(x+40, y + 7), Color.new(0.7, 0.7, 0.7, 0.70), 12)
    end  
    if Cheat.IsKeyDown(0x1) and success.x >= x-45 and success.x <= x and success.y >= y-4 and success.y <= y+9 then
        keyVars[i1] = true
    else
        keyVars[i1] = false
    end


    if keyVars[i1] == true or holdingLoad == true then
        if Cheat.IsKeyDown(0x4) then
            key2Vars[i3] = 1
            key1Vars[i2] = 0x4
        elseif Cheat.IsKeyDown(0x8) then
            key2Vars[i3] = 2
            key1Vars[i2] = 0x8
        elseif Cheat.IsKeyDown(0x9) then
            key2Vars[i3] = 3
            key1Vars[i2] = 0x9
        elseif Cheat.IsKeyDown(0x0D) then
            key2Vars[i3] = 4
            key1Vars[i2] = 0x0D
        elseif Cheat.IsKeyDown(0x10) then
            key2Vars[i3] = 5
            key1Vars[i2] = 0x10
        elseif Cheat.IsKeyDown(0x12) then
            key2Vars[i3] = 7
            key1Vars[i2] = 0x12
        elseif Cheat.IsKeyDown(0x14) then
            key2Vars[i3] = 8
            key1Vars[i2] = 0x14
        elseif Cheat.IsKeyDown(0x20) then
            key2Vars[i3] = 9
            key1Vars[i2] = 0x20
        elseif Cheat.IsKeyDown(0x24) then
            key2Vars[i3] = 10
            key1Vars[i2] = 0x24
        elseif Cheat.IsKeyDown(0x25) then
            key2Vars[i3] = 11
            key1Vars[i2] = 0x25
        elseif Cheat.IsKeyDown(0x26) then
            key2Vars[i3] = 12
            key1Vars[i2] = 0x26
        elseif Cheat.IsKeyDown(0x27) then
            key2Vars[i3] = 13
            key1Vars[i2] = 0x27
        elseif Cheat.IsKeyDown(0x28) then
            key2Vars[i3] = 14
            key1Vars[i2] = 0x28
        elseif Cheat.IsKeyDown(0x30) then
            key2Vars[i3] = 15
            key1Vars[i2] = 0x30
        elseif Cheat.IsKeyDown(0x31) then
            key2Vars[i3] = 16
            key1Vars[i2] = 0x31
        elseif Cheat.IsKeyDown(0x32) then
            key2Vars[i3] = 17
            key1Vars[i2] = 0x32
        elseif Cheat.IsKeyDown(0x33) then
            key2Vars[i3] = 18
            key1Vars[i2] = 0x33
        elseif Cheat.IsKeyDown(0x34) then
            key2Vars[i3] = 19
            key1Vars[i2] = 0x34
        elseif Cheat.IsKeyDown(0x35) then
            key2Vars[i3] = 20
            key1Vars[i2] = 0x35
        elseif Cheat.IsKeyDown(0x36) then
            key2Vars[i3] = 21
            key1Vars[i2] = 0x36
        elseif Cheat.IsKeyDown(0x37) then
            key2Vars[i3] = 22
            key1Vars[i2] = 0x37
        elseif Cheat.IsKeyDown(0x38) then
            key2Vars[i3] = 23
            key1Vars[i2] = 0x38
        elseif Cheat.IsKeyDown(0x39) then
            key2Vars[i3] = 24
            key1Vars[i2] = 0x39
        elseif Cheat.IsKeyDown(0x41) then
            key2Vars[i3] = 25
            key1Vars[i2] = 0x41
        elseif Cheat.IsKeyDown(0x42) then
            key2Vars[i3] = 26
            key1Vars[i2] = 0x42
        elseif Cheat.IsKeyDown(0x43) then
            key2Vars[i3] = 27
            key1Vars[i2] = 0x43
        elseif Cheat.IsKeyDown(0x44) then
            key2Vars[i3] = 28
            key1Vars[i2] = 0x44
        elseif Cheat.IsKeyDown(0x45) then
            key2Vars[i3] = 29
            key1Vars[i2] = 0x45
        elseif Cheat.IsKeyDown(0x46) then
            key2Vars[i3] = 30
            key1Vars[i2] = 0x46
        elseif Cheat.IsKeyDown(0x47) then
            key2Vars[i3] = 31
            key1Vars[i2] = 0x47
        elseif Cheat.IsKeyDown(0x48) then
            key2Vars[i3] = 32
            key1Vars[i2] = 0x48
        elseif Cheat.IsKeyDown(0x49) then
            key2Vars[i3] = 33
            key1Vars[i2] = 0x49
        elseif Cheat.IsKeyDown(0x4A) then
            key2Vars[i3] = 34
            key1Vars[i2] =     0x4A
        elseif Cheat.IsKeyDown(0x4B) then
            key2Vars[i3] = 35
            key1Vars[i2] =     0x4B
        elseif Cheat.IsKeyDown(0x4C) then
            key2Vars[i3] = 36
            key1Vars[i2] =     0x4C
        elseif Cheat.IsKeyDown(0x4D) then
            key2Vars[i3] = 37
            key1Vars[i2] =     0x4D
        elseif Cheat.IsKeyDown(0x4E) then
            key2Vars[i3] = 38
            key1Vars[i2] =     0x4E
        elseif Cheat.IsKeyDown(0x4F) then
            key2Vars[i3] = 39
            key1Vars[i2] =     0x4F
        elseif Cheat.IsKeyDown(0x50) then
            key2Vars[i3] = 30
            key1Vars[i2] = 0x50
        elseif Cheat.IsKeyDown(0x51) then
            key2Vars[i3] = 41
            key1Vars[i2] = 0x51
        elseif Cheat.IsKeyDown(0x52) then
            key2Vars[i3] = 42
            key1Vars[i2] = 0x52
        elseif Cheat.IsKeyDown(0x53) then
            key2Vars[i3] = 43
            key1Vars[i2] = 0x53
        elseif Cheat.IsKeyDown(0x54) then
            key2Vars[i3] = 44
            key1Vars[i2] = 0x54
        elseif Cheat.IsKeyDown(0x55) then
            key2Vars[i3] = 45
            key1Vars[i2] = 0x55
        elseif Cheat.IsKeyDown(0x56) then
            key2Vars[i3] = 46
            key1Vars[i2] = 0x56
        elseif Cheat.IsKeyDown(0x57) then
            key2Vars[i3] = 47
            key1Vars[i2] = 0x57
        elseif Cheat.IsKeyDown(0x58) then
            key2Vars[i3] = 48
            key1Vars[i2] = 0x58
        elseif Cheat.IsKeyDown(0x59) then
            key2Vars[i3] = 49
            key1Vars[i2] = 0x59
        elseif Cheat.IsKeyDown(0x5A) then
            key2Vars[i3] = 50
            key1Vars[i2] = 0x5A
        elseif Cheat.IsKeyDown(0x45) then
            key2Vars[i3] = 51
            key1Vars[i2] = 0x45
        elseif Cheat.IsKeyDown(0x70) then
            key2Vars[i3] = 52
            key1Vars[i2] = 0x70
        elseif Cheat.IsKeyDown(0x71) then
            key2Vars[i3] = 53
            key1Vars[i2] = 0x71
        elseif Cheat.IsKeyDown(0x72) then
            key2Vars[i3] = 54
            key1Vars[i2] = 0x72
        elseif Cheat.IsKeyDown(0x73) then
            key2Vars[i3] = 55
            key1Vars[i2] = 0x73
        elseif Cheat.IsKeyDown(0x74) then
            key2Vars[i3] = 56
            key1Vars[i2] = 0x74
        elseif Cheat.IsKeyDown(0x75) then
            key2Vars[i3] = 57
            key1Vars[i2] = 0x75
        elseif Cheat.IsKeyDown(0x76) then
            key2Vars[i3] = 58
            key1Vars[i2] = 0x76
        elseif Cheat.IsKeyDown(0x77) then
            key2Vars[i3] = 59
            key1Vars[i2] = 0x77
        elseif Cheat.IsKeyDown(0x78) then
            key2Vars[i3] = 60
            key1Vars[i2] = 0x78
        elseif Cheat.IsKeyDown(0x79) then
            key2Vars[i3] = 61
            key1Vars[i2] = 0x79
        elseif Cheat.IsKeyDown(0x05) then
            key2Vars[i3] = 62
            key1Vars[i2] = 0x05
        elseif Cheat.IsKeyDown(0x06) then
            key2Vars[i3] = 63
            key1Vars[i2] = 0x06
        elseif Cheat.IsKeyDown(0x1B) then
            key2Vars[i3] = 0
            key1Vars[i2] = 0
        end

    end

   
   
    if key2Vars[i3] == 0 then
        if Cheat.IsKeyDown(0x1) and keyVars[i1] == true then
            keybind_used = "..."
        else
            keybind_used = ""
        end
    elseif key2Vars[i3] == 1 then
        keybind_used = "M3"
    elseif key2Vars[i3] == 2 then
        keybind_used = "BACK"
    elseif key2Vars[i3] == 3 then
        keybind_used = "TAB"
    elseif key2Vars[i3] == 4 then
        keybind_used = "ENTER"
    elseif key2Vars[i3] == 5 then
        keybind_used = "SHIFT"
    elseif key2Vars[i3] == 6 then
        keybind_used = "CTRL"
    elseif key2Vars[i3] == 7 then
        keybind_used = "ALT"
    elseif key2Vars[i3] == 8 then
        keybind_used = "CAPS"
    elseif key2Vars[i3] == 9 then
        keybind_used = "SPBAR"
    elseif key2Vars[i3] == 10 then
        keybind_used = "Home"
    elseif key2Vars[i3] == 11 then
        keybind_used = "LEFT"
    elseif key2Vars[i3] == 12 then
        keybind_used = "UP"
    elseif key2Vars[i3] == 13 then
        keybind_used = "RGHT"
    elseif key2Vars[i3] == 14 then
        keybind_used = "DOWN"
    elseif key2Vars[i3] == 15 then
        keybind_used = "ZERO"
    elseif key2Vars[i3] == 16 then
        keybind_used = "1"
    elseif key2Vars[i3] == 17 then
        keybind_used = "2"
    elseif key2Vars[i3] == 18 then
        keybind_used = "3"
    elseif key2Vars[i3] == 19 then
        keybind_used = "4"
    elseif key2Vars[i3] == 20 then
        keybind_used = "5"
    elseif key2Vars[i3] == 21 then
        keybind_used = "6"
    elseif key2Vars[i3] == 22 then
        keybind_used = "7"
    elseif key2Vars[i3] == 23 then
        keybind_used = "8"
    elseif key2Vars[i3] == 24 then
        keybind_used = "9"
    elseif key2Vars[i3] == 25 then
        keybind_used = "A"
    elseif key2Vars[i3] == 26 then
        keybind_used = "B"
    elseif key2Vars[i3] == 27 then
        keybind_used = "C"
    elseif key2Vars[i3] == 28 then
        keybind_used = "D"
    elseif key2Vars[i3] == 29 then
        keybind_used = "E"
    elseif key2Vars[i3] == 30 then
        keybind_used = "F"
    elseif key2Vars[i3] == 31 then
        keybind_used = "G"
    elseif key2Vars[i3] == 32 then
        keybind_used = "H"
    elseif key2Vars[i3] == 33 then
        keybind_used = "I"
    elseif key2Vars[i3] == 34 then
        keybind_used = "J"
    elseif key2Vars[i3] == 35 then
        keybind_used = "K"
    elseif key2Vars[i3] == 36 then
        keybind_used = "L"
    elseif key2Vars[i3] == 37 then
        keybind_used = "M"
    elseif key2Vars[i3] == 38 then
        keybind_used = "N"
    elseif key2Vars[i3] == 39 then
        keybind_used = "O"
    elseif key2Vars[i3] == 40 then
        keybind_used = "P"
    elseif key2Vars[i3] == 41 then
        keybind_used = "Q"
    elseif key2Vars[i3] == 42 then
        keybind_used = "R"
    elseif key2Vars[i3] == 43 then
        keybind_used = "S"
    elseif key2Vars[i3] == 44 then
        keybind_used = "T"
    elseif key2Vars[i3] == 45 then
        keybind_used = "U"
    elseif key2Vars[i3] == 46 then
        keybind_used = "V"
    elseif key2Vars[i3] == 47 then
        keybind_used = "W"
    elseif key2Vars[i3] == 48 then
        keybind_used = "X"
    elseif key2Vars[i3] == 49 then
        keybind_used = "Y"
    elseif key2Vars[i3] == 50 then
        keybind_used = "Z"
    elseif key2Vars[i3] == 51 then
        keybind_used = "E"
    elseif key2Vars[i3] == 52 then
        keybind_used = "F1"
    elseif key2Vars[i3] == 53 then
        keybind_used = "F2"
    elseif key2Vars[i3] == 54 then
        keybind_used = "F3"
    elseif key2Vars[i3] == 55 then
        keybind_used = "F4"
    elseif key2Vars[i3] == 56 then
        keybind_used = "F5"
    elseif key2Vars[i3] == 57 then
        keybind_used = "F6"
    elseif key2Vars[i3] == 58 then
        keybind_used = "F7"
    elseif key2Vars[i3] == 59 then
        keybind_used = "F8"
    elseif key2Vars[i3] == 60 then
        keybind_used = "F9"
    elseif key2Vars[i3] == 61 then
        keybind_used = "F10"
    elseif key2Vars[i3] == 62 then
        keybind_used = "m4"
    elseif key2Vars[i3] == 63 then
        keybind_used = "m5"
    end

    if switchnn == 0 then
        key6Vars[i7] = key6Vars[i7] + 1
        switchnn = 1
    end
    if switchnn == 1 then
        switchnn = 0
    end
    if key4Vars[i5] == true and Cheat.IsKeyDown(key1Vars[i2]) then
        key5Vars[i6] = true
    elseif key4Vars[i5] == true and not Cheat.IsKeyDown(key1Vars[i2]) then
        key5Vars[i6] = false
    end
    if Cheat.IsKeyDown(key1Vars[i2]) and key6Vars[i7] >= 50 and key3Vars[i4] == true and key5Vars[i6] == false then
        key5Vars[i6] = true
        key6Vars[i7] = 0
    elseif Cheat.IsKeyDown(key1Vars[i2]) and key6Vars[i7] >= 50 and key3Vars[i4] == true then
        key5Vars[i6] = false
        key6Vars[i7] = 0
    end

    local textx = Render.CalcTextSize("["..keybind_used.."]", 12).x - 39
    Render.Text("["..keybind_used.."]", Vector2.new(x -45-textx, y), Color.new(1, 1, 1, 1), 12)
    Render.Text(""..text.."", Vector2.new(x-210, y), Color.new(1, 1, 1, 1), 12)
end

local function addSlider(text, pos_y, min, max, i1, i2, i3)
    local var
    if i3 ~= 0 then
        var = intVars[i1][i2][i3]
    elseif i2 ~= 0 then
        var = intVars[i1][i2]
    else
        var = intVars[i1]
    end

    local mousePos = Cheat.GetMousePos()

    local modifier = 120 / (max - min)

    local i = i1 + 10
    if i3 ~= 0 then
        i = i + i2 + i3 + 20
    elseif i2 ~= 0 then
        i = i + i2 + 30
    end

    if Cheat.IsKeyDown(0x1)  and not dragingMenu and holdingWidget == 0 and holdingTab == 0 then
        if mousePos.x >= widgetPos.x and mousePos.x <= widgetPos.x + 120 and mousePos.y >= pos_y + 12 and mousePos.y <= pos_y + 17 then
            holdingWidget = 2 + i
            if activeCombo ~= 0 then
                activeCombo = 0
            end
        end
    elseif not Cheat.IsKeyDown(0x1)  and not dragingMenu and holdingWidget ~= 0 and holdingTab == 0 then
        holdingWidget = 0
    end

    if holdingWidget == 2 + i then
        local final_value = min + toint((mousePos.x - widgetPos.x) / modifier)
        if final_value > max then
            final_value = max
        end
        if final_value < min then
            final_value = min
        end
        if i3 ~= 0 then
            intVars[i1][i2][i3] = final_value
        elseif i2 ~= 0 then
            intVars[i1][i2] = final_value
        else
            intVars[i1] = final_value
        end
    end
    Render.Text(""..text.. "", Vector2.new( widgetPos.x - 100, pos_y+5), Color.new(1.0, 1.0, 1.0, 1.0), 13)


    Render.BoxFilled(Vector2.new(widgetPos.x, pos_y + 8), Vector2.new(widgetPos.x+ 125, pos_y + 18), Color.new(0.15, 0.15, 0.15, 1.0))
    Render.BoxFilled(Vector2.new(widgetPos.x-2, pos_y + 10), Vector2.new(widgetPos.x+ 127, pos_y + 16), Color.new(0.15, 0.15, 0.15, 1.0))
    Render.BoxFilled(Vector2.new(widgetPos.x, pos_y + 10), Vector2.new(widgetPos.x+ 125, pos_y + 16), Color.new(0.10, 0.1, 0.1))
    Render.CircleFilled(Vector2.new(widgetPos.x, pos_y + 10), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
    Render.CircleFilled(Vector2.new(widgetPos.x, pos_y + 16), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
    Render.CircleFilled(Vector2.new(widgetPos.x+125, pos_y + 10), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
    Render.CircleFilled(Vector2.new(widgetPos.x+125, pos_y + 16), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))

    Render.BoxFilled(Vector2.new(widgetPos.x, pos_y + 10), Vector2.new(widgetPos.x+(var - min) * modifier, pos_y +16), akcentlel)
    Render.Box(Vector2.new(widgetPos.x, pos_y + 10), Vector2.new(widgetPos.x+ 125, pos_y + 16), Color.new(0.15, 0.15, 0.15))
    Render.Text(""..tostring(var).. "", Vector2.new( widgetPos.x  +2+(var - min) * modifier, pos_y+7), Color.new(1.0, 1.0, 1.0, 1.0), 10)
end

local switchnn = 0
local swittttchn = 0
local tttttaimar = 0
local function addbutton(text,pos_y,i1)

    if swittttchn == 0 then
        tttttaimar = tttttaimar + 1
        swittttchn = 1
    end
    if swittttchn == 1 then
        swittttchn = 0
    end

    local var = buttonVars[i1]

    pointer = Cheat.GetMousePos()

    Render.BoxFilled(Vector2.new(widgetPos.x+498, pos_y+245), Vector2.new(widgetPos.x+642, pos_y + 265), Color.new(0.15, 0.15, 0.15, 1.0))
    Render.BoxFilled(Vector2.new(widgetPos.x+500, pos_y+243), Vector2.new(widgetPos.x+640, pos_y + 267), Color.new(0.15, 0.15, 0.15, 1.0))
    Render.BoxFilled(Vector2.new(widgetPos.x+500, pos_y+245), Vector2.new(widgetPos.x+640, pos_y + 265), Color.new(0.10,0.10, 0.10, 1))
    Render.Box(Vector2.new(widgetPos.x+500, pos_y+245), Vector2.new(widgetPos.x+640, pos_y + 265), Color.new(0.15, 0.15, 0.15, 1.0))
    Render.CircleFilled(Vector2.new(widgetPos.x+500, pos_y + 245), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
    Render.CircleFilled(Vector2.new(widgetPos.x+640, pos_y + 245), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
    Render.CircleFilled(Vector2.new(widgetPos.x+500, pos_y + 265), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
    Render.CircleFilled(Vector2.new(widgetPos.x+640, pos_y + 265), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))

    Render.Text(text, Vector2.new(widgetPos.x+503, pos_y + 250),Color.new(191/255, 191/255, 191/255), 12)
    if pointer.x >= widgetPos.x+500 and pointer.x <= widgetPos.x+640 and pointer.y >= pos_y+245 and pointer.y <= pos_y+265 then
        Render.Text(text, Vector2.new(widgetPos.x+503, pos_y + 250),Color.new(225/255, 225/255, 225/255), 12)
    end
    if Cheat.IsKeyDown(0x1) and tttttaimar > 200 and pointer.x >= widgetPos.x+500 and pointer.x <= widgetPos.x+640 and pointer.y >= pos_y+245 and pointer.y <= pos_y+265 then
        buttonVars[i1] = true
        tttttaimar = 0
        Render.Text(text, Vector2.new(widgetPos.x+503, pos_y + 250),Color.new(255, 255, 255), 12)
    else
        buttonVars[i1] = false
    end
end

local menuOpen = true
local loaded = false
local holdingMenuKey = false
local menuPos = Vector.new(300, 200, 0)
local menuDiff = Vector.new(300, 200, 0)
local dragingMenu = false
holdingWidget = 0
activeCombo = 0
activeMultiCombo = 0
holdingMulti = false
holdingSave = false
holdingLoad = false
savingCfg = false
widgetPos = Vector.new(menuPos.x+ 20, menuPos.y, 0)
add_y = 0
local active_tab = 1
tabyfontxd = Render.InitFont("Verdana", 21)
tabyfontxd2 = Render.InitFont("Verdana", 20)
local tło = Render.LoadImage(Http.Get("https://wallpaper.dog/large/17011854.jpg"), Vector2.new(123, 70))
local function addTab(text, pos_x, pos_y, tab_number)
    local mousePos = Cheat.GetMousePos()
    local mouse = Cheat.GetMousePos()
    local active = 0
   
    local text_x = Render.CalcTextSize(text, 21).x

    if Cheat.IsKeyDown(0x1) and holdingWidget == 0 and holdingTab == 0 then
        if mouse.x >= pos_x and mouse.x <= pos_x + 60 and mouse.y >= pos_y and mouse.y <= pos_y + 20 then
            active_tab = tab_number
            holdingTab = tab_number
            if activeCombo ~= 0 then
                activeCombo = 0
            end
            if enable_picker ~= 0 then
                enable_picker = 0
            end
        end
    elseif not Cheat.IsKeyDown(0x1) and holdingWidget == 0 and holdingTab == tab_number then
        holdingTab = 0
    end

    if tab_number == active_tab then
        active = 2
    elseif mousePos.x >= pos_x and mousePos.x <= pos_x + 60 and mousePos.y >= pos_y and mousePos.y <= pos_y + 20 then
        active = 1
    end

    if active == 0 then
        Render.Text(""..text.."", Vector2.new(pos_x, pos_y), Color.new(191, 191, 191), 21, tabyfontxd)
    elseif active == 1 then
        Render.Text(text, Vector2.new(pos_x, pos_y), Color.new(255, 255, 255), 21, tabyfontxd)
    elseif active == 2 then
        Render.Text(text, Vector2.new(pos_x, pos_y), Color.new(191, 191, 191), 20, tabyfontxd2)
        Render.GradientBoxFilled(Vector2.new(pos_x-55 +text_x/2, pos_y+30), Vector2.new(pos_x + text_x/2 - 5, pos_y + 31), Color.new(0, 0, 0, 0), Color.new(0.0, 0.5, 0.9, 1.0), Color.new(0, 0, 0, 0), Color.new(0.0, 0.5, 0.9, 1.0))
        Render.GradientBoxFilled(Vector2.new(pos_x-5 + text_x/2, pos_y+30), Vector2.new(pos_x + text_x/2 + 55, pos_y + 31), Color.new(0.0, 0.5, 0.9, 1.0), Color.new(0, 0, 0, 0), Color.new(0.0, 0.5, 0.9, 1.0), Color.new(0, 0, 0, 0))
    end

    return active == 2
end

local active_tab2 = 1
local function addTab2(text, pos_x, pos_y, tab_number)
    local mousePos = Cheat.GetMousePos()
    local mouse = Cheat.GetMousePos()
    local active = 0
   
    local text_x = Render.CalcTextSize(text, 21).x

    if Cheat.IsKeyDown(0x1) and holdingWidget == 0 and holdingTab == 0 then
        if mouse.x >= pos_x and mouse.x <= pos_x + 60 and mouse.y >= pos_y and mouse.y <= pos_y + 20 then
            active_tab2 = tab_number
            holdingTab = tab_number
            if activeCombo ~= 0 then
                activeCombo = 0
            end
            if enable_picker ~= 0 then
                enable_picker = 0
            end
        end
    elseif not Cheat.IsKeyDown(0x1) and holdingWidget == 0 and holdingTab == tab_number then
        holdingTab = 0
    end

    if tab_number == active_tab2 then
        active = 2
    elseif mousePos.x >= pos_x and mousePos.x <= pos_x + 60 and mousePos.y >= pos_y and mousePos.y <= pos_y + 20 then
        active = 1
    end

    if active == 0 then
        Render.Text(""..text.."", Vector2.new(pos_x, pos_y), Color.new(191, 191, 191), 21, tabyfontxd)
    elseif active == 1 then
        Render.Text(text, Vector2.new(pos_x, pos_y), Color.new(255, 255, 255), 21, tabyfontxd)
    elseif active == 2 then
        Render.Text(text, Vector2.new(pos_x, pos_y), Color.new(191, 191, 191), 20, tabyfontxd2)
        Render.GradientBoxFilled(Vector2.new(pos_x-55 +text_x/2, pos_y+30), Vector2.new(pos_x + text_x/2 - 5, pos_y + 31), Color.new(0, 0, 0, 0), Color.new(0.0, 0.5, 0.9, 1.0), Color.new(0, 0, 0, 0), Color.new(0.0, 0.5, 0.9, 1.0))
        Render.GradientBoxFilled(Vector2.new(pos_x-5 + text_x/2, pos_y+30), Vector2.new(pos_x + text_x/2 + 55, pos_y + 31), Color.new(0.0, 0.5, 0.9, 1.0), Color.new(0, 0, 0, 0), Color.new(0.0, 0.5, 0.9, 1.0), Color.new(0, 0, 0, 0))
    end

    return active == 2
end

widgetPos = Vector.new(menuPos.x+ 20, menuPos.y + 85, 0)

local function addCombo(text, pos_y, names, options, i1, i2, i3)
    local add_y  = 0
    local var
    if i1 == 99 and i2 == 99 then
        var = weaponSelect
    elseif i1 == 99 and i2 == 0 then
        var = movementSelect
    elseif i3 ~= 0 then
        var = intVars[i1][i2][i3]
    elseif i2 ~= 0 then
        var = intVars[i1][i2]
    else
        var = intVars[i1]
    end

    local mousePos = Cheat.GetMousePos()

    local i = i1 + 10
    if i3 ~= 0 then
        i = i + i2 + i3 + 20
    elseif i2 ~= 0 then
        i = i + i2 + 30
    end

    if Cheat.IsKeyDown(0x1) and activeCombo == i then
        local breakCombo = 0
        for j = 1,options do
            if mousePos.x >= widgetPos.x and mousePos.x <= widgetPos.x + 120 and mousePos.y >= pos_y + ((20 * j)) and mousePos.y <= pos_y + 20 + (20 * j) then
                if i1 == 99 and i2 == 99 then
                    weaponSelect = j
                elseif i1 == 99 and i2 == 0 then
                    movementSelect = j
                elseif i3 ~= 0 then
                    intVars[i1][i2][i3] = j
                elseif i2 ~= 0 then
                    intVars[i1][i2] = j
                else
                    intVars[i1] = j
                end
            else
                breakCombo = breakCombo + 1
            end
        end

        if breakCombo == options then
            activeCombo = 0
        end
    end

    if Cheat.IsKeyDown(0x1) and not dragingMenu and holdingWidget == 0 and holdingTab == 0 and activeCombo ~= i then
        if mousePos.x >= widgetPos.x and mousePos.x <= widgetPos.x + 120 and mousePos.y >= pos_y and mousePos.y <= pos_y + 20 then
            activeCombo = i
        end
    end

    Render.BoxFilled(Vector2.new(widgetPos.x-2, pos_y), Vector2.new(widgetPos.x+122,  pos_y+20), Color.new(0.15, 0.15, 0.15, 1.0))
    Render.BoxFilled(Vector2.new(widgetPos.x, pos_y-2), Vector2.new(widgetPos.x+120,  pos_y+22), Color.new(0.15, 0.15, 0.15, 1.0))
    Render.BoxFilled(Vector2.new(widgetPos.x, pos_y), Vector2.new(widgetPos.x+120,  pos_y+20), Color.new(0.10, 0.10, 0.10, 1.0))
    Render.Box(Vector2.new(widgetPos.x, pos_y), Vector2.new(widgetPos.x+120,  pos_y+20), Color.new(0.15, 0.15, 0.15, 1.0))
    Render.CircleFilled(Vector2.new(widgetPos.x,pos_y), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
    Render.CircleFilled(Vector2.new(widgetPos.x+120,pos_y), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
    Render.CircleFilled(Vector2.new(widgetPos.x,pos_y + 20), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
    Render.CircleFilled(Vector2.new(widgetPos.x+120,pos_y+20), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))

    Render.Text(""..text.."", Vector2.new(widgetPos.x - 100,  pos_y + add_y + 3), Color.new(1.0, 1.0, 1.0, 1.0), 12)
    local add_y  = 20
    if activeCombo == i then
        local nextY = 0
        for j = 1,options do
            Render.BoxFilled(Vector2.new(widgetPos.x, pos_y-2+add_y), Vector2.new(widgetPos.x+120,  pos_y+22+add_y), Color.new(0.15, 0.15, 0.15, 1.0))
            Render.BoxFilled(Vector2.new(widgetPos.x-2, pos_y-2+add_y), Vector2.new(widgetPos.x+122,  pos_y+20+add_y), Color.new(0.15, 0.15, 0.15, 1.0))
            Render.BoxFilled(Vector2.new(widgetPos.x, pos_y + add_y), Vector2.new(widgetPos.x+120,pos_y + add_y+20), Color.new(0.10, 0.10, 0.10, 1.0))
            Render.Box(Vector2.new(widgetPos.x, pos_y + add_y), Vector2.new(widgetPos.x+120,pos_y + add_y+20), Color.new(0.15, 0.15, 0.15, 1.0))
            Render.CircleFilled(Vector2.new(widgetPos.x+120,pos_y+add_y), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
            Render.CircleFilled(Vector2.new(widgetPos.x,pos_y+add_y), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
            Render.CircleFilled(Vector2.new(widgetPos.x+120,pos_y+add_y+20), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
            Render.CircleFilled(Vector2.new(widgetPos.x,pos_y+add_y+20), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
            local textColor = Color.new(191/255, 191/255, 191/255)
            if i1 == 99 and i2 == 99 then
                if weaponSelect == j then
                    textColor = Color.new(255/255, 255/255, 255/255)
                end
            elseif i1 == 99 and i2 == 0 then
                if movementSelect == j then
                    textColor = Color.new(255/255, 255/255, 255/255)
                end
            elseif i3 ~= 0 then
                if intVars[i1][i2][i3] == j then
                    textColor = Color.new(255/255, 255/255, 255/255)
                end
            elseif i2 ~= 0 then
                if intVars[i1][i2] == j then
                    textColor = Color.new(255/255, 255/255, 255/255)
                end
            else
                if intVars[i1] == j then
                    textColor = Color.new(255/255, 255/255, 255/255)
                end
            end

            Render.Text(names[j], Vector2.new(widgetPos.x + 5,  pos_y + add_y + 3), textColor, 12)
            add_y = add_y + 20
        end
    end
        local nextY = 0
        for j = 1,options do
            local textColor = Color.new(191/255, 191/255, 191/255, 0)
            if i1 == 99 and i2 == 99 then
                if weaponSelect == j then
                    textColor = Color.new(191/255, 191/255, 191/255 ,1)
                end
            elseif i1 == 99 and i2 == 0 then
                if movementSelect == j then
                    textColor = Color.new(191/255, 191/255, 191/255,1)
                end
            elseif i3 ~= 0 then
                if intVars[i1][i2][i3] == j then
                    textColor = Color.new(191/255, 191/255, 191/255,1)
                end
            elseif i2 ~= 0 then
                if intVars[i1][i2] == j then
                    textColor = Color.new(191/255, 191/255, 191/255,1)
                end
            else
                if intVars[i1] == j then
                    textColor = Color.new(191/255, 191/255, 191/255,1)
                end
            end

            Render.Text(names[j], Vector2.new(widgetPos.x + 5,  pos_y + 3), textColor, 12)
        end

    return add_y
end

local function addMultiCombo(textt, pos_y, names, options, i1, i2, maxlimit)
    local add_y  = 0

    local var
    if i2 ~= 0 then
        var = boolVars[i1][i2]
    else
        var = boolVars[i1]
    end

    local mousePos = Cheat.GetMousePos()

    local i = i1 + 10
    if i2 ~= 0 then
        i = i + i2 + 20
    end

    if not Cheat.IsKeyDown(0x1) then
        holdingMulti = false
    end

    if Cheat.IsKeyDown(0x1) and activeMultiCombo == i then
        local breakCombo = 0
        for j = 1,options do
            if mousePos.x >= widgetPos.x and mousePos.x <= widgetPos.x + 120 and mousePos.y >= pos_y + ((20 * j)) and mousePos.y <= pos_y + 20 + (20 * j) and not holdingMulti then
                if i2 ~= 0 then
                    boolVars[i1][i2][j] = not boolVars[i1][i2][j]
                    holdingMulti = true
                else
                    boolVars[i1][j] = not boolVars[i1][j]
                    holdingMulti = true
                end
            elseif not holdingMulti then
                breakCombo = breakCombo + 1
            end
        end

        if breakCombo == options then
            activeMultiCombo = 0
        end
    end

    if Cheat.IsKeyDown(0x1) and not dragingMenu and holdingWidget == 0 and holdingTab == 0 and activeMultiCombo ~= i then
        if mousePos.x >= widgetPos.x and mousePos.x <= widgetPos.x + 120 and mousePos.y >= pos_y and mousePos.y <= pos_y + 20 then
            activeMultiCombo = i
        end
    end
    local text = ""

    Render.BoxFilled(Vector2.new(widgetPos.x-2, pos_y), Vector2.new(widgetPos.x+122,  pos_y+20), Color.new(0.15, 0.15, 0.15, 1.0))
    Render.BoxFilled(Vector2.new(widgetPos.x, pos_y-2), Vector2.new(widgetPos.x+120,  pos_y+22), Color.new(0.15, 0.15, 0.15, 1.0))
    Render.BoxFilled(Vector2.new(widgetPos.x, pos_y), Vector2.new(widgetPos.x+120,  pos_y+20), Color.new(0.10, 0.10, 0.10, 1.0))
    Render.Box(Vector2.new(widgetPos.x, pos_y), Vector2.new(widgetPos.x+120,  pos_y+20), Color.new(0.15, 0.15, 0.15, 1.0))
    Render.CircleFilled(Vector2.new(widgetPos.x,pos_y), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
    Render.CircleFilled(Vector2.new(widgetPos.x+120,pos_y), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
    Render.CircleFilled(Vector2.new(widgetPos.x,pos_y + 20), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
    Render.CircleFilled(Vector2.new(widgetPos.x+120,pos_y+20), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
    local ammount = 0
    Render.Text(""..text.."", Vector2.new(widgetPos.x - 100,  pos_y + add_y + 3), Color.new(1.0, 1.0, 1.0, 1.0), 12)
    local add_y  = 20
    if activeMultiCombo == i then
        for j = 1,options do
            Render.BoxFilled(Vector2.new(widgetPos.x, pos_y-2+add_y), Vector2.new(widgetPos.x+120,  pos_y+22+add_y), Color.new(0.15, 0.15, 0.15, 1.0))
            Render.BoxFilled(Vector2.new(widgetPos.x-2, pos_y-2+add_y), Vector2.new(widgetPos.x+122,  pos_y+20+add_y), Color.new(0.15, 0.15, 0.15, 1.0))
            Render.BoxFilled(Vector2.new(widgetPos.x, pos_y + add_y), Vector2.new(widgetPos.x+120,pos_y + add_y+20), Color.new(0.10, 0.10, 0.10, 1.0))
            Render.Box(Vector2.new(widgetPos.x, pos_y + add_y), Vector2.new(widgetPos.x+120,pos_y + add_y+20), Color.new(0.15, 0.15, 0.15, 1.0))
            Render.CircleFilled(Vector2.new(widgetPos.x+120,pos_y+add_y), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
            Render.CircleFilled(Vector2.new(widgetPos.x,pos_y+add_y), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
            Render.CircleFilled(Vector2.new(widgetPos.x+120,pos_y+add_y+20), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
            Render.CircleFilled(Vector2.new(widgetPos.x,pos_y+add_y+20), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))

            local textColor = Color.new(191/255, 191/255, 191/255)
            if i2 ~= 0 then
                if boolVars[i1][i2][j] == true then
                    textColor = Color.new(255/255, 255/255, 255/255)
                    ammount = ammount + 1
                end
            else
                if boolVars[i1][j] == true then
                    textColor = Color.new(255/255, 255/255, 255/255)
                    ammount = ammount + 1
                end
            end
            Render.Text(names[j], Vector2.new(widgetPos.x + 5,  pos_y + add_y + 3), textColor, 12)
            add_y = add_y + 20
        end
    end
    for j = 1,options do
        if i2 == 0 and boolVars[i1][j] == true then    
        text = text..names[j]..","
        text = string.gsub(text, "None", "")
        end
    end
    if Render.CalcTextSize(text, 12).x > maxlimit then
        text = string.sub(text, 1, 20)
    else
        text = text
    end
    Render.Text(""..text.."", Vector2.new(widgetPos.x+1,  pos_y + 3), Color.new(1.0, 1.0, 1.0, 1.0), 12)
    Render.Text(""..textt.."", Vector2.new(widgetPos.x-100,  pos_y + 3), Color.new(1.0, 1.0, 1.0, 1.0), 12)
   
    local multiboxjakiesgufno1 = Render.CalcTextSize("  ", 12)
    local multiboxjakiesgufno2 = Render.CalcTextSize("  ", 12)
    local add_x = 0
    return add_y
end

local activepicker = 0
local draggingalpha = 0
local draggingcolor = 0
local draggingcircle = 0

local paleta = Render.LoadImage(Http.Get("https://cdn.discordapp.com/attachments/935503375800356934/941026215630868579/color-palette-outline.png"), Vector2.new(17, 17))

local switchn = 0
taimar = 0
local function colorpicker(x,y,text,pos_y,i1, i2, i3, i4, i5, i6, i7)
    local mousePos = Cheat.GetMousePos()
   
    local var = colorVars[i1]

    local var = kolorekVars[i4]
    local var = kolorek1Vars[i5]
    local var = kolorek2Vars[i6]
    local var = kolorek3Vars[i7]

    local mouse = Cheat.GetMousePos()
    Render.Text(text, Vector2.new(x-20 , y-47), Color.new(1.0, 1.0, 1.0, 1.0), 13)

    if switchn == 0 then
        taimar = taimar + 1
        switchn = 1
    end
    if switchn == 1 then
        switchn = 0
    end

    if mousePos.x+1 >= x+160 and mousePos.x <= x+205 and mousePos.y >= y-50 and mousePos.y  <= y - 30 then
        if Cheat.IsKeyDown(0x1) and taimar >= 50  then
            if i3 ~= 0 then
                colorVars[i1][i2][i3] = not colorVars[i1][i2][i3]
            elseif i2 ~= 0 then
                colorVars[i1][i2] = not colorVars[i1][i2]
            else
                colorVars[i1] = not colorVars[i1]
            end
            taimar = 0
        end
    end
    if colorVars[i1] == true then enable_picker = true
    elseif colorVars[i1] == false then enable_picker = false
    end
   

    if enable_picker == true then
        Render.BoxFilled(Vector2.new(x-4, y-4), Vector2.new(x-4+293, y-4+293), Color.new(0.10, 0.10, 0.10, 1))          
        Render.BoxFilled(Vector2.new(x+267, y), Vector2.new(x+267+2, y+255), Color.new(0.10, 0.10, 0.10, 1))
        Render.Box(Vector2.new(x-4, y-4), Vector2.new(x-4+293, y-4+293), Color.new(0.15, 0.15, 0.15, 1))


        Render.BoxFilled(Vector2.new(x+5, y+267),Vector2.new(x+15,y+267+6), Color.new(0.15, 0.15, 0.15, 250))
        Render.BoxFilled(Vector2.new(x+15, y+273),Vector2.new(x+15+10,y+273+6), Color.new(0.15, 0.15, 0.15, 250))
        Render.BoxFilled(Vector2.new(x+30, y+267),Vector2.new(x+30+10,y+267+ 6), Color.new(0.15, 0.15, 0.15, 250))
        Render.BoxFilled(Vector2.new(x+45, y+273),Vector2.new(x+45+10,y+273+6), Color.new(0.15, 0.15, 0.15, 250))
        Render.BoxFilled(Vector2.new(x+60, y+267),Vector2.new(x+60+10,y+267+6), Color.new(0.15, 0.15, 0.15, 250))
        Render.BoxFilled(Vector2.new(x+75, y+273),Vector2.new(x+75+10, y+273+6), Color.new(0.15, 0.15, 0.15, 250))
        Render.BoxFilled(Vector2.new(x+90, y+267),Vector2.new(x+90+10,y+267+6), Color.new(0.15, 0.15, 0.15, 250))
        Render.BoxFilled(Vector2.new(x+105, y+273),Vector2.new(x+105+10,y+273+6), Color.new(0.15, 0.15, 0.15, 250))
        Render.BoxFilled(Vector2.new(x+120, y+267),Vector2.new(x+120+10,y+267+6), Color.new(0.15, 0.15, 0.15, 250))
        Render.BoxFilled(Vector2.new(x+135, y+273),Vector2.new(x+135+10,y+273+6), Color.new(0.15, 0.15, 0.15, 250))
        Render.BoxFilled(Vector2.new(x+150, y+267),Vector2.new(x+150+10,y+267+6), Color.new(0.15, 0.15, 0.15, 250))
        Render.BoxFilled(Vector2.new(x+165, y+273),Vector2.new(x+165+10,y+273+6), Color.new(0.15, 0.15, 0.15, 250))
        Render.BoxFilled(Vector2.new(x+180, y+267),Vector2.new(x+180+10,y+267+6), Color.new(0.15, 0.15, 0.15, 250))
        Render.BoxFilled(Vector2.new(x+195, y+273),Vector2.new(x+195+10,y+273+6), Color.new(0.15, 0.15, 0.15, 250))

        Render.GradientBoxFilled(Vector2.new(x, y+267), Vector2.new(x+255,y+279), Color.new( 255/255, 255/255, 255/255, 10/255), Color.new(255/255, 255/255, 255/255, 255/255), Color.new(255/255, 255/255, 255/255, 10/255), Color.new(255/255, 255/255, 255/255, 255/255))

        Render.GradientBoxFilled(Vector2.new(x+267,y), Vector2.new(x+267+12,y+42), Color.new( 255, 0, 0, 255), Color.new(255, 0, 0, 255), Color.new(255, 255, 0, 255), Color.new(255, 255, 0, 255))
        Render.GradientBoxFilled(Vector2.new(x+267,y+42), Vector2.new(x+267+12,y+84), Color.new(255, 255, 0, 255), Color.new(255, 255, 0, 255), Color.new(0, 255, 0, 255), Color.new(0, 255, 0, 255))
        Render.GradientBoxFilled(Vector2.new(x+267,y+84), Vector2.new(x+267+12,y+126), Color.new(0, 255, 0, 255), Color.new(0, 255, 0, 255), Color.new( 0, 255, 255, 255), Color.new( 0, 255, 255, 255))
        Render.GradientBoxFilled(Vector2.new(x+267,y+126), Vector2.new(x+267+12,y+168), Color.new(0, 255, 255, 255), Color.new(0, 255, 255, 255), Color.new(0, 0, 255, 255), Color.new(0, 0, 255, 255))

        Render.GradientBoxFilled(Vector2.new(x+267,y+168), Vector2.new(x+267+12,y+202), Color.new(0, 0, 255, 255), Color.new(0, 0, 255, 255), Color.new(255, 0, 255, 255), Color.new(255, 0, 255, 255))
        Render.GradientBoxFilled(Vector2.new(x+267,y+202), Vector2.new(x+267+12,y+253), Color.new(255, 0, 255, 255), Color.new(255, 0, 255, 255), Color.new(255, 0, 0, 255), Color.new(255, 0, 0, 255))



    end
    if Cheat.IsKeyDown(0x1) and mousePos.x >= x and mousePos.x <= x+258 and mousePos.y >= y and mousePos.y <= y+258 then
        holding_circle = true
    else
        holding_circle = false
    end
    if Cheat.IsKeyDown(0x1) and mousePos.x >= x and mousePos.x <= x+255 and mousePos.y >= y+266 and mousePos.y <= y+290 then
        holding_alpha = true
    else  
        holding_alpha = false            
    end    
    if Cheat.IsKeyDown(0x1) and mousePos.x >= x+267 and mousePos.x <= x+290 and mousePos.y >= y and mousePos.y <= y+265 then
        holding_color = true
    else  
        holding_color = false                        
    end  
    if holding_color == true  then
        pos_y_xd = mousePos.y - y
        if pos_y_xd >= 250 then
            pos_y_xd = 250
        end
        if pos_y_xd <= 0 then
            pos_y_xd = 0
        end
    end
    if enable_picker == true then
        if pos_y_xd >= 0 and pos_y_xd < 42.5 then
            kolorekVars[i4] = pos_cy_xd
            kolorek1Vars[i5] = pos_cy_xd - pos_cx_xd + 4 * pos_y_xd
            kolorek2Vars[i6] = pos_cy_xd - pos_cx_xd
            Render.GradientBoxFilled(Vector2.new(x,y), Vector2.new(x+255,y+255), Color.new(0,0,0,255), Color.new(0, 0, 0, 255), Color.new(255,255,255 ,255), Color.new(1.0, 0.004*(5* pos_y_xd),0 ,255))
        elseif pos_y_xd >= 42.5 and pos_y_xd < 85 then
            local jebackurwy = pos_y_xd - 42.5
            kolorekVars[i4] = pos_cy_xd - 4 * jebackurwy
            kolorek1Vars[i5] = pos_cy_xd - pos_cx_xd + 212
            kolorek2Vars[i6] = pos_cy_xd - pos_cx_xd
            Render.GradientBoxFilled(Vector2.new(x,y), Vector2.new(x+255,y+255), Color.new(0,0,0,255), Color.new(0, 0, 0, 255), Color.new(255,255,255 ,255), Color.new(1.0 -0.004*(5 * jebackurwy), 255,0 ,255))
        elseif pos_y_xd >= 85 and pos_y_xd < 127.5  then
            local jebaccckurwy = pos_y_xd - 85
            kolorekVars[i4] = pos_cy_xd - pos_cx_xd
            kolorek1Vars[i5] = pos_cy_xd - pos_cx_xd + 212
            kolorek2Vars[i6] = pos_cy_xd - pos_cx_xd + 4 * jebaccckurwy
            Render.GradientBoxFilled(Vector2.new(x,y), Vector2.new(x+255,y+255), Color.new(0,0,0,255), Color.new(0, 0, 0, 255), Color.new(255,255,255 ,255), Color.new( 0,255, 0.004*(5 * jebaccckurwy),255))
        elseif pos_y_xd >= 127.5 and pos_y_xd < 170 then
            local jebaccckurwyyy = pos_y_xd - 127.5
            kolorekVars[i4] = pos_cy_xd - pos_cx_xd
            kolorek1Vars[i5] = pos_cy_xd - 4 * jebaccckurwyyy
            kolorek2Vars[i6] = pos_cy_xd - pos_cx_xd + 212
            Render.GradientBoxFilled(Vector2.new(x,y), Vector2.new(x+255,y+255), Color.new(0,0,0,255), Color.new(0, 0, 0, 255), Color.new(255,255,255 ,255), Color.new( 0,1.0- 0.004*(5 * jebaccckurwyyy),255,255))

        elseif pos_y_xd >= 170 and pos_y_xd < 212.5 then
            local jebaccckurwyyyyyyy = pos_y_xd - 170
            kolorekVars[i4] = pos_cy_xd - pos_cx_xd + 4 * jebaccckurwyyyyyyy
            kolorek1Vars[i5] = pos_cy_xd - pos_cx_xd
            kolorek2Vars[i6] = pos_cy_xd - pos_cx_xd + 212
            Render.GradientBoxFilled(Vector2.new(x,y), Vector2.new(x+255,y+255), Color.new(0,0,0,255), Color.new(0, 0, 0, 255), Color.new(255,255,255 ,255), Color.new(0.004*(5 * jebaccckurwyyyyyyy),0,255,255))

        elseif pos_y_xd >= 212.5 and pos_y_xd < 255 then
            local jebaccasddsaacckurwyyyyyyy = pos_y_xd - 212.5
            kolorekVars[i4] = pos_cy_xd - pos_cx_xd + 212
            kolorek1Vars[i5] = pos_cy_xd - pos_cx_xd
            kolorek2Vars[i6] = pos_cy_xd - 4 * jebaccasddsaacckurwyyyyyyy
            Render.GradientBoxFilled(Vector2.new(x,y), Vector2.new(x+255,y+255), Color.new(0,0,0,255), Color.new(0, 0, 0, 255), Color.new(255,255,255 ,255), Color.new(255,0,1.0 -0.004*(4 * jebaccasddsaacckurwyyyyyyy),255))
        end
        if holding_alpha == true then
            kolorek3Vars[i7] = mousePos.x - x
            if kolorek3Vars[i7] >= 255 then
                kolorek3Vars[i7] = 255
            end
            if kolorek3Vars[i7] <= 0 then
                kolorek3Vars[i7] = 0
            end
        end  
        if holding_circle == true then
            holding_color = false
            holding_alpha = false
            pos_cy_xd = mousePos.y - y
            pos_cx_xd = mousePos.x - x
            if pos_cy_xd >= 255 then
                pos_cy_xd = 255
            end
            if pos_cy_xd <= 0 then
                pos_cy_xd = 0
            end
            if pos_cx_xd >= 255 then
                pos_cx_xd = 255
            end
            if pos_cx_xd <= 0 then
                pos_cx_xd = 0
            end
        end          
        if enable_picker == true then

            Render.Circle(Vector2.new(x+pos_cx_xd, y+pos_cy_xd), 2.0, 30, Color.new(1.0, 1.0, 1.0, 1.0))
            Render.BoxFilled(Vector2.new(x+267, y+pos_y_xd), Vector2.new(x+267+12,y+pos_y_xd+3), Color.new(1, 1, 1, 1))
            Render.Box(Vector2.new(x+267, y+pos_y_xd), Vector2.new(x+267+12,y+pos_y_xd+3), Color.new(0.10, 0.10, 0.10, 1))
            Render.BoxFilled(Vector2.new(x+kolorek3Vars[i7], y+267), Vector2.new(x+kolorek3Vars[i7]+3,y+267+12), Color.new(1, 1, 1, 255))
            Render.Box(Vector2.new(x+kolorek3Vars[i7], y+267), Vector2.new(x+kolorek3Vars[i7]+3,y+267+12), Color.new(0.10, 0.10, 0.10, 1))
        end  
    end
   
    local czerwont = kolorekVars[i4]
    local zielony = kolorek1Vars[i5]
    local niebieski = kolorek2Vars[i6]
    local alfaxd = kolorek3Vars[i7]
    kolortenzboxa = Color.RGBA(czerwont,zielony,niebieski,alfaxd)

    Render.Image(paleta, Vector2.new(x + 165, y-47), Vector2.new(17, 17))  

    Render.BoxFilled(Vector2.new(x+185, y - 28), Vector2.new(x+200, y - 47), Color.new(0.15, 0.15, 0.15, 1))
    Render.BoxFilled(Vector2.new(x+183, y - 30), Vector2.new(x+202, y - 45), Color.new(0.15, 0.15, 0.15, 1))
    Render.BoxFilled(Vector2.new(x+185, y - 30), Vector2.new(x+200, y - 45), Color.new(0.1, 0.1, 0.1, 1))
    Render.BoxFilled(Vector2.new(x+185, y - 30), Vector2.new(x+200, y - 45), kolortenzboxa)
    Render.CircleFilled(Vector2.new(x+185, y-30), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
    Render.CircleFilled(Vector2.new(x+185, y-45), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
    Render.CircleFilled(Vector2.new(x+200, y-30), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
    Render.CircleFilled(Vector2.new(x+200, y-45), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))

    Render.Box(Vector2.new(x+185, y - 30), Vector2.new(x+200, y - 45), Color.new(0.15, 0.15, 0.15, 1))
end

local function checkbox(text,pos_x, pos_y, infobox, i1,i2,i3)
    local mouse = Cheat.GetMousePos()
    local infobox_x = Render.CalcTextSize(infobox, 12).x - 39

    if infobox_x <= 5 then
        infobox_x = -46
    end
   
   
            local var
    if i3 ~= 0 then
        var = boolVars[i1][i2][i3]
    elseif i2 ~= 0 then
        var = boolVars[i1][i2]
    else
        var = boolVars[i1]
    end

    if mouse.x >= 200+pos_x and mouse.y >= 200+pos_y and  mouse.x <= 215+pos_x and mouse.y <= 215+pos_y then
        Render.BoxFilled(Vector2.new(220+pos_x , 187+pos_y), Vector2.new(260 + 5+pos_x + infobox_x, 170 + 5+pos_y), Color.new(0.10,0.10, 0.10, 1))
        Render.Box(Vector2.new(220+pos_x , 187+pos_y), Vector2.new(260 + 5+pos_x + infobox_x, 170 + 5+pos_y), Color.new(0.15,0.15, 0.15, 1.0))
        Render.Text(infobox, Vector2.new(223+pos_x, 175+pos_y), Color.new(1.0, 1.0, 1.0, 1.0), 12)

        if Cheat.IsKeyDown(0x1) and holdingWidget == 0  then
           
           
            if i3 ~= 0 then
                boolVars[i1][i2][i3] = not boolVars[i1][i2][i3]
            elseif i2 ~= 0 then
                boolVars[i1][i2] = not boolVars[i1][i2]
            else
                boolVars[i1] = not boolVars[i1]
            end
            holdingWidget = 1
         
        elseif not Cheat.IsKeyDown(0x1) and holdingWidget ~= 0 then
            holdingWidget = 0
        end
    end
   
    if var == true then
        Render.BoxFilled(Vector2.new(200+pos_x, 198+pos_y), Vector2.new(215+pos_x, 217+pos_y), Color.new(0.15, 0.15, 0.15, 1.0))
        Render.BoxFilled(Vector2.new(198+pos_x, 200+pos_y), Vector2.new(217+pos_x, 215+pos_y), Color.new(0.15, 0.15, 0.15, 1.0))
        Render.BoxFilled(Vector2.new(200+pos_x, 200+pos_y), Vector2.new(200+pos_x + 15, 200 + 15+pos_y), akcentlel)
        Render.Box(Vector2.new(200+pos_x , 200+pos_y), Vector2.new(200 + 15+pos_x , 200 + 15+pos_y), Color.new(0.15, 0.15, 0.15, 1.0))
        Render.CircleFilled(Vector2.new(pos_x+200, pos_y+200), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
        Render.CircleFilled(Vector2.new(pos_x+200, pos_y+215), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
        Render.CircleFilled(Vector2.new(pos_x+215, pos_y+200), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
        Render.CircleFilled(Vector2.new(pos_x+215, pos_y+215), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
    else
        Render.BoxFilled(Vector2.new(200+pos_x, 198+pos_y), Vector2.new(215+pos_x, 217+pos_y), Color.new(0.15, 0.15, 0.15, 1.0))
        Render.BoxFilled(Vector2.new(198+pos_x, 200+pos_y), Vector2.new(217+pos_x, 215+pos_y), Color.new(0.15, 0.15, 0.15, 1.0))
        Render.BoxFilled(Vector2.new(200+pos_x , 200+pos_y), Vector2.new(200 + 15+pos_x, 200 + 15+pos_y), Color.new(0.1, 0.1, 0.1))
        Render.Box(Vector2.new(200+pos_x , 200+pos_y), Vector2.new(200 + 15+pos_x , 200 + 15+pos_y), Color.new(0.15, 0.15, 0.15, 1.0))
        Render.CircleFilled(Vector2.new(pos_x+200, pos_y+200), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
        Render.CircleFilled(Vector2.new(pos_x+200, pos_y+215), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
        Render.CircleFilled(Vector2.new(pos_x+215, pos_y+200), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
        Render.CircleFilled(Vector2.new(pos_x+215, pos_y+215), 2.0, 15, Color.new(0.15, 0.15, 0.15, 1.0))
    end
            Render.Text(text, Vector2.new(pos_x - 10, 200+pos_y), Color.new(1.0, 1.0, 1.0, 1.0), 13)
end

local function addChild(text, pos_x, pos_y,pos_x1 , pos_y1)

    Render.BoxFilled(Vector2.new(menuPos.x + pos_x-6, menuPos.y + pos_y), Vector2.new(menuPos.x + pos_x-6 + pos_x1, menuPos.y + pos_y + pos_y1), Color.new(0.09, 0.09,0.09, 1.0))
    Render.Image(tło, Vector2.new(menuPos.x + pos_x-6, menuPos.y + pos_y), Vector2.new(pos_x1,pos_y1))  
   
    Render.Box(Vector2.new(menuPos.x + pos_x-6, menuPos.y + pos_y), Vector2.new(menuPos.x + pos_x-6 + pos_x1, menuPos.y + pos_y + pos_y1), Color.new(0.15, 0.15, 0.15))

    Render.Text(""..text.. "", Vector2.new(menuPos.x + pos_x + 20, menuPos.y + pos_y - 10), Color.new(1.0, 1.0, 1.0, 1.0), 13)

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);

    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*);
   
    bool CreateDirectoryA(const char* lpPathName, void* lpSecurityAttributes);
    void* __stdcall URLDownloadToFileA(void* LPUNKNOWN, const char* LPCSTR, const char* LPCSTR2, int a, int LPBINDSTATUSCALLBACK);
    void* __stdcall ShellExecuteA(void* hwnd, const char* op, const char* file, const char* params, const char* dir, int show_cmd);

    bool DeleteUrlCacheEntryA(const char* lpszUrlName);
]]

local urlmon = ffi.load 'UrlMon'
local wininet = ffi.load 'WinInet'
local gdi = ffi.load 'Gdi32'



Download = function(from, to)
    wininet.DeleteUrlCacheEntryA(from)
    urlmon.URLDownloadToFileA(nil, from, to, 0,0)
end

CreateDir = function(path)
    ffi.C.CreateDirectoryA(path, NULL)
end

CreateDir("csgo\\sound\\Papiezowa\\")
CreateDir("csgo\\sound\\Papiezowa\\papiezowa24h\\")
Download('https://cdn.discordapp.com/attachments/935503375800356934/941384874944770068/Barka_bass_boosted-_Shrek.wav', 'csgo\\sound\\Papiezowa\\papiezowa24h\\sus.wav')

local papiez = Render.LoadImage(Http.Get("https://cdn.discordapp.com/attachments/935503375800356934/941387077449285672/Z.png"), Vector2.new(1920, 1080))

widgetPos = Vector.new(menuPos.x+ 20, menuPos.y + 85, 0)
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 frame_rate = 0.0
local function get_abs_fps()
frame_rate = 0.9 * frame_rate + (1.0 - 0.9) * GlobalVars.absoluteframetime
return math.floor((1.0 / frame_rate) + 0.5)
end


local user = Render.LoadImage(Http.Get("https://en.neverlose.cc/static/avatars/"..Cheat.GetCheatUserName().. ".png"), Vector2.new(40, 40))
local napisfajnypsjebaccygana = Render.LoadImage(Http.Get("https://cdn.discordapp.com/attachments/929703695262830612/940734894181613568/006_1.png"), Vector2.new(165, 120))



local function menu()

    -- papiezowa
    local local_time = ffi.new("SYSTEMTIME")
    ffi.C.GetLocalTime(local_time)
    if local_time.wHour == 21 and local_time.wMinute == 37 and local_time.wSecond <= 0.001 then
                    EngineClient.ExecuteClientCmd("playvol Papiezowa/papiezowa24h/sus.wav 0.5")
    end
    if local_time.wHour == 21 and local_time.wMinute == 37 then
        Render.Image(papiez, Vector2.new(0, 0), Vector2.new(1920, 1080))
    end


if Cheat.IsKeyDown(0x24) and not holdingMenuKey then
    menuOpen = not menuOpen
    holdingMenuKey = true
elseif not Cheat.IsKeyDown(0x24) and holdingMenuKey then
    holdingMenuKey = false
end

if not menuOpen then return end


local mousePos = Cheat.GetMousePos()

if dragingMenu then
    menuPos.x = mousePos.x - menuDiff.x
    menuPos.y = mousePos.y - menuDiff.y
end

--theme

Render.Blur(Vector2.new(0.0, 0.0), Vector2.new(99999.0, 999999.0))
Render.BoxFilled(Vector2.new(0.0, 0.0), Vector2.new(99999.0, 999999.0), Color.RGBA(5, 5, 5, 150))
-- menu góra
Render.Box(Vector2.new(menuPos.x+18, 18+menuPos.y), Vector2.new(632.0+menuPos.x, 92.0+menuPos.y), Color.new(0.24, 0.24, 0.24, 0.6))
Render.Box(Vector2.new(menuPos.x-2, 38.0+menuPos.y), Vector2.new(652.0+menuPos.x, 73.0+menuPos.y), Color.new(0.24, 0.24, 0.24, 0.6))
Render.CircleFilled(Vector2.new(menuPos.x +19, 39.0+menuPos.y), 20, 30, Color.new(0.06, 0.06,0.06, 1.0))
Render.CircleFilled(Vector2.new(631.0+menuPos.x, 39.0+menuPos.y), 20, 30, Color.new(0.06, 0.06,0.06, 1.0))
Render.CircleFilled(Vector2.new(631.0+menuPos.x, 71.0+menuPos.y), 20, 30, Color.new(0.06, 0.06,0.06, 1.0))
Render.CircleFilled(Vector2.new(19.0+menuPos.x, 71.0+menuPos.y), 20, 30, Color.new(0.06, 0.06,0.06, 1.0))

Render.BoxFilled(Vector2.new(menuPos.x+19, 19+menuPos.y), Vector2.new(631.0+menuPos.x, 91.0+menuPos.y), Color.new(0.06, 0.06,0.06, 1.0))
Render.BoxFilled(Vector2.new(menuPos.x-1, menuPos.y+40), Vector2.new(651.0+menuPos.x, 71.0+menuPos.y), Color.new(0.06, 0.06,0.06, 1.0))

Render.Circle(Vector2.new(menuPos.x +18, 38.0+menuPos.y), 20, 30, Color.new(0.24, 0.24, 0.24, 0.6), 1, 180 , 270)
Render.Circle(Vector2.new(632.0+menuPos.x, 38.0+menuPos.y), 20, 30, Color.new(0.24, 0.24, 0.24, 0.6), 1, 270 , 360)
Render.Circle(Vector2.new(632.0+menuPos.x, 71.0+menuPos.y), 20, 30, Color.new(0.24, 0.24, 0.24, 0.6), 1, 0 , 90)
Render.Circle(Vector2.new(18.0+menuPos.x, 71.0+menuPos.y), 20, 30, Color.new(0.24, 0.24, 0.24, 0.6), 1, 90 , 180)

-- menu
Render.CircleFilled(Vector2.new(menuPos.x +19, 119.0+menuPos.y), 20, 30, Color.new(0.06, 0.06,0.06, 1.0))
Render.CircleFilled(Vector2.new(631.0+menuPos.x, 119.0+menuPos.y), 20, 30, Color.new(0.06, 0.06,0.06, 1.0))
Render.CircleFilled(Vector2.new(631.0+menuPos.x, 561.0+menuPos.y), 20, 30, Color.new(0.06, 0.06,0.06, 1.0))
Render.CircleFilled(Vector2.new(19.0+menuPos.x, 561.0+menuPos.y), 20, 30, Color.new(0.06, 0.06,0.06, 1.0))

Render.Box(Vector2.new(menuPos.x -2, 118.0+menuPos.y), Vector2.new(menuPos.x+1, 562.0+menuPos.y), Color.new(0.24, 0.24, 0.24, 0.6))
Render.Box(Vector2.new(menuPos.x+ 18, 98.0+menuPos.y), Vector2.new(menuPos.x+633, 110.0+menuPos.y), Color.new(0.24, 0.24, 0.24, 0.6))
Render.Box(Vector2.new(menuPos.x +633, 118.0+menuPos.y), Vector2.new(menuPos.x+652, 562.0+menuPos.y), Color.new(0.24, 0.24, 0.24, 0.6))
Render.Box(Vector2.new(menuPos.x+ 18, 500.0+menuPos.y), Vector2.new(menuPos.x+633, 582.0+menuPos.y), Color.new(0.24, 0.24, 0.24, 0.6))
Render.BoxFilled(Vector2.new(menuPos.x-1, 118.0+menuPos.y), Vector2.new(651.0+menuPos.x, 562.0+menuPos.y), Color.new(0.06, 0.06,0.06, 1.0))
Render.BoxFilled(Vector2.new(menuPos.x+13, 99.0+menuPos.y), Vector2.new(635.0+menuPos.x, 562.0+menuPos.y), Color.new(0.06, 0.06,0.06, 1.0))
Render.BoxFilled(Vector2.new(menuPos.x+13, 99.0+menuPos.y), Vector2.new(635.0+menuPos.x, 581.0+menuPos.y), Color.new(0.06, 0.06,0.06, 1.0))

Render.Circle(Vector2.new(menuPos.x +18, 118.0+menuPos.y), 20, 30, Color.new(0.24, 0.24, 0.24, 0.6), 1, 180 , 270)
Render.Circle(Vector2.new(632.0+menuPos.x, 118.0+menuPos.y), 20, 30, Color.new(0.24, 0.24, 0.24, 0.6), 1, 270 , 360)
Render.Circle(Vector2.new(632.0+menuPos.x, 562.0+menuPos.y), 20, 30, Color.new(0.24, 0.24, 0.24, 0.6), 1, 0 , 90)
Render.Circle(Vector2.new(18.0+menuPos.x, 562.0+menuPos.y), 20, 30, Color.new(0.24, 0.24, 0.24, 0.6), 1, 90 , 180)

-- taby

Render.BoxFilled(Vector2.new(menuPos.x+10, 115.0+menuPos.y), Vector2.new(135.0+menuPos.x, 565.0+menuPos.y), Color.new(0.07, 0.07,0.07, 1.0))
Render.Box(Vector2.new(menuPos.x+10, 115.0+menuPos.y), Vector2.new(135.0+menuPos.x, 565.0+menuPos.y), Color.new(0.24, 0.24, 0.24, 0.6))

-- menu change logi
Render.CircleFilled(Vector2.new(menuPos.x +679, 119.0+menuPos.y), 20, 30, Color.new(0.06, 0.06,0.06, 1.0))
Render.CircleFilled(Vector2.new(820.0+menuPos.x, 119.0+menuPos.y), 20, 30, Color.new(0.06, 0.06,0.06, 1.0))
Render.CircleFilled(Vector2.new(820.0+menuPos.x, 561.0+menuPos.y), 20, 30, Color.new(0.06, 0.06,0.06, 1.0))
Render.CircleFilled(Vector2.new(679.0+menuPos.x, 561.0+menuPos.y), 20, 30, Color.new(0.06, 0.06,0.06, 1.0))

Render.Box(Vector2.new(menuPos.x +659, 118.0+menuPos.y), Vector2.new(menuPos.x+662, 562.0+menuPos.y), Color.new(0.24, 0.24, 0.24, 0.6))
Render.Box(Vector2.new(menuPos.x+ 679, 98.0+menuPos.y), Vector2.new(menuPos.x+812, 110.0+menuPos.y), Color.new(0.24, 0.24, 0.24, 0.6))
Render.Box(Vector2.new(menuPos.x +821, 118.0+menuPos.y), Vector2.new(menuPos.x+841, 562.0+menuPos.y), Color.new(0.24, 0.24, 0.24, 0.6))
Render.Box(Vector2.new(menuPos.x+ 679, 500.0+menuPos.y), Vector2.new(menuPos.x+817, 582.0+menuPos.y), Color.new(0.24, 0.24, 0.24, 0.6))
Render.BoxFilled(Vector2.new(menuPos.x+660, 118.0+menuPos.y), Vector2.new(840.0+menuPos.x, 562.0+menuPos.y), Color.new(0.06, 0.06,0.06, 1.0))
Render.BoxFilled(Vector2.new(menuPos.x+674, 99.0+menuPos.y), Vector2.new(817.0+menuPos.x, 562.0+menuPos.y), Color.new(0.06, 0.06,0.06, 1.0))
Render.BoxFilled(Vector2.new(menuPos.x+674, 99.0+menuPos.y), Vector2.new(817.0+menuPos.x, 581.0+menuPos.y), Color.new(0.06, 0.06,0.06, 1.0))

Render.Circle(Vector2.new(menuPos.x +679, 118.0+menuPos.y), 20, 30, Color.new(0.24, 0.24, 0.24, 0.6), 1, 180 , 270)
Render.Circle(Vector2.new(820.0+menuPos.x, 118.0+menuPos.y), 20, 30, Color.new(0.24, 0.24, 0.24, 0.6), 1, 270 , 360)
Render.Circle(Vector2.new(820.0+menuPos.x, 562.0+menuPos.y), 20, 30, Color.new(0.24, 0.24, 0.24, 0.6), 1, 0 , 90)
Render.Circle(Vector2.new(679.0+menuPos.x, 562.0+menuPos.y), 20, 30, Color.new(0.24, 0.24, 0.24, 0.6), 1, 90 , 180)

-- menu watermark
Render.Box(Vector2.new(menuPos.x+658, 38+menuPos.y), Vector2.new(842.0+menuPos.x, 73.0+menuPos.y), Color.new(0.24, 0.24, 0.24, 0.6))
Render.Box(Vector2.new(menuPos.x+674, 18+menuPos.y), Vector2.new(828.0+menuPos.x, 92.0+menuPos.y), Color.new(0.24, 0.24, 0.24, 0.6))
Render.CircleFilled(Vector2.new(menuPos.x +679, 39.0+menuPos.y), 20, 30, Color.new(0.06, 0.06,0.06, 1.0))
Render.CircleFilled(Vector2.new(821.0+menuPos.x, 39.0+menuPos.y), 20, 30, Color.new(0.06, 0.06,0.06, 1.0))
Render.CircleFilled(Vector2.new(821.0+menuPos.x, 71.0+menuPos.y), 20, 30, Color.new(0.06, 0.06,0.06, 1.0))
Render.CircleFilled(Vector2.new(679.0+menuPos.x, 71.0+menuPos.y), 20, 30, Color.new(0.06, 0.06,0.06, 1.0))


Render.BoxFilled(Vector2.new(menuPos.x+679, 19+menuPos.y), Vector2.new(821.0+menuPos.x, 91.0+menuPos.y), Color.new(0.06, 0.06,0.06, 1.0))
Render.BoxFilled(Vector2.new(menuPos.x+659, 40+menuPos.y), Vector2.new(841.0+menuPos.x, 71.0+menuPos.y), Color.new(0.06, 0.06,0.06, 1.0))


Render.Circle(Vector2.new(menuPos.x +678, 38.0+menuPos.y), 20, 30, Color.new(0.24, 0.24, 0.24, 0.6), 1, 180 , 270)
Render.Circle(Vector2.new(822.0+menuPos.x, 38.0+menuPos.y), 20, 30, Color.new(0.24, 0.24, 0.24, 0.6), 1, 270 , 360)
Render.Circle(Vector2.new(822.0+menuPos.x, 72.0+menuPos.y), 20, 30, Color.new(0.24, 0.24, 0.24, 0.6), 1, 0 , 90)
Render.Circle(Vector2.new(678.0+menuPos.x, 72.0+menuPos.y), 20, 30, Color.new(0.24, 0.24, 0.24, 0.6), 1, 90 , 180)

local local_time = ffi.new("SYSTEMTIME")
ffi.C.GetLocalTime(local_time)
time = "  " .. string.format('%02d:%02d:%02d', local_time.wHour, local_time.wMinute, local_time.wSecond)
local fps = get_abs_fps()

Render.Image(user, Vector2.new(menuPos.x+670, menuPos.y+30), Vector2.new(40, 40))  
Render.Image(tło, Vector2.new(menuPos.x+11, menuPos.y+116), Vector2.new(123, 448))  
Render.Image(napisfajnypsjebaccygana, Vector2.new(menuPos.x-35 , menuPos.y-3), Vector2.new(165, 120))  
Render.Text(""..Cheat.GetCheatUserName().. "", Vector2.new(menuPos.x+713, menuPos.y+42), Color.new(1.0, 1.0, 1.0, 1.0), 17)
Render.Text("KingYaw v1 for", Vector2.new(menuPos.x+46, menuPos.y+78), Color.new(1.0, 1.0, 1.0, 1.0), 11)
Render.Text("Neverlose.cc", Vector2.new(menuPos.x+140, menuPos.y+78), Color.new(0.0, 0.5, 0.9, 1.0), 11)

Render.Text("Time:", Vector2.new(menuPos.x+72, menuPos.y+68), Color.new(0.0, 0.5, 0.9, 1.0), 11)
Render.Text(time, Vector2.new(menuPos.x+92, menuPos.y+68), Color.new(1, 1, 1, 1.0), 11)


usernamee = Cheat.GetCheatUserName()
if usernamee == "DesseOwO" or usernamee == "Cyguss" or usernamee == "Pawlak" then
    versionse = "DEBUG"
elseif usernamee == "ZeR0_g2a123" or usernamee == "LIerrttt" then
    versionse = "For big namer lel"
else
    versionse = "BETA RELEASE"
end

Render.Text("Ver: ", Vector2.new(menuPos.x+72, menuPos.y+58), Color.new(1, 1, 1, 1.0), 11)
Render.Text(versionse, Vector2.new(menuPos.x+92, menuPos.y+58), Color.new(0.0, 0.5, 0.9, 1.0), 11)


Render.Text("PING:", Vector2.new(menuPos.x+671, menuPos.y+70), Color.new(1, 1, 1, 1), 16)
Render.Text(get_latency(), Vector2.new(menuPos.x+709, menuPos.y+70), Color.new(0.0, 0.5, 0.9, 1.0), 16)
Render.Text("FPS:", Vector2.new(menuPos.x+735, menuPos.y+70), Color.new(1, 1, 1, 1), 16)
Render.Text(""..fps.."", Vector2.new(menuPos.x+765, menuPos.y+70), Color.new(0.0, 0.5, 0.9, 1.0), 16)
local addytwojamama = 0
if addTab("Rage",menuPos.x+50, menuPos.y+140, 1) then
    addChild("Main", 150, 115, 240, 200)
    addChild("Other", 150, 325, 240, 240)
    addChild("Dormant Aimbot", 400, 115, 240, 140)
    addChild("DoubleTap speed", 400, 265, 240, 140)
    addChild("Better Autowall", 400, 415, 240, 150)
    addcheckbind(menuPos.x+360,menuPos.y +130,"Roll AA resolver",6, 6, 6, 6, 6, 6, 6, 6,27,0,0)
    checkbox("Fast aimbot", menuPos.x+160,menuPos.y + 25,"", 32,0,0)
    checkbox("Better aimbot", menuPos.x+160,menuPos.y + 50,"Better ragebot logic", 40,0,0)
    checkbox("Auto HP/2", menuPos.x+160,menuPos.y + -15,"", 28,0,0)
    widgetPos = Vector.new(menuPos.x-350, menuPos.y, 0)
    local lp = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
    widgetPos = Vector.new(menuPos.x+ 250, menuPos.y, 0)
    addSlider("Resolver min dmg", menuPos.y + 140, 1, 120, 20, 0, 0)
    addSlider("Resolver chance", menuPos.y + 160, 1, 100, 22, 0, 0)
    addSlider("HP/2 min dmg", menuPos.y + 200, 1, 120, 21, 0, 0)
    checkbox("Custom hitchance", menuPos.x+160,menuPos.y + 135,"Better hitchances on condictions", 31,0,0)
    if boolVars[31] == true then
    addytwojamama = addytwojamama + 80
    addSlider("Jumpscout hc", menuPos.y + 350, 1, 100, 25, 0, 0)
    addSlider("Noscope hc", menuPos.y + 370, 1, 100, 26, 0, 0)
    addSlider("Scout hc", menuPos.y + 390, 1, 100, 27, 0, 0)
    addSlider("Scope hc", menuPos.y + 410, 1, 100, 28, 0, 0)
    end
    widgetPos = Vector.new(menuPos.x+250, menuPos.y, 0)
    addCombo("Target select", menuPos.y + 270, {"None", "HP -", "Highest hp", "Closest"}, 4, 48, 0, 0)
    addMultiCombo("Automatic dmg", widgetPos.y + 400+addytwojamama, {"Auto", "Awp", "Scout", "Revolver"}, 4, 44, 0, 0, 0)
    widgetPos = Vector.new(menuPos.x+ 250, menuPos.y, 0)
    checkbox("Safety after misses", menuPos.x+160,menuPos.y + 160+addytwojamama,"", 36,0,0)
    addSlider("Safety after x misses", menuPos.y + 375+addytwojamama, 0, 10, 29, 0, 0)
    widgetPos = Vector.new(menuPos.x+ 500, menuPos.y, 0)
    checkbox("Enable", menuPos.x+410,menuPos.y + 225,"Better autowall scanning", 8,0,0)
    local add_y = addMultiCombo("Select Weapons", widgetPos.y + 450, {"Auto", "Awp", "Scout", "Revolver"}, 4, 9, 0, 0, 0)
    if add_y < 30 then
    addCombo("Select Support", menuPos.y + 480, {"Full scan", "Base hp", "Advanced"}, 3, 6, 0, 0)
    end
    addcheckbind(menuPos.x+610,menuPos.y+130,"Dormant Aimbot",2, 2, 2, 2, 2, 2, 2, 2,4,0,0)
    addSlider("Aimbot min dmg", menuPos.y +175, 1, 100, 9, 0, 0)
    checkbox("Avoid when data is old", menuPos.x+410,menuPos.y-45,"Disables when data is too old", 11,0,0)
    checkbox("Change DoubleTap speed", menuPos.x+410,menuPos.y + 80,"Change DoubleTap tick", 1,0,0)
    widgetPos = Vector.new(menuPos.x+ 500, menuPos.y, 0)
    if boolVars[1] == true then
        addSlider("DoubleTap ticks", menuPos.y + 300, 4, 16, 1, 0, 0)
        checkbox("DoubleTap better accurate", menuPos.x+410,menuPos.y+130,"DoubleTap more accurate", 12,0,0)
        checkbox("Ideal tick", menuPos.x+410,menuPos.y+155,"Extends ticks to maximum speed", 25,0,0)
        if boolVars[25] == true then
        checkbox("On autopeek", menuPos.x+410,menuPos.y+180,"Extended ticks on autopeek", 26,0,0)
        end
    end
    widgetPos = Vector.new(menuPos.x+ 250, menuPos.y, 0)
end
if addTab("Anti-Aim",menuPos.x+36.5, menuPos.y+205, 2) then
    if addTab2("Main",menuPos.x+155, menuPos.y+40, 1) then
    addChild("Custom AA/Presets", 150, 115, 240, 250)
    addChild("Fakelag", 150, 375, 240, 100)
    if intVars[18] == 6 then
    addChild("Manual", 400, 235, 240, 95)
    addChild("Misc", 400, 510, 240, 55)
    addChild("Extended desync", 400, 340, 240, 160)
    addChild("Custom AA", 400, 115, 240, 110)
    else
    addChild("Presets add", 400, 115, 240, 110)
    addChild("Manual", 400, 235, 240, 95)
    addChild("Misc", 400, 510, 240, 55)
    addChild("Extended desync", 400, 340, 240, 160)
    end
    addChild("Hide shots", 150, 485, 240, 80)
    widgetPos = Vector.new(menuPos.x+ 250, menuPos.y, 0)
    local add_y = add_y + addCombo("Presets", menuPos.y + 130, {"None", "Safe Head", "Dynamic", "Tank AA", "Experimental", "Custom", "Champion yaw"},7, 18, 0, 0)
    if add_y < 30 and intVars[18] == 6 then
        add_y = add_y + addCombo("Player State", menuPos.y + 160, {"Stand", "SlowWalk", "Run", "In Air", "Crouch", "Peek"}, 6, 99, 0, 0)
    end
   
    if intVars[18] == 6 then
        if add_y < 140 then
            add_y = add_y + addCombo("Pitch", menuPos.y + 190, {"Disable", "Down", "Fake Down", "Fake Up"}, 4, 19, movementSelect, 1)
        end
        if add_y < 140 then
            add_y = add_y +  addCombo("Yaw Base", menuPos.y + 220, {"Forward", "Backward", "Right", "Left", "At Target", "Freestanding"}, 6, 19, movementSelect, 2)
        end
        if add_y < 140 then
            addSlider("Yaw Add", menuPos.y + 240, -180, 180, 19, movementSelect, 3)
        end
        if add_y < 140 then
            addCombo("Yaw Modifier", menuPos.y + 270, {"Disable", "Center", "Offset", "Random", "Spin"}, 5, 19, movementSelect, 4)
        end
        if add_y < 150 then
            addSlider("Modifier Degree", menuPos.y + 290, -180, 180, 19, movementSelect, 5)
        end
        if add_y < 180 then
            addSlider("Left Limit", menuPos.y + 310, 0, 60, 19, movementSelect, 6)
        end
        if add_y < 180 then
            addSlider("Right Limit", menuPos.y + 330, 0, 60, 19, movementSelect, 7)
        end
        widgetPos = Vector.new(menuPos.x+ 500, menuPos.y, 0)
        local add_y = 0
        add_y = add_y +  addCombo("LBY Mode", menuPos.y +130, {"Disable", "Opposite", "Sway"}, 3, 19, movementSelect, 8)
        if add_y < 30 then
            add_y = add_y + addCombo("Freestand Desync", menuPos.y + 160, {"Off", "Peek Fake", "Peek Real",}, 3, 19, movementSelect, 9)
        end
        if add_y < 80 then
            addCombo("Desync On Shot", menuPos.y + 190, {"Disable", "Opposite", "Freestanding", "Switch"}, 4, 19, movementSelect, 10)
        end
        widgetPos = Vector.new(menuPos.x+ 250, menuPos.y, 0)
    end
    local addymilion = 0
    if intVars[18] == 7 then
    checkbox("Stimulate jitter", menuPos.x+410,menuPos.y - 75,"Stimulated jitter", 37,0,0)
    end
    checkbox("Exploitize on hide shots", menuPos.x+160,menuPos.y + 185 ,"HS exploit", 5,0,0)
    if boolVars[5] == true then
    addSlider("Decrease", menuPos.y + 400, 0, 1000, 4, 0, 0)
    addymilion = 20
    end
    addCombo("Fakelag type", menuPos.y + 410 + addymilion, {"None", "Fluacate", "Step", "Break lagcomp"}, 4, 24, 0, 0)
    widgetPos = Vector.new(menuPos.x+ 500, menuPos.y, 0)
    addcheckbind(menuPos.x+610,menuPos.y+245,"Left AA",3, 3, 3, 3, 3, 3, 3, 3,21,0,0)
    addcheckbind(menuPos.x+610,menuPos.y+270,"Right AA",4, 4, 4, 4, 4, 4, 4, 4,22,0,0)
    addcheckbind(menuPos.x+610,menuPos.y+295,"Back AA",5, 5, 5, 5, 5, 5, 5, 5,23,0,0)
    local add_y = addCombo("Roll aa type", menuPos.y + 375, {"Static", "Dynamic", "Jitter"}, 3, 14, 0, 0)
    if add_y < 30 then
        add_y = addMultiCombo("Condictions", widgetPos.y + 405, {"Stand", "Slowwalk", "Air", "Move"}, 4, 17, 0, 0, 0)
    end
    if intVars[14] == 3 then
        if add_y < 30 then
            addSlider("Roll 1", menuPos.y +430, -360, 360, 12, 0, 0)
        end
        if add_y < 100 then
            addSlider("Roll 2", menuPos.y +450, -360, 360, 13, 0, 0)
        end
    end
    if intVars[14] == 2 then
        if add_y < 30 then
            addSlider("Roll min", menuPos.y +430, -360, 360, 15, 0, 0)
        end
        if add_y < 100 then
            addSlider("Roll max", menuPos.y +450, -360, 360, 16, 0, 0)
            addSlider("Roll speed", menuPos.y +470, 1, 5, 17, 0, 0)
        end
    end
    if intVars[14] == 1 and add_y < 30 then
    addSlider("Roll", menuPos.y +430, 1, 360, 11, 0, 0)
    end
    checkbox("Enable", menuPos.x+410,menuPos.y + 150,"Enables roll aa", 16,0,0)
    checkbox("Avoid backstab", menuPos.x+410,menuPos.y + 315,"Anti backstab", 30,0,0)
    if boolVars[30] == true then
    addSlider("Distance min", menuPos.y +535, 50, 1000, 43, 0, 0)
    end
    checkbox("Teleport on shot", menuPos.x+160,menuPos.y + 295,"HS exploit", 6,0,0)
    widgetPos = Vector.new(menuPos.x+ 250, menuPos.y, 0)
    if boolVars[6] == true then
    addSlider("Teleport time", menuPos.y +510, 1, 100, 5, 0, 0)
    checkbox("On autopeek", menuPos.x+160,menuPos.y + 335,"Teleport on exploit", 7,0,0)
    end
end
   if addTab2("Other",menuPos.x+215, menuPos.y+40, 2) then
        addChild("Main", 150, 115, 240, 260)
        addChild("Misc", 150, 385, 240, 180)
        addChild("Others", 400, 115, 240, 150)
        checkbox("Yaw flick", menuPos.x+410,menuPos.y - 75,"Flicks yaw", 38,0,0)
        checkbox("Antibrute", menuPos.x+160,menuPos.y - 75,"Switches after enemy shot", 29,0,0)
        checkbox("Slow walk speed", menuPos.x+160,menuPos.y +190,"Customizable slow walk", 39,0,0)
        if boolVars[39] == true then
        checkbox("Auto teleport", menuPos.x+160,menuPos.y +235,"Teleportation in air", 45,0,0)
        checkbox("Stabilize ticks", menuPos.x+160,menuPos.y +260,"Tick stabilization from commands", 47,0,0)
        if boolVars[47] == true then
        widgetPos = Vector.new(menuPos.x+250, menuPos.y, 0)
        addSlider("Ping for ticks", menuPos.y +475, 0, 60, 50, 0, 0)
        end
        else
        checkbox("Auto teleport", menuPos.x+160,menuPos.y +215,"Teleportation in air", 45,0,0)
        checkbox("Stabilize ticks", menuPos.x+160,menuPos.y +240,"Tick stabilization from commands", 47,0,0)
        if boolVars[47] == true then
        widgetPos = Vector.new(menuPos.x+250, menuPos.y, 0)
        addSlider("Ping for ticks", menuPos.y +455, 0, 60, 50, 0, 0)
        end
        end
        if boolVars[29] == true then
        widgetPos = Vector.new(menuPos.x-350, menuPos.y, 0)
        addbutton("               Add Way",menuPos.y - 65,9)
        if buttonVars[9] == true then
        intVars[34] = intVars[34] + 1
        end
        addbutton("            Remove Way",menuPos.y - 100,10)
        if buttonVars[10] == true then
        intVars[34] = intVars[34] - 1
        end
        end
        if intVars[34] >= 8 then
        intVars[34] = 8
        end
        if intVars[34] <= 0 then
        intVars[34] = 0
        end
        widgetPos = Vector.new(menuPos.x+250, menuPos.y, 0)
        if boolVars[29] == true then
        if intVars[34] >= 1 then
        addSlider("Phase #1", menuPos.y +205, -60, 60, 35, 0, 0)
        end
        if intVars[34] >= 2 then
        addSlider("Phase #2", menuPos.y +225, -60, 60, 36, 0, 0)
        end
        if intVars[34] >= 3 then
        addSlider("Phase #3", menuPos.y +245, -60, 60, 37, 0, 0)
        end
        if intVars[34] >= 4 then
        addSlider("Phase #4", menuPos.y +265, -60, 60, 38, 0, 0)
        end
        if intVars[34] >= 5 then
        addSlider("Phase #5", menuPos.y +285, -60, 60, 39, 0, 0)
        end
        if intVars[34] >= 6 then
        addSlider("Phase #6", menuPos.y +305, -60, 60, 40, 0, 0)
        end
        if intVars[34] >= 7 then
        addSlider("Phase #7", menuPos.y +325, -60, 60, 41, 0, 0)
        end
        if intVars[34] >= 8 then
        addSlider("Phase #8", menuPos.y +345, -60, 60, 42, 0, 0)
        end
        end
        if boolVars[39] == true then
        addSlider("Speed", menuPos.y +405, 0, 200, 44, 0, 0)
        end
        if boolVars [38] == true then
        widgetPos = Vector.new(menuPos.x+ 500, menuPos.y, 0)
        addSlider("Yaw lock", menuPos.y +145, 0, 180, 30, 0, 0)
        addSlider("Time to flick", menuPos.y +165, 0, 100, 31, 0, 0)
        addSlider("Stay in flick", menuPos.y +185, 0, 100, 32, 0, 0)
        addSlider("Velocity max", menuPos.y +205, 0, 100, 33, 0, 0)
        addMultiCombo("Antibrute conds", widgetPos.y + 235, {"Shot", "Enemy shot", "Damage taken"}, 3, 46, 0, 0, 0)
        else
        widgetPos = Vector.new(menuPos.x+ 500, menuPos.y, 0)
        addMultiCombo("Antibrute conds", widgetPos.y + 145, {"Shot", "Enemy shot", "Damage taken"}, 3, 46, 0, 0, 0)
        end
   end
end

if addTab("Visuals",menuPos.x+43, menuPos.y+270, 3) then
    addChild("Main", 150, 115, 240, 200)
    addChild("Others", 150, 325, 240, 240)
    addChild("Indicators", 400, 115, 240, 450)
    checkbox("Minumum Damage indicator", menuPos.x+410,menuPos.y-70,"show your damage near crosshair", 14,0,0)
    widgetPos = Vector.new(menuPos.x+ 500, menuPos.y, 0)
    local add_y = addCombo("Watermark", menuPos.y + 155, {"None", "Static", "Gradient"}, 3, 10, 0, 0)
    widgetPos = Vector.new(menuPos.x+ 250, menuPos.y, 0)
    checkbox("Viewmodel in scope", menuPos.x+160,menuPos.y+140,"show your viewmodel when scope", 13,0,0)
    checkbox("Accurate aspect", menuPos.x+410,menuPos.y - 35 +add_y,"Better aspect ratio", 10,0,0)
    widgetPos = Vector.new(menuPos.x+ 500, menuPos.y, 0)
    local gufno = 0
    if boolVars[10] == true then
        gufno = 20
    addSlider("Ratio", menuPos.y +180 + add_y, 1, 5000, 7, 0, 0)
    end
    checkbox("Arrows", menuPos.x+410,menuPos.y - 10 +add_y+gufno,"Manual Anti-Aim Arrows", 15,0,0)
    checkbox("Indicators", menuPos.x+410,menuPos.y + 15 +add_y+gufno,"Indicators", 41,0,0)
    checkbox("Notifications", menuPos.x+410,menuPos.y + 40 +add_y+gufno,"Indicators", 42,0,0)
    checkbox("Holo panel", menuPos.x+410,menuPos.y + 65 +add_y+gufno,"Indicators", 43,0,0)
    addSlider("Holo add x", menuPos.y +285 + add_y+gufno, 1, EngineClient.GetScreenSize().x / 5, 46, 0, 0)
    addSlider("Holo add y", menuPos.y +305 + add_y+gufno, 1, EngineClient.GetScreenSize().y, 47, 0, 0)
    colorpicker(menuPos.x + 170, menuPos.y + 175,"Visuals color",colorpikerr,1, 0, 0, 1, 1, 1, 1)
    colorpicker(menuPos.x + 170, menuPos.y + 200,"Indicators color",colorpikerr,2, 0, 0, 2, 2, 2, 2)
   
end
czerwont = kolorekVars[1]
zielony = kolorek1Vars[1]
niebieski = kolorek2Vars[1]
alfaxd = kolorek3Vars[1]

indicatoraccent = Color.RGBA(czerwont, zielony, niebieski, alfaxd)

czerwont1 = kolorekVars[2]
zielony1 = kolorek1Vars[2]
niebieski1 = kolorek2Vars[2]
alfaxd1 = kolorek3Vars[2]
visualsakcentlel =  Color.RGBA(czerwont1, zielony1, niebieski1, alfaxd1)

if addTab("Misc",menuPos.x+52, menuPos.y+335, 4) then
    addChild("Main", 150, 115, 240, 200)
    checkbox("Legbreaker", menuPos.x+160,menuPos.y-70,"Breake Legs Animation", 20,0,0)
    checkbox("Pitch 0 On land", menuPos.x+160,menuPos.y-45,"Set Pitch 0 When Land", 18,0,0)
    checkbox("Clantag", menuPos.x+160,menuPos.y-20,"Champion Tag", 19,0,0)
    checkbox("Quick peek", menuPos.x+160,menuPos.y+5,"Instant retreat", 24,0,0)
    checkbox("Legit AA fixes", menuPos.x+160,menuPos.y + 30 ,"Legit aa", 34,0,0)
    checkbox("Legit AA at targeting", menuPos.x+160,menuPos.y + 55 ,"Legit aa at targeting", 33,0,0)
    addcheckbind(menuPos.x+360,menuPos.y + 280, "Edge yaw",7, 7, 7, 7, 7, 7, 7, 7,35,0,0)
end

if addTab("Config",menuPos.x+45, menuPos.y+400, 5) then
    addChild("Config", 150, 115, 240, 80)
    widgetPos = Vector.new(menuPos.x- 305, menuPos.y, 0)
    addbutton("                 Load",menuPos.y - 115,1)
    addbutton("                 Save",menuPos.y - 85,2)
    addChild("Exporting", 400, 115, 240, 80)
    widgetPos = Vector.new(menuPos.x- 55, menuPos.y, 0)
    addbutton("      Export to clipboard",menuPos.y - 115,5)
    addbutton("   Import from clipboard",menuPos.y - 85,6)
end
widgetPos = Vector.new(menuPos.x- 2, menuPos.y-25, 0)
addbutton("                Discord",menuPos.y - 187,4)
addbutton("                 Save",menuPos.y - 215,8)
if buttonVars[4] == true then
    Panorama.Open().SteamOverlayAPI.OpenURL("https://discord.gg/XRqPSwZB")
end

Render.Text("Last Update: 26/2/2022", Vector2.new(menuPos.x+15, menuPos.y+545), Color.new(1, 1, 1, 1.0), 12)
Render.Text("Update logs[3.3.5]", Vector2.new(menuPos.x+675, menuPos.y+105), Color.new(1.0, 1.0, 1.0, 1.0), 19)
Render.GradientBoxFilled(Vector2.new(menuPos.x + 660, menuPos.y+130), Vector2.new(menuPos.x + 745, menuPos.y + 131), Color.new(0, 0, 0, 0), Color.new(0.0, 0.5, 0.9, 1.0), Color.new(0, 0, 0, 0), Color.new(0.0, 0.5, 0.9, 1.0))
Render.GradientBoxFilled(Vector2.new(menuPos.x + 745, menuPos.y+130), Vector2.new(menuPos.x + 830, menuPos.y + 131), Color.new(0.0, 0.5, 0.9, 1.0), Color.new(0, 0, 0, 0), Color.new(0.0, 0.5, 0.9, 1.0), Color.new(0, 0, 0, 0))
Render.Text("-Fixes", Vector2.new(menuPos.x+670, menuPos.y+145), Color.new(1.0, 1.0, 1.0, 1.0), 16)
Render.Text("-Full scan improvements", Vector2.new(menuPos.x+670, menuPos.y+165), Color.new(1.0, 1.0, 1.0, 1.0), 16)
Render.Text("-Stabilize fakelag", Vector2.new(menuPos.x+670, menuPos.y+185), Color.new(1.0, 1.0, 1.0, 1.0), 16)
Render.Text("-Fakelag for stabilize", Vector2.new(menuPos.x+670, menuPos.y+205), Color.new(1.0, 1.0, 1.0, 1.0), 16)
Render.Text("-Indicators change", Vector2.new(menuPos.x+670, menuPos.y+225), Color.new(1.0, 1.0, 1.0, 1.0), 16)
Render.Text("-Antibrute conds", Vector2.new(menuPos.x+670, menuPos.y+245), Color.new(1.0, 1.0, 1.0, 1.0), 16)
if Cheat.IsKeyDown(0x1) and not dragingMenu and holdingWidget == 0 and holdingTab == 0 then
    if mousePos.x >= menuPos.x and mousePos.x <= menuPos.x + 650 and mousePos.y >= menuPos.y + 100 and mousePos.y <= menuPos.y + 120 or mousePos.x >= menuPos.x and mousePos.x <= menuPos.x + 840 and mousePos.y >= menuPos.y + 15 and mousePos.y <= menuPos.y + 100  then
        dragingMenu = true
        menuDiff.x = mousePos.x - menuPos.x
        menuDiff.y = mousePos.y - menuPos.y
        if activeCombo ~= 0 then
            activeCombo = 0
        end
    end
elseif not Cheat.IsKeyDown(0x1) and dragingMenu then
    dragingMenu = false
end
end



local json = { _version = "0.1.2" }

-------------------------------------------------------------------------------
-- Encode
-------------------------------------------------------------------------------

local encode

local escape_char_map = {
  [ "\\" ] = "\\",
  [ "\"" ] = "\"",
  [ "\b" ] = "b",
  [ "\f" ] = "f",
  [ "\n" ] = "n",
  [ "\r" ] = "r",
  [ "\t" ] = "t",
}

local escape_char_map_inv = { [ "/" ] = "/" }
for k, v in pairs(escape_char_map) do
  escape_char_map_inv[v] = k
end


local function escape_char(c)
  return "\\" .. (escape_char_map[c] or string.format("u%04x", c:byte()))
end


local function encode_nil(val)
  return "null"
end


local function encode_table(val, stack)
  local res = {}
  stack = stack or {}

  -- Circular reference?
  if stack[val] then error("circular reference") end

  stack[val] = true

  if rawget(val, 1) ~= nil or next(val) == nil then
    -- Treat as array -- check keys are valid and it is not sparse
    local n = 0
    for k in pairs(val) do
      if type(k) ~= "number" then
        error("invalid table: mixed or invalid key types")
      end
      n = n + 1
    end
    if n ~= #val then
      error("invalid table: sparse array")
    end
    -- Encode
    for i, v in ipairs(val) do
      table.insert(res, encode(v, stack))
    end
    stack[val] = nil
    return "[" .. table.concat(res, ",") .. "]"

  else
    -- Treat as an object
    for k, v in pairs(val) do
      if type(k) ~= "string" then
        error("invalid table: mixed or invalid key types")
      end
      table.insert(res, encode(k, stack) .. ":" .. encode(v, stack))
    end
    stack[val] = nil
    return "{" .. table.concat(res, ",") .. "}"
  end
end


local function encode_string(val)
  return '"' .. val:gsub('[%z\1-\31\\"]', escape_char) .. '"'
end


local function encode_number(val)
  -- Check for NaN, -inf and inf
  if val ~= val or val <= -math.huge or val >= math.huge then
    error("unexpected number value '" .. tostring(val) .. "'")
  end
  return string.format("%.14g", val)
end


local type_func_map = {
  [ "nil"     ] = encode_nil,
  [ "table"   ] = encode_table,
  [ "string"  ] = encode_string,
  [ "number"  ] = encode_number,
  [ "boolean" ] = tostring,
}


encode = function(val, stack)
  local t = type(val)
  local f = type_func_map[t]
  if f then
    return f(val, stack)
  end
  error("unexpected type '" .. t .. "'")
end


function json.encode(val)
  return ( encode(val) )
end


-------------------------------------------------------------------------------
-- Decode
-------------------------------------------------------------------------------

local parse

local function create_set(...)
  local res = {}
  for i = 1, select("#", ...) do
    res[ select(i, ...) ] = true
  end
  return res
end

local space_chars   = create_set(" ", "\t", "\r", "\n")
local delim_chars   = create_set(" ", "\t", "\r", "\n", "]", "}", ",")
local escape_chars  = create_set("\\", "/", '"', "b", "f", "n", "r", "t", "u")
local literals      = create_set("true", "false", "null")

local literal_map = {
  [ "true"  ] = true,
  [ "false" ] = false,
  [ "null"  ] = nil,
}


local function next_char(str, idx, set, negate)
  for i = idx, #str do
    if set[str:sub(i, i)] ~= negate then
      return i
    end
  end
  return #str + 1
end


local function decode_error(str, idx, msg)
  local line_count = 1
  local col_count = 1
  for i = 1, idx - 1 do
    col_count = col_count + 1
    if str:sub(i, i) == "\n" then
      line_count = line_count + 1
      col_count = 1
    end
  end
  error( string.format("%s at line %d col %d", msg, line_count, col_count) )
end


local function codepoint_to_utf8(n)
  -- http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=iws-appendixa
  local f = math.floor
  if n <= 0x7f then
    return string.char(n)
  elseif n <= 0x7ff then
    return string.char(f(n / 64) + 192, n % 64 + 128)
  elseif n <= 0xffff then
    return string.char(f(n / 4096) + 224, f(n % 4096 / 64) + 128, n % 64 + 128)
  elseif n <= 0x10ffff then
    return string.char(f(n / 262144) + 240, f(n % 262144 / 4096) + 128,
                       f(n % 4096 / 64) + 128, n % 64 + 128)
  end
  error( string.format("invalid unicode codepoint '%x'", n) )
end


local function parse_unicode_escape(s)
  local n1 = tonumber( s:sub(1, 4),  16 )
  local n2 = tonumber( s:sub(7, 10), 16 )
   -- Surrogate pair?
  if n2 then
    return codepoint_to_utf8((n1 - 0xd800) * 0x400 + (n2 - 0xdc00) + 0x10000)
  else
    return codepoint_to_utf8(n1)
  end
end


local function parse_string(str, i)
  local res = ""
  local j = i + 1
  local k = j

  while j <= #str do
    local x = str:byte(j)

    if x < 32 then
      decode_error(str, j, "control character in string")

    elseif x == 92 then -- `\`: Escape
      res = res .. str:sub(k, j - 1)
      j = j + 1
      local c = str:sub(j, j)
      if c == "u" then
        local hex = str:match("^[dD][89aAbB]%x%x\\u%x%x%x%x", j + 1)
                 or str:match("^%x%x%x%x", j + 1)
                 or decode_error(str, j - 1, "invalid unicode escape in string")
        res = res .. parse_unicode_escape(hex)
        j = j + #hex
      else
        if not escape_chars[c] then
          decode_error(str, j - 1, "invalid escape char '" .. c .. "' in string")
        end
        res = res .. escape_char_map_inv[c]
      end
      k = j + 1

    elseif x == 34 then -- `"`: End of string
      res = res .. str:sub(k, j - 1)
      return res, j + 1
    end

    j = j + 1
  end

  decode_error(str, i, "expected closing quote for string")
end


local function parse_number(str, i)
  local x = next_char(str, i, delim_chars)
  local s = str:sub(i, x - 1)
  local n = tonumber(s)
  if not n then
    decode_error(str, i, "invalid number '" .. s .. "'")
  end
  return n, x
end


local function parse_literal(str, i)
  local x = next_char(str, i, delim_chars)
  local word = str:sub(i, x - 1)
  if not literals[word] then
    decode_error(str, i, "invalid literal '" .. word .. "'")
  end
  return literal_map[word], x
end


local function parse_array(str, i)
  local res = {}
  local n = 1
  i = i + 1
  while 1 do
    local x
    i = next_char(str, i, space_chars, true)
    -- Empty / end of array?
    if str:sub(i, i) == "]" then
      i = i + 1
      break
    end
    -- Read token
    x, i = parse(str, i)
    res[n] = x
    n = n + 1
    -- Next token
    i = next_char(str, i, space_chars, true)
    local chr = str:sub(i, i)
    i = i + 1
    if chr == "]" then break end
    if chr ~= "," then decode_error(str, i, "expected ']' or ','") end
  end
  return res, i
end


local function parse_object(str, i)
  local res = {}
  i = i + 1
  while 1 do
    local key, val
    i = next_char(str, i, space_chars, true)
    -- Empty / end of object?
    if str:sub(i, i) == "}" then
      i = i + 1
      break
    end
    -- Read key
    if str:sub(i, i) ~= '"' then
      decode_error(str, i, "expected string for key")
    end
    key, i = parse(str, i)
    -- Read ':' delimiter
    i = next_char(str, i, space_chars, true)
    if str:sub(i, i) ~= ":" then
      decode_error(str, i, "expected ':' after key")
    end
    i = next_char(str, i + 1, space_chars, true)
    -- Read value
    val, i = parse(str, i)
    -- Set
    res[key] = val
    -- Next token
    i = next_char(str, i, space_chars, true)
    local chr = str:sub(i, i)
    i = i + 1
    if chr == "}" then break end
    if chr ~= "," then decode_error(str, i, "expected '}' or ','") end
  end
  return res, i
end


local char_func_map = {
  [ '"' ] = parse_string,
  [ "0" ] = parse_number,
  [ "1" ] = parse_number,
  [ "2" ] = parse_number,
  [ "3" ] = parse_number,
  [ "4" ] = parse_number,
  [ "5" ] = parse_number,
  [ "6" ] = parse_number,
  [ "7" ] = parse_number,
  [ "8" ] = parse_number,
  [ "9" ] = parse_number,
  [ "-" ] = parse_number,
  [ "t" ] = parse_literal,
  [ "f" ] = parse_literal,
  [ "n" ] = parse_literal,
  [ "[" ] = parse_array,
  [ "{" ] = parse_object,
}


parse = function(str, idx)
  local chr = str:sub(idx, idx)
  local f = char_func_map[chr]
  if f then
    return f(str, idx)
  end
  decode_error(str, idx, "unexpected character '" .. chr .. "'")
end


function json.decode(str)
  if type(str) ~= "string" then
    error("expected argument of type string, got " .. type(str))
  end
  local res, idx = parse(str, next_char(str, 1, space_chars, true))
  idx = next_char(str, idx, space_chars, true)
  if idx <= #str then
    decode_error(str, idx, "trailing garbage")
  end
return res
end

local bit = require "bit"
local M = {}

local shl, shr, band = bit.lshift, bit.rshift, bit.band
local char, byte, gsub, sub, format, concat, tostring, error, pairs =
    string.char,
    string.byte,
    string.gsub,
    string.sub,
    string.format,
    table.concat,
    tostring,
    error,
    pairs

local extract = function(v, from, width)
    return band(shr(v, from), shl(1, width) - 1)
end

local function makeencoder(alphabet)
    local encoder, decoder = {}, {}
    for i = 1, 65 do
        local chr = byte(sub(alphabet, i, i)) or 32 -- or " "
        if decoder[chr] ~= nil then
            error("invalid alphabet: duplicate character " .. tostring(chr), 3)
        end
        encoder[i - 1] = chr
        decoder[chr] = i - 1
    end
    return encoder, decoder
end

local encoders, decoders = {}, {}

encoders["base64"], decoders["base64"] = makeencoder("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=")
encoders["base64url"], decoders["base64url"] = makeencoder("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_")

local alphabet_mt = {
    __index = function(tbl, key)
        if type(key) == "string" and key:len() == 64 or key:len() == 65 then
            -- if key is a valid looking base64 alphabet, try to make an encoder/decoder pair from it
            encoders[key], decoders[key] = makeencoder(key)
            return tbl[key]
        end
    end
}

setmetatable(encoders, alphabet_mt)
setmetatable(decoders, alphabet_mt)

function M.encode(str, encoder)
    encoder = encoders[encoder or "base64"] or error("invalid alphabet specified", 2)

    str = tostring(str)

    local t, k, n = {}, 1, #str
    local lastn = n % 3
    local cache = {}

    for i = 1, n - lastn, 3 do
        local a, b, c = byte(str, i, i + 2)
        local v = a * 0x10000 + b * 0x100 + c
        local s = cache[v]

        if not s then
            s = char(encoder[extract(v, 18, 6)], encoder[extract(v, 12, 6)], encoder[extract(v, 6, 6)], encoder[extract(v, 0, 6)])
            cache[v] = s
        end

        t[k] = s
        k = k + 1
    end

    if lastn == 2 then
        local a, b = byte(str, n - 1, n)
        local v = a * 0x10000 + b * 0x100
        t[k] = char(encoder[extract(v, 18, 6)], encoder[extract(v, 12, 6)], encoder[extract(v, 6, 6)], encoder[64])
    elseif lastn == 1 then
        local v = byte(str, n) * 0x10000
        t[k] = char(encoder[extract(v, 18, 6)], encoder[extract(v, 12, 6)], encoder[64], encoder[64])
    end

    return concat(t)
end

function M.decode(b64, decoder)
    decoder = decoders[decoder or "base64"] or error("invalid alphabet specified", 2)

    local pattern = "[^%w%+%/%=]"
    if decoder then
        local s62, s63
        for charcode, b64code in pairs(decoder) do
            if b64code == 62 then
                s62 = charcode
            elseif b64code == 63 then
                s63 = charcode
            end
        end
        pattern = format("[^%%w%%%s%%%s%%=]", char(s62), char(s63))
    end

    b64 = gsub(tostring(b64), pattern, "")

    local cache = {}
    local t, k = {}, 1
    local n = #b64
    local padding = sub(b64, -2) == "==" and 2 or sub(b64, -1) == "=" and 1 or 0

    for i = 1, padding > 0 and n - 4 or n, 4 do
        local a, b, c, d = byte(b64, i, i + 3)

        local v0 = a * 0x1000000 + b * 0x10000 + c * 0x100 + d
        local s = cache[v0]
        if not s then
            local v = decoder[a] * 0x40000 + decoder[b] * 0x1000 + decoder[c] * 0x40 + decoder[d]
            s = char(extract(v, 16, 8), extract(v, 8, 8), extract(v, 0, 8))
            cache[v0] = s
        end

        t[k] = s
        k = k + 1
    end

    if padding == 1 then
        local a, b, c = byte(b64, n - 3, n - 1)
        local v = decoder[a] * 0x40000 + decoder[b] * 0x1000 + decoder[c] * 0x40
        t[k] = char(extract(v, 16, 8), extract(v, 8, 8))
    elseif padding == 2 then
        local a, b = byte(b64, n - 3, n - 2)
        local v = decoder[a] * 0x40000 + decoder[b] * 0x1000
        t[k] = char(extract(v, 16, 8))
    end
    return concat(t)
end


username = Cheat.GetCheatUserName()

local render = {
    box = function(string,y,alpha)
        local stringsize = Render.CalcTextSize(string,11,smallestfont).x
        Render.BoxFilled(Vector2.new(EngineClient.GetScreenSize().x/2-stringsize/2-6.5,EngineClient.GetScreenSize().y-150-y),Vector2.new(EngineClient.GetScreenSize().x/2+stringsize/2+6.5,EngineClient.GetScreenSize().y-120-y),Color.new(0.1, 0.1, 0.1, 1.0))
        Render.BoxFilled(Vector2.new(EngineClient.GetScreenSize().x/2-stringsize/2-6.5,EngineClient.GetScreenSize().y-151-y),Vector2.new(EngineClient.GetScreenSize().x/2+stringsize/2+6.5,EngineClient.GetScreenSize().y-150-y),Color.new(0.0, 0.5, 0.9, 1.0))
        Render.Text(string,Vector2.new(EngineClient.GetScreenSize().x/2,EngineClient.GetScreenSize().y-136-y),Color.new(1, 1, 1, 1.0),11,smallestfont,true,true)
    end
}
local function export()
    if buttonVars[5] == true then
        exportt = true      
        local jsonraw1 = '{"Ragebot":['..tostring(boolVars[1])..','..tostring(boolVars[2])..','..tostring(boolVars[4])..','..tostring(boolVars[3][1])..','..tostring(boolVars[3][2])..','..tostring(boolVars[3][3])..','
        ..tostring(intVars[1])..','..tostring(boolVars[5])..','..tostring(boolVars[6])..','..tostring(boolVars[7])..','..tostring(boolVars[8])..','..tostring(boolVars[9][1])..','..tostring(boolVars[9][2])..','..tostring(boolVars[9][3])..','
        ..tostring(boolVars[9][4])..','..tostring(boolVars[10])..','..tostring(boolVars[11])..','..tostring(boolVars[12])..','..tostring(boolVars[13])..','..tostring(boolVars[14])..','..tostring(boolVars[15])..','
        ..tostring(boolVars[16])..','..tostring(boolVars[17][1])..','..tostring(boolVars[17][2])..','..tostring(boolVars[17][3])..','..tostring(boolVars[17][4])..','
        ..tostring(intVars[2])..','..tostring(intVars[3])..','..tostring(intVars[4])..','..tostring(intVars[5])..','..tostring(intVars[6])..','..tostring(intVars[7])..','..tostring(intVars[9])..','..tostring(intVars[10])..','..tostring(intVars[11])..','..tostring(intVars[12])..','..tostring(intVars[13])..','..tostring(intVars[14])..','..tostring(intVars[15])..','..tostring(intVars[16])..','
        ..tostring(intVars[17])..','..tostring(boolVars[18])..','..tostring(boolVars[19])..','..tostring(boolVars[20])..','..tostring(intVars[19][1][1])..','..tostring(intVars[19][1][2])..','..tostring(intVars[19][1][3])..','..tostring(intVars[19][1][4])..','..tostring(intVars[19][1][5])..','..tostring(intVars[19][1][6])..','..tostring(intVars[19][1][7])..','..tostring(intVars[19][1][8])..','..tostring(intVars[19][1][9])..','
        ..tostring(intVars[19][1][10])..','..tostring(intVars[19][2][1])..','..tostring(intVars[19][2][2])..','..tostring(intVars[19][2][3])..','..tostring(intVars[19][2][4])..','..tostring(intVars[19][2][5])..','..tostring(intVars[19][2][6])..','..tostring(intVars[19][2][7])..','..tostring(intVars[19][2][8])..','..tostring(intVars[19][2][9])..','
        ..tostring(intVars[19][2][10])..','..tostring(intVars[19][3][1])..','..tostring(intVars[19][3][2])..','..tostring(intVars[19][3][3])..','..tostring(intVars[19][3][4])..','..tostring(intVars[19][3][5])..','..tostring(intVars[19][3][6])..','..tostring(intVars[19][3][7])..','..tostring(intVars[19][3][8])..','..tostring(intVars[19][3][9])..','
        ..tostring(intVars[19][3][10])..','..tostring(intVars[19][4][1])..','..tostring(intVars[19][4][2])..','..tostring(intVars[19][4][3])..','..tostring(intVars[19][4][4])..','..tostring(intVars[19][4][5])..','..tostring(intVars[19][4][6])..','..tostring(intVars[19][4][7])..','..tostring(intVars[19][4][8])..','..tostring(intVars[19][4][9])..','
        ..tostring(intVars[19][4][10])..','..tostring(intVars[19][5][1])..','..tostring(intVars[19][5][2])..','..tostring(intVars[19][5][3])..','..tostring(intVars[19][5][4])..','..tostring(intVars[19][5][5])..','..tostring(intVars[19][5][6])..','..tostring(intVars[19][5][7])..','..tostring(intVars[19][5][8])..','..tostring(intVars[19][5][9])..','
        ..tostring(intVars[19][5][10])..']'

        local jsonraw2 = ',"Antiaim":['..tostring(intVars[19][6][1])..','..tostring(intVars[19][6][2])..','
        ..tostring(intVars[19][6][3])..','..tostring(intVars[19][6][4])..','..tostring(intVars[19][6][5])..','..tostring(intVars[19][6][6])..','
        ..tostring(intVars[19][6][7])..','..tostring(intVars[19][6][8])..','..tostring(intVars[19][6][9])..','
        ..tostring(intVars[19][6][10])..','..tostring(boolVars[21])..','..tostring(boolVars[22])..','..tostring(boolVars[23])..','..tostring(boolVars[24])..','..tostring(boolVars[25])..','..tostring(boolVars[26])..','..tostring(boolVars[27])..','..tostring(boolVars[28])..','..tostring(boolVars[29])..','..tostring(boolVars[30])..','..tostring(boolVars[31])..','..tostring(boolVars[32])..','..tostring(boolVars[33])..','..tostring(boolVars[34])..','..tostring(boolVars[35])..','..tostring(boolVars[36])..','..tostring(boolVars[37])..','..tostring(boolVars[38])..', ], "Visuals":['..tostring(kolorekVars[1])..','..tostring(kolorek1Vars[1])..','..tostring(kolorek2Vars[1])..','..tostring(kolorek3Vars[1])..','..tostring(kolorekVars[2])..','..tostring(kolorek1Vars[2])..','
        ..tostring(kolorek2Vars[2])..','..tostring(kolorek3Vars[2])..','..tostring(key2Vars[1])..','..tostring(key2Vars[2])..','..tostring(key1Vars[1])..','..tostring(key1Vars[2])..','..tostring(key3Vars[1])..','..tostring(key3Vars[2])..','..tostring(key4Vars[1])..','..tostring(key4Vars[2])..'],"UserName":["'..username..'",'..tostring(intVars[18])..','..tostring(intVars[20])..','..tostring(intVars[21])..','..tostring(intVars[22])..','..tostring(intVars[24])..','..tostring(intVars[25])..','..tostring(intVars[26])..','..tostring(intVars[27])..','..tostring(intVars[28])..','..tostring(intVars[29])..','..tostring(intVars[30])..','..tostring(intVars[31])..','..tostring(intVars[32])..','..tostring(intVars[33])..','..tostring(intVars[34])..','..tostring(intVars[35])..','..tostring(intVars[36])..','..tostring(intVars[37])..','..tostring(intVars[38])..','..tostring(intVars[39])..','..tostring(intVars[40])..','..tostring(intVars[41])..','..tostring(intVars[42])..','..tostring(intVars[43])..','..tostring(intVars[44])..','..tostring(boolVars[39])..','..tostring(boolVars[40])..','..tostring(boolVars[41])..','..tostring(boolVars[42])..','..tostring(boolVars[43])..','..tostring(intVars[45])..','..tostring(intVars[46])..','..tostring(intVars[47])..','..tostring(intVars[48])..','..tostring(boolVars[44][1])..','..tostring(boolVars[44][2])..','..tostring(boolVars[44][3])..','..tostring(boolVars[44][4])..','..tostring(boolVars[45])..','..tostring(boolVars[46][1])..','..tostring(boolVars[46][2])..','..tostring(boolVars[46][3])..','..tostring(boolVars[47])..','..tostring(intVars[49])..','..tostring(intVars[50])..']}'

        local jsonraw = jsonraw1..jsonraw2
    Panorama.Open().SteamOverlayAPI.CopyTextToClipboard(M.encode(jsonraw))
    end
end

local last
local function import()
if buttonVars[6] == true then
    importt = true
    local ok1 = user32.OpenClipboard(nil)
    local handle = user32.GetClipboardData( user32.CF_TEXT )
    local size = kernel32.GlobalSize( handle )
    local mem = kernel32.GlobalLock( handle )
    local text = ffi.string( mem, size )
    local ok2 = kernel32.GlobalUnlock( handle )
    local ok3 = user32.CloseClipboard()
  if text == "" then print("ERROR") return end
    local jsonparse = json.decode(M.decode(text))
      if ((jsonparse["Ragebot"][ 1 ]) == nil or (jsonparse["Ragebot"][ 2 ]) == nil or (jsonparse["Ragebot"][ 3 ]) == nil or (jsonparse["Ragebot"][ 4 ]) == nil or (jsonparse["Ragebot"][ 5 ]) == nil or (jsonparse["Ragebot"][ 6 ]) == nil or (jsonparse["Ragebot"][ 7 ]) == nil or (jsonparse["Ragebot"][ 8 ]) == nil or (jsonparse["Ragebot"][ 9 ]) == nil or (jsonparse["Ragebot"][ 10 ]) == nil or (jsonparse["Ragebot"][ 11 ]) == nil or (jsonparse["Ragebot"][ 12 ]) == nil or (jsonparse["Ragebot"][ 13 ]) == nil or (jsonparse["Ragebot"][ 14 ]) == nil or (jsonparse["Ragebot"][ 15 ]) == nil or (jsonparse["Ragebot"][ 16 ]) == nil or (jsonparse["Ragebot"][ 17 ]) == nil or (jsonparse["Ragebot"][ 18 ]) == nil or (jsonparse["Ragebot"][ 19 ]) == nil or (jsonparse["Ragebot"][ 20 ]) == nil or (jsonparse["Ragebot"][ 21 ]) == nil or (jsonparse["Ragebot"][ 22 ]) == nil or (jsonparse["Ragebot"][ 23 ]) == nil or (jsonparse["Ragebot"][ 24 ]) == nil or (jsonparse["Ragebot"][ 25 ]) == nil or (jsonparse["Ragebot"][ 26 ]) == nil or (jsonparse["Ragebot"][ 27 ]) == nil or (jsonparse["Ragebot"][ 28 ]) == nil or (jsonparse["Ragebot"][ 29 ]) == nil or (jsonparse["Ragebot"][ 30 ]) == nil or (jsonparse["Ragebot"][ 31 ]) == nil or (jsonparse["Ragebot"][ 32 ]) == nil or (jsonparse["Ragebot"][ 33 ]) == nil or (jsonparse["Ragebot"][ 34 ]) == nil or (jsonparse["Ragebot"][ 35 ]) == nil or (jsonparse["Ragebot"][ 36 ]) == nil or (jsonparse["Ragebot"][ 37 ]) == nil or (jsonparse["Ragebot"][ 38 ]) == nil or (jsonparse["Ragebot"][ 39 ]) == nil or (jsonparse["Ragebot"][ 40 ]) == nil or (jsonparse["Ragebot"][ 41 ]) == nil or (jsonparse["Visuals"][ 1 ]) == nil or (jsonparse["Visuals"][ 2 ]) == nil or (jsonparse["Visuals"][ 3 ]) == nil or (jsonparse["Visuals"][ 4 ]) == nil or (jsonparse["Visuals"][ 5 ]) == nil or (jsonparse["Visuals"][ 6 ]) == nil or (jsonparse["Visuals"][ 7 ]) == nil or (jsonparse["Visuals"][ 8 ]) == nil or (jsonparse["Visuals"][ 9 ]) == nil or (jsonparse["Visuals"][ 10 ]) == nil) then Cheat.AddNotify("Championship.lua", "Bad cfg image!") return end
      boolVars[1] = (jsonparse["Ragebot"][ 1 ])
      boolVars[2] = (jsonparse["Ragebot"][ 2 ])
      boolVars[4] = (jsonparse["Ragebot"][ 3 ])
      boolVars[3][1] = (jsonparse["Ragebot"][ 4 ])
      boolVars[3][2] = (jsonparse["Ragebot"][ 5 ])
      boolVars[3][3] = (jsonparse["Ragebot"][ 6 ])
      intVars[1] = (jsonparse["Ragebot"][ 7 ])
      boolVars[5] = (jsonparse["Ragebot"][ 8 ])
      boolVars[6] = (jsonparse["Ragebot"][ 9 ])
      boolVars[7] = (jsonparse["Ragebot"][ 10 ])
      boolVars[8] = (jsonparse["Ragebot"][ 11 ])
      boolVars[9][1] = (jsonparse["Ragebot"][ 12 ])
      boolVars[9][2] = (jsonparse["Ragebot"][ 13 ])
      boolVars[9][3] = (jsonparse["Ragebot"][ 14 ])
      boolVars[9][4] = (jsonparse["Ragebot"][ 15 ])
      boolVars[10] =  (jsonparse["Ragebot"][ 16 ])
      boolVars[11] =  (jsonparse["Ragebot"][ 17 ])
      boolVars[12] =  (jsonparse["Ragebot"][ 18 ])
      boolVars[13] =  (jsonparse["Ragebot"][ 19 ])
      boolVars[14] =  (jsonparse["Ragebot"][ 20 ])
      boolVars[15] =  (jsonparse["Ragebot"][ 21 ])
      boolVars[16] =  (jsonparse["Ragebot"][ 22 ])
      boolVars[17][1] =  (jsonparse["Ragebot"][ 23 ])
      boolVars[17][2] =  (jsonparse["Ragebot"][ 24 ])
      boolVars[17][3] =  (jsonparse["Ragebot"][ 25 ])
      boolVars[17][4] =  (jsonparse["Ragebot"][ 26 ])
      intVars[2] = (jsonparse["Ragebot"][ 27 ])
      intVars[3] = (jsonparse["Ragebot"][ 28 ])
      intVars[4] = (jsonparse["Ragebot"][ 29 ])
      intVars[5] = (jsonparse["Ragebot"][ 30 ])
      intVars[6] = (jsonparse["Ragebot"][ 31 ])
      intVars[7] = (jsonparse["Ragebot"][ 32 ])
      intVars[9] = (jsonparse["Ragebot"][ 33 ])
      intVars[10] = (jsonparse["Ragebot"][ 34 ])
      intVars[11] = (jsonparse["Ragebot"][ 35 ])
      intVars[12] = (jsonparse["Ragebot"][ 36 ])
      intVars[13] = (jsonparse["Ragebot"][ 37 ])
      intVars[14] = (jsonparse["Ragebot"][ 38 ])
      intVars[15] = (jsonparse["Ragebot"][ 39 ])
      intVars[16] = (jsonparse["Ragebot"][ 40 ])
      intVars[17] = (jsonparse["Ragebot"][ 41 ])
      boolVars[18] = (jsonparse["Ragebot"][ 42 ])
      boolVars[19] = (jsonparse["Ragebot"][ 43 ])
      boolVars[20] = (jsonparse["Ragebot"][ 44 ])
      intVars[19][1][1] = (jsonparse["Ragebot"][ 45 ])
      intVars[19][1][2] = (jsonparse["Ragebot"][ 46 ])
      intVars[19][1][3] = (jsonparse["Ragebot"][ 47 ])
      intVars[19][1][4] = (jsonparse["Ragebot"][ 48 ])
      intVars[19][1][5] = (jsonparse["Ragebot"][ 49 ])
      intVars[19][1][6] = (jsonparse["Ragebot"][ 50 ])
      intVars[19][1][7] = (jsonparse["Ragebot"][ 51 ])
      intVars[19][1][8] = (jsonparse["Ragebot"][ 52 ])
      intVars[19][1][9] = (jsonparse["Ragebot"][ 53 ])
      intVars[19][1][10] = (jsonparse["Ragebot"][ 54 ])
      intVars[19][2][1] = (jsonparse["Ragebot"][ 55 ])
      intVars[19][2][2] = (jsonparse["Ragebot"][ 56 ])
      intVars[19][2][3] = (jsonparse["Ragebot"][ 57 ])
      intVars[19][2][4] = (jsonparse["Ragebot"][ 58 ])
      intVars[19][2][5] = (jsonparse["Ragebot"][ 59 ])
      intVars[19][2][6] = (jsonparse["Ragebot"][ 60 ])
      intVars[19][2][7] = (jsonparse["Ragebot"][ 61 ])
      intVars[19][2][8] = (jsonparse["Ragebot"][ 62 ])
      intVars[19][2][9] = (jsonparse["Ragebot"][ 63 ])
      intVars[19][2][10] = (jsonparse["Ragebot"][ 64 ])
      intVars[19][3][1] = (jsonparse["Ragebot"][ 65 ])
      intVars[19][3][2] = (jsonparse["Ragebot"][ 66 ])
      intVars[19][3][3] = (jsonparse["Ragebot"][ 67 ])
      intVars[19][3][4] = (jsonparse["Ragebot"][ 68 ])
      intVars[19][3][5] = (jsonparse["Ragebot"][ 69 ])
      intVars[19][3][6] = (jsonparse["Ragebot"][ 70 ])
      intVars[19][3][7] = (jsonparse["Ragebot"][ 71 ])
      intVars[19][3][8] = (jsonparse["Ragebot"][ 72 ])
      intVars[19][3][9] = (jsonparse["Ragebot"][ 73 ])
      intVars[19][3][10] = (jsonparse["Ragebot"][ 74 ])
      intVars[19][4][1] = (jsonparse["Ragebot"][ 75 ])
      intVars[19][4][2] = (jsonparse["Ragebot"][ 76 ])
      intVars[19][4][3] = (jsonparse["Ragebot"][ 77 ])
      intVars[19][4][4] = (jsonparse["Ragebot"][ 78 ])
      intVars[19][4][5] = (jsonparse["Ragebot"][ 79 ])
      intVars[19][4][6] = (jsonparse["Ragebot"][ 80 ])
      intVars[19][4][7] = (jsonparse["Ragebot"][ 81 ])
      intVars[19][4][8] = (jsonparse["Ragebot"][ 82 ])
      intVars[19][4][9] = (jsonparse["Ragebot"][ 83 ])
      intVars[19][4][10] = (jsonparse["Ragebot"][ 84 ])
      intVars[19][5][1] = (jsonparse["Ragebot"][ 85 ])
      intVars[19][5][2] = (jsonparse["Ragebot"][ 86 ])
      intVars[19][5][3] = (jsonparse["Ragebot"][ 87 ])
      intVars[19][5][4] = (jsonparse["Ragebot"][ 88 ])
      intVars[19][5][5] = (jsonparse["Ragebot"][ 89 ])
      intVars[19][5][6] = (jsonparse["Ragebot"][ 90 ])
      intVars[19][5][7] = (jsonparse["Ragebot"][ 91 ])
      intVars[19][5][8] = (jsonparse["Ragebot"][ 92 ])
      intVars[19][5][9] = (jsonparse["Ragebot"][ 93 ])
      intVars[19][5][10] = (jsonparse["Ragebot"][ 94 ])

      intVars[19][6][1] = (jsonparse["Antiaim"][ 1 ])
      intVars[19][6][2] = (jsonparse["Antiaim"][ 2 ])
      intVars[19][6][3] = (jsonparse["Antiaim"][ 3 ])
      intVars[19][6][4] = (jsonparse["Antiaim"][ 4 ])
      intVars[19][6][5] = (jsonparse["Antiaim"][ 5 ])
      intVars[19][6][6] = (jsonparse["Antiaim"][ 6 ])
      intVars[19][6][7] = (jsonparse["Antiaim"][ 7 ])
      intVars[19][6][8] = (jsonparse["Antiaim"][ 8 ])
      intVars[19][6][9] = (jsonparse["Antiaim"][ 9 ])
      intVars[19][6][10] = (jsonparse["Antiaim"][ 10 ])
      boolVars[21] = (jsonparse["Antiaim"][ 11 ])
      boolVars[22] = (jsonparse["Antiaim"][ 12 ])
      boolVars[23] = (jsonparse["Antiaim"][ 13 ])
      boolVars[24] = (jsonparse["Antiaim"][ 14 ])
      boolVars[25] = (jsonparse["Antiaim"][ 15 ])
      boolVars[26] = (jsonparse["Antiaim"][ 16 ])
      boolVars[27] = (jsonparse["Antiaim"][ 17 ])
      boolVars[28] = (jsonparse["Antiaim"][ 18 ])
      boolVars[29] = (jsonparse["Antiaim"][ 19 ])
      boolVars[30] = (jsonparse["Antiaim"][ 20 ])
      boolVars[31] = (jsonparse["Antiaim"][ 21 ])
      boolVars[32] = (jsonparse["Antiaim"][ 22 ])
      boolVars[33] = (jsonparse["Antiaim"][ 23 ])
      boolVars[34] = (jsonparse["Antiaim"][ 24 ])
      boolVars[35] = (jsonparse["Antiaim"][ 25 ])
      boolVars[36] = (jsonparse["Antiaim"][ 26 ])
      boolVars[37] = (jsonparse["Antiaim"][ 27 ])
      boolVars[38] = (jsonparse["Antiaim"][ 28 ])

      kolorekVars[1] = (jsonparse["Visuals"][ 1 ])
      kolorek1Vars[1] = (jsonparse["Visuals"][ 2 ])
      kolorek2Vars[1] = (jsonparse["Visuals"][ 3 ])
      kolorek3Vars[1] = (jsonparse["Visuals"][ 4 ])
      kolorekVars[2] = (jsonparse["Visuals"][ 5 ])
      kolorek1Vars[2] = (jsonparse["Visuals"][ 6 ])
      kolorek2Vars[2] = (jsonparse["Visuals"][ 7 ])
      kolorek3Vars[2] = (jsonparse["Visuals"][ 8 ])
      key2Vars[1] = (jsonparse["Visuals"][ 9 ])
      key2Vars[2] = (jsonparse["Visuals"][ 10 ])
      key1Vars[1]= (jsonparse["Visuals"][ 11 ])
      key1Vars[2] = (jsonparse["Visuals"][ 12 ])
      key3Vars[1] = (jsonparse["Visuals"][ 13 ])
      key3Vars[2] = (jsonparse["Visuals"][ 14 ])
      key4Vars[1] = (jsonparse["Visuals"][ 15 ])
      key4Vars[2] = (jsonparse["Visuals"][ 16 ])
   
      intVars[18] = (jsonparse["UserName"][ 2 ])
      intVars[20] = (jsonparse["UserName"][ 3 ])
      intVars[21] = (jsonparse["UserName"][ 4 ])
      intVars[22] = (jsonparse["UserName"][ 5 ])
      intVars[24] = (jsonparse["UserName"][ 6 ])
      intVars[25] = (jsonparse["UserName"][ 7 ])
      intVars[26] = (jsonparse["UserName"][ 8 ])
      intVars[27] = (jsonparse["UserName"][ 9 ])
      intVars[28] = (jsonparse["UserName"][ 10 ])
      intVars[29] = (jsonparse["UserName"][ 11 ])
      intVars[30] = (jsonparse["UserName"][ 12 ])
      intVars[31] = (jsonparse["UserName"][ 13 ])
      intVars[32] = (jsonparse["UserName"][ 14 ])
      intVars[33] = (jsonparse["UserName"][ 15 ])
      intVars[34] = (jsonparse["UserName"][ 16 ])
      intVars[35] = (jsonparse["UserName"][ 17 ])
      intVars[36] = (jsonparse["UserName"][ 18 ])
      intVars[37] = (jsonparse["UserName"][ 19 ])
      intVars[38] = (jsonparse["UserName"][ 20 ])
      intVars[39] = (jsonparse["UserName"][ 21 ])
      intVars[40] = (jsonparse["UserName"][ 22 ])
      intVars[41] = (jsonparse["UserName"][ 23 ])
      intVars[42] = (jsonparse["UserName"][ 24 ])
      intVars[43] = (jsonparse["UserName"][ 25 ])
      intVars[44] = (jsonparse["UserName"][ 26 ])
      boolVars[39] = (jsonparse["UserName"][ 27 ])
      boolVars[40] = (jsonparse["UserName"][ 28 ])
      boolVars[41] = (jsonparse["UserName"][ 29 ])
      boolVars[42] = (jsonparse["UserName"][ 30 ])
      boolVars[43] = (jsonparse["UserName"][ 31 ])
      intVars[45] = (jsonparse["UserName"][ 32 ])
      intVars[46] = (jsonparse["UserName"][ 33 ])
      intVars[47] = (jsonparse["UserName"][ 34 ])
      intVars[48] = (jsonparse["UserName"][ 35 ])
      boolVars[44][1] = (jsonparse["UserName"][ 36 ])
      boolVars[44][2] = (jsonparse["UserName"][ 37 ])
      boolVars[44][3] = (jsonparse["UserName"][ 38 ])
      boolVars[44][4] = (jsonparse["UserName"][ 39 ])
      boolVars[45] = (jsonparse["UserName"][ 40 ])
      boolVars[46][1] = (jsonparse["UserName"][ 41 ])
      boolVars[46][2] = (jsonparse["UserName"][ 42 ])
      boolVars[46][3] = (jsonparse["UserName"][ 43 ])
      boolVars[47] = (jsonparse["UserName"][ 44 ])
      intVars[49] = (jsonparse["UserName"][ 45 ])
      intVars[50] = (jsonparse["UserName"][ 46 ])
      Cheat.AddNotify("Championship.lua", "Success import " ..jsonparse["UserName"][ 1 ].. " CFG!")
end
end

local function coloredPrint(color, text)
    ffi_helpers.color_print(ffi_helpers, text, color)
end


   
local function savecfg()
    if buttonVars[2] == true or buttonVars[8] == true then
        local pfile = ffi.cast("void*", ffi.C.CreateFileA("Champion\\CFG.txt", 0xC0000000, 0x00000003, 0, 0x4, 0x80, nil))
        local jsonraw1 = '{"Ragebot":['..tostring(boolVars[1])..','..tostring(boolVars[2])..','..tostring(boolVars[4])..','..tostring(boolVars[3][1])..','..tostring(boolVars[3][2])..','..tostring(boolVars[3][3])..','
        ..tostring(intVars[1])..','..tostring(boolVars[5])..','..tostring(boolVars[6])..','..tostring(boolVars[7])..','..tostring(boolVars[8])..','..tostring(boolVars[9][1])..','..tostring(boolVars[9][2])..','..tostring(boolVars[9][3])..','
        ..tostring(boolVars[9][4])..','..tostring(boolVars[10])..','..tostring(boolVars[11])..','..tostring(boolVars[12])..','..tostring(boolVars[13])..','..tostring(boolVars[14])..','..tostring(boolVars[15])..','
        ..tostring(boolVars[16])..','..tostring(boolVars[17][1])..','..tostring(boolVars[17][2])..','..tostring(boolVars[17][3])..','..tostring(boolVars[17][4])..','
        ..tostring(intVars[2])..','..tostring(intVars[3])..','..tostring(intVars[4])..','..tostring(intVars[5])..','..tostring(intVars[6])..','..tostring(intVars[7])..','..tostring(intVars[9])..','..tostring(intVars[10])..','..tostring(intVars[11])..','..tostring(intVars[12])..','..tostring(intVars[13])..','..tostring(intVars[14])..','..tostring(intVars[15])..','..tostring(intVars[16])..','
        ..tostring(intVars[17])..','..tostring(boolVars[18])..','..tostring(boolVars[19])..','..tostring(boolVars[20])..','..tostring(intVars[19][1][1])..','..tostring(intVars[19][1][2])..','..tostring(intVars[19][1][3])..','..tostring(intVars[19][1][4])..','..tostring(intVars[19][1][5])..','..tostring(intVars[19][1][6])..','..tostring(intVars[19][1][7])..','..tostring(intVars[19][1][8])..','..tostring(intVars[19][1][9])..','
        ..tostring(intVars[19][1][10])..','..tostring(intVars[19][2][1])..','..tostring(intVars[19][2][2])..','..tostring(intVars[19][2][3])..','..tostring(intVars[19][2][4])..','..tostring(intVars[19][2][5])..','..tostring(intVars[19][2][6])..','..tostring(intVars[19][2][7])..','..tostring(intVars[19][2][8])..','..tostring(intVars[19][2][9])..','
        ..tostring(intVars[19][2][10])..','..tostring(intVars[19][3][1])..','..tostring(intVars[19][3][2])..','..tostring(intVars[19][3][3])..','..tostring(intVars[19][3][4])..','..tostring(intVars[19][3][5])..','..tostring(intVars[19][3][6])..','..tostring(intVars[19][3][7])..','..tostring(intVars[19][3][8])..','..tostring(intVars[19][3][9])..','
        ..tostring(intVars[19][3][10])..','..tostring(intVars[19][4][1])..','..tostring(intVars[19][4][2])..','..tostring(intVars[19][4][3])..','..tostring(intVars[19][4][4])..','..tostring(intVars[19][4][5])..','..tostring(intVars[19][4][6])..','..tostring(intVars[19][4][7])..','..tostring(intVars[19][4][8])..','..tostring(intVars[19][4][9])..','
        ..tostring(intVars[19][4][10])..','..tostring(intVars[19][5][1])..','..tostring(intVars[19][5][2])..','..tostring(intVars[19][5][3])..','..tostring(intVars[19][5][4])..','..tostring(intVars[19][5][5])..','..tostring(intVars[19][5][6])..','..tostring(intVars[19][5][7])..','..tostring(intVars[19][5][8])..','..tostring(intVars[19][5][9])..','
        ..tostring(intVars[19][5][10])..']'

        local jsonraw2 = ',"Antiaim":['..tostring(intVars[19][6][1])..','..tostring(intVars[19][6][2])..','
        ..tostring(intVars[19][6][3])..','..tostring(intVars[19][6][4])..','..tostring(intVars[19][6][5])..','..tostring(intVars[19][6][6])..','
        ..tostring(intVars[19][6][7])..','..tostring(intVars[19][6][8])..','..tostring(intVars[19][6][9])..','
        ..tostring(intVars[19][6][10])..','..tostring(boolVars[21])..','..tostring(boolVars[22])..','..tostring(boolVars[23])..','..tostring(boolVars[24])..','..tostring(boolVars[25])..','..tostring(boolVars[26])..','..tostring(boolVars[27])..','..tostring(boolVars[28])..','..tostring(boolVars[29])..','..tostring(boolVars[30])..','..tostring(boolVars[31])..','..tostring(boolVars[32])..','..tostring(boolVars[33])..','..tostring(boolVars[34])..','..tostring(boolVars[35])..','..tostring(boolVars[36])..','..tostring(boolVars[37])..','..tostring(boolVars[38])..', ], "Visuals":['..tostring(kolorekVars[1])..','..tostring(kolorek1Vars[1])..','..tostring(kolorek2Vars[1])..','..tostring(kolorek3Vars[1])..','..tostring(kolorekVars[2])..','..tostring(kolorek1Vars[2])..','
        ..tostring(kolorek2Vars[2])..','..tostring(kolorek3Vars[2])..','..tostring(key2Vars[1])..','..tostring(key2Vars[2])..','..tostring(key1Vars[1])..','..tostring(key1Vars[2])..','..tostring(key3Vars[1])..','..tostring(key3Vars[2])..','..tostring(key4Vars[1])..','..tostring(key4Vars[2])..'],"UserName":["'..username..'",'..tostring(intVars[18])..','..tostring(intVars[20])..','..tostring(intVars[21])..','..tostring(intVars[22])..','..tostring(intVars[24])..','..tostring(intVars[25])..','..tostring(intVars[26])..','..tostring(intVars[27])..','..tostring(intVars[28])..','..tostring(intVars[29])..','..tostring(intVars[30])..','..tostring(intVars[31])..','..tostring(intVars[32])..','..tostring(intVars[33])..','..tostring(intVars[34])..','..tostring(intVars[35])..','..tostring(intVars[36])..','..tostring(intVars[37])..','..tostring(intVars[38])..','..tostring(intVars[39])..','..tostring(intVars[40])..','..tostring(intVars[41])..','..tostring(intVars[42])..','..tostring(intVars[43])..','..tostring(intVars[44])..','..tostring(boolVars[39])..','..tostring(boolVars[40])..','..tostring(boolVars[41])..','..tostring(boolVars[42])..','..tostring(boolVars[43])..','..tostring(intVars[45])..','..tostring(intVars[46])..','..tostring(intVars[47])..','..tostring(intVars[48])..','..tostring(boolVars[44][1])..','..tostring(boolVars[44][2])..','..tostring(boolVars[44][3])..','..tostring(boolVars[44][4])..','..tostring(boolVars[45])..','..tostring(boolVars[46][1])..','..tostring(boolVars[46][2])..','..tostring(boolVars[46][3])..','..tostring(boolVars[47])..','..tostring(intVars[49])..','..tostring(intVars[50])..']}'

        local jsonraw = jsonraw1..jsonraw2
        local last = M.encode(jsonraw) .. "                                                                                                                                                                    "
        ffi.C.WriteFile(pfile, ffi.cast("char*", last),string.len(last) , nil, 0)
    end
end

local function loadcfg()
    if buttonVars[1] == true then
        local pfile = ffi.cast("void*", ffi.C.CreateFileA("Champion\\CFG.txt", 0xC0000000, 0x00000003, 0, 0x4, 0x80, nil))
        local size = ffi.C.GetFileSize(pfile, nil)
        local buff = ffi.new("char[" ..(size + 1).. "]")
        ffi.C.ReadFile(pfile, buff, size, nil, 0)
        ffi.C.CloseHandle(pfile)
        fileResult = ffi.string(buff)
      local jsonparse = json.decode( M.decode(fileResult) )
      if ((jsonparse["Ragebot"][ 1 ]) == nil or (jsonparse["Ragebot"][ 2 ]) == nil or (jsonparse["Ragebot"][ 3 ]) == nil or (jsonparse["Ragebot"][ 4 ]) == nil or (jsonparse["Ragebot"][ 5 ]) == nil or (jsonparse["Ragebot"][ 6 ]) == nil or (jsonparse["Ragebot"][ 7 ]) == nil or (jsonparse["Ragebot"][ 8 ]) == nil or (jsonparse["Ragebot"][ 9 ]) == nil or (jsonparse["Ragebot"][ 10 ]) == nil or (jsonparse["Ragebot"][ 11 ]) == nil or (jsonparse["Ragebot"][ 12 ]) == nil or (jsonparse["Ragebot"][ 13 ]) == nil or (jsonparse["Ragebot"][ 14 ]) == nil or (jsonparse["Ragebot"][ 15 ]) == nil or (jsonparse["Ragebot"][ 16 ]) == nil or (jsonparse["Ragebot"][ 17 ]) == nil or (jsonparse["Ragebot"][ 18 ]) == nil or (jsonparse["Ragebot"][ 19 ]) == nil or (jsonparse["Ragebot"][ 20 ]) == nil or (jsonparse["Ragebot"][ 21 ]) == nil or (jsonparse["Ragebot"][ 22 ]) == nil or (jsonparse["Ragebot"][ 23 ]) == nil or (jsonparse["Ragebot"][ 24 ]) == nil or (jsonparse["Ragebot"][ 25 ]) == nil or (jsonparse["Ragebot"][ 26 ]) == nil or (jsonparse["Ragebot"][ 27 ]) == nil or (jsonparse["Ragebot"][ 28 ]) == nil or (jsonparse["Ragebot"][ 29 ]) == nil or (jsonparse["Ragebot"][ 30 ]) == nil or (jsonparse["Ragebot"][ 31 ]) == nil or (jsonparse["Ragebot"][ 32 ]) == nil or (jsonparse["Ragebot"][ 33 ]) == nil or (jsonparse["Ragebot"][ 34 ]) == nil or (jsonparse["Ragebot"][ 35 ]) == nil or (jsonparse["Ragebot"][ 36 ]) == nil or (jsonparse["Ragebot"][ 37 ]) == nil or (jsonparse["Ragebot"][ 38 ]) == nil or (jsonparse["Ragebot"][ 39 ]) == nil or (jsonparse["Ragebot"][ 40 ]) == nil or (jsonparse["Ragebot"][ 41 ]) == nil or (jsonparse["Visuals"][ 1 ]) == nil or (jsonparse["Visuals"][ 2 ]) == nil or (jsonparse["Visuals"][ 3 ]) == nil or (jsonparse["Visuals"][ 4 ]) == nil or (jsonparse["Visuals"][ 5 ]) == nil or (jsonparse["Visuals"][ 6 ]) == nil or (jsonparse["Visuals"][ 7 ]) == nil or (jsonparse["Visuals"][ 8 ]) == nil or (jsonparse["Visuals"][ 9 ]) == nil or (jsonparse["Visuals"][ 10 ]) == nil) then Cheat.AddNotify("Championship.lua", "Bad cfg image!") return end
      boolVars[1] = (jsonparse["Ragebot"][ 1 ])
      boolVars[2] = (jsonparse["Ragebot"][ 2 ])
      boolVars[4] = (jsonparse["Ragebot"][ 3 ])
      boolVars[3][1] = (jsonparse["Ragebot"][ 4 ])
      boolVars[3][2] = (jsonparse["Ragebot"][ 5 ])
      boolVars[3][3] = (jsonparse["Ragebot"][ 6 ])
      intVars[1] = (jsonparse["Ragebot"][ 7 ])
      boolVars[5] = (jsonparse["Ragebot"][ 8 ])
      boolVars[6] = (jsonparse["Ragebot"][ 9 ])
      boolVars[7] = (jsonparse["Ragebot"][ 10 ])
      boolVars[8] = (jsonparse["Ragebot"][ 11 ])
      boolVars[9][1] = (jsonparse["Ragebot"][ 12 ])
      boolVars[9][2] = (jsonparse["Ragebot"][ 13 ])
      boolVars[9][3] = (jsonparse["Ragebot"][ 14 ])
      boolVars[9][4] = (jsonparse["Ragebot"][ 15 ])
      boolVars[10] =  (jsonparse["Ragebot"][ 16 ])
      boolVars[11] =  (jsonparse["Ragebot"][ 17 ])
      boolVars[12] =  (jsonparse["Ragebot"][ 18 ])
      boolVars[13] =  (jsonparse["Ragebot"][ 19 ])
      boolVars[14] =  (jsonparse["Ragebot"][ 20 ])
      boolVars[15] =  (jsonparse["Ragebot"][ 21 ])
      boolVars[16] =  (jsonparse["Ragebot"][ 22 ])
      boolVars[17][1] =  (jsonparse["Ragebot"][ 23 ])
      boolVars[17][2] =  (jsonparse["Ragebot"][ 24 ])
      boolVars[17][3] =  (jsonparse["Ragebot"][ 25 ])
      boolVars[17][4] =  (jsonparse["Ragebot"][ 26 ])
      intVars[2] = (jsonparse["Ragebot"][ 27 ])
      intVars[3] = (jsonparse["Ragebot"][ 28 ])
      intVars[4] = (jsonparse["Ragebot"][ 29 ])
      intVars[5] = (jsonparse["Ragebot"][ 30 ])
      intVars[6] = (jsonparse["Ragebot"][ 31 ])
      intVars[7] = (jsonparse["Ragebot"][ 32 ])
      intVars[9] = (jsonparse["Ragebot"][ 33 ])
      intVars[10] = (jsonparse["Ragebot"][ 34 ])
      intVars[11] = (jsonparse["Ragebot"][ 35 ])
      intVars[12] = (jsonparse["Ragebot"][ 36 ])
      intVars[13] = (jsonparse["Ragebot"][ 37 ])
      intVars[14] = (jsonparse["Ragebot"][ 38 ])
      intVars[15] = (jsonparse["Ragebot"][ 39 ])
      intVars[16] = (jsonparse["Ragebot"][ 40 ])
      intVars[17] = (jsonparse["Ragebot"][ 41 ])
      boolVars[18] = (jsonparse["Ragebot"][ 42 ])
      boolVars[19] = (jsonparse["Ragebot"][ 43 ])
      boolVars[20] = (jsonparse["Ragebot"][ 44 ])
      intVars[19][1][1] = (jsonparse["Ragebot"][ 45 ])
      intVars[19][1][2] = (jsonparse["Ragebot"][ 46 ])
      intVars[19][1][3] = (jsonparse["Ragebot"][ 47 ])
      intVars[19][1][4] = (jsonparse["Ragebot"][ 48 ])
      intVars[19][1][5] = (jsonparse["Ragebot"][ 49 ])
      intVars[19][1][6] = (jsonparse["Ragebot"][ 50 ])
      intVars[19][1][7] = (jsonparse["Ragebot"][ 51 ])
      intVars[19][1][8] = (jsonparse["Ragebot"][ 52 ])
      intVars[19][1][9] = (jsonparse["Ragebot"][ 53 ])
      intVars[19][1][10] = (jsonparse["Ragebot"][ 54 ])
      intVars[19][2][1] = (jsonparse["Ragebot"][ 55 ])
      intVars[19][2][2] = (jsonparse["Ragebot"][ 56 ])
      intVars[19][2][3] = (jsonparse["Ragebot"][ 57 ])
      intVars[19][2][4] = (jsonparse["Ragebot"][ 58 ])
      intVars[19][2][5] = (jsonparse["Ragebot"][ 59 ])
      intVars[19][2][6] = (jsonparse["Ragebot"][ 60 ])
      intVars[19][2][7] = (jsonparse["Ragebot"][ 61 ])
      intVars[19][2][8] = (jsonparse["Ragebot"][ 62 ])
      intVars[19][2][9] = (jsonparse["Ragebot"][ 63 ])
      intVars[19][2][10] = (jsonparse["Ragebot"][ 64 ])
      intVars[19][3][1] = (jsonparse["Ragebot"][ 65 ])
      intVars[19][3][2] = (jsonparse["Ragebot"][ 66 ])
      intVars[19][3][3] = (jsonparse["Ragebot"][ 67 ])
      intVars[19][3][4] = (jsonparse["Ragebot"][ 68 ])
      intVars[19][3][5] = (jsonparse["Ragebot"][ 69 ])
      intVars[19][3][6] = (jsonparse["Ragebot"][ 70 ])
      intVars[19][3][7] = (jsonparse["Ragebot"][ 71 ])
      intVars[19][3][8] = (jsonparse["Ragebot"][ 72 ])
      intVars[19][3][9] = (jsonparse["Ragebot"][ 73 ])
      intVars[19][3][10] = (jsonparse["Ragebot"][ 74 ])
      intVars[19][4][1] = (jsonparse["Ragebot"][ 75 ])
      intVars[19][4][2] = (jsonparse["Ragebot"][ 76 ])
      intVars[19][4][3] = (jsonparse["Ragebot"][ 77 ])
      intVars[19][4][4] = (jsonparse["Ragebot"][ 78 ])
      intVars[19][4][5] = (jsonparse["Ragebot"][ 79 ])
      intVars[19][4][6] = (jsonparse["Ragebot"][ 80 ])
      intVars[19][4][7] = (jsonparse["Ragebot"][ 81 ])
      intVars[19][4][8] = (jsonparse["Ragebot"][ 82 ])
      intVars[19][4][9] = (jsonparse["Ragebot"][ 83 ])
      intVars[19][4][10] = (jsonparse["Ragebot"][ 84 ])
      intVars[19][5][1] = (jsonparse["Ragebot"][ 85 ])
      intVars[19][5][2] = (jsonparse["Ragebot"][ 86 ])
      intVars[19][5][3] = (jsonparse["Ragebot"][ 87 ])
      intVars[19][5][4] = (jsonparse["Ragebot"][ 88 ])
      intVars[19][5][5] = (jsonparse["Ragebot"][ 89 ])
      intVars[19][5][6] = (jsonparse["Ragebot"][ 90 ])
      intVars[19][5][7] = (jsonparse["Ragebot"][ 91 ])
      intVars[19][5][8] = (jsonparse["Ragebot"][ 92 ])
      intVars[19][5][9] = (jsonparse["Ragebot"][ 93 ])
      intVars[19][5][10] = (jsonparse["Ragebot"][ 94 ])

      intVars[19][6][1] = (jsonparse["Antiaim"][ 1 ])
      intVars[19][6][2] = (jsonparse["Antiaim"][ 2 ])
      intVars[19][6][3] = (jsonparse["Antiaim"][ 3 ])
      intVars[19][6][4] = (jsonparse["Antiaim"][ 4 ])
      intVars[19][6][5] = (jsonparse["Antiaim"][ 5 ])
      intVars[19][6][6] = (jsonparse["Antiaim"][ 6 ])
      intVars[19][6][7] = (jsonparse["Antiaim"][ 7 ])
      intVars[19][6][8] = (jsonparse["Antiaim"][ 8 ])
      intVars[19][6][9] = (jsonparse["Antiaim"][ 9 ])
      intVars[19][6][10] = (jsonparse["Antiaim"][ 10 ])
      boolVars[21] = (jsonparse["Antiaim"][ 11 ])
      boolVars[22] = (jsonparse["Antiaim"][ 12 ])
      boolVars[23] = (jsonparse["Antiaim"][ 13 ])
      boolVars[24] = (jsonparse["Antiaim"][ 14 ])
      boolVars[25] = (jsonparse["Antiaim"][ 15 ])
      boolVars[26] = (jsonparse["Antiaim"][ 16 ])
      boolVars[27] = (jsonparse["Antiaim"][ 17 ])
      boolVars[28] = (jsonparse["Antiaim"][ 18 ])
      boolVars[29] = (jsonparse["Antiaim"][ 19 ])
      boolVars[30] = (jsonparse["Antiaim"][ 20 ])
      boolVars[31] = (jsonparse["Antiaim"][ 21 ])
      boolVars[32] = (jsonparse["Antiaim"][ 22 ])
      boolVars[33] = (jsonparse["Antiaim"][ 23 ])
      boolVars[34] = (jsonparse["Antiaim"][ 24 ])
      boolVars[35] = (jsonparse["Antiaim"][ 25 ])
      boolVars[36] = (jsonparse["Antiaim"][ 26 ])
      boolVars[37] = (jsonparse["Antiaim"][ 27 ])
      boolVars[38] = (jsonparse["Antiaim"][ 28 ])

      kolorekVars[1] = (jsonparse["Visuals"][ 1 ])
      kolorek1Vars[1] = (jsonparse["Visuals"][ 2 ])
      kolorek2Vars[1] = (jsonparse["Visuals"][ 3 ])
      kolorek3Vars[1] = (jsonparse["Visuals"][ 4 ])
      kolorekVars[2] = (jsonparse["Visuals"][ 5 ])
      kolorek1Vars[2] = (jsonparse["Visuals"][ 6 ])
      kolorek2Vars[2] = (jsonparse["Visuals"][ 7 ])
      kolorek3Vars[2] = (jsonparse["Visuals"][ 8 ])
      key2Vars[1] = (jsonparse["Visuals"][ 9 ])
      key2Vars[2] = (jsonparse["Visuals"][ 10 ])
      key1Vars[1]= (jsonparse["Visuals"][ 11 ])
      key1Vars[2] = (jsonparse["Visuals"][ 12 ])
      key3Vars[1] = (jsonparse["Visuals"][ 13 ])
      key3Vars[2] = (jsonparse["Visuals"][ 14 ])
      key4Vars[1] = (jsonparse["Visuals"][ 15 ])
      key4Vars[2] = (jsonparse["Visuals"][ 16 ])
   
      intVars[18] = (jsonparse["UserName"][ 2 ])
      intVars[20] = (jsonparse["UserName"][ 3 ])
      intVars[21] = (jsonparse["UserName"][ 4 ])
      intVars[22] = (jsonparse["UserName"][ 5 ])
      intVars[24] = (jsonparse["UserName"][ 6 ])
      intVars[25] = (jsonparse["UserName"][ 7 ])
      intVars[26] = (jsonparse["UserName"][ 8 ])
      intVars[27] = (jsonparse["UserName"][ 9 ])
      intVars[28] = (jsonparse["UserName"][ 10 ])
      intVars[29] = (jsonparse["UserName"][ 11 ])
      intVars[30] = (jsonparse["UserName"][ 12 ])
      intVars[31] = (jsonparse["UserName"][ 13 ])
      intVars[32] = (jsonparse["UserName"][ 14 ])
      intVars[33] = (jsonparse["UserName"][ 15 ])
      intVars[34] = (jsonparse["UserName"][ 16 ])
      intVars[35] = (jsonparse["UserName"][ 17 ])
      intVars[36] = (jsonparse["UserName"][ 18 ])
      intVars[37] = (jsonparse["UserName"][ 19 ])
      intVars[38] = (jsonparse["UserName"][ 20 ])
      intVars[39] = (jsonparse["UserName"][ 21 ])
      intVars[40] = (jsonparse["UserName"][ 22 ])
      intVars[41] = (jsonparse["UserName"][ 23 ])
      intVars[42] = (jsonparse["UserName"][ 24 ])
      intVars[43] = (jsonparse["UserName"][ 25 ])
      intVars[44] = (jsonparse["UserName"][ 26 ])
      boolVars[39] = (jsonparse["UserName"][ 27 ])
      boolVars[40] = (jsonparse["UserName"][ 28 ])
      boolVars[41] = (jsonparse["UserName"][ 29 ])
      boolVars[42] = (jsonparse["UserName"][ 30 ])
      boolVars[43] = (jsonparse["UserName"][ 31 ])
      intVars[45] = (jsonparse["UserName"][ 32 ])
      intVars[46] = (jsonparse["UserName"][ 33 ])
      intVars[47] = (jsonparse["UserName"][ 34 ])
      intVars[48] = (jsonparse["UserName"][ 35 ])
      boolVars[44][1] = (jsonparse["UserName"][ 36 ])
      boolVars[44][2] = (jsonparse["UserName"][ 37 ])
      boolVars[44][3] = (jsonparse["UserName"][ 38 ])
      boolVars[44][4] = (jsonparse["UserName"][ 39 ])
      boolVars[45] = (jsonparse["UserName"][ 40 ])
      boolVars[46][1] = (jsonparse["UserName"][ 41 ])
      boolVars[46][2] = (jsonparse["UserName"][ 42 ])
      boolVars[46][3] = (jsonparse["UserName"][ 43 ])
      boolVars[47] = (jsonparse["UserName"][ 44 ])
      intVars[49] = (jsonparse["UserName"][ 45 ])
      intVars[50] = (jsonparse["UserName"][ 46 ])
      Cheat.AddNotify("Championship.lua", "Success loaded " ..jsonparse["UserName"][ 1 ].. " CFG!")
    end
end

local function shotlogging()
    if boolVars[46][1] == true then
    miss_counter = miss_counter + 1
    shot_time = GlobalVars.curtime
    end
    shot = true
end


local dt_ref = Menu.FindVar("Aimbot", "Ragebot", "Exploits", "Double Tap")
local hs_ref = Menu.FindVar("Aimbot", "Ragebot", "Exploits", "Hide Shots")
local autopeek_ref = Menu.FindVar("Miscellaneous", "Main", "Movement", "Auto Peek")
timerrrr = 0
shottime = 0
fluacatetimer = 0
steptimer = 0
step = 0
delay = 0
local function fakelag()
    if intVars[24] == 2 then
        fluacatetimer = fluacatetimer + 1
        if fluacatetimer >= 1 and fluacatetimer <= 50 then
            lag_limit:SetInt(14)
        else
            lag_limit:SetInt(2)
        end
        if fluacatetimer >= 80 then
            fluacatetimer = 0
        end
    end
    if intVars[24] == 3 then
         delay = delay + 1
         if steptimer == 14 then
             step = 1
         end
         if steptimer == 1 then
             step = 0
         end
         if step == 1 then
             steptimer = steptimer - 1
         elseif step == 0 then
             steptimer = steptimer + 1
         end
         if delay >= 5 then
         lag_limit:SetInt(steptimer)
         delay = 0
         end
    end
    if intVars[24] == 4 then
         delay = delay + 2
         if delay >= 1 and delay <= 100 then
             lag_limit:SetInt(14)
         else
             lag_limit:SetInt(1)
             FakeLag.ForceSend()
         end
         if delay >= 110 then
             delay = 0
         end
    end
    if boolVars[10] == true then
        Menu.FindVar("Visuals", "View", "Misc", "Aspect Ratio"):SetBool(false)
        Menu.FindVar("Miscellaneous", "Main", "Other", "Unlock Cvars"):SetBool(true)
        local twojaff = CVar.FindVar("r_aspectratio")
        twojaff:SetFloat(intVars[7] / 1000)
    end
    if hs_ref:GetBool() then
        if boolVars[5] == true then
            if Menu.FindVar("Aimbot", "Anti Aim", "Misc", "Fake Duck"):GetBool() then return end
            timerrrr = timerrrr + intVars[4] / 10
            if timerrrr >= 1 and timerrrr <= 10 then              
                FakeLag.ForceSend()
                if boolVars[47] == false then
                ClientState.m_command_ack = 1
                end
                FakeLag.SetState(false)
            elseif timerrrr >= 10 and timerrrr <= 20 then
                FakeLag.ForceSend()
                FakeLag.SetState(true)
                if boolVars[47] == false then
                ClientState.m_command_ack = 2
                end
                newpacket = FakeLag.SentPackets()
            elseif timerrrr >= 20 and timerrrr <= 35 then
                FakeLag.ForceSend()
                FakeLag.SetState(false)
                if boolVars[47] == false then
                ClientState.m_command_ack = 1
                end
            elseif timerrrr >= 40 and timerrrr <= 49 then                          
                FakeLag.ForceSend()
                if boolVars[47] == false then
                ClientState.m_command_ack = 4
                end
                FakeLag.SetState(false)
            end
            if timerrrr >= 49 then
            lastpacket = FakeLag.SentPackets()
            timerrrr = 0
            end
        end
    end
        if boolVars[6] == true then
        if shot == true then
            shottime = shottime + 1
            if boolVars[7] == true and not autopeek_ref:GetBool() then return end
            if shottime >= 7 and shottime <= intVars[5] and hs_ref:GetBool() then
                FakeLag.ForceSend()
                Exploits.ForceTeleport()
            end
            if shottime-25 >= intVars[5] then
                shottime = 0
                shot = false
            end
        end
    end
end



function vec_distance(vec_one, vec_two)

    local delta_x, delta_y, delta_z = vec_one.x - vec_two.x, vec_one.y - vec_two.y

    return math.sqrt(delta_x * delta_x + delta_y * delta_y)

end

local function get_closest_enemy()
    local best_dist = 5000
    local best_enemy = nil
    local local_player = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
    local local_origin = local_player:GetProp("DT_BaseEntity", "m_vecOrigin")
    local local_screen_orig = Render.ScreenPosition(local_origin)
    local screen = EngineClient.GetScreenSize()

    for idx = 1, GlobalVars.maxClients + 1 do
        local ent = EntityList.GetClientEntity(idx)
        if ent and ent:IsPlayer() then
            if not ent and not ent:IsPlayer() then return end
            local player = ent:GetPlayer()
            local binds = Cheat.GetBinds()
            local health = player:GetProp("DT_BasePlayer", "m_iHealth")
            local me = EntityList.GetClientEntity(EngineClient.GetLocalPlayer()):GetPlayer()
            local weap = me:GetActiveWeapon()      
            if not player:IsTeamMate() and health > 0 and not player:IsDormant() then
                local origin = ent:GetProp("DT_BaseEntity", "m_vecOrigin")
                local screen_orig = Render.ScreenPosition(origin)
                local temp_dist = vec_distance(Vector2.new(screen.x / 2, screen.y / 2), screen_orig)
                if(temp_dist < best_dist) then
                    best_dist = temp_dist
                    best_enemy = ent
                end
            end
        end
    end

    return best_enemy
end

local function round(a, prec)
    return math.floor(a + 0.5*prec) -- where prec is 10^n, starting at 0
end

    local function GetWallDamage()
        player = get_closest_enemy()
        if player then
            local me = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
            if not me:GetPlayer() then return end
            local weap_classname = me:GetPlayer():GetActiveWeapon():GetClassName()
            if weap_classname == nil then return end
            local me_player = me:GetPlayer()

            if weap_classname == "CKnife" or weap_classname == "CSmokeGrenade" or weap_classname == "CFlashbang" or weap_classname == "CHEGrenade" or weap_classname == "CDecoyGrenade" or weap_classname == "CIncendiaryGrenade" then
                wall_dmg = 0
                return
            end
            local player = player:GetPlayer()
            local playerorigin = player:GetProp("m_vecOrigin")
            if player:GetPlayer() then
                local eye_pos = me_player:GetEyePosition()
                local eyeX = playerorigin.x
                local eyeY = playerorigin.y
                local eyeZ = playerorigin.z
                local pitch = player:GetRenderAngles().pitch
                local yaw = player:GetRenderAngles().yaw
       
                local sin_pitch = math.sin(math.rad(pitch))
                local cos_pitch = math.cos(math.rad(pitch))
                local sin_yaw = math.sin(math.rad(yaw))
                local cos_yaw = math.cos(math.rad(yaw))

                local dirVector = { cos_pitch * cos_yaw, cos_pitch * sin_yaw, -sin_pitch }
                local fraction = EngineTrace.TraceRay(Vector.new(eyeX, eyeY, eyeZ), Vector.new(eyeX + (dirVector[1] * 8192), eyeY + (dirVector[2] * 8192), eyeZ + (dirVector[3] * 8192)), me, 0xFFFFFFFF)
                wall_dmg = 0
                ent_exists = false

                if fraction.fraction < 1 then
                   local dmg = Cheat.FireBullet(me:GetPlayer(), Vector.new(eyeX, eyeY, eyeZ), Vector.new(eyeX + (dirVector[1] * (8192 * fraction.fraction + 128)), eyeY + (dirVector[2] * (8192 * fraction.fraction + 128)), eyeZ + (dirVector[3] * (8192 * fraction.fraction + 128)))).damage

                    if dmg ~= nil then
                        ent_exists = true
                    end
           
                    if wall_dmg < dmg then
                        wall_dmg = dmg
                    end
                end  
                return wall_dmg            
            end
        end
    end
local awp = false
local auto = false
local scout = false
local revo = false  
local function scanning()
    if boolVars[8] == false then return end
    local enemy = get_closest_enemy()
    if not enemy then return end
    local enemyyy = enemy:GetPlayer()
    local damage = GetWallDamage()
    if not damage then return end
    local entity = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
    local player = entity:GetPlayer()
    local active_weapon = player:GetActiveWeapon()
    if active_weapon == nil then return end
    local weapon_classid = active_weapon:GetWeaponID()
    if weapon_classid == 38 or weapon_classid == 11 and boolVars[9][1] == true then
        auto = true
    else
        auto = false
    end
    if weapon_classid == 40 and boolVars[9][3] == true then
        scout = true
    else
        scout = false
    end
    if weapon_classid == 64 and boolVars[9][4] == true then
        revo = true
    else
        revo = false
    end
    if weapon_classid == 9 and boolVars[9][2] == true then
        awp = true
    else
        awp = false
    end
    if awp == true then
        if damage >= 1 then              
            if intVars[6] == 1 then
                local scandmg = GetWallDamage()
                if scandmg then
                local fullscan = math.floor(scandmg)
                RageBot.OverrideMinDamage(enemyyy:EntIndex(), fullscan)  
                end  
            end
            if intVars[6] == 2 then
                if enemyyy:GetProp("DT_BasePlayer", "m_iHealth") >= 25 and enemyyy:GetProp("DT_BasePlayer", "m_iHealth") <= 50 then
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), enemyyy:GetProp("DT_BasePlayer", "m_iHealth") - 25)
                elseif enemyyy:GetProp("DT_BasePlayer", "m_iHealth") >= 50 and enemyyy:GetProp("DT_BasePlayer", "m_iHealth") <= 100 then
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), enemyyy:GetProp("DT_BasePlayer", "m_iHealth") - 50)
                else
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), enemyyy:GetProp("DT_BasePlayer", "m_iHealth"))
                end            
            end
            if intVars[6] == 3 then
                if damage >= 1 and damage <= 10 then
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), 10)
                end
                if damage >= 10 and damage <= 20 then
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), 15)
                end
                if damage >= 20 then
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), 21)
                end              
            end
        end
    end
    if scout == true then
        if damage >= 1 then              
            if intVars[6] == 1 then
                local scandmg = GetWallDamage()
                if scandmg then
                local fullscan = math.floor(scandmg)
                RageBot.OverrideMinDamage(enemyyy:EntIndex(), fullscan)  
                end  
            end
            if intVars[6] == 2 then
                if enemyyy:GetProp("DT_BasePlayer", "m_iHealth") >= 25 and enemyyy:GetProp("DT_BasePlayer", "m_iHealth") <= 50 then
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), enemyyy:GetProp("DT_BasePlayer", "m_iHealth") - 25)
                elseif enemyyy:GetProp("DT_BasePlayer", "m_iHealth") >= 50 and enemyyy:GetProp("DT_BasePlayer", "m_iHealth") <= 100 then
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), enemyyy:GetProp("DT_BasePlayer", "m_iHealth") - 50)
                else
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), enemyyy:GetProp("DT_BasePlayer", "m_iHealth"))
                end            
            end
            if intVars[6] == 3 then
                if damage >= 1 and damage <= 10 then
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), 1)
                end
                if damage >= 10 and damage <= 20 then
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), 2)
                end
                if damage >= 20 then
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), 3)
                end            
            end
        end
    end
    if revo == true then
        if damage >= 1 then              
            if intVars[6] == 1 then
                local scandmg = GetWallDamage()
                if scandmg then
                local fullscan = math.floor(scandmg)
                RageBot.OverrideMinDamage(enemyyy:EntIndex(), fullscan)  
                end  
            end
            if intVars[6] == 2 then
                if enemyyy:GetProp("DT_BasePlayer", "m_iHealth") >= 25 and enemyyy:GetProp("DT_BasePlayer", "m_iHealth") <= 50 then
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), enemyyy:GetProp("DT_BasePlayer", "m_iHealth") - 25)
                elseif enemyyy:GetProp("DT_BasePlayer", "m_iHealth") >= 50 and enemyyy:GetProp("DT_BasePlayer", "m_iHealth") <= 100 then
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), enemyyy:GetProp("DT_BasePlayer", "m_iHealth") - 50)
                else
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), enemyyy:GetProp("DT_BasePlayer", "m_iHealth"))
                end            
            end
            if intVars[6] == 3 then
                if damage >= 1 and damage <= 10 then
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), 2)
                end
                if damage >= 10 and damage <= 20 then
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), 3)
                end
                if damage >= 20 then
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), 4)
                end                
            end
        end
    end
    if auto == true then
        if damage >= 1 then              
            if intVars[6] == 1 then
                local scandmg = GetWallDamage()
                if scandmg then
                local fullscan = math.floor(scandmg)
                RageBot.OverrideMinDamage(enemyyy:EntIndex(), fullscan)  
                end  
            end
            if intVars[6] == 2 then
                if enemyyy:GetProp("DT_BasePlayer", "m_iHealth") >= 25 and enemyyy:GetProp("DT_BasePlayer", "m_iHealth") <= 50 then
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), enemyyy:GetProp("DT_BasePlayer", "m_iHealth") - 25)
                elseif enemyyy:GetProp("DT_BasePlayer", "m_iHealth") >= 50 and enemyyy:GetProp("DT_BasePlayer", "m_iHealth") <= 100 then
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), enemyyy:GetProp("DT_BasePlayer", "m_iHealth") - 50)
                else
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), enemyyy:GetProp("DT_BasePlayer", "m_iHealth"))
                end            
            end
            if intVars[6] == 3 then
                if damage >= 1 and damage <= 10 then
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), 2)
                end
                if damage >= 10 and damage <= 20 then
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), 3)
                end
                if damage >= 20 then
                    RageBot.OverrideMinDamage(enemyyy:EntIndex(), 4)
                end                
            end
        end
    end
end
local min = Vector.new()
local max = Vector.new()
function get_localplayer()
    local local_index = EngineClient.GetLocalPlayer()
    local localplayer = EntityList.GetClientEntity(local_index)
    if localplayer == nil then return end
    local me = localplayer:GetPlayer()
    return me
end
function is_in_air(entity)
    local flags = entity:GetProp("DT_BasePlayer", "m_fFlags")

    return bit.band(flags, 1) == 0
end

function autostop(cmd)
    local vecvelocity1 = Vector.new(get_localplayer():GetProp("m_vecVelocity[0]"), get_localplayer():GetProp("m_vecVelocity[1]"), 0.0)
    local viewangles = get_localplayer():GetEyePosition()
    local direction = Cheat.VectorToAngle(vecvelocity1)
    direction.yaw = cmd.viewangles.yaw - direction.yaw

    local forward = Cheat.AngleToForward(direction)
    local negative = Vector2.new(forward.x * -200, forward.y * -200)
   

    cmd.forwardmove = negative.x
    cmd.sidemove = negative.y
end
function get_dormant_enemy()
    local players = EntityList.GetEntitiesByName("CCSPlayer")
    for i = 1, #players do
        local enemies = players[i];
        local enemy = enemies:GetPlayer()
        if boolVars[11] == true then
            target_correct = enemy:GetNetworkState() ~= -1
        else
            target_correct = true
        end
        if enemy ~= get_localplayer() and not enemy:IsTeamMate() and enemy:GetProp("DT_BasePlayer", "m_iHealth") > 0 and enemy:IsDormant() and target_correct then
            return i
        end
    end
end

local function calc_shit(xdelta, ydelta)
    if xdelta == 0 and ydelta == 0 then
        return 0
    end

    return math.deg(math.atan2(ydelta, xdelta))
end

local function get_enemies(players)
    local ctable = {}
    for pi = 1, #players do
        local enemy = players[pi]
        if enemy ~= EntityList.GetLocalPlayer() then
            if not enemy:IsTeamMate() then
                if not enemy:IsDormant() then
                    table.insert(ctable, enemy)
                end
            end
        end
    end
    return ctable
end

local function normalize_yaw(yaw)
    while yaw > 180 do yaw = yaw - 360 end
    while yaw < -180 do yaw = yaw + 360 end
    return yaw
end

function get_helikopter()
    local players = get_enemies(EntityList.GetPlayers())
    local eye_pos = EntityList.GetLocalPlayer():GetEyePosition()
    local lx, ly, lz = eye_pos.x, eye_pos.y, eye_pos.z
    local view = EngineClient.GetViewAngles()
    local view_x, view_y, roll = view.pitch, view.yaw, view.roll
     
    local bestenemy = nil
    local fov = 180

    for i = 1, #players do
        local enemy = players[i];
        local cur_e = enemy:GetProp("m_vecOrigin")
        local cur_fov = math.abs(normalize_yaw(calc_shit(lx - cur_e.x, ly - cur_e.y) - view_y + 180))
        if cur_fov < fov then
            fov = cur_fov
            bestenemy = enemy
        end
    end
    return bestenemy
end

local function rollanglesresolva(cmd)
    local local_player = get_localplayer()
    local weap = local_player:GetActiveWeapon()
    if not weap then return end
    if weap ~= nil then
        local weapon_id = weap:GetWeaponID()
    end
    local weapon_inaccuracy = 1/weap:GetInaccuracy(weap)

    if boolVars[27] == true and get_helikopter() or key5Vars[6] == true and get_helikopter() then
        local roll_target = get_helikopter()
        if not roll_target:IsAlive() then return end
        --print(roll_target)
        local weap_delay = (weapon_id == 9 or weapon_id == 40) and 0.15 or 0.0
        if roll_target and weap_delay and weap:GetProp("m_flNextPrimaryAttack") and GlobalVars.curtime and weap:GetProp("m_flNextPrimaryAttack") + weap_delay <= GlobalVars.curtime and local_player:GetProp("m_bIsScoped") and not is_in_air(local_player) then
            local eye_pos = local_player:GetEyePosition()
            local vec = roll_target:GetProp("m_vecOrigin") -- 离准星最近的玩家位置
            local head_vec = roll_target:GetHitboxCenter(0) -- 客户端接收到的,离准星最近的玩家的头部位置
            local pos = Vector.new(vec.x, vec.y, head_vec.z) -- 可能的真头位置
            local iffire = Cheat.FireBullet(local_player, eye_pos, pos) -- 预判伤害,不准确
            if iffire.damage >= intVars[20] then -- 如果伤害达到设定值则启用
                autostop(cmd) -- 这个我没怎么管,可能不生效,谁管他呢

                if weapon_inaccuracy>= intVars[22] then
                    local getaimpunch = local_player:GetProp("DT_BasePlayer", "m_aimPunchAngle") -- 不知道是什么的netvar,我没怎么研究,DA里面的,我直接套用了
                    local aimpunch = QAngle.new(getaimpunch.x, getaimpunch.y, 0.0)
                    local aim_angle = calc_angle(local_player:GetEyePosition(), pos)
                 
                    local pitch, yaw = aim_angle.pitch - aimpunch.pitch * 2, aim_angle.yaw - aimpunch.yaw * 2 -- 算好的angle
                    cmd.viewangles.pitch = pitch
                    cmd.viewangles.yaw = yaw
                    cmd.buttons = bit.bor(cmd.buttons, 1)
                end
            end
        end
    end
end

local dormantaa = false
function main(cmd)
    local players = EntityList.GetEntitiesByName("CCSPlayer")
    local weap = get_localplayer():GetActiveWeapon()
    if weap ~= nil then
        local weapon_id = weap:GetWeaponID()
    end
    if get_dormant_enemy() then
        dormantaa = true
    else
        dormantaa = false
    end
    if boolVars[4] == true and get_dormant_enemy() then
        local player = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
        local localplayer = player:GetPlayer()
        local dormant_target = players[get_dormant_enemy()]:GetPlayer()
        local weap_delay = (weapon_id == 9 or weapon_id == 40) and 0.15 or 0.0
        if dormant_target and weap_delay and weap:GetProp("m_flNextPrimaryAttack") and GlobalVars.curtime and weap:GetProp("m_flNextPrimaryAttack") + weap_delay <= GlobalVars.curtime and get_localplayer():GetProp("m_bIsScoped") and not is_in_air(get_localplayer()) then
            local bounds = dormant_target:GetRenderBounds(min, max)
            local pos = dormant_target:GetProp("m_vecOrigin") + Vector.new((min.x + max.x)/4, (min.y + max.y)/16, (min.z + max.z/2))
            if Cheat.FireBullet(localplayer, localplayer:GetEyePosition(), pos).damage >= intVars[9] then
                autostop(cmd)

                if 1 / weap:GetInaccuracy(weap) >= 100 then
                    local getaimpunch = get_localplayer():GetProp("DT_BasePlayer", "m_aimPunchAngle")
                    local aimpunch = QAngle.new(getaimpunch.x, getaimpunch.y, 0.0)
                    local aim_angle = calc_angle(get_localplayer():GetEyePosition(), pos)
                    cmd.viewangles.pitch = aim_angle.pitch - aimpunch.pitch * 2
                    cmd.viewangles.yaw = aim_angle.yaw - aimpunch.yaw * 2
                    cmd.buttons = bit.bor(cmd.buttons, 1)
                end
            end
        end
    end
end
local hit = Menu.FindVar("Aimbot", "Ragebot", "Accuracy", "Minimum Damage", "AutoSnipers")
local hitg = hit:Get()
addspeed = 0

local function dthp2()
if not boolVars[28] == true then return end
local all_players = EntityList.GetEntitiesByName("CCSPlayer")
    for i = 1, #all_players do
        local target = all_players[i]:GetPlayer()
        if target ~= EntityList.GetLocalPlayer() and not target:IsTeamMate() and target:GetProp("m_iHealth") > 0 then
            local localplayer = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
            local origin = localplayer:GetRenderOrigin()  
            local origin2 = target:GetRenderOrigin()
            local my_vec = Vector.new(origin.x, origin.y, origin.z)
            local dest = Vector.new(origin2.x, origin2.y, origin2.z)
            local length = my_vec:DistTo(dest)      
           
            local me = EntityList.GetClientEntity(EngineClient.GetLocalPlayer()):GetPlayer()      
            local localweap = me:GetActiveWeapon()
            weap = target:GetActiveWeapon()

                 local hp = target:GetProp('m_iHealth')
            if length < 1300 and weap ~= nil and hp > 0 and hp >= intVars[21] then
                hit:Set(math.floor(hp /2))
            else
                  hit:Set(hitg)
            end
        end
    end
end
local function dtaccuratexd()
    if boolVars[1] == true then
    Exploits.OverrideDoubleTapSpeed(intVars[1] + addspeed)
    end
    local correction = CVar.FindVar("cl_clock_correction")
    local correction2 = CVar.FindVar("sv_clockcorrection_msecs")
    if boolVars[12] == true then
        correction:SetInt(0)
        correction2:SetInt(20)
    elseif boolVars[12] == false then
        correction:SetInt(1)
        correction2:SetInt(35)
    end
    if boolVars[21] == true then
        if boolVars[23] == true and Menu.FindVar("Miscellaneous", "Main", "Movement", "Auto Peek"):GetBool() then
        addspeed = 2
        CVar.FindVar("sv_maxusrcmdprocessticks"):SetInt(20)
        elseif boolVars[23] == true and Menu.FindVar("Miscellaneous", "Main", "Movement", "Auto Peek"):GetBool() == false then
        addspeed = 0
        CVar.FindVar("sv_maxusrcmdprocessticks"):SetInt(16)
        else
            addspeed = 2
            CVar.FindVar("sv_maxusrcmdprocessticks"):SetInt(20)
        end
    else
        addspeed = 0
        CVar.FindVar("sv_maxusrcmdprocessticks"):SetInt(16)  
    end
end
animejszon = function(a, b, t)
    return a + (b - a) * t
end

animacjaxd1 = 0
animacjaxd2 = 0
animacjaxd3 = 0
animacjaxd4 = 0
animacjaxd5 = 0


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

    return delta
end

local function indica()
        local peek = Menu.FindVar("Miscellaneous", "Main","Movement", "Auto Peek" )
        local fdbind = Menu.FindVar("Aimbot", "Anti Aim", "Misc", "Fake Duck")
        local dt = Menu.FindVar("Aimbot", "Ragebot", "Exploits", "Double Tap")
        local hs = Menu.FindVar("Aimbot", "Ragebot", "Exploits", "Hide Shots")
    if not EngineClient.IsConnected() then return end
    local binds = Cheat.GetBinds()
    if AntiAim.GetInverterState() == false then
        invertstate = 'L'
    else
        invertstate = 'R'
    end
    if not EngineClient.IsConnected() then return end
    local b = (math.floor(math.sin(GlobalVars.realtime * 3 + 4) * 157 + 158)) / 1000 * 3.92
    local localplayer = get_localplayer()
local desyncdelta = math.min(math.abs(AntiAim.GetCurrentRealRotation() -  AntiAim.GetFakeRotation()) / 2, 60)
local ind_color = visualsakcentlel
local x = Vector2.new(920.0, 555)
local is_visible = Cheat.IsMenuVisible()
local ping = Menu.FindVar("Miscellaneous", "Main", "Other", "Fake Ping")
local menu_pos = Render.GetMenuPos()
    local localplayer = EntityList.GetClientEntity(EngineClient.GetLocalPlayer()):GetPlayer()
    local health = localplayer:GetProp("DT_BasePlayer", "m_iHealth")
    local plrscoped = localplayer:GetProp("m_bIsScoped")
    if boolVars[13] == true and plrscoped then
        CVar.FindVar("fov_cs_debug"):SetInt(90)
    elseif boolVars[13] == true and not plrscoped then
        CVar.FindVar("fov_cs_debug"):SetInt(90)
    end  
    if not EngineClient.IsConnected() then return end


if not localplayer or not localplayer:IsAlive() or dt:GetBool() then
    animacjaxd1 = animejszon(animacjaxd1, 1, 15 * GlobalVars.frametime)
else
    animacjaxd1 = animejszon(animacjaxd1, 0, 15 * GlobalVars.frametime)
end

if not localplayer or not localplayer:IsAlive() or fdbind:GetBool() then
    animacjaxd2 = animejszon(animacjaxd2, 1, 15 * GlobalVars.frametime)
else
    animacjaxd2 = animejszon(animacjaxd2, 0, 15 * GlobalVars.frametime)
end

if not localplayer or not localplayer:IsAlive() or hs:GetBool() then
    animacjaxd3 = animejszon(animacjaxd3, 1, 15 * GlobalVars.frametime)
else
    animacjaxd3 = animejszon(animacjaxd3, 0, 15 * GlobalVars.frametime)
end

if not localplayer or not localplayer:IsAlive() or peek:GetBool() then
    animacjaxd4 = animejszon(animacjaxd4, 1, 15 * GlobalVars.frametime)
else
    animacjaxd4 = animejszon(animacjaxd4, 0, 15 * GlobalVars.frametime)
end

if not localplayer or not localplayer:IsAlive() or ping:GetInt() > 1 then
    animacjaxd5 = animejszon(animacjaxd5, 1, 15 * GlobalVars.frametime)
else
    animacjaxd5 = animejszon(animacjaxd5, 0, 15 * GlobalVars.frametime)
end

local animacjadt = 10 * animacjaxd1
local animacjafd = 10 * animacjaxd2
local animacjahs = 10 * animacjaxd3
local animacjapeek = 10 * animacjaxd4
local animacjaping = 10 * animacjaxd5

if boolVars[14] == true then
    local damage = Menu.FindVar("Aimbot", "Ragebot", "Accuracy", "Minimum Damage"):GetInt()
    local dmg = '' .. damage
    if damage > 1 then
        Render.Text(dmg, Vector2.new(-955.0 + EngineClient.GetScreenSize().x ,-557 + EngineClient.GetScreenSize().y) , indicatoraccent, 10, smallestfont, (true))
    elseif damage < 1 then
        Render.Text("auto", Vector2.new(-955.0 + EngineClient.GetScreenSize().x ,-557 + EngineClient.GetScreenSize().y) , indicatoraccent, 10, smallestfont, (true))
    end
end
local invert = AntiAim.GetInverterState() == false
local manual = Menu.FindVar("Aimbot", "Anti Aim", "Main", "Yaw Base")
local x = EngineClient.GetScreenSize().x/2
local y = EngineClient.GetScreenSize().y/2

if boolVars[15] == true then
    local LPx = Vector2.new(x - 43, y + 9)
    local LPy = Vector2.new(x - 43, y - 9)
    local LPz = Vector2.new(x - 56, y)
    local RPx = Vector2.new(x + 43, y + 9)
    local RPy = Vector2.new(x + 43, y - 9)
    local RPz = Vector2.new(x + 56, y)
    Render.PolyFilled(manual:GetInt() == 2 and visualsakcentlel or Color.RGBA(25, 25, 25, 150), RPx, RPz, RPy)
    Render.PolyFilled(manual:GetInt() == 3 and visualsakcentlel or Color.RGBA(25, 25, 25, 150), LPx, LPz, LPy)
    Render.BoxFilled(Vector2.new(x - 40, y - 9),  Vector2.new(x - 42, y + 10), invert and Color.RGBA(25, 25, 25, 150) or indicatoraccent)
    Render.BoxFilled(Vector2.new(x + 40, y - 9),  Vector2.new(x + 42, y + 10), invert and indicatoraccent or Color.RGBA(25, 25, 25, 150))

end
end


local image_loaded = Render.LoadImage(Http.Get("https://www.iconsdb.com/icons/preview/black/time-8-xxl.png"), Vector2.new(13, 13))
   
local user = Render.LoadImage(Http.Get("https://www.iconsdb.com/icons/preview/black/contacts-xxl.png"), Vector2.new(13, 13))
local pingerxd = Render.LoadImage(Http.Get("https://www.iconsdb.com/icons/preview/black/rss-xxl.png"), Vector2.new(13, 13))
local fpserxd = Render.LoadImage(Http.Get("https://www.iconsdb.com/icons/preview/black/high-connection-xxl.png"), Vector2.new(13, 13))

local font = Render.InitFont("Verdana",12)

local frame_rate = 0.0
local function get_abs_fps()
frame_rate = 0.9 * frame_rate + (1.0 - 0.9) * GlobalVars.absoluteframetime
return math.floor((1.0 / frame_rate) + 0.5)
end
local function get_latency()
local netchann_info = g_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 function watermark()
  local textSize = 0
  local screen = EngineClient.GetScreenSize()
  local fps = get_abs_fps()
   
  if intVars[10] == 2 and EngineClient.IsInGame() or intVars[10] == 3  and EngineClient.IsInGame() then
  local ping = EngineClient.GetNetChannelInfo():GetLatency(0) * 1000
  ping = math.floor(ping + .5)
  local ticks = math.floor(1.0 / GlobalVars.interval_per_tick)
  local rightPadding = 20
  local var = screen.x - textSize - rightPadding
  local x = var - 10
  local y = 9
  local w = textSize + 20
  local alpha = math.min(math.floor(math.sin((GlobalVars.realtime % 3) * 4) * 125 + 200), 255)
  local h = 17
  local ip = ""
       
  if ( ping < 100 ) then  
    Render.Blur(Vector2.new(screen.x - 306,y+2),Vector2.new(screen.x - 10,h * 1.5 + 3))
    if intVars[10] == 2 then  
    Render.BoxFilled(Vector2.new(screen.x - 306,8),Vector2.new(screen.x - 10,11), visualsakcentlel)
    elseif intVars[10] == 3 then
    Render.GradientBoxFilled(Vector2.new(screen.x - 306,8),Vector2.new(screen.x - 153,11),Color.new(0/255, 72/255, 252/255, 255/255), Color.new(232/255, 52/255, 235/255, 255/255), Color.new(0/255, 72/255, 252/255, 255/255), Color.new(232/255, 52/255, 235/255, 255/255))
    Render.GradientBoxFilled(Vector2.new(screen.x - 153,8),Vector2.new(screen.x-10,11), Color.new(232/255, 52/255, 235/255, 255/255), Color.new(23/255, 255/255, 0/255, 255/255), Color.new(232/255, 52/255, 235/255, 255/255), Color.new(23/255, 255/255, 0/255, 255/255))
    end      
    Render.Box(Vector2.new(screen.x - 306,8),Vector2.new(screen.x - 10,11), Color.new(0.10,0.10,0.10, 1))      
    local nexttext = "   Champion  "
    Render.Text(nexttext, Vector2.new(screen.x - 305,13), Color.new(255 / 255, 255 / 255, 255 / 255, alpha / 255), 12, font)
    local wide = Render.CalcTextSize(nexttext, 12, font)
    var = var + wide.x
    local username = string.lower(Cheat.GetCheatUserName())
    nexttext = "  " .. username
    Render.Image(user, Vector2.new(screen.x - 235, 13), Vector2.new(13, 13))      
    Render.Text(nexttext, Vector2.new(screen.x - 225,13), Color.new(255,255,255), 12,font)
    wide = Render.CalcTextSize(nexttext, 12,font)
    var = var + wide.x
    if EngineClient.GetNetChannelInfo() == nil then
      ip = "loopback"
    else
      Render.Image(pingerxd, Vector2.new(screen.x - 170, 13), Vector2.new(13, 13))              
      nexttext = "             ".. ping .."ms"
      Render.Text(nexttext, Vector2.new(screen.x - 191,13), Color.new(255,255,255), 12,font)
      wide = Render.CalcTextSize(nexttext, 12,font)
      var = var + wide.x
      nexttext = " | ".. fps .."tick"      
      Render.Image(fpserxd, Vector2.new(screen.x - 121, 13), Vector2.new(13, 13))                      
      Render.Text("          " .. fps .. "", Vector2.new(screen.x - 135,13), Color.new(255,255,255), 12,font)
      wide = Render.CalcTextSize(nexttext, 12,font)
      var = var + wide.x
    end
    local local_time = ffi.new("SYSTEMTIME")
    ffi.C.GetLocalTime(local_time)
    Render.Image(image_loaded, Vector2.new(screen.x - 80, 13), Vector2.new(13, 13))      
    nexttext = "  " .. string.format('%02d:%02d:%02d', local_time.wHour, local_time.wMinute, local_time.wSecond)
    Render.Text(nexttext, Vector2.new(screen.x - 70,13), Color.new(255,255,255), 12,font)
    wide = Render.CalcTextSize(nexttext, 12,font)
    var = var + wide.x
    textSize = var - (screen.x - textSize - rightPadding)
  end
end
end
local Visuals_HoloX = 0
local Visuals_HoloY = 0


function register_draw()  
    local entity = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
    if not entity then return end
    local player = entity:GetPlayer()
    local hitbox = player:GetHitboxCenter(3)
    local world_stand =  Render.WorldToScreen(hitbox)
    if Menu.FindVar("Visuals", "View", "Thirdperson", "Enable Thirdperson"):GetBool() then
    Visuals_HoloX = lerp(Visuals_HoloX, world_stand.x+ intVars[46], GlobalVars.frametime * 8)
    Visuals_HoloY = lerp(Visuals_HoloY, world_stand.y + intVars[47], GlobalVars.frametime * 8)
    else
    Visuals_HoloX = intVars[46] + EngineClient.GetScreenSize().x / 3
    Visuals_HoloY = intVars[47] + EngineClient.GetScreenSize().y / 2
    end
    if boolVars[43] == true then
        if not quest(EngineClient.IsInGame())  then return end
        local body_yaw = get_desync()
         
            vars.anim_alpha_stand = lerp(vars.anim_alpha_stand, 1, GlobalVars.frametime * 22)
           
            local Add_Y;
   
            if Menu.FindVar("Aimbot", "Ragebot", "Exploits", "Double Tap"):GetBool() then
                Add_Y = 13
            else
                Add_Y = 0
            end
   
            Render.BoxFilled(Vector2.new(Visuals_HoloX, Visuals_HoloY), Vector2.new( 170 + Visuals_HoloX , (65 + Add_Y) + Visuals_HoloY), Color.RGBA(15, 15, 15, 100)) -- box
            Render.BoxFilled(Vector2.new(Visuals_HoloX, Visuals_HoloY), Vector2.new( 170 + Visuals_HoloX, 2 + Visuals_HoloY), akcentlel) -- line
           
   
            Render.Text("ANTI-AIMBOT DEBUG", Vector2.new(Visuals_HoloX + 7, Visuals_HoloY + 5), Color.new(1.0, 1.0, 1.0, 1.0), 11 , smallestfont, true)
   
            local f_text = string.format("FAKE (%.1f°)", tostring(body_yaw))
            Render.Text(f_text, Vector2.new(Visuals_HoloX + 13, Visuals_HoloY + 27), Color.RGBA(255, 255, 255, 255), 13, smallestfont)
   
            Render.Text("SP:", Vector2.new(Visuals_HoloX + 13, Visuals_HoloY + 48), Color.new(1.0, 1.0, 1.0, 1.0), 11, smallestfont, true)
   
            Render.BoxFilled(Vector2.new(Visuals_HoloX + 27, Visuals_HoloY + 59), Vector2.new(53 + Visuals_HoloX, 51 + Visuals_HoloY), Color.new(0, 0, 0, 0.3))
            Render.BoxFilled(Vector2.new(Visuals_HoloX + 61, Visuals_HoloY + 59), Vector2.new(87 + Visuals_HoloX, 51 + Visuals_HoloY), Color.new(0, 0, 0, 0.3))
           
            if ((AntiAim.GetCurrentRealRotation() - AntiAim.GetFakeRotation()) ~= nil) then
                Render.BoxFilled(Vector2.new(Visuals_HoloX + 28, Visuals_HoloY + 58), Vector2.new(30 + Visuals_HoloX + (body_yaw / 2.7), 52 + Visuals_HoloY), akcentlel)
            else if ((AntiAim.GetCurrentRealRotation() - AntiAim.GetFakeRotation()) < 0 and (AntiAim.GetCurrentRealRotation() - AntiAim.GetFakeRotation()) ~= nil) then
                Render.BoxFilled(Vector2.new(Visuals_HoloX + 61, Visuals_HoloY + 59), Vector2.new(87 + Visuals_HoloX, 51 + Visuals_HoloY), akcentlel)
            end
            end
   
            local realtime = GlobalVars.realtime % 3
            local alpha = math.floor(math.sin(realtime * 4) * (255 / 2 - 1) + 255 / 2)
   
            if Menu.FindVar("Aimbot", "Ragebot", "Exploits", "Double Tap"):GetBool() then
                Render.Text("SHIFTING TICKBASE", Vector2.new(Visuals_HoloX + 12, Visuals_HoloY + 62), Color.RGBA(255, 255, 255, alpha * vars.anim_alpha_stand), 11, smallestfont, true)      
            end
   
            local state_os = "OFF"
            local os_color = Color.RGBA(255, 0, 0, 255)
       
            if Menu.FindVar("Aimbot", "Ragebot", "Exploits", "Hide Shots"):GetBool() then
                state_os = "ON"
                os_color = Color.RGBA(0, 255, 0, 255)
            end
   
            Render.Text(state_os, Vector2.new(Visuals_HoloX + 140, Visuals_HoloY + 51 + (Add_Y - 2)), os_color, 11, smallestfont, true)      
   
            Render.Text("OSAA:", Vector2.new(Visuals_HoloX + 110, Visuals_HoloY + 51 + (Add_Y - 2)), Color.RGBA(255, 255, 255, 255), 11, smallestfont, true)      
    end
end


dynamic1 = 0
dynamicroll = 0

local function on_ground(e)
    local flags = e:GetProp("m_fFlags")

    if bit.band(flags, 1) == 0 then
        return false
    end

    return true
end


local function ExtendedDesynce(cmd)
    if not boolVars[16] then return end
    AntiAim.OverrideLBYOffset(math.random(-58,58))
    local me = EntityList.GetClientEntity(EngineClient.GetLocalPlayer()):GetPlayer()
    if me == nil then return end
    local local_player_index    = EngineClient:GetLocalPlayer()                  
    local local_player          = EntityList.GetClientEntity(local_player_index)
    local Menu_slow_walk = Menu.FindVar("Aimbot", "Anti Aim", "Misc", "Slow Walk")
    local speed = math.sqrt(local_player:GetProp("m_vecVelocity[0]") * local_player:GetProp("m_vecVelocity[0]") + local_player:GetProp("m_vecVelocity[1]") * local_player:GetProp("m_vecVelocity[1]"))
    if speed < 5 then
        if boolVars[17][1] == true then
            if (dynamicroll <= intVars[15]) then
                dynamic1 = 1
            end
            if (dynamicroll >= intVars[16]) then
                dynamic1 = 0
            end
            if dynamic1 == 1 then
                dynamicroll = dynamicroll + intVars[17]
            end
            if dynamic1 == 0 then
                dynamicroll = dynamicroll - intVars[17]
            end
            if intVars[14] == 1 then
                --print("static")
                cmd.viewangles.roll = AntiAim.GetInverterState() and (-intVars[11]) or (intVars[11])
            elseif intVars[14] == 2 then
                --print("dynamic")
                cmd.viewangles.roll = AntiAim.GetInverterState() and (-dynamicroll) or (dynamicroll)
            else
                --print("jitter")
                mathing = math.random(0,1)
                if mathing == 1 then
                cmd.viewangles.roll = AntiAim.GetInverterState() and (-intVars[12]) or (intVars[12])
                else
                cmd.viewangles.roll = AntiAim.GetInverterState() and (-intVars[13]) or (intVars[13])
                end
            end
        end
    elseif Menu_slow_walk:GetBool() then
        if boolVars[17][2] == true then
            if (dynamicroll <= intVars[15]) then
                dynamic1 = 1
            end
            if (dynamicroll >= intVars[16]) then
                dynamic1 = 0
            end
            if dynamic1 == 1 then
                dynamicroll = dynamicroll + intVars[17]
            end
            if dynamic1 == 0 then
                dynamicroll = dynamicroll - intVars[17]
            end
            if intVars[14] == 1 then
                --print("static")
                cmd.viewangles.roll = AntiAim.GetInverterState() and (-intVars[11]) or (intVars[11])
            elseif intVars[14] == 2 then
                --print("dynamic")
                cmd.viewangles.roll = AntiAim.GetInverterState() and (-dynamicroll) or (dynamicroll)
            else
                --print("jitter")
                mathing = math.random(0,1)
                if mathing == 1 then
                cmd.viewangles.roll = AntiAim.GetInverterState() and (-intVars[12]) or (intVars[12])
                else
                cmd.viewangles.roll = AntiAim.GetInverterState() and (-intVars[13]) or (intVars[13])
                end
            end
        end
   
    elseif not on_ground(me) then
        if boolVars[17][3] == true then
            if (dynamicroll <= intVars[15]) then
                dynamic1 = 1
            end
            if (dynamicroll >= intVars[16]) then
                dynamic1 = 0
            end
            if dynamic1 == 1 then
                dynamicroll = dynamicroll + intVars[17]
            end
            if dynamic1 == 0 then
                dynamicroll = dynamicroll - intVars[17]
            end
            if intVars[14] == 1 then
                --print("static")
                cmd.viewangles.roll = AntiAim.GetInverterState() and (-intVars[11]) or (intVars[11])
            elseif intVars[14] == 2 then
                --print("dynamic")
                cmd.viewangles.roll = AntiAim.GetInverterState() and (-dynamicroll) or (dynamicroll)
            else
                --print("jitter")
                mathing = math.random(0,1)
                if mathing == 1 then
                cmd.viewangles.roll = AntiAim.GetInverterState() and (-intVars[12]) or (intVars[12])
                else
                cmd.viewangles.roll = AntiAim.GetInverterState() and (-intVars[13]) or (intVars[13])
                end
            end
        end
    else
        if boolVars[17][4] == true then
            if (dynamicroll <= intVars[15]) then
                dynamic1 = 1
            end
            if (dynamicroll >= intVars[16]) then
                dynamic1 = 0
            end
            if dynamic1 == 1 then
                dynamicroll = dynamicroll + intVars[17]
            end
            if dynamic1 == 0 then
                dynamicroll = dynamicroll - intVars[17]
            end
            if intVars[14] == 1 then
                --print("static")
                cmd.viewangles.roll = AntiAim.GetInverterState() and (-intVars[11]) or (intVars[11])
            elseif intVars[14] == 2 then
                --print("dynamic")
                cmd.viewangles.roll = AntiAim.GetInverterState() and (-dynamicroll) or (dynamicroll)
            else
                --print("jitter")
                mathing = math.random(0,1)
                if mathing == 1 then
                cmd.viewangles.roll = AntiAim.GetInverterState() and (-intVars[12]) or (intVars[12])
                else
                cmd.viewangles.roll = AntiAim.GetInverterState() and (-intVars[13]) or (intVars[13])
                end
            end
        end
    end
end

local function legbreakerxd()
    if boolVars[20] == true then
        leg:Set(math.random(1,2))
    end
end

local function in_air(player)
    if (EngineClient.IsConnected()) then
        if EntityList.GetClientEntity(EngineClient.GetLocalPlayer()):GetProp("m_iHealth") > 0 then
            if bit.band(EntityList.GetLocalPlayer():GetProp("DT_BasePlayer", "m_fFlags"), 1) == 0 then
              return true
            end
            return false
        end
    end
end
local loadkfg = matkazablotnego
local ground_ticks, end_time = 1, 0
local function pitch_zero_on_landdd()
    if legitAA_work == true then return end
    if (EngineClient.IsConnected()) then


        if EntityList.GetClientEntity(EngineClient.GetLocalPlayer()):GetProp("m_iHealth") > 0 then
            if boolVars[18] == true then
                if not in_air(EntityList.GetClientEntity(EngineClient.GetLocalPlayer())) then
                ground_ticks = ground_ticks + 1
                else
                ground_ticks = 0
                end_time = GlobalVars.curtime + 0.5
                end

                if ground_ticks >= 1.5 and end_time >= GlobalVars.curtime then
                AntiAim.OverridePitch(0)
                end
            end
        end
    end
end

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 = { 'CH4MP10N' }

  -- [0] = Champion


  for i = 1, #tag do
    table.insert(ret, tag:sub(1, i))
  end

  -- [0] = Champion
  for i = #ret - 1, 1, -1 do
    table.insert(ret, ret[i])
  end

  return ret
end

 
local tag2 = build_tag('Champion')

local function clatngaxd()
    if boolVars[19] == false  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 / 25, #tag2 + 1) + 1)

        set_clantag(tag2[iter])
end

yaw_add = Menu.FindVar("Aimbot", "Anti Aim", "Main", "Yaw Add")
pitch = Menu.FindVar("Aimbot", "Anti Aim", "Main", "Pitch")
yaw_type = Menu.FindVar("Aimbot", "Anti Aim", "Main", "Yaw Base")
yaw_modifier = Menu.FindVar("Aimbot", "Anti Aim", "Main", "Yaw Modifier")
dsy_modifier = Menu.FindVar("Aimbot", "Anti Aim", "Main", "Modifier Degree")
desync_onshot = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Desync On Shot")
fake_options = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Fake Options")
desync_freestand = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Freestanding Desync")
slowwalk = Menu.FindVar("Aimbot", "Anti Aim", "Misc", "Slow Walk")
lby_mode = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "LBY Mode")
leftlimit = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Left Limit")
rightlimit = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Right Limit")
lag_limit = Menu.FindVar("Aimbot", "Anti Aim", "Fake Lag", "Limit")
lag_enable = Menu.FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag")
leg = Menu.FindVar("Aimbot", "Anti Aim", "Misc", "Leg Movement")
peek = Menu.FindVar("Miscellaneous", "Main","Movement", "Auto Peek" )

local function get_velocity(player)
    x = player:GetProp("DT_BasePlayer", "m_vecVelocity[0]")
    y = player:GetProp("DT_BasePlayer", "m_vecVelocity[1]")
    z = player:GetProp("DT_BasePlayer", "m_vecVelocity[2]")
    if x == nil then return end
    return math.sqrt(x*x + y*y + z*z)
end
yaw_flick = 0
local function antiaim_xd()
    if legitAA_work == true then return end
    if intVars[18] == 6 then return end
    if key5Vars[18] == true then return end
    local switching = intVars[32] + intVars[31]
    local localplayer = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
    local speed = math.floor(get_velocity(localplayer))
    if speed <= intVars[33] then
    if boolVars[38] == true then
        yaw_flick = yaw_flick + 1
        if yaw_flick > intVars[32] and AntiAim.GetInverterState() then
            yaw_add:SetInt(-intVars[30])
        elseif yaw_flick > intVars[32] and not AntiAim.GetInverterState() then
            yaw_add:SetInt(intVars[30])
        end
        if yaw_flick > switching then
            yaw_add:SetInt(0)
            yaw_flick = 0
        end
    end
    end
    if not boolVars[38] == true then
        yaw_flick = 0  
    end
    if speed > intVars[33] then
        yaw_flick = 0  
    end

    local yawbase2 = 2

    if intVars[18] == 2 then
        if yaw_flick <= 0 then
        yaw_add:SetInt(0)
        end
        fake_options:SetBool(1,true)
        fake_options:SetBool(2,false)
        fake_options:SetBool(3,false)
        fake_options:SetBool(4,false)
        dsy_modifier:SetInt(3)
        if not antibrute_ == true then
        leftlimit:SetInt(44)
        rightlimit:SetInt(49)
        end
    elseif intVars[18] == 3 then
        if yaw_flick <= 0 then
        yaw_add:SetInt(math.random(-1,2))
        end
        fake_options:SetBool(2,true)
        fake_options:SetBool(1,false)
        fake_options:SetBool(3,false)
        fake_options:SetBool(4,false)
        dsy_modifier:SetInt(math.random(13,21))
        if not antibrute_ == true then
        leftlimit:SetInt(math.random(40,50))
        rightlimit:SetInt(math.random(40,50))
        end
    elseif intVars[18] == 4 then
        if yaw_flick <= 0 then
        yaw_add:SetInt(math.random(-3,3))
        end
        if not antibrute_ == true then
        leftlimit:SetInt(math.random(40,60))
        rightlimit:SetInt(math.random(40,60))
        end
        fake_options:SetBool(2,true)
        fake_options:SetBool(1,false)
        fake_options:SetBool(3,false)
        fake_options:SetBool(4,false)
        yaw_modifier:SetInt(1)
        dsy_modifier:SetInt(math.random(69,81))
    elseif intVars[18] == 5 then
        if yaw_flick <= 0 then
        yaw_add:SetInt(math.random(3,0))
        end
        fake_options:SetBool(2,true)
        fake_options:SetBool(1,true)
        fake_options:SetBool(3,false)
        fake_options:SetBool(4,false)
        dsy_modifier:SetInt(math.random(-21,21))
        if not antibrute_ == true then
            leftlimit:SetInt(50)
            rightlimit:SetInt(55)
        end
    end
    if intVars[18] == 7 then
        if speed <= 2 then
        if yaw_flick <= 0 then
        yaw_add:SetInt(math.random(1,-2))
        end
        fake_options:SetBool(2,false)
        fake_options:SetBool(1,true)
        fake_options:SetBool(3,false)
        fake_options:SetBool(4,false)
        if boolVars[37] == true then
        dsy_modifier:SetInt(math.random(5,9))
        else
        dsy_modifier:SetInt(5)
        end
        if not antibrute_ == true then
            leftlimit:SetInt(54)
            rightlimit:SetInt(54)
        end
        end
        if speed > 71 then
        if yaw_flick <= 0 then
        yaw_add:SetInt(math.random(5,-5))
        end
        fake_options:SetBool(2,true)
        fake_options:SetBool(1,false)
        fake_options:SetBool(3,false)
        fake_options:SetBool(4,false)
        if boolVars[37] == true then
        dsy_modifier:SetInt(math.random(79,91))
        else
        dsy_modifier:SetInt(76)
        end
        if not antibrute_ == true then
            leftlimit:SetInt(math.random(40,50))
            rightlimit:SetInt(math.random(40,50))
        end
        end
        if Menu.FindVar("Aimbot", "Anti Aim", "Misc", "Slow Walk"):GetBool() then
        if yaw_flick <= 0 then
        yaw_add:SetInt(0)
        end
        fake_options:SetBool(2,true)
        fake_options:SetBool(1,true)
        fake_options:SetBool(3,false)
        fake_options:SetBool(4,false)
        if boolVars[37] == true then
        dsy_modifier:SetInt(math.random(71,78))
        else
        dsy_modifier:SetInt(57)
        end
        if not antibrute_ == true then
            leftlimit:SetInt(50)
            rightlimit:SetInt(50)
        end
        end
    end
end


local function Anti_aim()
    if legitAA_work == true then return end
    if intVars[18] == 6  then

        local localplayer = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
        local speed = math.floor(get_velocity(localplayer))
        local duck_amount = localplayer:GetProp("DT_BasePlayer", "m_flDuckAmount")

        local pitch2 = 2
        local yawbase2 = 2
        local yawadd2 = 0
        local yawmodifire2 = 0
        local yawmodifiredegre2 = 0
        local leftlimit2 = 1
        local rightlimit2 = 1
        local lbymode2 = 0
        local freestand2 = 0
        local onshot2 = 0
        if speed < 2 and not is_in_air(get_localplayer()) and duck_amount == 0 and not peek:GetBool() then
            pitch2 = intVars[19][1][1]
            if boolVars[21] == false and boolVars[22] == false and boolVars[23] == false then
                yawbase2 = intVars[19][1][2]
            end
            if boolVars[21] == true or key5Vars[3] == true then
                yawbase2 = 4
            end
            if boolVars[22] == true or key5Vars[4] == true then
                yawbase2 = 3
            end
            if boolVars[23] == true or key5Vars[5] == true then
                yawbase2 = 2
            end
            if yaw_flick <= 0 then
            yawadd2 = intVars[19][1][3]
            end
            yawmodifire2 = intVars[19][1][4]
            yawmodifiredegre2 = intVars[19][1][5]
            leftlimit2 = intVars[19][1][6]
            rightlimit2 = intVars[19][1][7]
            lbymode2 = intVars[19][1][8]
            freestand2 = intVars[19][1][9]
            onshot2 = intVars[19][1][10]
        elseif speed > 2 and speed < 79 and not is_in_air(get_localplayer()) and duck_amount == 0 and not peek:GetBool() then
            pitch2 = intVars[19][2][1]
            if boolVars[21] == false and boolVars[22] == false and boolVars[23] == false then
                yawbase2 = intVars[19][2][2]
            end
            if boolVars[21] == true or key5Vars[3] == true then
                yawbase2 = 4
            end
            if boolVars[22] == true or key5Vars[4] == true then
                yawbase2 = 3
            end
            if boolVars[23] == true or key5Vars[5] == true then
                yawbase2 = 2
            end
            if yaw_flick <= 0 then
            yawadd2 = intVars[19][2][3]
            end
            yawmodifire2 = intVars[19][2][4]
            yawmodifiredegre2 = intVars[19][2][5]
            lbymode2 = intVars[19][2][8]
            freestand2 = intVars[19][2][9]
            lbymode2 = intVars[19][2][8]
            freestand2 = intVars[19][2][9]
            onshot2 = intVars[19][2][10]
        elseif speed > 79 and not is_in_air(get_localplayer()) and duck_amount == 0 and not peek:GetBool() then
            pitch2 = intVars[19][3][1]
            if boolVars[21] == false and boolVars[22] == false and boolVars[23] == false then
                yawbase2 = intVars[19][3][2]
            end
            if boolVars[21] == true or key5Vars[3] == true then
                yawbase2 = 4
            end
            if boolVars[22] == true or key5Vars[4] == true then
                yawbase2 = 3
            end
            if boolVars[23] == true or key5Vars[5] == true then
                yawbase2 = 2
            end
            if yaw_flick <= 0 then
            yawadd2 = intVars[19][3][3]
            end
            yawmodifire2 = intVars[19][3][4]
            yawmodifiredegre2 = intVars[19][2][5]
            lbymode2 = intVars[19][3][8]
            freestand2 = intVars[19][3][9]
            lbymode2 = intVars[19][3][8]
            freestand2 = intVars[19][3][9]
            onshot2 = intVars[19][3][10]
        elseif is_in_air(get_localplayer()) and not peek:GetBool() then
            pitch2 = intVars[19][4][1]
            if boolVars[21] == false and boolVars[22] == false and boolVars[23] == false then
                yawbase2 = intVars[19][4][2]
            end
            if boolVars[21] == true or key5Vars[3] == true then
                yawbase2 = 4
            end
            if boolVars[22] == true or key5Vars[4] == true then
                yawbase2 = 3
            end
            if boolVars[23] == true or key5Vars[5] == true then
                yawbase2 = 2
            end
            if yaw_flick <= 0 then
            yawadd2 = intVars[19][4][3]
            end
            yawmodifire2 = intVars[19][4][4]
            yawmodifiredegre2 = intVars[19][4][5]
            lbymode2 = intVars[19][4][8]
            freestand2 = intVars[19][4][9]
            lbymode2 = intVars[19][4][8]
            freestand2 = intVars[19][4][9]
            onshot2 = intVars[19][4][10]
        elseif duck_amount > 0.01 and not peek:GetBool() then
            pitch2 = intVars[19][5][1]
            if boolVars[21] == false and boolVars[22] == false and boolVars[23] == false then
                yawbase2 = intVars[19][5][2]
            end
            if boolVars[21] == true or key5Vars[3] == true then
                yawbase2 = 4
            end
            if boolVars[22] == true or key5Vars[4] == true then
                yawbase2 = 3
            end
            if boolVars[23] == true or key5Vars[5] == true then
                yawbase2 = 2
            end
            if yaw_flick <= 0 then
            yawadd2 = intVars[19][5][3]
            end
            yawmodifire2 = intVars[19][5][4]
            yawmodifiredegre2 = intVars[19][5][5]
            lbymode2 = intVars[19][5][8]
            freestand2 = intVars[19][5][9]
            lbymode2 = intVars[19][5][8]
            freestand2 = intVars[19][5][9]
            onshot2 = intVars[19][5][10]
        elseif peek:GetBool() then
            pitch2 = intVars[19][6][1]
            if boolVars[21] == false and boolVars[22] == false and boolVars[23] == false then
                yawbase2 = intVars[19][6][2]
            end
            if boolVars[21] == true or key5Vars[3] == true then
                yawbase2 = 4
            end
            if boolVars[22] == true or key5Vars[4] == true then
                yawbase2 = 3
            end
            if boolVars[23] == true or key5Vars[5] == true then
                yawbase2 = 2
            end
            if yaw_flick <= 0 then
            yawadd2 = intVars[19][6][3]
            end
            yawmodifire2 = intVars[19][6][4]
            yawmodifiredegre2 = intVars[19][6][5]
            lbymode2 = intVars[19][6][8]
            freestand2 = intVars[19][6][9]
            lbymode2 = intVars[19][6][8]
            freestand2 = intVars[19][6][9]
            onshot2 = intVars[19][6][10]
        end

        pitch:Set(pitch2-1)
        yaw_type:Set(yawbase2-1)
        yaw_add:Set(yawadd2)
        yaw_modifier:Set(yawmodifire2-1)
        dsy_modifier:Set(yawmodifiredegre2)
        leftlimit:Set(leftlimit2)
        rightlimit:Set(rightlimit2)
        lby_mode:Set(lbymode2-1)
        desync_freestand:Set(freestand2-1)
        desync_onshot:Set(onshot2-1)
    end

    end

function setmovement(xz,yz,cmd)
    local local_player = EntityList.GetLocalPlayer()
    local_player = local_player:GetPlayer()
    local current_pos = local_player:GetProp("m_vecOrigin")
    local yaw = EngineClient:GetViewAngles().yaw
    local vector_forward = {
        x = current_pos.x - xz,
        y = current_pos.y - yz,
    }  
    local velocity = {
        x = -(vector_forward.x * math.cos(yaw / 180 * math.pi) + vector_forward.y * math.sin(yaw / 180 * math.pi)),
        y = vector_forward.y * math.cos(yaw / 180 * math.pi) - vector_forward.x * math.sin(yaw / 180 * math.pi),
    }
    cmd.forwardmove = velocity.x * 15
    cmd.sidemove = velocity.y * 15
end;
local function quickpik(cmd)
 
    local localplayer = EntityList.GetLocalPlayer()
    local forw = bit.band(cmd.buttons, 8) == 8
    local back = bit.band(cmd.buttons, 16) == 16
    local righ = bit.band(cmd.buttons, 512) == 512
    local left = bit.band(cmd.buttons, 1024) == 1024
 
    local apeek = Menu.FindVar("Miscellaneous", "Main", "Movement", "Auto Peek"):Get()
    local originalpos = localplayer:GetProp("m_vecOrigin")
    local OnGround = bit.band(localplayer:GetProp("m_hGroundEntity"), 1);
 
    if OnGround == 1 then
        air = true
    else
        air = false
    end
    if apeek == false then
        curpos = localplayer:GetProp("m_vecOrigin");
    end
    if boolVars[24] == true then
        if apeek == true then
            if forw == false and back == false and left == false and righ == false and curpos.x ~= originalpos.x and curpos.y ~= originalpos.y and air == false then
                setmovement(curpos.x,curpos.y, cmd);
            end
        end
    end
end


enemy_in_radius = false

Main = function()

your_origin = EntityList.GetLocalPlayer():GetRenderOrigin()
      if legitAA_work == true then return end
    if EngineClient.IsConnected() then
        if boolVars[30] == true then
            local all_players = EntityList.GetEntitiesByName("CCSPlayer")  
              for i = 1, #all_players do
            local target = all_players[i]:GetPlayer()                                
                if target ~= EntityList.GetLocalPlayer() and not target:IsTeamMate() and target:GetProp("m_iHealth") > 0 then  


                    your_pos = Vector.new(your_origin.x, your_origin.y, your_origin.z)          

                    enemy_origin = target:GetRenderOrigin()                  
                    enemy_pos = Vector.new(enemy_origin.x, enemy_origin.y, enemy_origin.z)


                    length = your_pos:DistTo(enemy_pos)              
                    weap = target:GetActiveWeapon()  


                        if length <= intVars[43] and weap ~= nil and weap:IsKnife() then
                    enemy_in_radius = true      
                    AntiAim.OverrideYawOffset(180)          
                    AntiAim.OverridePitch(0)
                        else
                        enemy_in_radius = false                  
                    end
                end      
            end
        end
    end              
end
local misses = 0
Cheat.RegisterCallback("ragebot_shot", function(shot)
    if shot.reason == 1 or shot.reason == 2 or shot.reason == 3 or shot.reason == 4 then
        misses = misses + 1
    end
end)
local fast_trigger = false
local function ragebot()
    if boolVars[34] == true then
    if misses >= intVars[29] then
    enemy = get_closest_enemy()
    if enemy then
    RageBot.ForceHitboxSafety(enemy:EntIndex(), 0)
    RageBot.ForceHitboxSafety(enemy:EntIndex(), 1)
    RageBot.ForceHitboxSafety(enemy:EntIndex(), 2)
    RageBot.ForceHitboxSafety(enemy:EntIndex(), 3)
    RageBot.ForceHitboxSafety(enemy:EntIndex(), 4)
    RageBot.ForceHitboxSafety(enemy:EntIndex(), 5)
    RageBot.ForceHitboxSafety(enemy:EntIndex(), 6)
    RageBot.ForceHitboxSafety(enemy:EntIndex(), 7)
    RageBot.ForceHitboxSafety(enemy:EntIndex(), 8)
    RageBot.ForceHitboxSafety(enemy:EntIndex(), 9)
    RageBot.ForceHitboxSafety(enemy:EntIndex(), 10)
    RageBot.ForceHitboxSafety(enemy:EntIndex(), 11)
    RageBot.ForceHitboxSafety(enemy:EntIndex(), 12)
    RageBot.ForceHitboxSafety(enemy:EntIndex(), 13)
    RageBot.ForceHitboxSafety(enemy:EntIndex(), 14)
    RageBot.ForceHitboxSafety(enemy:EntIndex(), 15)
    RageBot.ForceHitboxSafety(enemy:EntIndex(), 16)
    RageBot.ForceHitboxSafety(enemy:EntIndex(), 17)
    RageBot.ForceHitboxSafety(enemy:EntIndex(), 18)
    end
    end
    end
    if boolVars[32] == true then
        local entity = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
        local player = entity:GetPlayer()
        local active_weapon = player:GetActiveWeapon()
        if active_weapon == nil then return end
        local enemy = get_closest_enemy()
        local weapon_classid = active_weapon:GetWeaponID()
        if weapon_classid == 38 or weapon_classid == 11 and boolVars[9][1] == true then
            auto = true
        else
            auto = false
        end
        if weapon_classid == 40 and boolVars[9][3] == true then
            scout = true
        else
            scout = false
        end
        if weapon_classid == 9 and boolVars[9][2] == true then
            awp = true
        else
            awp = false
        end
        if enemy then
        if auto == true then
            local inaccuarcy = active_weapon:GetInaccuracy(active_weapon)
            if inaccuarcy <= 0.001501 then
                fast_trigger = true
                RageBot.OverrideHitchance(enemy:EntIndex(), 0)
            elseif inaccuarcy <= 0.002001 then
                fast_trigger = true
                RageBot.OverrideHitchance(enemy:EntIndex(), 0)
            end
        end
        if scout == true then
            local inaccuarcy = active_weapon:GetInaccuracy(active_weapon)
            if inaccuarcy <= 0.002801 then
                fast_trigger = true
                RageBot.OverrideHitchance(enemy:EntIndex(), 0)
            elseif inaccuarcy <= 0.003001 then
                fast_trigger = true
                RageBot.OverrideHitchance(enemy:EntIndex(), 0)
            end
        end
        if awp == true then
            local inaccuarcy = active_weapon:GetInaccuracy(active_weapon)
            if inaccuarcy <= 0.001501 then
                fast_trigger = true
                RageBot.OverrideHitchance(enemy:EntIndex(), 0)
            elseif inaccuarcy <= 0.002001 then
                fast_trigger = true
                RageBot.OverrideHitchance(enemy:EntIndex(), 0)
            end
        end
    end
    end
    if fast_trigger == true then return end
    if not boolVars[31] == true then return end
    local me = get_localplayer()
    if not me then return end
    if is_in_air(me) then
        Menu.FindVar("Aimbot", "Ragebot", "Accuracy", "Hit Chance", "SSG-08"):SetInt(intVars[25])
    else
        Menu.FindVar("Aimbot", "Ragebot", "Accuracy", "Hit Chance", "SSG-08"):SetInt(intVars[27])
    end
    if not me:GetProp("m_bIsScoped") then
        Menu.FindVar("Aimbot", "Ragebot", "Accuracy", "Hit Chance", "AutoSnipers"):SetInt(intVars[26])
    elseif me:GetProp("m_bIsScoped") then
        Menu.FindVar("Aimbot", "Ragebot", "Accuracy", "Hit Chance", "AutoSnipers"):SetInt(intVars[28])
    end
end

local function VectorLerp(vecSource, vecDestination, flPercentage)
    return vecSource + (vecDestination - vecSource) * flPercentage
end

local function NormalizeYaw(flYaw)
    while flYaw > 180 do
        flYaw = flYaw - 360
    end
    while flYaw < -180 do
        flYaw = flYaw + 360
    end
    return flYaw
end
local reference_pitch = Menu.FindVar("Aimbot", "Anti Aim", "Main", "Pitch")
local reference_yawbase = Menu.FindVar("Aimbot", "Anti Aim", "Main", "Yaw Base")
local vecTraceStart = Vector.new()

local function edgeyaw(UserCmd)
    if not boolVars[35] == true then
        return
    end
    local iLocalPlayerEntIndex = EngineClient.GetLocalPlayer()
    if not iLocalPlayerEntIndex then
        return
    end

    local pLocalPlayerEntity = EntityList.GetClientEntity(iLocalPlayerEntIndex)
    local pLocalPlayer = pLocalPlayerEntity:GetPlayer()

    local flVelocityZ = pLocalPlayer:GetProp('m_vecVelocity[2]')
    --    local bInJump = bit.band(UserCmd.buttons, 2) == 2
    if flVelocityZ ~= 0 or bInJump then
        return
    end

    if ClientState.m_choked_commands == 0 then
        vecTraceStart = pLocalPlayer:GetEyePosition()
    end

    local aTraceEnd = {}

    local angViewAngles = EngineClient.GetViewAngles()
    for flYaw = 18, 360, 18 do
        flYaw = NormalizeYaw(flYaw)

        local angEdge = QAngle.new(0, flYaw, 0)

        local vecTraceEnd = vecTraceStart + Cheat.AngleToForward(angEdge) * 0x60

        local traceInfo = EngineTrace.TraceRay(vecTraceStart, vecTraceEnd, pLocalPlayerEntity, 0x200400B)

        local flFraction = traceInfo.fraction
        local pEntity = traceInfo.hit_entity

        if pEntity and pEntity:GetClassName() == 'CWorld' and flFraction < 0.3 then
            aTraceEnd[#aTraceEnd + 1] = {
                vecTraceEnd = traceInfo.endpos,
                flYaw = flYaw
            }
        end
    end

    table.sort(aTraceEnd, function(a, b)
        return a.flYaw < b.flYaw
    end)

    local angEdge

    if #aTraceEnd >= 2 then
        local vecTraceCenter = VectorLerp(aTraceEnd[1].vecTraceEnd, aTraceEnd[#aTraceEnd].vecTraceEnd, 0.5)

        angEdge = Cheat.VectorToAngle(vecTraceStart - vecTraceCenter)
    end

    if angEdge then
        local flYaw = angViewAngles.yaw
        local flEdgeYaw = angEdge.yaw

        local flDiff = NormalizeYaw(flEdgeYaw - flYaw)

        if math.abs(flDiff) < 90 then
            flDiff = 0
            flYaw = NormalizeYaw(flEdgeYaw + 180)
        end

        local flNewYaw = -flYaw

        flNewYaw = NormalizeYaw(flNewYaw + flEdgeYaw + 180)

        flNewYaw = NormalizeYaw(flNewYaw + flDiff)

        AntiAim.OverrideYawOffset(flNewYaw)
    end
end

local start_curtime = GlobalVars.curtime


local old_pitch = reference_pitch:Get()

local override_legitAA = true

Cheat.RegisterCallback("pre_prediction", function(cmd)
    rollanglesresolva(cmd)
    edgeyaw(usercmd)
    if not boolVars[34] == true then return end
    local local_player = EntityList.GetLocalPlayer()
    local legitAA_work = true

    if not local_player then return end

    local local_player_teamnum = local_player:GetProp("m_iTeamNum")

    for _, entities in pairs({EntityList.GetEntitiesByName("CPlantedC4"), EntityList.GetEntitiesByName("CHostage")}) do
        for _, entity in pairs(entities) do

            local local_player_origin = local_player:GetRenderOrigin()
            local entity_origin = entity:GetRenderOrigin()

            local entity_get_distance = local_player_origin:DistTo(entity_origin)
            local distance = entity_get_distance < 65 and entity_get_distance > 1

            if distance and local_player_teamnum == 3 then
                legitAA_work = false
            end
        end
    end

    if local_player_teamnum == 2 and local_player:GetProp("m_bInBombZone") and local_player:GetActiveWeapon():GetWeaponID() == 49 then
        legitAA_work = false
    end

    if bit.band(cmd.buttons, 32) == 32 and legitAA_work then
        if GlobalVars.curtime - start_curtime > 0.02 then

            cmd.buttons = bit.band(cmd.buttons, bit.bnot(32))

            if override_legitAA then
                old_pitch = reference_pitch:Get()
                override_legitAA = false
            end

            reference_pitch:Set(0)
            reference_yawbase:Set(boolVars[33] and 4 or 1)
            AntiAim.OverrideYawOffset(180 - Menu.FindVar("Aimbot", "Anti Aim", "Main", "Yaw Add"):Get())
        end
    else
        if (not override_legitAA) then
            reference_pitch:Set(old_pitch)
            override_legitAA = true
        end

        start_curtime = GlobalVars.curtime
    end
end)


local lp = EntityList:GetLocalPlayer()

local function sw(cmd)
    local slowwalk_speed = intVars[44]
    local slowwalk_ref = Menu.FindVar("Aimbot", "Anti Aim", "Misc", "Slow Walk")
    if not boolVars[39] == true or not slowwalk_ref:GetBool() then
        return
    end
    local lp = EntityList.GetLocalPlayer()
    if not lp then return end

    local min_speed = math.sqrt((cmd.forwardmove * cmd.forwardmove) + (cmd.sidemove * cmd.sidemove))
    if min_speed <= 0 then
        return
    end

    if lp:GetPlayer():GetProp("m_fFlags") == 262 or lp:GetPlayer():GetProp("m_fFlags") == 263 then
        slowwalk_speed = slowwalk_speed * 2.94117647
    end

    if min_speed <= slowwalk_speed then
        return
    end

    local speed_factor = slowwalk_speed / min_speed
    cmd.forwardmove = cmd.forwardmove * speed_factor
    cmd.sidemove = cmd.sidemove * speed_factor
end

function C_BasePlayer:CanHit()
    local Localplayer = EntityList.GetLocalPlayer()
    local TraceInfo = Cheat.FireBullet(self, self:GetEyePosition(), Localplayer:GetEyePosition())

    if (TraceInfo.damage > 0 and ((TraceInfo.trace.hit_entity and TraceInfo.trace.hit_entity:GetPlayer() == Localplayer) or false)) then
        return true
    end

    return false
end

function C_BasePlayer:GetFlag(shift)
    return bit.band(self:GetProp("m_fFlags"), bit.lshift(1, shift)) ~= 0
end

function EntityList.GetEnemies()
    local Enemies = {}

    for _, Player in pairs(EntityList.GetPlayers()) do
        if (not Player:IsTeamMate()) then
            table.insert(Enemies, Player:GetPlayer())
        end
    end

    return Enemies
end

local function teleportationed()
    if (boolVars[45] == true and Menu.FindVar("Aimbot", "Ragebot", "Exploits", "Double Tap"):GetBool()) then
        local Allow_Work = false
        local Need_Teleport = false

        local Localplayer = EntityList.GetLocalPlayer()
        local Weapon = Localplayer:GetActiveWeapon()
        local WeaponID = Weapon:GetWeaponID()

        Allow_Work = true

        if (Allow_Work) then
            for _, Enemy in pairs(EntityList.GetEnemies()) do
                if (not Enemy:IsDormant() and Enemy:CanHit()) then
                    Need_Teleport = true
                end
            end
        end

        if (Need_Teleport and not Localplayer:GetFlag(0)) then
            Exploits.ForceTeleport()
        end
    end
end

local function selection()
    local enemy = get_closest_enemy()
    local players = get_enemies(EntityList.GetPlayers())
    for i = 1, #players do
        local sad = players[i];
        local hp = sad:GetProp('m_iHealth')
        if intVars[44] == 2 then
            RageBot.SetTargetPriority(sad:EntIndex(), 200-hp)
        end
        if intVars[44] == 3 then
            RageBot.SetTargetPriority(sad:EntIndex(), 100+hp)
        end
    end
    if intVars[44] == 4 then
        RageBot.SetTargetPriority(enemy:EntIndex(), 200)
    end
end

local function ragebot2()
    local enemy = get_closest_enemy()
    if not enemy then return end
    local entity = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
    if not entity then return end
    local player = entity:GetPlayer()
    local hp = enemy:GetProp('m_iHealth')
    local active_weapon = player:GetActiveWeapon()
    if active_weapon == nil then return end
    local weapon_classid = active_weapon:GetWeaponID()
    local binds = Cheat.GetBinds()
    for i = 1, #binds do
    if boolVars[44][4] == true then
        if weapon_classid == 64 then
            if binds[i]:GetName() == "Minimum Damage" and binds[i]:IsActive() then return end
            if hp < 81 then
                Menu.FindVar("Aimbot", "Ragebot", "Accuracy", "Minimum Damage", "R8 Revolver"):SetInt(hp)
            else
                Menu.FindVar("Aimbot", "Ragebot", "Accuracy", "Minimum Damage", "R8 Revolver"):SetInt(81)
            end
        end
    end
    if boolVars[44][1] == true then
        if weapon_classid == 38 or weapon_classid == 11 then
            if not boolVars[28] == true then
                if binds[i]:GetName() == "Minimum Damage" and binds[i]:IsActive() then return end
                if hp < 50 then
                    Menu.FindVar("Aimbot", "Ragebot", "Accuracy", "Minimum Damage", "AutoSnipers"):SetInt(hp)
                else
                    Menu.FindVar("Aimbot", "Ragebot", "Accuracy", "Minimum Damage", "AutoSnipers"):SetInt(44)
                end
            end
        end
    end
    if boolVars[44][2] == true then
        if weapon_classid == 40 then
            if binds[i]:GetName() == "Minimum Damage" and binds[i]:IsActive() then return end
            if hp < 86 then
                Menu.FindVar("Aimbot", "Ragebot", "Accuracy", "Minimum Damage", "SSG-08"):SetInt(hp)
            else
                Menu.FindVar("Aimbot", "Ragebot", "Accuracy", "Minimum Damage", "SSG-08"):SetInt(100)
            end
        end
    end
    if boolVars[44][3] == true then
        if weapon_classid == 9 then
            if binds[i]:GetName() == "Minimum Damage" and binds[i]:IsActive() then return end
            if hp < 98 then
                Menu.FindVar("Aimbot", "Ragebot", "Accuracy", "Minimum Damage", "AWP"):SetInt(hp+3)
            else
                Menu.FindVar("Aimbot", "Ragebot", "Accuracy", "Minimum Damage", "AWP"):SetInt(101)
            end
        end
    end
    end
    if not boolVars[40] == true then return end
    if weapon_classid == 38 or weapon_classid == 11 then
        auto = true
    else
        auto = false
    end
    if weapon_classid == 40 then
        scout = true
    else
        scout = false
    end
    if scout == true then
        if hp >= 87 and hp <= 93 then
            RageBot.SetHitboxPriority(enemy:EntIndex(), 3, 150)
        elseif hp >= 71 and hp <= 86 then
            RageBot.SetHitboxPriority(enemy:EntIndex(), 4, 150)
            RageBot.SetHitboxPriority(enemy:EntIndex(), 5, 150)
            RageBot.SetHitboxPriority(enemy:EntIndex(), 6, 150)
        elseif hp <= 71 then
            RageBot.SetHitboxPriority(enemy:EntIndex(), 2, 150)
            RageBot.SetHitboxPriority(enemy:EntIndex(), 6, 200)
        else
            RageBot.SetHitboxPriority(enemy:EntIndex(), 0, 120)
        end
    end
    if auto == true then
        if hp >= 50 and hp <= 80 then
            RageBot.SetHitboxPriority(enemy:EntIndex(), 4, 150)
            RageBot.SetHitboxPriority(enemy:EntIndex(), 5, 150)
            RageBot.SetHitboxPriority(enemy:EntIndex(), 6, 150)
        elseif hp <= 50 then
            RageBot.SetHitboxPriority(enemy:EntIndex(), 2, 250)
            RageBot.SetHitboxPriority(enemy:EntIndex(), 1, 50)
            RageBot.SetHitboxPriority(enemy:EntIndex(), 0, 50)
        else
            RageBot.SetHitboxPriority(enemy:EntIndex(), 0, 120)
        end
    end
end
ticks = 0
local function ticks_exploit()
    if boolVars[47] == true then      
        ticks = ticks + 1
        CVar.FindVar("net_fakelag"):SetInt(intVars[50])
        if ticks > 1 and ticks < 8 then
            ClientState.m_command_ack = 3 + ticks
        elseif ticks > 8 and ticks < 12 then
            ClientState.m_command_ack = 4 + ticks        
        else
            ClientState.m_command_ack = 15 - ticks
        end
        if ticks >= 16 then
            ticks = 0
        end
    else
        CVar.FindVar("net_fakelag"):SetInt(0)
    end
end

local function indicatorsylel()
    local entity = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
    if not entity then return end
    local delta = math.abs(normalize_yaw(AntiAim.GetCurrentRealRotation() % 360 - AntiAim.GetFakeRotation() % 360)) / 2
    local finaldelta = math.floor(delta)
    local player = entity:GetPlayer()
    add_ylel = 0
    local b = (math.floor(math.sin(GlobalVars.realtime * 3 + 4 + intVars[4] / 100) * 157 + 158 + intVars[4] / 80)) / 1000 * 3.92    
    if player and boolVars[41] == true then
        Render.Text("Champion", Vector2.new(EngineClient.GetScreenSize().x/2-36, EngineClient.GetScreenSize().y/2+20), Color.new(1.0, 1.0, 1.0, 1.0), 14,smallestfont)
        Render.Text("°"..finaldelta.."", Vector2.new(EngineClient.GetScreenSize().x/2+26, EngineClient.GetScreenSize().y/2+20), visualsakcentlel, 14,smallestfont)
        if AntiAim.GetInverterState() == false then
        Render.GradientBoxFilled(Vector2.new(EngineClient.GetScreenSize().x/2-41, EngineClient.GetScreenSize().y/2+40), Vector2.new(EngineClient.GetScreenSize().x/2+5, EngineClient.GetScreenSize().y/2+43), Color.new(0, 0, 0, 0), visualsakcentlel, Color.new(0, 0, 0, 0), visualsakcentlel)
        Render.GradientBoxFilled(Vector2.new(EngineClient.GetScreenSize().x/2+5, EngineClient.GetScreenSize().y/2+40), Vector2.new(EngineClient.GetScreenSize().x/2+41, EngineClient.GetScreenSize().y/2+43), Color.new(1, 1, 1, 1.0), Color.new(0, 0, 0, 0), Color.new(1, 1, 1, 1.0), Color.new(0, 0, 0, 0))
        else
        Render.GradientBoxFilled(Vector2.new(EngineClient.GetScreenSize().x/2-41, EngineClient.GetScreenSize().y/2+40), Vector2.new(EngineClient.GetScreenSize().x/2+5, EngineClient.GetScreenSize().y/2+43), Color.new(0, 0, 0, 0), Color.new(1, 1, 1, 1.0), Color.new(0, 0, 0, 0), Color.new(1, 1, 1, 1.0))
        Render.GradientBoxFilled(Vector2.new(EngineClient.GetScreenSize().x/2+5, EngineClient.GetScreenSize().y/2+40), Vector2.new(EngineClient.GetScreenSize().x/2+41, EngineClient.GetScreenSize().y/2+43), visualsakcentlel, Color.new(0, 0, 0, 0), visualsakcentlel, Color.new(0, 0, 0, 0))
        end  
    end
    if boolVars[41] == true then
        if dt_ref:GetBool() then
            add_ylel = add_ylel + 12
            if Exploits.GetCharge() >= 1 then
            Render.Text("DT", Vector2.new(EngineClient.GetScreenSize().x/2-4, EngineClient.GetScreenSize().y/2+31+add_ylel), visualsakcentlel, 14,smallestfont)
            else
            Render.Text("DT", Vector2.new(EngineClient.GetScreenSize().x/2-4, EngineClient.GetScreenSize().y/2+31+add_ylel), Color.new(1.0, 1.0, 1.0, 1.0), 14,smallestfont)          
            end
        end
        if autopeek_ref:GetBool() then
            add_ylel = add_ylel + 12
            Render.Text("PEEK", Vector2.new(EngineClient.GetScreenSize().x/2-12, EngineClient.GetScreenSize().y/2+31+add_ylel), Color.new(1.0, 1.0, 1.0, 1.0), 14,smallestfont)
        end
        if hs_ref:GetBool() then
            if boolVars[5] == true then
                alpha = b
            else
                alpha = 1
            end
            add_ylel = add_ylel + 12
            Render.Text("HS", Vector2.new(EngineClient.GetScreenSize().x/2-4, EngineClient.GetScreenSize().y/2+31+add_ylel), Color.new(1.0, 1.0, 1.0, alpha), 14,smallestfont)
        end
        if Menu.FindVar("Aimbot", "Anti Aim", "Misc", "Fake Duck"):GetBool() then
            add_ylel = add_ylel + 12
            Render.Text("DUCK", Vector2.new(EngineClient.GetScreenSize().x/2-12, EngineClient.GetScreenSize().y/2+31+add_ylel), Color.new(1.0, 1.0, 1.0, 1.0), 14,smallestfont)
        end
        if shot_time + 2 > GlobalVars.curtime and boolVars[29] == true then                      
            add_ylel = add_ylel + 12
            Render.Text("BRUTE", Vector2.new(EngineClient.GetScreenSize().x/2-16, EngineClient.GetScreenSize().y/2+31+add_ylel), Color.new(1.0, 1.0, 1.0, 1.0), 14,smallestfont)
        end
    end
    if shot_time + 2 > GlobalVars.curtime and boolVars[29] == true and boolVars[42] == true then
        render.box("[ CHAMPION ] Activated antibrute",45,1)
    end
end

local math_lib = {
    clamp = function(val, lower, upper)
        if lower > upper then lower, upper = upper, lower end
        return math.max(lower, math.min(upper, val))
    end
}
local lua = {
    color = Color.RGBA(157, 162, 255, 255),
    font = Render.InitFont('Verdana', 11,{'r'}),
    screen = EngineClient.GetScreenSize(),
    logs = {
        stuff = {},
        num = 0,
        reason = {
            [1] = 'unknown',
            [2] = 'spread',
            [3] = 'occlusion',
            [4] = 'prediction error'
        },  
        hitgroups = {
            [0] = "generic",
            [1] = "head",
            [2] = "chest",
            [3] = "stomach",
            [4] = "left arm",
            [5] = "right arm",
            [6] = "left leg",
            [7] = "right leg",
            [10] = "gear"
        }
    }
}


Cheat.RegisterCallback('draw',function()
    lua.color = colorpicker:Get()
    for i, log in ipairs(lua.logs.stuff) do
        render.box(log.text,i*45,255)
        if log.time + 5 < GlobalVars.realtime then table.remove(lua.logs.stuff,i) end
    end
end)
Cheat.RegisterCallback('registered_shot',function(shot)
    if not boolVars[42] == true then return end
    lua.logs.num = lua.logs.num + 1
    if shot.reason == 0 then
        table.insert(lua.logs.stuff,{text = '[ CHAMPION ] Hit ' .. EntityList.GetClientEntity(shot.target_index):GetPlayer():GetName() .. "'s in " .. lua.logs.hitgroups[math_lib.clamp(shot.hitgroup,0,10)] .. ' for ' .. shot.damage .. ' damage [spread: ' .. string.format('%.3f°',shot.spread_degree) .. '] [hitchance:' .. shot.hitchance ..' | history:' .. shot.backtrack ..']',time = GlobalVars.realtime})
        print('[ CHAMPION ] Hit ' .. EntityList.GetClientEntity(shot.target_index):GetPlayer():GetName() .. "'s in " .. lua.logs.hitgroups[math_lib.clamp(shot.hitgroup,0,10)] .. ' for ' .. shot.damage .. ' damage [spread: ' .. string.format('%.3f°',shot.spread_degree) .. '] [hitchance:' .. shot.hitchance ..' | history:' .. shot.backtrack ..']')
    else
        table.insert(lua.logs.stuff,{text = '[ CHAMPION ] Missed shot in ' .. EntityList.GetClientEntity(shot.target_index):GetPlayer():GetName() .. "'s " .. lua.logs.hitgroups[math_lib.clamp(shot.wanted_hitgroup,0,10)] .. ' due to ' .. lua.logs.reason[shot.reason] .. ' [spread: ' .. string.format('%.3f°',shot.spread_degree) .. '] [hitchance:' .. shot.hitchance ..' | history:' .. shot.backtrack ..']',time = GlobalVars.realtime})
        print('[ CHAMPION ] Missed shot in ' .. EntityList.GetClientEntity(shot.target_index):GetPlayer():GetName() .. "'s " .. lua.logs.hitgroups[math_lib.clamp(shot.wanted_hitgroup,0,10)] .. ' due to ' .. lua.logs.reason[shot.reason] .. ' [spread: ' .. string.format('%.3f°',shot.spread_degree) .. '] [hitchance:' .. shot.hitchance ..' | history: '.. shot.backtrack ..']')
    end
end)
   

Cheat.RegisterCallback("draw", function()
    menu()
    export()
    register_draw()
    indicatorsylel()
    savecfg()
    import()
    loadcfg()
    clatngaxd()
    indica()
    watermark()
end)

Cheat.RegisterCallback("prediction", function(cmd)
    fakelag()
    main(cmd)
    selection()
    ticks_exploit()
    teleportationed()
    Main()
    sexbrute()
    ExtendedDesynce(cmd)
    dthp2()
    ragebot2()
    Anti_aim()
    antiaim_xd()
    quickpik(cmd)
    ragebot()
    scanning()
    pitch_zero_on_landdd()
    dtaccuratexd()
    legbreakerxd()
end)

Cheat.RegisterCallback("registered_shot", function()
    shotlogging()
end)

Cheat.RegisterCallback("createmove", function(cmd)
    fakelag()
    sw(cmd)
    selection()
    ticks_exploit()
    ragebot2()
    ragebot()
end)
 
nikogda nikogda
Пользователь
Статус
Оффлайн
Регистрация
29 Окт 2018
Сообщения
303
Реакции[?]
99
Поинты[?]
0
Ахахахах. Подозрительно похожий ник
 
Забаненный
Статус
Оффлайн
Регистрация
20 Фев 2022
Сообщения
147
Реакции[?]
35
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ужас
 
Сверху Снизу