LUA скрипт [NL] rifk7 script aka убийца акидтеч

ойойойоойой яйца из трусов вывалились
Пользователь
Статус
Оффлайн
Регистрация
10 Мар 2019
Сообщения
108
Реакции[?]
58
Поинты[?]
5K
сурс старый и не полностью зафикшен под ласт апи (воркает ток визуальная часть и то крашит)
p.s. я не ебу кто автор этого скрипта но он явно гений
Безымянный.png
code:
local ffi = require 'ffi'
-- local variables for API functions. any changes to the line below will be lost on re-generation
AntiAim_GetCurrentRealRotation, AntiAim_GetInverterState, AntiAim_OverrideInverter, AntiAim_OverrideLimit, bit_band, bit_lshift, Cheat_AddNotify, Cheat_GetBinds, Cheat_GetCheatUserName, Cheat_GetMousePos, Cheat_IsKeyDown, Cheat_IsMenuVisible, Cheat_RegisterCallback, Color_new, Color_RGBA, EngineClient_ExecuteClientCmd, EngineClient_GetNetChannelInfo, EngineClient_GetScreenSize, EngineClient_GetViewAngles, EngineClient_IsConnected, EngineClient_IsInGame, EntityList_GetClientEntity, EntityList_GetEntitiesByClassID, EntityList_GetLocalPlayer, EntityList_GetPlayerForUserID, EntityList_GetPlayerFromHandle, EntityList_GetPlayers, Exploits_GetCharge, Exploits_OverrideDoubleTapSpeed, math_abs, math_atan2, math_cos, math_deg, math_floor, math_max, math_min, math_sin, Menu_Button, Menu_ColorEdit, Menu_Combo, Menu_FindVar, Menu_MultiCombo, Menu_SliderInt, Menu_Switch, Menu_Text, Utils_PatternScan, Utils_RandomInt, pairs, Panorama_Open, Render_Box, Render_BoxFilled, Render_CalcTextSize, Render_Circle, Render_GradientBoxFilled, Render_InitFont, Render_PolyFilled, Render_Text, string_sub, tostring, Vector2_new, print, string_format, table_insert, table_remove, ipairs, Vector_new, EngineClient_GetLocalPlayer, EntityList_GetEntitiesByName, math_pi, QAngle_new, Cheat_FireBullet, math_sqrt, bit_bor, ffi_cdef, ffi_typeof, ffi_cast, EngineClient_GetGameDirectory, string_gsub, ffi_C, ffi_string, RageBot_OverrideMinDamage, math_ceil, Menu_SwitchColor, string_lower, Utils_CreateInterface, CVar_FindVar, table_concat, AntiAim_GetFakeRotation, ffi_new, EntityList_GetClientEntityFromHandle, string_find, Render_LoadImage, ffi_copy, AntiAim_OverrideYawOffset, Render_WorldToScreen, Render_Blur, Panorama_LoadString, ffi_sizeof, string_char, Render_Circle3DFilled = AntiAim.GetCurrentRealRotation, AntiAim.GetInverterState, AntiAim.OverrideInverter, AntiAim.OverrideLimit, bit.band, bit.lshift, Cheat.AddNotify, Cheat.GetBinds, Cheat.GetCheatUserName, Cheat.GetMousePos, Cheat.IsKeyDown, Cheat.IsMenuVisible, Cheat.RegisterCallback, Color.new, Color.RGBA, EngineClient.ExecuteClientCmd, EngineClient.GetNetChannelInfo, EngineClient.GetScreenSize, EngineClient.GetViewAngles, EngineClient.IsConnected, EngineClient.IsInGame, EntityList.GetClientEntity, EntityList.GetEntitiesByClassID, EntityList.GetLocalPlayer, EntityList.GetPlayerForUserID, EntityList.GetPlayerFromHandle, EntityList.GetPlayers, Exploits.GetCharge, Exploits.OverrideDoubleTapSpeed, math.abs, math.atan2, math.cos, math.deg, math.floor, math.max, math.min, math.sin, Menu.Button, Menu.ColorEdit, Menu.Combo, Menu.FindVar, Menu.MultiCombo, Menu.SliderInt, Menu.Switch, Menu.Text, Utils.PatternScan, Utils.RandomInt, pairs, Panorama.Open, Render.Box, Render.BoxFilled, Render.CalcTextSize, Render.Circle, Render.GradientBoxFilled, Render.InitFont, Render.PolyFilled, Render.Text, string.sub, tostring, Vector2.new, print, string.format, table.insert, table.remove, ipairs, Vector.new, EngineClient.GetLocalPlayer, EntityList.GetEntitiesByName, math.pi, QAngle.new, Cheat.FireBullet, math.sqrt, bit.bor, ffi.cdef, ffi.typeof, ffi.cast, EngineClient.GetGameDirectory, string.gsub, ffi.C, ffi.string, RageBot.OverrideMinDamage, math.ceil, Menu.SwitchColor, string.lower, Utils.CreateInterface, CVar.FindVar, table.concat, AntiAim.GetFakeRotation, ffi.new, EntityList.GetClientEntityFromHandle, string.find, Render.LoadImage, ffi.copy, AntiAim.OverrideYawOffset, Render.WorldToScreen, Render.Blur, Panorama.LoadString, ffi.sizeof, string.char, Render.Circle3DFilled

Clipboard = {}
ffi.cdef[[
typedef void*(__thiscall* getnetchannel_t)(void*); // engineclient 78
typedef unsigned short WORD;

typedef int(__thiscall* get_clipboard_text_length)(void*);
typedef void(__thiscall* set_clipboard_text)(void*, const char*, int);
typedef void(__thiscall* get_clipboard_text)(void*, int, const char*, int);

bool CreateDirectoryA(const char* lpPathName, void* lpSecurityAttributes);
bool DeleteUrlCacheEntryA(const char* lpszUrlName);
void* __stdcall URLDownloadToFileA(void* LPUNKNOWN, const char* LPCSTR, const char* LPCSTR2, int a, int LPBINDSTATUSCALLBACK);
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*, ...);
void* GetProcAddress(void* hModule, const char* lpProcName);
void* GetModuleHandleA(const char* lpModuleName);

int       CreateDirectoryA(const char*, void*);
void*     CreateFileA(const char*, uintptr_t, uintptr_t, void*, uintptr_t, uintptr_t, void*);
uintptr_t GetFileSize(void*, uintptr_t*);
int       ReadFile(void*, void*, uintptr_t, uintptr_t*, void*);
int       WriteFile(void*, const void*, uintptr_t, uintptr_t*, void*);
int       CloseHandle(void*);
typedef float*(__thiscall* bound)(void*);
typedef struct
{
  float x;
  float y;
  float z;
} Vector_t;
int VirtualProtect(void* lpAddress, unsigned long dwSize, unsigned long flNewProtect, unsigned long* lpflOldProtect);
void* VirtualAlloc(void* lpAddress, unsigned long dwSize, unsigned long  flAllocationType, unsigned long flProtect);
int VirtualFree(void* lpAddress, unsigned long dwSize, unsigned long dwFreeType);
typedef uintptr_t (__thiscall* GetClientEntity_4242425_t)(void*, int);

typedef struct
{
  char    pad0[0x60]; // 0x00
  void* pEntity; // 0x60
  void* pActiveWeapon; // 0x64
  void* pLastActiveWeapon; // 0x68
  float        flLastUpdateTime; // 0x6C
  int            iLastUpdateFrame; // 0x70
  float        flLastUpdateIncrement; // 0x74
  float        flEyeYaw; // 0x78
  float        flEyePitch; // 0x7C
  float        flGoalFeetYaw; // 0x80
  float        flLastFeetYaw; // 0x84
  float        flMoveYaw; // 0x88
  float        flLastMoveYaw; // 0x8C // changes when moving/jumping/hitting ground
  float        flLeanAmount; // 0x90
  char         pad1[0x4]; // 0x94
  float        flFeetCycle; // 0x98 0 to 1
  float        flMoveWeight; // 0x9C 0 to 1
  float        flMoveWeightSmoothed; // 0xA0
  float        flDuckAmount; // 0xA4
  float        flHitGroundCycle; // 0xA8
  float        flRecrouchWeight; // 0xAC
  Vector_t        vecOrigin; // 0xB0
  Vector_t        vecLastOrigin;// 0xBC
  Vector_t        vecVelocity; // 0xC8
  Vector_t        vecVelocityNormalized; // 0xD4
  Vector_t        vecVelocityNormalizedNonZero; // 0xE0
  float        flVelocityLenght2D; // 0xEC
  float        flJumpFallVelocity; // 0xF0
  float        flSpeedNormalized; // 0xF4 // clamped velocity from 0 to 1
  float        flRunningSpeed; // 0xF8
  float        flDuckingSpeed; // 0xFC
  float        flDurationMoving; // 0x100
  float        flDurationStill; // 0x104
  bool        bOnGround; // 0x108
  bool        bHitGroundAnimation; // 0x109
  char    pad2[0x2]; // 0x10A
  float        flNextLowerBodyYawUpdateTime; // 0x10C
  float        flDurationInAir; // 0x110
  float        flLeftGroundHeight; // 0x114
  float        flHitGroundWeight; // 0x118 // from 0 to 1, is 1 when standing
  float        flWalkToRunTransition; // 0x11C // from 0 to 1, doesnt change when walking or crouching, only running
  char    pad3[0x4]; // 0x120
  float        flAffectedFraction; // 0x124 // affected while jumping and running, or when just jumping, 0 to 1
  char    pad4[0x208]; // 0x128
  float        flMinBodyYaw; // 0x330
  float        flMaxBodyYaw; // 0x334
  float        flMinPitch; //0x338
  float        flMaxPitch; // 0x33C
  int            iAnimsetVersion; // 0x340
} CCSGOPlayerAnimationState_534535_t;

]]


local font = Render.InitFont("Verdana", 20)
local font2 = Render.InitFont("Verdana", 18)
local font3 = Render.InitFont("Verdana", 18)
local font4 = Render.InitFont("Verdana", 24)


local owvis = false
local sorted = false
local autostrafed = 0
local fontak = Render.InitFont("Tahoma", 16) -- Copperplate Gothic Bold change update LUA custom FONT
local image_size = Vector2.new(746 / 5, 1070 / 5)

local logs = {}
local timeout = 0
local mathhypot = function(a,b)
    return math.sqrt(a*a+b*b)
end
local noti = false




local url = "https://i.imgur.com/GWBA9MG.png"
local bytes = Http.Get(url)
local onewayimage = Render.LoadImage(bytes, image_size)



function Split(s, delimiter)
    result = {};
    for match in (s..delimiter):gmatch("(.-)"..delimiter) do
        table.insert(result, match);
    end
    return result;
end


local onewaylocations = {
    {"de_mirage", "Palace Entrance", "Fake duck + E", 15, {-32.827205657958984, -1747.707763671875, -116.18266296386719}, {-13.562880516052246, -80.47711944580078, 0}, "Oneway"},
    {"de_mirage", "Palace Entrace", "Crouch + E", 25, {146.87937927246094, -2078.0126953125, 9.615781784057617}, {-0.2739872932434082, -108.96994018554688, 0}, "Oneway"},
    {"de_mirage", "Sniper's Nest", "Crouch + E (manual)", 40, {-886.25830078125, -1317.399658203125, -120.41223907470703}, {-0.3445321321487427, -177.3930206298828, 0}, "Oneway"},
    {"de_mirage", "Cat Box", "Stand ", 10, {-691.8399658203125, -885.2897338867188, -182.1551055908203}, {-1.4627931118011475, 102.77088165283203, 0}, "Oneway"},
    {"de_mirage", "Connector", "Stand ", 1, {-758.4989013671875, -1321.30224609375, -108.56095123291016}, {10.404932975769043, 82.45069122314453, 0}, "Oneway"},
    {"de_mirage", "Cat", "Fake duck ", 10, {-1495.3671875, -1112.000732421875, -183.45028686523438}, {-2.77838134765625, 38.17058563232422, 0}, "Oneway"},
    {"de_mirage", "Apartments", "Fake duck ", 0, {-2336.7314453125, 766.5013427734375, -79.1664810180664}, {-5.943861484527588, -2.0283021926879883, 0}, "Oneway"},
    {"de_mirage", "Cat", "Fake duck ", 0, {-394.3824768066406, -796.3460693359375, -216.0263214111328}, {-5.173882484436035, 122.90838623046875, 0}, "Oneway"},
    {"de_mirage", "T Stairs", "Stand ", 25, {275.092529296875, 316.94354248046875, -201.4618377685547}, {0.7233693599700928, 11.497645378112793, 0}, "Oneway"},
    {"de_mirage", "Top Mid", "Stand ", 35, {219.89126586914062, 877.2789306640625, -76.8647232055664}, {2.8979110717773438, -90.38306427001953, 0}, "Oneway"},
    {"de_mirage", "House Stairs / Top Mid Connector", "Fake duck ", 32, {454.9155578613281, 852.4118041992188, -53.246543884277344}, {16.369403839111328, -44.87099838256836, 0}, "Oneway"},
    {"de_mirage", "Underpass Stairs", "Fake duck ", 10, {-1264.1064453125, 218.20901489257812, -120.45449829101562}, {12.757319450378418, 27.84868621826172, 0}, "Oneway"},
    {"de_mirage", "Underpass Stairs", "Stand ", 15, {-1124.922119140625, 310.01190185546875, -100.71343994140625}, {29.21480369567871, 42.90019226074219, 0}, "Wallbang"},
    {"de_mirage", "Market Entrace", "Fake duck ", 0, {-1705.237548828125, -1220.2938232421875, -207.29591369628906}, {-7.482339859008789, 79.5807113647461, 0}, "Oneway"},
    {"de_mirage", "Apartment Entrance", "Stand ", 12, {-374.2903137207031, 779.552978515625, -20.803316116333008}, {1.6386109590530396, -161.68849182128906, 0}, "Oneway"},
    {"de_mirage", "Underpass Stairs", "Crouch ", 12, {-1101.185791015625, 522.3583984375, -38.548126220703125}, {80.03816223144531, -51.8855094909668, 0}, "Oneway"},
    {"de_mirage", "Right Side Connector", "Stand ", 10, {-842.7730102539062, 32.43463134765625, -108.64161682128906}, {1.2841607332229614, -85.02303314208984, 0}, "Oneway"},
    {"de_mirage", "Palace Entrance", "Fake duck ", 0, {-811.739013671875, -1145.87060546875, -72.66464233398438}, {-2.2234721183776855, -50.907833099365234, 0}, "Oneway"},
    {"de_mirage", "CT Stairs", "Stand ", 20, {-1495.1767578125, -1588.8564453125, -201.6099395751953}, {-0.707923412322998, -79.56673431396484, 0}, "Oneway"},
    {"de_mirage", "CT Spawn", "Stand ", 1, {-1722.5516357421875, -680.75244140625, -108.86699676513672}, {3.074936866760254, -86.70063781738281, 0}, "Wallbang"},
    {"de_mirage", "Market Entrace", "Stand (AWP)", 10, {-2231.71142578125, 32.56330490112305, -108.5659408569336}, {-0.22803455591201782, -47.783348083496094, 0}, "Wallbang"},
    {"de_mirage", "A Ramp", "Fake duck ", 0, {-291.80877685546875, -2112.17333984375, -53.190345764160156}, {7.508554935455322, 48.7481803894043, 0}, "Oneway"},
    {"de_mirage", "Palace/A Ramp Connector", "Fake duck + E", 0, {1127.9307861328125, 228.2334747314453, -185.51644897460938}, {-1.6344425678253174, -89.02660369873047, 0}, "ESP Oneway"},
    {"de_mirage", "Apartments + House", "Fake duck + E", 0, {-477.98028564453125, 492.88311767578125, -99.00080871582031}, {-0.6445350646972656, 89.8587417602539, 0}, "Oneway"},
    {"de_mirage", "Ramp", "Crouch ", 0, {780.37841796875, -1550.7978515625, -60.35479736328125}, {18.644933700561523, -176.00025939941406, 0}, "Oneway"},
    {"de_mirage", "House exit", "Stand", 0, {-859.4331665039062, 614.7947387695312, -14.041431427001953}, {2.2666337490081787, 7.958107948303223, 0}, "Oneway"},
    {"de_mirage", "Apartment entrance", "Stand (AWP)", 0, {-1843.001220703125, 488.68048095703125, -101.81539916992188}, {-2.849693775177002, 3.4349939823150635, 0}, "Oneway"},
    {"de_mirage", "B Van", "Fake duck ", 0, {-2259.607421875, 677.5836791992188, 7.429899215698242}, {5.68641996383667, -71.17919158935547, 0}, "Oneway"},
    {"de_mirage", "Palace", "Stand (manual shoot/ESP) ", 0, {-1506.1005859375, -990.6868896484375, -149.39236450195312}, {-3.874444007873535, -38.0708122253418, 0}, "Wallbang"},
    {"de_mirage", "Top Mid", "Stand", 0, {-266.930573, -366.495056, -103.172424}, {1.882086, 19.124743, 0}, "Oneway"},
    {"de_mirage", "Balcony", "Stand ", 1, {462.96588134765625, -2084.01904296875, 18.9892520904541}, {1.6673067808151245, 177.59693908691406, 0}, "Wallbang"},
    {"de_dust2", "T Spawn", "Fake duck ", 0, {-1828.306884765625, -455.19976806640625, 141.17587280273438}, {-2.199988603591919, -17.8001766204834, 0}, "Oneway"},
    {"de_dust2", "Tunnels", "Fake duck + E", 0, {-2071.30908203125, 2895.8076171875, 82.59713745117188}, {0.7149654626846313, -83.99018859863281, 0}, "Oneway"},
    {"de_dust2", "Tunnels Exit", "Crouch ", 0, {-776.18408203125, 2555.6904296875, -25.649532318115234}, {-4.512523174285889, -147.3076629638672, 0}, "Wallbang"},
    {"de_dust2", "Mid/Cat", "Fake duck ", 0, {-210.51968383789062, 542.5650634765625, 47.2431755065918}, {5.387450218200684, 100.62740325927734, 0}, "Oneway"},
    {"de_dust2", "Long Doors / Blue", "Fake duck ", 25, {1299.95654296875, 620.3975219726562, -3.8381288051605225}, {1.5557122230529785, 150.635986328125, 0}, "Oneway"},
    {"de_dust2", "A Site / Long", "Fake duck ", 0, {1528.8955078125, 505.183837890625, -49.267723083496094}, {-3.854454517364502, 99.73228454589844, 0}, "Oneway"},
    {"de_dust2", "A Site", "Fake duck (Long Plant)", 0, {1570.482421875, 461.5287170410156, -63.220176696777344}, {-5.327244758605957, 99.6102294921875, 0}, "Oneway"},
    {"de_dust2", "B Doors", "Crouch ", 0, {16.597061157226562, 2311.9716796875, 17.10267448425293}, {-0.5667411088943481, -177.3401641845703, 0}, "Wallbang"},
    {"de_dust2", "Long Cross / Ramp", "Fake duck ", 0, {493.2771911621094, 2613.61572265625, 143.1537322998047}, {5.055543422698975, -37.76759338378906, 0}, "Oneway"},
    {"de_dust2", "Long Doors", "Stand ", 1, {1372.70068359375, 1358.381103515625, 50.24076843261719}, {-0.30388620495796204, -139.5752716064453, 0}, "Wallbang"},
    {"de_dust2", "Long Doors Box", "Stand ", 1, {530.4532470703125, 826.2880249023438, 62.459720611572266}, {0.7473396062850952, -50.05582046508789, 0}, "Wallbang"},
    {"de_dust2", "Outside Long House", "Stand ", 10, {554.1951293945312, 353.6593017578125, 69.35932159423828}, {2.23449444770813, -145.07130432128906, 0}, "Oneway"},
    {"de_dust2", "Top Mid", "Stand ", 10, {654.1134033203125, 297.8545227050781, 59.560081481933594}, {0.6505045294761658, -179.7573699951172, 0}, "Oneway"},
    {"de_dust2", "Lower Tunnels", "Stand ", 35, {-216.03515625, 1160.060791015625, 89.53584289550781}, {11.780013084411621, 153.25389099121094, 0}, "Wallbang"},
    {"de_dust2", "Cat", "Stand ", 10, {-874.2039794921875, 1464.575927734375, -53.34953308105469}, {-10.956621170043945, -24.002500534057617, 0}, "Oneway"},
    {"de_inferno", "library | risk", "Stand ", 0, {2491.488974609375, 1232.55009765625, 215.03000000000625}, {12.100088271331787, -170.5400896270752, 0}, "Oneway"},
    {"de_inferno", "barrels | risk", "Crouch ", 0, {2477.968974609375, -130.53009765625, 135.65000000000626}, {2.090088271331787, 168.6500896270752, 0}, "Oneway"},
    {"de_inferno", "box", "Fake duck ", 0, {1999.968974609375, 480.60009765625, 206.65000000000626}, {-10.090088271331787, -100.65008962707519, 0}, "Oneway"},
    {"de_inferno", "box2", "Fake duck ", 0, {2013.97, 701.99, 210.61}, {-0.28, 1.18, 0}, "Oneway"},
    {"de_inferno", "BigBox", "Fake duck ", 0, {2083.79, 182.85, 210.18}, {0.21, 76.14, 0}, "Oneway"},
    {"de_inferno", "Barrels2 | risk", "Fake duck+min dmg ", 0, {63.91, 2603.67, 206.03}, {2.33, 4.84, 0}, "Oneway"},
    {"de_inferno", "Docs", "Fake duck+min dmg ", 0, {753.09, 1871.93, 177.94}, {-2.13, 174.72, 0}, "Oneway"},
    {"de_inferno", "Window", "Fake duck", 0, {-5.32, 383.99, 230.03}, {3.58, 79.43, 0}, "Oneway"},
    {"de_inferno", "BigBox2", "Fake duck+min dmg (AWP)", 0, {2148.63, 301.6, 206.03}, {-13.03, -110.59, 0}, "Oneway"},
    {"de_overpass", "Barrels", "Stand ", 15, {-806.2734033203125, 392.8045227050781, 145.0300814819336}, {8.943388271331788, -67.0492896270752, 0}, "Oneway"},
    {"de_overpass", "Water", "Fake duck", 15, {-1169.75, 256, 76.78}, {0.97, -78.36, 0}, "Oneway"},
    {"de_overpass", "Window", "Stand ", 15, {-1672.8734033203125, 450.7745227050781, 353.0300814819336}, {6.843388271331787, -50.989289627075195, 0}, "Oneway"},
    {"de_overpass", "Kill window | risk", "Stand ", 15, {-416.0434033203125, -2467.324522705078, 267.0300814819336}, {-0.163388271331787, 113.53928962707519, 0}, "Oneway"},
    {"de_overpass", "Stairs", "Fake duck ", 15, {-628.59, -1168.31, 123.18}, {-0.34, 114.22, 0}, "Oneway"},
    {"de_overpass", "Wooden", "Stand | risk ", 15, {-1049.98, -302.36, 163.93}, {-0.14, -63.3, 0}, "Shooting"},
    {"de_overpass", "Cement", "Fake duck ", 15, {-1178.99, 171.99, 143.03}, {-12.23, 150.72, 0}, "Oneway"},
    {"de_cbble", "Outside", "Min dmg | risk (Scar) ", 15, {73.81, -1292.57, -70.09}, {-5.55, 77.47, 0}, "Oneway"},
    {"de_cbble", "Stairs", "Min dmg", 15, {668.03, -466.79, -0.86}, {-0.15, 147.68, 0}, "Oneway"},
    {"de_shortdust", "Car", "Fake Duck", 15, {70.52, 494.88, 46.3}, {-0.37, 98.23, 0}, "Oneway"},
    {"de_vertigo", "Box", "Fake Duck | risk", 15, {-2107.3, 954.03, 11790.03}, {5.45, -110.75, 0}, "Oneway"},
    {"de_vertigo", "Box2", "Fake Duck", 15, {-1435.92, 660.21, 11921.28}, {5.45, -110.75, 0}, "Oneway"},
    {"de_vertigo", "Box", "Stand | risk", 15, {-2113.13, 879.35, 11893.03}, {2.03, -67.31, 0}, "Oneway"},
    {"de_vertigo", "Container", "Min dmg | Stand", 15, {-1900.03, 684.36, 11840.03}, {-10.17, -19.12, 0}, "Oneway"},
    {"de_vertigo", "Container2", "Fake duck", 15, {-2342.9, 741.01, 11843.03}, {5.04, -95.87, 0}, "Oneway"},
    {"de_stmarc", "Bomb site", "Fake duck", 15, {-7918.297363, 6919.025879, 98.03125}, {0.161362, 0.903998, 0}, "Oneway"},
    {"de_stmarc", "CT-Start", "Fake duck", 15, {-6840.3720703125, 6924.4267578125, 136.4663543701172}, {1.393323, -179.350723, 0}, "Oneway"},
    {"de_stmarc", "Wallbang", "Fake duck", 15, {-7536.03125, 7608.307129, 96.03125}, {-0.48401, -36.291946, 0}, "Oneway"},
    {"de_stmarc", "CT-Start", "Fake duck", 15, {-6117.963379, 6421.532715, 221.126678}, {3.212008, 164.714813, 0}, "Oneway"},
    {"de_lake", "Garage", "Fake duck", 15, {4917.955566, -3268.020508, -98.08493}, {-0.696654, 177.950745, 0}, "Oneway"},
    {"de_lake", "T-Spawn", "Fake duck", 15, {2674.694824, -3722.520996, -32.425003}, {2.405347, 5.010656, 0}, "Oneway"},
    {"de_lake", "Bomb-site", "Fake duck", 15, {1652.807129, -4422.253418, -143.955399}, {-3.593326, 10.921947, 0}, "Oneway"},
    {"cs_italy", "Tunnel", "Fake duck", 15, {144.0148468017578, 348.98297119140625, -88.96875}, {0.1613140106201172, -55.74931716918945, 0}, "Oneway"},
    {"cs_italy", "Right Alley", "Fake duck", 15, {-431.9709167480469, -112.07582092285156, -88.96875}, {2.903980255126953, -52.03858947753906, 0}, "Oneway"},
    {"cs_italy", "Long Hall", "Fake duck", 15, {18.86300277709961, 2416.03125, 20.98790740966797}, {-0.806647777557373, -40.530582427978516, 0}, "Oneway"},
    {"de_nuke", "Outside", "Fake duck", 15, {3.446795701980591, -1662.1339111328125, 43.0312614440918}, {15.810659408569336, 1.4775171279907227, 0}, "Oneway"},
    {"de_nuke", "Ramp", "Fake duck", 15, {1356.9029541015625, -742.7432861328125, -602.7978515625}, {-0.9680168628692627, 144.7721710205078, 0}, "Oneway"},
    {"de_nuke", "Outside", "Fake duck", 15, {1413.1536865234375, -2430.9287109375, -417.742919921875}, {-1.129349708557129, 171.13609313964844, 0}, "Oneway"},
    {"de_train", "T Spawn", "Fake duck", 15, {1288.0654296875, 1706.8900146484375, -159.4558868408203}, {0.16135096549987793, -173.07870483398438, 0}, "Oneway"},
    {"de_train", "T Main", "Fake duck", 15, {-262.8990478515625, 487.631591796875, 35.01689910888672}, {20.65067481994629, 172.34555053710938, 0}, "Oneway"},
    {"de_train", "Ivy Tunnel", "Fake duck", 15, {653.9949951171875, 493.5329284667969, 34.03125190734863}, {15.48801040649414, 2.9309511184692383, 0}, "Oneway"},
    {"de_train", "Bombsite", "Fake duck", 15, {806.224609375, -463.09716796875, 103.03125}, {15.165338516235352, 118.57878112792969, 0}, "Oneway"},
    {"de_train", "Tunnel Two", "Fake duck", 15, {1969.5577392578125, -779.9430541992188, -214.94512939453125}, {-2.2586476802825928, 96.63731384277344, 0}, "Oneway"},
    {"de_anubis", "CT Side", "Fake duck", 15, {-582.8221435546875, 2328.042236328125, 31.949859619140625}, {-2.097200870513916, -91.29068756103516, 0}, "Oneway"},
    {"de_anubis", "Middle", "Fake duck", 15, {374.30450439453125, 1477.012451171875, 57.668325424194336}, {1.9360682964324951, -99.35801696777344, 0}, "Oneway"},

}

local cachedmaps = {}

local cachedoneways = {}



local degreesToRadians = function(radians)
    local arifemtic = (radians * math.pi / 180)
    return arifemtic
end




local angle_to_vec = function(x, y)
    local vecx = degreesToRadians(x);
    local vecy = degreesToRadians(y);
    local vectorx = math.sin(vecx);
    local vectory = math.cos(vecx);
    local vectorz = math.sin(vecy);
    local vectoroffset = math.cos(vecy);
    return {(vectory * vectoroffset), (vectory * vectorz), (vectorx / -1)}
end



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




local showOneways = function()
  local me = EntityList.GetClientEntity(EngineClient.GetLocalPlayer()):GetPlayer()
  if me == nil then return end
  if(me:GetProp("m_iHealth") == 0) then return end
  if #cachedoneways == 0 then
      for i = 1, #onewaylocations do
          local map = onewaylocations[i]
          if EngineClient.GetLevelNameShort() == map[1] then
              cachedoneways[#cachedoneways+1] = map
          end
      end
  else
      for f = 1, #cachedoneways do
          local nade = cachedoneways[f]
          if EngineClient.GetLevelNameShort() ~= nade[1] then
              cachedoneways = {}
              return
          end
          local me = EntityList.GetClientEntity(EngineClient.GetLocalPlayer()):GetPlayer()
          if me == nil then return end
          local wpn = me:GetActiveWeapon()
          local localplayer = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
          local origin = localplayer:GetPlayer():GetEyePosition()
          local vec = Vector.new(origin.x, origin.y, origin.z)
          local distance = vec:DistTo(Vector.new(nade[5][1], nade[5][2], nade[5][3]))
          local trace = EngineTrace:TraceRay(Vector.new(origin.x, origin.y, origin.z), Vector.new(nade[5][1], nade[5][2], nade[5][3]), localplayer, 0x200400B)
          if (owvis == true) then
                  if(trace.fraction > 0.96) then
                      local localplayer = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
                      local origin = localplayer:GetRenderOrigin()
                      local vec = Vector.new(origin.x, origin.y, origin.z)
                      local distance = vec:DistTo(Vector.new(nade[5][1], nade[5][2], nade[5][3]))
                      if(distance > 150) then
                          local sp =  Render.ScreenPosition(Vector.new(nade[5][1], nade[5][2], nade[5][3]))
                          local ts = Render.CalcTextSize("nade", 16)
                          local sc = EngineClient.GetScreenSize()
                          Render.GradientBoxFilled(Vector2.new(sp.x - ts.x/2, sp.y), Vector2.new(sp.x, sp.y+ts.y), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5))
                          Render.GradientBoxFilled(Vector2.new(sp.x, sp.y), Vector2.new(sp.x + ts.x/2, sp.y+ts.y), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0))
                          local is = Render.CalcWeaponIconSize(50, 26)
                          Render.Image(onewayimage,Vector2.new(sp.x - 5, sp.y),Vector2.new(40, 40)  )
                      else
                          local sp =  Render.ScreenPosition(Vector.new(nade[5][1], nade[5][2], nade[5][3]))
                          local ts = 0
                          local sc = EngineClient.GetScreenSize()
                          ts = Render.CalcTextSize(tostring(nade[2]), 16)
                          Render.GradientBoxFilled(Vector2.new(sp.x - ts.x/2, sp.y), Vector2.new(sp.x, sp.y+ts.y), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5))
                          Render.GradientBoxFilled(Vector2.new(sp.x, sp.y), Vector2.new(sp.x + ts.x/2, sp.y+ts.y), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0))
                          Render.Text(tostring(nade[2]), Vector2.new(sp.x - ts.x/2, sp.y), Color.new(1.0, 1.0, 1.0, 1.0), 16)
                          ts = Render.CalcTextSize(tostring(nade[3]), 16)
                          Render.GradientBoxFilled(Vector2.new(sp.x - ts.x/2, sp.y + 15), Vector2.new(sp.x, sp.y + 15+ts.y), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5))
                          Render.GradientBoxFilled(Vector2.new(sp.x, sp.y + 15), Vector2.new(sp.x + ts.x/2, sp.y + 15+ts.y), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0))
                          Render.Text(tostring(nade[3]), Vector2.new(sp.x - ts.x/2, sp.y + 15), Color.new(1.0, 1.0, 1.0, 1.0), 16)
                          local sp =  Render.ScreenPosition(Vector.new(nade[5][1], nade[5][2], nade[5][3]))
                          local aimAngle = angle_to_vec(nade[6][1], nade[6][2])
                          local vector = nade[5];
                          local aA = Render.ScreenPosition(Vector.new(vector[1] + aimAngle[1] * 70, vector[2] + aimAngle[2] * 70, vector[3] + aimAngle[3 ] * 70))
                          Render.Line(Vector2.new(sp.x, sp.y+25+ts.y), Vector2.new(aA.x, aA.y), Color.new(1.0, 1.0, 1.0, 1.0))
                          Render.Circle(Vector2.new(aA.x, aA.y), 6.0, 30, Color.new(1.0, 1.0, 1.0, 1.0))
                      end
                  end
          else
              local localplayer = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
                      local origin = localplayer:GetRenderOrigin()
                      local vec = Vector.new(origin.x, origin.y, origin.z)
                      local distance = vec:DistTo(Vector.new(nade[5][1], nade[5][2], nade[5][3]))
                      if(distance > 150) then
                          local sp =  Render.ScreenPosition(Vector.new(nade[5][1], nade[5][2], nade[5][3]))
                          local ts = Render.CalcTextSize("nade", 16)
                          local sc = EngineClient.GetScreenSize()
                          Render.GradientBoxFilled(Vector2.new(sp.x - ts.x/2, sp.y), Vector2.new(sp.x, sp.y+ts.y), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5))
                          Render.GradientBoxFilled(Vector2.new(sp.x, sp.y), Vector2.new(sp.x + ts.x/2, sp.y+ts.y), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0))
                          local is = Render.CalcWeaponIconSize(50, 26)
                          Render.Image(onewayimage,Vector2.new(sp.x - 5, sp.y),Vector2.new(40, 40)  )
                      else
                          local sp =  Render.ScreenPosition(Vector.new(nade[5][1], nade[5][2], nade[5][3]))
                          local ts = 0
                          local sc = EngineClient.GetScreenSize()
                          ts = Render.CalcTextSize(tostring(nade[2]), 16)
                          Render.GradientBoxFilled(Vector2.new(sp.x - ts.x/2, sp.y), Vector2.new(sp.x, sp.y+ts.y), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5))
                          Render.GradientBoxFilled(Vector2.new(sp.x, sp.y), Vector2.new(sp.x + ts.x/2, sp.y+ts.y), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0))
                          Render.Text(tostring(nade[2]), Vector2.new(sp.x - ts.x/2, sp.y), Color.new(1.0, 1.0, 1.0, 1.0), 16)
                          ts = Render.CalcTextSize(tostring(nade[3]), 16)
                          Render.GradientBoxFilled(Vector2.new(sp.x - ts.x/2, sp.y + 15), Vector2.new(sp.x, sp.y + 15+ts.y), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5))
                          Render.GradientBoxFilled(Vector2.new(sp.x, sp.y + 15), Vector2.new(sp.x + ts.x/2, sp.y + 15+ts.y), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0))
                          Render.Text(tostring(nade[3]), Vector2.new(sp.x - ts.x/2, sp.y + 15), Color.new(1.0, 1.0, 1.0, 1.0), 16)
                          local sp =  Render.ScreenPosition(Vector.new(nade[5][1], nade[5][2], nade[5][3]))
                          local aimAngle = angle_to_vec(nade[6][1], nade[6][2])
                          local vector = nade[5];
                          local aA = Render.ScreenPosition(Vector.new(vector[1] + aimAngle[1] * 70, vector[2] + aimAngle[2] * 70, vector[3] + aimAngle[3 ] * 70))
                          Render.Line(Vector2.new(sp.x, sp.y+25+ts.y), Vector2.new(aA.x, aA.y), Color.new(1.0, 1.0, 1.0, 1.0))
                          Render.Circle(Vector2.new(aA.x, aA.y), 6.0, 30, Color.new(1.0, 1.0, 1.0, 1.0))
                      end
          end
      end
  end
end























local can_shift_shot = function(tts)
    local me = EntityList.GetClientEntity(EngineClient.GetLocalPlayer()):GetPlayer()
    if me == nil then return end
    local wpn = me:GetActiveWeapon()
    if (me == null or wpn == null) then
        return false;
    end
    local player = EntityList.GetLocalPlayer()
    local tickbase = player:GetProp("m_nTickBase");
    local curtime = GlobalVars.interval_per_tick * (tickbase - tts)

    if (curtime < player:GetProp("m_flNextAttack")) then
        return false;
    end
    if (curtime < wpn:GetProp("m_flNextPrimaryAttack")) then
        return false;
    end
    return true;
end




local sc = EngineClient.GetScreenSize()
local SpecX = sc.x/2 - sc.x/8
local SpecY = sc.y/2
local SpecDrag = false
local BindsX = sc.x/2 + sc.x/8
local BindsY = sc.y/2

local alpha = {
    0,
    0,
    0,
    0,
    0,
    0,
}

local keysList = {
  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
}

local  function keybinds()
  local primary_clr = Color.new(0.94, 0.44, 1, 1.0)
   local secondary_clr= Color.new(0.15, 0.91, 0.086, 1)
  local binds = Cheat.GetBinds()
  if #binds > 0 or Cheat.IsMenuVisible() then
      for i = 1, #binds do
          if binds[i]:IsActive() then
              if keysList[i] < 255 then keysList[i] = keysList[i] + 5 else keysList[i] = 255 end
          else
              if keysList[i] > 0 then keysList[i] = keysList[i] - 5 else keysList[i] = 0 end
          end
              local ts = Render.CalcTextSize(binds[i]:GetValue(), 14)
              local sc = EngineClient.GetScreenSize()
              Render.Text(binds[i]:GetName(), Vector2.new(BindsX - 90, BindsY + i * math.min(17, keysList[i])), Color.new(1.0, 1.0, 1.0, keysList[i]/255), 14)
              if string.len(binds[i]:GetValue()) > 10 then
                  local a = -string.len(binds[i]:GetValue()) + 10
                  fs = Render.CalcTextSize(binds[i]:GetValue():sub(0,a), 14)
                  Render.Text(binds[i]:GetValue():sub(0,a) .. "..", Vector2.new(BindsX + 90 - fs.x, BindsY + i * math.min(17, keysList[i])), Color.new(0.13, 1, 0, keysList[i]/255), 18, font3)
              else
                  fs = Render.CalcTextSize(binds[i]:GetValue():sub(0,-15), 14)
                  Render.Text(binds[i]:GetValue(), Vector2.new(BindsX + 90 - fs.x, BindsY + i * math.min(17, keysList[i])),  Color.new(0.13, 1, 0, keysList[i]/255), 18, font3)
              end
      end
      local sc = EngineClient.GetScreenSize()
      local ts = Render.CalcTextSize('Keybinds', 16)
      Render.GradientBoxFilled(Vector2.new(BindsX-120, BindsY + 0 * 17 ), Vector2.new(BindsX + 120, BindsY + 0 * 17+ts.y ), primary_clr, secondary_clr, primary_clr, secondary_clr)
     Render.BoxFilled(Vector2.new(BindsX-118, BindsY + 0 * 17 +2), Vector2.new(BindsX + 118, BindsY + 0 * 17+ts.y - 2), Color.new(0.17, 0.17, 0.17, 1))
   --   Render.GradientBoxFilled(Vector2.new(BindsX-120, BindsY + 0 * 17), Vector2.new(BindsX, BindsY + 0 * 17+ts.y), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5))
     -- Render.GradientBoxFilled(Vector2.new(BindsX, BindsY + 0 * 17), Vector2.new(BindsX + 120, BindsY + 0 * 17+ts.y), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0))
      Render.Text("Keybinds", Vector2.new(BindsX - ts.x/2, BindsY + 0 * 17 - 2),  Color.new(0.13, 1, 0, 1), 18, font3)
      local is_key_pressed = Cheat.IsKeyDown(0x1)
      if is_key_pressed then
          local mouse = Cheat.GetMousePos()
          local ts = Render.CalcTextSize("Keybinds", 16)
          if BindsDrag == true then
              BindsX = mouse.x
              BindsY = mouse.y
          end
          if mouse.x >= BindsX - 120 and mouse.y >= BindsY and mouse.x <= BindsX - 120 + 240 and mouse.y <= BindsY + ts.y then
              if SpecDrag == false then BindsDrag = true end
          end
      else
          BindsDrag = false
      end
  end
end



local offset = 0

local drawIndicators = function()
  local lp = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
  if lp then
      if (lp:GetProp("m_iHealth") > 0) then
          local types = {
              'NORMAL',
              "OPPOSITE",
              "SWAY"
          }
          local h = 28;
       
          local leng = toleng;
          local sc = EngineClient.GetScreenSize()
          -- local x = sc.x / 2;
          local player = EntityList.GetLocalPlayer()
          local scoped = player:GetProp("m_bIsScoped");
          local y
          if scope then
              if(scoped) then
                  y = sc.y/2+15+offset+leng
              else
                  y = sc.y/2+15+leng
              end
          else
              y = sc.y/2+15
          end
          local customw = 50;
          local table = 0
          local antiaim = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "LBY Mode")
          local doubleTap = Menu.FindVar("Aimbot", "Ragebot", "Exploits", "Double Tap")
          local hideshots = Menu.FindVar("Aimbot", "Ragebot", "Exploits", "Hide Shots")
          local fakeduck = Menu.FindVar("Aimbot", "Anti Aim", "Misc", "Fake Duck")
          local binds = Cheat.GetBinds()
          local minDMGValue = 0
          local minDMG = false
          for i = 1, #binds do --  Iterate over our binds...
              local bind = binds[i]
              if bind:GetName() == 'Minimum Damage' then
                  minDMG = true
                  minDMGValue = bind:GetValue()
              end
          end

              text = types[antiaim:GetInt() + 1]
              w = Render.CalcTextSize(text, 15, font)
              -- Render.GradientBoxFilled(Vector2.new(sc.x/2 - w.x / 2, y + 14 * table), Vector2.new(sc.x/2 - w.x / 2, y + 14 * table + w.y), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5))
              Render.GradientBoxFilled(Vector2.new(sc.x/2 + w.x, y + 14 * table), Vector2.new(sc.x/2, y + 14 * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5))
              Render.GradientBoxFilled(Vector2.new(sc.x/2 - w.x, y + 14 * table), Vector2.new(sc.x/2, y + 14 * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5))
              Render.Text(tostring(text), Vector2.new(sc.x/2 - w.x / 2, y + 14 * table), Color.new(255/255, 255/255, 255/255, 1), 15 )
              table = table + 1
          if doubleTap:GetBool() then
              if alpha[1] < 255 then alpha[1] = alpha[1] + 5 else alpha[1] = 255 end
              local chrg = exploits.GetCharge()
              text = 'DT'
              w = Render.CalcTextSize(text, 15, font)
              Render.GradientBoxFilled(Vector2.new(sc.x/2 + w.x, y + math.min(17, alpha[1]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[1]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[1]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[1]/255)))
              Render.GradientBoxFilled(Vector2.new(sc.x/2 - w.x, y + math.min(17, alpha[1]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[1]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[1]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[1]/255)))
              if chrg == 1 then
                  Render.Text(tostring(text), Vector2.new(sc.x/2 - w.x / 2, y + math.min(17, alpha[1]/10) * table), Color.new(152/255, 240/255, 16/255, alpha[1]/255), 15)
              else
                  Render.Text(tostring(text), Vector2.new(sc.x/2 - w.x / 2, y + math.min(17, alpha[1]/10) * table), Color.new(255/255, 0/255, 0/255, alpha[1]/255), 15)
              end
              table = table + math.min(1, alpha[1] /17)
          else
              if alpha[1] > 0 then alpha[1] = alpha[1] - 5 else alpha[1] = 0 end
              text = 'DT'
              w = Render.CalcTextSize(text, 15, font)
              Render.GradientBoxFilled(Vector2.new(sc.x/2 + w.x, y + math.min(17, alpha[1]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[1]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[1]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[1]/255)))
              Render.GradientBoxFilled(Vector2.new(sc.x/2 - w.x, y + math.min(17, alpha[1]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[1]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[1]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[1]/255)))
              Render.Text(tostring(text), Vector2.new(sc.x/2 - w.x / 2, y + math.min(17, alpha[1]/10) * table), Color.new(152/255, 240/255, 16/255, alpha[1]/255), 15)
              table = table + math.max(0, math.min(1, alpha[1] /17))
          end
          if hideshots:GetBool() then
              if alpha[2] < 255 then alpha[2] = alpha[2] + 5 else alpha[2] = 255 end
              text = 'HIDE SHOTS'
              w = Render.CalcTextSize(text, 15)
              Render.GradientBoxFilled(Vector2.new(sc.x/2 + w.x, y + math.min(17, alpha[2]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[2]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[2]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[2]/255)))
              Render.GradientBoxFilled(Vector2.new(sc.x/2 - w.x, y + math.min(17, alpha[2]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[2]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[2]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[2]/255)))
              Render.Text(tostring(text), Vector2.new(sc.x/2 - w.x / 2 + 5, y + math.min(17, alpha[2]/10) * table), Color.new(152/255, 240/255, 16/255, alpha[2]/255), 15)
              table = table + math.min(1, alpha[2] /17)

          else
              if alpha[2] > 0 then alpha[2] = alpha[2] - 5 else alpha[2] = 0 end
              text = 'HIDE SHOTS'
              w = Render.CalcTextSize(text, 15)
              Render.GradientBoxFilled(Vector2.new(sc.x/2 + w.x, y + math.min(17, alpha[2]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[2]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[2]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[2]/255)))
              Render.GradientBoxFilled(Vector2.new(sc.x/2 - w.x, y + math.min(17, alpha[2]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[2]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[2]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[2]/255)))
              Render.Text(tostring(text), Vector2.new(sc.x/2 - w.x / 2 + 5, y + math.min(17, alpha[2]/10) * table), Color.new(152/255, 240/255, 16/255, alpha[2]/255), 15)
              table = table + math.max(0, math.min(1, alpha[2] /17))
          end
          if fakeduck:GetBool() then
              if alpha[3] < 255 then alpha[3] = alpha[3] + 5 else alpha[3] = 255 end
              text = 'FAKE DUCK'
              w = Render.CalcTextSize(text, 15)
              Render.GradientBoxFilled(Vector2.new(sc.x/2 + w.x, y + math.min(17, alpha[3]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[3]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[3]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[3]/255)))
              Render.GradientBoxFilled(Vector2.new(sc.x/2 - w.x, y + math.min(17, alpha[3]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[3]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[3]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[3]/255)))
              Render.Text(tostring(text), Vector2.new(sc.x/2 - w.x / 2 + 5, y + math.min(17, alpha[3]/10) * table), Color.new(255/255, 15/255, 15/255, alpha[3]/255), 15)
              table = table + math.min(1, alpha[3] /17)

          else
              if alpha[3] > 0 then alpha[3] = alpha[3] - 5 else alpha[3] = 0 end
              text = 'FAKE DUCK'
              w = Render.CalcTextSize(text, 15)
              Render.GradientBoxFilled(Vector2.new(sc.x/2 + w.x, y + math.min(17, alpha[3]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[3]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[3]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[3]/255)))
              Render.GradientBoxFilled(Vector2.new(sc.x/2 - w.x, y + math.min(17, alpha[3]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[3]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[3]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[3]/255)))
              Render.Text(tostring(text), Vector2.new(sc.x/2 - w.x / 2 + 5, y + math.min(17, alpha[3]/10) * table), Color.new(255/255, 15/255, 15/255, alpha[3]/255), 15)
              table = table + math.max(0, math.min(1, alpha[3] /17))
          end
          if minDMG == true then
              if alpha[4] < 255 then alpha[4] = alpha[4] + 5 else alpha[4] = 255 end
              text = 'DMG: ' .. minDMGValue
              w = Render.CalcTextSize(text, 15)
              Render.GradientBoxFilled(Vector2.new(sc.x/2 + w.x, y + math.min(17, alpha[4]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[4]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[4]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[4]/255)))
              Render.GradientBoxFilled(Vector2.new(sc.x/2 - w.x, y + math.min(17, alpha[4]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[4]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[4]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[4]/255)))
              Render.Text(tostring(text), Vector2.new(sc.x/2 - w.x / 2, y + math.min(17, alpha[4]/10) * table), Color.new(255/255, 255/255, 255/255, alpha[4]/255), 15)
              table = table + math.min(1, alpha[4] /17)
          else
              if alpha[4] > 0 then alpha[4] = alpha[4] - 5 else alpha[4] = 0 end
              text = 'DMG: ' .. minDMGValue
              w = Render.CalcTextSize(text, 15)
              Render.GradientBoxFilled(Vector2.new(sc.x/2 + w.x, y + math.min(17, alpha[4]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[4]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[4]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[4]/255)))
              Render.GradientBoxFilled(Vector2.new(sc.x/2 - w.x, y + math.min(17, alpha[4]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[4]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[4]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[4]/255)))
              Render.Text(tostring(text), Vector2.new(sc.x/2 - w.x / 2, y + math.min(17, alpha[4]/10) * table), Color.new(255/255, 255, 255/255, alpha[4]/255), 15)
              table = table + math.max(0, math.min(1, alpha[4] /17))
          end
       
      end
  end
end









local image_size = Vector2.new(746 / 5, 1070 / 5)

local url = "https://i.imgur.com/pzHsmIq.png"    
local bytes = Http.Get(url)
local rifk7 = Render.LoadImage(bytes, image_size)
local def = Color.new(0.75, 0.75, 0.75, 1)
local def2 = Color.new(0.75, 0.75, 0.75, 1)

local def3 = Color.new(0.75, 0.75, 0.75, 1)
local def4 = Color.new(0.75, 0.75, 0.75, 1)
local def5 = Color.new(0.75, 0.75, 0.75, 1)
local def6 = Color.new(0.75, 0.75, 0.75, 1)
local def7 = Color.new(0.75, 0.75, 0.75, 1)
local def8 = Color.new(0.75, 0.75, 0.75, 1)
local def9 = Color.new(0.75, 0.75, 0.75, 1)
local def10 = Color.new(0.75, 0.75, 0.75, 1)
local def11 = Color.new(0.75, 0.75, 0.75, 1)
local def12 = Color.new(0.75, 0.75, 0.75, 1)
local def13 = Color.new(0.75, 0.75, 0.75, 1)
local def14 = Color.new(0.75, 0.75, 0.75, 1)
local def15 = Color.new(0.75, 0.75, 0.75, 1)
local def16 = Color.new(0.75, 0.75, 0.75, 1)




local scope = false
local wtr = false
local traher = 0
local traher2 = 0
local traher3 = 0
local traher4 = 0
local traher5 = 0
local traher6 = 0
local traher7 = 0
local traher8 = 0
local traher9 = 0
local traher10 = 0
local traher11 = 0
local traher12 = 0
local traher13 = 0
local traher14 = 0
local traher15 = 0
local traher16 = 0

local airmode = false
local keys = false
local indi = false
local rgb = false
local trailk = false
local drmik= false
local FastDT = false
local legitaa = false
local jump = false
local fps_boost = false
local onw = false
local ebalo
local onw = false
local tabs = 0
local vis_col
local aim_col
local misc_col

local leger = false


local offset = 0

local chika = Vector2.new(0, 0)




local proba = 0



local  function keybindsList()

  local primary_clr = Color.new(0.94, 0.44, 1, 1.0)
   local secondary_clr= Color.new(0.15, 0.91, 0.086, 1)
  local binds = Cheat.GetBinds()

  if tabs == 0 then
    vis_col = Color.new(0.94, 0.44, 1, 1.0)
   else
   vis_col = Color.new(0.75, 0.75, 0.75, 1)
   end
 
   if tabs == 1 then
      aim_col = Color.new(0.94, 0.44, 1, 1.0)
     else
     aim_col = Color.new(0.75, 0.75, 0.75, 1)
    end
 
 
    if tabs == 2 then
      misc_col = Color.new(0.94, 0.44, 1, 1.0)
       else
       misc_col = Color.new(0.75, 0.75, 0.75, 1)
    end
  if true or Cheat.IsMenuVisible() then

      local sc = EngineClient.GetScreenSize()
      local ts = Render.CalcTextSize('Keybinds', 16)
      Render.GradientBoxFilled(Vector2.new(BindsX-300, BindsY-300), Vector2.new(BindsX + 300, BindsY + 300), primary_clr, secondary_clr, primary_clr, secondary_clr)
Render.BoxFilled(Vector2.new(BindsX-295, BindsY - 295), Vector2.new(BindsX + 295, BindsY + 295), Color.new(0.17, 0.17, 0.17, 1))
Render.Image(rifk7,Vector2.new(BindsX - 270, BindsY - 280),Vector2.new(80, 40)  )


Render.Text("Visuals", Vector2.new(BindsX - 160,  BindsY - 270), vis_col, 24, font4)
Render.Text("AimBot", Vector2.new(BindsX - 60,  BindsY - 270),aim_col, 24, font4)
Render.Text("Miscellaneous", Vector2.new(BindsX + 40,  BindsY - 270), misc_col, 24, font4)

if tabs == 0 then
Render.BoxFilled(Vector2.new(BindsX-245, BindsY - 217), Vector2.new(BindsX - 230, BindsY - 202), def)
Render.Text("Enable Watermark", Vector2.new(BindsX - 220,  BindsY - 220), Color.new(0, 0.9, 0, 1.0), 20, font)
           
Render.BoxFilled(Vector2.new(BindsX-245, BindsY - 187), Vector2.new(BindsX - 230, BindsY - 172), def2)
Render.Text("Enable KeyBinds", Vector2.new(BindsX - 220,  BindsY - 190), Color.new(0, 0.9, 0, 1.0), 20, font)          

Render.BoxFilled(Vector2.new(BindsX-10, BindsY - 217), Vector2.new(BindsX + 5, BindsY - 202), def3)
Render.Text("Enable Indicators", Vector2.new(BindsX + 15,  BindsY - 220), Color.new(0, 0.9, 0, 1.0), 20, font)          


Render.BoxFilled(Vector2.new(BindsX-10, BindsY - 187), Vector2.new(BindsX + 5, BindsY - 172), def4)
Render.Text("RGB Line", Vector2.new(BindsX + 15,  BindsY - 190), Color.new(0, 0.9, 0, 1.0), 20, font)  

Render.BoxFilled(Vector2.new(BindsX-245, BindsY - 157), Vector2.new (BindsX-230, BindsY - 142), def5)
Render.Text("Custom Scope", Vector2.new(BindsX - 220,  BindsY - 160), Color.new(0, 0.9, 0, 1.0), 20, font)  


Render.BoxFilled(Vector2.new(BindsX-10, BindsY - 157), Vector2.new (BindsX + 5, BindsY - 142), def6)
Render.Text("Enable RGB Trails", Vector2.new(BindsX + 15,  BindsY - 160), Color.new(0, 0.9, 0, 1.0), 20, font)


  chika.x = (BindsX - 245) + offset



if scope then
  Render.Line(Vector2.new(BindsX-245,BindsY - 127), Vector2.new(BindsX-140,  BindsY - 127),  Color.new(0.75, 0.75, 0.75, 1))
  Render.CircleFilled(Vector2.new( chika.x, BindsY - 127), 6.0, 30, Color.new(0.75, 0.75, 0.75, 1))
  Render.Text(""..offset, Vector2.new(BindsX - 135,  BindsY - 127), Color.new(0.94, 0.44, 1, 1.0), 20, font)  

end
end
if tabs == 1 then
  Render.BoxFilled(Vector2.new(BindsX-245, BindsY - 217), Vector2.new(BindsX - 230, BindsY - 202), def7)
  Render.Text("Enable Dormant Aimbot", Vector2.new(BindsX - 220,  BindsY - 220), Color.new(0, 0.9, 0, 1.0), 20, font)

  Render.BoxFilled(Vector2.new(BindsX-245, BindsY - 187), Vector2.new(BindsX - 230, BindsY - 172), def8)
  Render.Text("Full DT Improve", Vector2.new(BindsX - 220,  BindsY - 190), Color.new(0, 0.9, 0, 1.0), 20, font)  


Render.BoxFilled(Vector2.new(BindsX-10, BindsY - 217), Vector2.new(BindsX + 5, BindsY - 202), def9)
Render.Text("Legit AA", Vector2.new(BindsX + 15,  BindsY - 220), Color.new(0, 0.9, 0, 1.0), 20, font)

Render.BoxFilled(Vector2.new(BindsX-10, BindsY - 187), Vector2.new(BindsX + 5, BindsY - 172), def10)
Render.Text("JumpScout FIX", Vector2.new(BindsX + 15,  BindsY - 190), Color.new(0, 0.9, 0, 1.0), 20, font)  

Render.BoxFilled(Vector2.new(BindsX-245, BindsY - 157), Vector2.new (BindsX-230, BindsY - 142), def11)
Render.Text("Quick Peek", Vector2.new(BindsX - 220,  BindsY - 160), Color.new(0, 0.9, 0, 1.0), 20, font)  

end

if tabs == 2 then
  Render.BoxFilled(Vector2.new(BindsX-245, BindsY - 217), Vector2.new(BindsX - 230, BindsY - 202), def12)
  Render.Text("FPS Boost", Vector2.new(BindsX - 220,  BindsY - 220), Color.new(0, 0.9, 0, 1.0), 20, font)

  Render.BoxFilled(Vector2.new(BindsX-245, BindsY - 187), Vector2.new(BindsX - 230, BindsY - 172), def13)
  Render.Text("Static Leg Breaker", Vector2.new(BindsX - 220,  BindsY - 190), Color.new(0, 0.9, 0, 1.0), 20, font)  


Render.BoxFilled(Vector2.new(BindsX-10, BindsY - 217), Vector2.new(BindsX + 5, BindsY - 202), def14)
Render.Text("Enable OneWay Helper", Vector2.new(BindsX + 15,  BindsY - 220), Color.new(0, 0.9, 0, 1.0), 20, font)

if onw then

Render.BoxFilled(Vector2.new(BindsX-10, BindsY - 187), Vector2.new(BindsX + 5, BindsY - 172), def15)
Render.Text("Show only Visible", Vector2.new(BindsX + 15,  BindsY - 190), Color.new(0, 0.9, 0, 1.0), 20, font)  
end

Render.BoxFilled(Vector2.new(BindsX-245, BindsY - 157), Vector2.new (BindsX-230, BindsY - 142), def16)
Render.Text("AirStuck Mode", Vector2.new(BindsX - 220,  BindsY - 160), Color.new(0, 0.9, 0, 1.0), 20, font)  

end


      local is_key_pressed = Cheat.IsKeyDown(0x1)



      if is_key_pressed then
          local mouse = Cheat.GetMousePos()
          local ts = Render.CalcTextSize("Keybinds", 16)
          if BindsDrag == true then
              BindsX = mouse.x
              BindsY = mouse.y
          end
    if  mouse.x >= BindsX - 120 and mouse.y >= BindsY -120 and mouse.x <= BindsX  + 120 and mouse.y <= BindsY + 120  then
             BindsDrag = true
          end
if mouse.x >= BindsX - 160 and mouse.x <= BindsX - 105 and mouse.y >= BindsY - 275 and mouse.y <= BindsY - 262 then
  tabs = 0
end

if mouse.x >= BindsX - 60 and mouse.x <= BindsX - 10 and mouse.y >= BindsY - 275 and mouse.y <= BindsY - 262 then
  tabs = 1
end
if mouse.x >= BindsX + 40 and mouse.x <= BindsX + 140 and mouse.y >= BindsY - 275 and mouse.y <= BindsY - 262 then
  tabs = 2
end
if tabs == 0 and mouse.x >= BindsX - 245 and mouse.x <= BindsX - 140 and mouse.y >= BindsY - 130 and mouse.y <= BindsY - 124 then
  offset = mouse.x - (BindsX - 245)
       end

      else
          BindsDrag = false
      end

      if is_key_pressed then

        proba = proba + 1

      else
     
       proba = 0
        end
 
     
        if proba == 1 then
          local mouse = Cheat.GetMousePos()
          if tabs == 0 then
           
            if mouse.x >= BindsX - 245 and mouse.x <= BindsX - 230 and mouse.y >= BindsY - 217 and mouse.y <= BindsY - 202 then
                traher = traher + 1
                if traher % 2 ~= 0 then
                  wtr = true
                def =  Color.new(0, 0.9, 0, 1.0)
                elseif traher % 2 == 0 then
                wtr = false
                def =  Color.new(0.75, 0.75, 0.75, 1)
                end
                end
                if mouse.x >= BindsX - 245 and mouse.x <= BindsX - 230 and mouse.y >= BindsY - 187 and mouse.y <= BindsY - 172 then
                  traher2 = traher2 + 1
                  if traher2 % 2 ~= 0 then
                    keys = true
                  def2 =  Color.new(0, 0.9, 0, 1.0)
                  elseif traher2 % 2 == 0 then
                  keys = false
                  def2=  Color.new(0.75, 0.75, 0.75, 1)
                  end
                  end

                  if mouse.x >= BindsX - 10 and mouse.x <= BindsX + 5 and mouse.y >= BindsY - 217 and mouse.y <= BindsY - 202 then
                    traher3 = traher3 + 1
                    if traher3 % 2 ~= 0 then
                      indi = true
                    def3 =  Color.new(0, 0.9, 0, 1.0)
                    elseif traher3 % 2 == 0 then
                    indi = false
                    def3=  Color.new(0.75, 0.75, 0.75, 1)
                    end
                    end
                    if mouse.x >= BindsX - 10 and mouse.x <= BindsX + 5 and mouse.y >= BindsY - 187 and mouse.y <= BindsY - 172 then
                      traher4 = traher4 + 1
                      if traher4 % 2 ~= 0 then
                        rgb = true
                      def4 =  Color.new(0, 0.9, 0, 1.0)
                      elseif traher4 % 2 == 0 then
                      rgb = false
                      def4=  Color.new(0.75, 0.75, 0.75, 1)
                      end
                      end

                      if mouse.x >= BindsX - 245 and mouse.x <= BindsX - 230 and mouse.y >= BindsY - 157 and mouse.y <= BindsY - 142 then
                        traher5 = traher5 + 1
                        if traher5 % 2 ~= 0 then
                          scope = true
                        def5 =  Color.new(0, 0.9, 0, 1.0)
                        elseif traher5 % 2 == 0 then
                        scope = false
                        def5=  Color.new(0.75, 0.75, 0.75, 1)
                        end
                        end
                       
                      if mouse.x >=BindsX - 10 and mouse.x <= BindsX + 5 and mouse.y >= BindsY - 157 and mouse.y <= BindsY - 142 then
                        traher6 = traher6 + 1
                        if traher6 % 2 ~= 0 then
                          trailk = true
                        def6 =  Color.new(0, 0.9, 0, 1.0)
                        elseif traher6 % 2 == 0 then
                          trailk = false
                        def6=  Color.new(0.75, 0.75, 0.75, 1)
                        end
                        end



            end

            if tabs == 1 then
              if mouse.x >= BindsX - 245 and mouse.x <= BindsX - 230 and mouse.y >= BindsY - 217 and mouse.y <= BindsY - 202 then
                traher7 = traher7 + 1
                if traher7 % 2 ~= 0 then
                  drmik = true
                def7 =  Color.new(0, 0.9, 0, 1.0)
                elseif traher7 % 2 == 0 then
                drmik = false
                def7 =  Color.new(0.75, 0.75, 0.75, 1)
                end
                end
                if mouse.x >= BindsX - 245 and mouse.x <= BindsX - 230 and mouse.y >= BindsY - 187 and mouse.y <= BindsY - 172 then
                  traher8 = traher8 + 1
                  if traher8 % 2 ~= 0 then
                    FastDT = true
                  def8 =  Color.new(0, 0.9, 0, 1.0)
                  elseif traher8 % 2 == 0 then
                  FastDT = false
                  def8=  Color.new(0.75, 0.75, 0.75, 1)
                  end
                  end
                 
                  if mouse.x >= BindsX - 10 and mouse.x <= BindsX + 5 and mouse.y >= BindsY - 217 and mouse.y <= BindsY - 202 then
                    traher9 = traher9 + 1
                    if traher9 % 2 ~= 0 then
                      legitaa = true
                    def9 =  Color.new(0, 0.9, 0, 1.0)
                    elseif traher9 % 2 == 0 then
                    legitaa = false
                    def9=  Color.new(0.75, 0.75, 0.75, 1)
                    end
                    end
                    if mouse.x >= BindsX - 10 and mouse.x <= BindsX + 5 and mouse.y >= BindsY - 187 and mouse.y <= BindsY - 172 then
                      traher10 = traher10 + 1
                      if traher10 % 2 ~= 0 then
                        jump = true
                      def10 =  Color.new(0, 0.9, 0, 1.0)
                      elseif traher10 % 2 == 0 then
                      jump = false
                      def10 =  Color.new(0.75, 0.75, 0.75, 1)
                      end
                      end
                      if mouse.x >= BindsX - 245 and mouse.x <= BindsX - 230 and mouse.y >= BindsY - 157 and mouse.y <= BindsY - 142 then
                        traher11 = traher11 + 1
                        if traher11 % 2 ~= 0 then
                       
                        def11 =  Color.new(0, 0.9, 0, 1.0)
                        elseif traher11 % 2 == 0 then
                     
                        def11=  Color.new(0.75, 0.75, 0.75, 1)
                        end
                        end

            end

            if tabs == 2 then
              if mouse.x >= BindsX - 245 and mouse.x <= BindsX - 230 and mouse.y >= BindsY - 217 and mouse.y <= BindsY - 202 then
                traher12 = traher12 + 1
                if traher12 % 2 ~= 0 then
                  fps_boost = true
                def12 =  Color.new(0, 0.9, 0, 1.0)
                elseif traher12 % 2 == 0 then
                fps_boost = false
                def12 =  Color.new(0.75, 0.75, 0.75, 1)
                end
                end

                if mouse.x >= BindsX - 245 and mouse.x <= BindsX - 230 and mouse.y >= BindsY - 187 and mouse.y <= BindsY - 172 then
                  traher13 = traher13 + 1
                  if traher13 % 2 ~= 0 then
                    leger = true
                  def13 =  Color.new(0, 0.9, 0, 1.0)
                  elseif traher13 % 2 == 0 then
                  leger = false
                  def13=  Color.new(0.75, 0.75, 0.75, 1)
                  end
                  end
                  if mouse.x >= BindsX - 10 and mouse.x <= BindsX + 5 and mouse.y >= BindsY - 217 and mouse.y <= BindsY - 202 then
                    traher14 = traher14 + 1
                    if traher14 % 2 ~= 0 then
                      onw = true
                    def14 =  Color.new(0, 0.9, 0, 1.0)
                    elseif traher14 % 2 == 0 then
                    onw = false
                    def14=  Color.new(0.75, 0.75, 0.75, 1)
                    end
                    end
                    if mouse.x >= BindsX - 10 and mouse.x <= BindsX + 5 and mouse.y >= BindsY - 187 and mouse.y <= BindsY - 172 then
                      traher15 = traher15 + 1
                      if traher15 % 2 ~= 0 then
                        owvis = true
                      def15 =  Color.new(0, 0.9, 0, 1.0)
                      elseif traher15 % 2 == 0 then
                      owvis = false
                      def15=  Color.new(0.75, 0.75, 0.75, 1)
                      end
                      end
                      if mouse.x >= BindsX - 245 and mouse.x <= BindsX - 230 and mouse.y >= BindsY - 157 and mouse.y <= BindsY - 142 then
                        traher16 = traher16 + 1
                        if traher16 % 2 ~= 0 then
                          airmode = true
                        def16 =  Color.new(0, 0.9, 0, 1.0)
                        elseif traher16 % 2 == 0 then
                          airmode = false
                        def16=  Color.new(0.75, 0.75, 0.75, 1)
                        end
                        end

            end
        end
  end
end



local recharge = function()
  local is_charged = exploits.GetCharge()
  if (can_shift_shot(16) and is_charged ~= 1) then
      exploits.AllowCharge(true)
      exploits.ForceCharge()
  end

  exploits.OverrideDoubleTapSpeed(16)
end





local toleng = 0
local coloriks =  Color.new(0.75, 0.75, 0.75, 1)

local skeetscope = function()
  local sc = EngineClient.GetScreenSize()
  local player = EntityList.GetLocalPlayer()
  local scoped = player:GetProp("m_bIsScoped");
  local gui = CVar.FindVar("r_drawvgui")
  if scoped then
      if toleng < (offset / 2 + 100) then toleng = toleng + 2 else toleng = (offset / 2 + 100) end
      gui:SetInt(0);
      Render.GradientBoxFilled(Vector2.new(sc.x / 2 - 0.1, sc.y / 2 - math.min(offset, toleng)), Vector2.new(sc.x / 2 + 1, sc.y / 2 - math.min(offset, toleng) - math.min(100, toleng)),  coloriks, coloriks, Color.new(0.75 * 255, 0.75 * 255, 0.75 * 255,  0), Color.new(0.75 * 255, 0.75 * 255, 0.75 * 255,  0))
      Render.GradientBoxFilled(Vector2.new(sc.x / 2 - math.min(offset, toleng), sc.y / 2 - 0.1), Vector2.new(sc.x / 2 - math.min(offset, toleng) - math.min(100, toleng), sc.y / 2  + 1),  coloriks, Color.new(0.75 * 255, 0.75 * 255, 0.75 * 255,  0),  coloriks, Color.new(0.75* 255, 0.75 * 255, 0.75 * 255,  0))
      Render.GradientBoxFilled(Vector2.new(sc.x / 2 - 0.1, sc.y / 2 + math.min(offset, toleng)), Vector2.new(sc.x / 2 + 1, sc.y / 2  + math.min(offset, toleng) + math.min(100, toleng)),  coloriks, coloriks, Color.new(0.75 * 255, 0.75 * 255, 0.75 * 255,  0), Color.new(0.75 * 255, 0.75 * 255, 0.75 * 255,  0))
      Render.GradientBoxFilled(Vector2.new(sc.x / 2 + math.min(offset, toleng), sc.y / 2 - 0.1), Vector2.new(sc.x / 2  + math.min(offset, toleng) + math.min(100, toleng), sc.y / 2  + 1),  coloriks, Color.new(0.75 * 255, 0.75 * 255, 0.75 * 255,  0),  coloriks, Color.new(0.75 * 255, 0.75 * 255, 0.75 * 255,  0))
  else
      if toleng > 0 then toleng = toleng - 2 else toleng = 0 end
      gui:SetInt(1);
  end
end



local previoustrails = {}



local trails = function()
  local local_player_index    = EngineClient.GetLocalPlayer()
  local local_player          = EntityList.GetClientEntity(local_player_index):GetPlayer()
  local me = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
  if local_player and local_player:GetProp("m_iHealth") > 0 then
      local r = math.floor(math.sin(GlobalVars.realtime * 2) * 127 + 128)
      local g =  math.floor(math.sin(GlobalVars.realtime * 2 + 2) * 127 + 128)
      local b = math.floor(math.sin(GlobalVars.realtime * 2 + 4) * 127 + 128)  
      local localplayer = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
      local origin = localplayer:GetRenderOrigin()
      previoustrails[#previoustrails+1] = { x = origin.x, y = origin.y, z = origin.z, tick = tonumber(GlobalVars.tickcount) + 50, draw = true, r = r, g = g, b = b}
      for i = 1, #previoustrails do
          if i > 2 then
              local trail = previoustrails[i]
              local trailtwo = previoustrails[i - 1]
                  local s = Vector.new(trail.x,trail.y,trail.z)
                  local stwo = Vector.new(trailtwo.x,trailtwo.y,trailtwo.z)
                  local beam_info = BeamInfo_t.new()
                  beam_info.m_vecStart = s
                  beam_info.m_vecEnd = stwo
                  beam_info.m_nSegments = 2
                  beam_info.m_nType = 0
                  beam_info.m_bRenderable = true
                  beam_info.m_nFlags = 0
                  beam_info.m_pszModelName = "sprites/purplelaser1.vmt"
                  beam_info.m_flHaloScale = 0.0
                  beam_info.m_flLife = 98 / 100
                  beam_info.m_flWidth = 7
                  beam_info.m_flEndWidth =7
                  beam_info.m_flFadeLength = 0.0
                  beam_info.m_flAmplitude = 0.0
                  beam_info.m_flSpeed = 0.0
                  beam_info.m_flFrameRate = 0.0
                  beam_info.m_nHaloIndex = 0
                  beam_info.m_nStartFrame = 0
                  beam_info.m_flBrightness = 255.0
                  beam_info.m_flRed = r
                  beam_info.m_flGreen = g
                beam_info.m_flBlue = b
             
                  RenderBeams:CreateBeamPoints(beam_info)
                  if i > 3 then
                      table.remove(previoustrails, i - 2)
                  end
          end
      end
  end
end




local LegitAA = function(cmd)
  local ents = EntityList.GetEntitiesByClassID(129)
  local hosts = EntityList.GetEntitiesByClassID(97)
  if ents[1] ~= nil or ents[0] ~= nil then
      for i = 1, #ents do
          local localplayer = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
          local position = ents[i]:GetProp("DT_BaseEntity", "m_vecOrigin")
          local origin = localplayer:GetPlayer():GetEyePosition()
          local vec = Vector.new(origin.x, origin.y, origin.z)
          local distance = vec:DistTo(position)
          if distance > 100 then
              cmd.buttons = bit.band(cmd.buttons, bit.bnot(32))
          end
      end
  elseif hosts[1] ~= nil then
      for f = 1, #hosts do
          if f > 1 then
              local localplayer = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
              local position = hosts[f]:GetProp("DT_BaseEntity", "m_vecOrigin")
              local position2 = hosts[f-1]:GetProp("DT_BaseEntity", "m_vecOrigin")
              local origin = localplayer:GetPlayer():GetEyePosition()
              local vec = Vector.new(origin.x, origin.y, origin.z)
              local distance = vec:DistTo(position)
              local distance2 = vec:DistTo(position2)
              if distance > 100 and distance2 > 100 then
                  cmd.buttons = bit.band(cmd.buttons, bit.bnot(32))
              end
          end
      end
  else
      cmd.buttons = bit.band(cmd.buttons, bit.bnot(32))
  end
  if setLegitOptions == false then
      local FakeOptions = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Fake Options")
      local LBYMode = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "LBY Mode")
      local freestandDesync = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Freestanding Desync")
      local DesyncOnShot = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Desync On Shot")
      FakeOptions:SetInt(8)
      LBYMode:SetInt(1)
      freestandDesync:SetInt(0)
      DesyncOnShot:SetInt(0)
      setLegitOptions = true
  end
  if antiaim.GetInverterState() then
      antiaim.OverrideLBYOffset(-60)
  else
      antiaim.OverrideLBYOffset(60)
  end
  antiaim.OverrideYawOffset(180.0)
  antiaim.OverrideLimit(60)
  antiaim.OverridePitch(0.0)
end






local screen = EngineClient.GetScreenSize()
local vector1 = Vector2.new(0,0)
local vector2 = Vector2.new(screen.x,4)
local r, g, b

local function rtd(radians)
  return radians * (180 / math.pi)
  end
  local function deyaw(vec1, vec2)
  local x = vec2.x - vec1.x
  local z = vec2.y - vec1.y
  local y = vec2.z - vec1.z
  return rtd(math.atan2(z, x))
  end

  local function depitch(vec1, vec2)
  local x = vec2.x - vec1.x
  local z = vec2.y - vec1.y
  local y = vec2.z - vec1.z
  return rtd(math.atan2(y, math.sqrt(x * x + z * z)))
  end



  local function air_stuck(cmd)

    if airmode == true then
        cmd.tick_count = 0x7FFFFFFF
        cmd.command_number = 0x7FFFFFFF
    end

  end

local function run_aim(cmd)

  air_stuck(cmd)
  if legitaa == true then
    LegitAA(cmd)
  end
  if FastDT == true then
    recharge()
  end
  if (drmik == true) then
  for idx = 1, GlobalVars.maxClients + 1 do
  local origin = Vector.new()
       
        local ent = EntityList.GetClientEntity(idx)

        if ent and ent:IsPlayer() then

         local lc_player = ent:GetPlayer()
         local health = lc_player:GetProp("DT_BasePlayer", "m_iHealth")
         local network = lc_player:GetNetworkState()


         if not lc_player:IsTeamMate() and lc_player:IsDormant() and health > 0 then
            local enemy = lc_player
            local entity = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
            local player = entity:GetPlayer()
            local hitbox_center = player:GetHitboxCenter(0)

      origin = enemy:GetRenderOrigin()
     local fuck = Vector.new()
            fuck.x = origin.x
            fuck.y = origin.y
            fuck.z= origin.z + 85
         
            local trace_result  = Cheat.FireBullet(player,  hitbox_center, fuck)
            if (trace_result.damage  > 4) then
              local yaw = deyaw(hitbox_center, fuck) + 1
              local pitch  = depitch(hitbox_center, fuck)

            local active_weapon = player:GetActiveWeapon()
            local weapon_inaccuracy = active_weapon:GetInaccuracy(active_weapon)
         if(weapon_inaccuracy < 0.01) then
                  EngineClient.SetViewAngles(QAngle.new(pitch, yaw, 0))
                cmd.buttons = cmd.buttons and 1        
             end
           end      
  end
    end
   end
  end
  end





  local jumpScouted = false
  local jumpscoutTicks = 0
  local oldDamage = 0
  local oldAutowall = 0
  local oldHitChance = 0
  Cheat.RegisterCallback('events', function(event)
      if event:GetName() == "player_jump" then
          local user_id = event:GetInt("userid") - 1
          local local_player_index    = EngineClient.GetLocalPlayer()
          if user_id == local_player_index then
              if jump then
                  local me = EntityList.GetClientEntity(EngineClient.GetLocalPlayer()):GetPlayer()
                  if me == nil then return end
                  local wpn = me:GetActiveWeapon():GetClassName()
                  if wpn == "CWeaponSSG08" then
                      local damage = Menu.FindVar("Aimbot", "Ragebot", "Min. Damage", "Visible", "SSG-08")
                      local autowall = Menu.FindVar("Aimbot", "Ragebot", "Min. Damage", "Autowall", "SSG-08")
                      local hitchance = Menu.FindVar("Aimbot", "Ragebot", "Accuracy", "Hit Chance")
                      if jumpScouted == false then
                          oldDamage = damage:GetInt()
                          oldAutowall = autowall:GetInt()
                          oldHitChance = hitchance:GetInt()
                      end
                      hitchance:SetInt(36)
                      damage:SetInt(50)
                      autowall:SetInt(50)
                      jumpscoutTicks = GlobalVars.tickcount + 50
                      jumpScouted = true
                  end
              end
          end
      elseif event:GetName() == "player_hurt" then
          local user_id = event:GetInt("userid") - 1
          local local_player_index    = EngineClient.GetLocalPlayer()
          if user_id == local_player_index then
              hitbox = event:GetInt('hitgroup');
              target_damage = event:GetInt("dmhealth");
              target_health = event:GetInt("health");
              victim = event:GetInt('userid');
              attacker = event:GetInt('attacker');
              weapon = event:GetString('weapon');
              local entity = EntityList.GetClientEntity(victim)
              local Name = entity:GetPlayer():GetName()
              logs[#logs+1] = {('Hitted by ' .. Name .. ' for ' .. target_damage .. ' in ' .. hitboxes[hitbox+1]), GlobalVars.tickcount + 300, 0}
              print('[Rifk7] '.. 'Hitted by ' .. Name .. ' for ' .. target_damage .. ' in ' .. hitboxes[hitbox+1])
          end
      end
  end)


  local lbreaker = Menu.FindVar("Aimbot", "Anti Aim", "Misc", "Leg Movement")



Cheat.RegisterCallback("prediction", run_aim)



  Cheat.RegisterCallback("draw", function()




    local local_player_index    = EngineClient.GetLocalPlayer()
    local local_player          = EntityList.GetClientEntity(local_player_index)
   
    if not local_player then

        cachedoneways = {}
        logs = {}
        if CVar.FindVar("hidehud"):GetInt() == 8 then CVar.FindVar("hidehud"):SetInt(0) end
        CVar.FindVar("r_drawvgui"):SetInt(1)
     
    end
if local_player then

    if local_player:GetProp("m_iHealth") > 0 then
     
        if onw then showOneways() end
     

    end
  end











   local primary_clr = Color.new(0.94, 0.44, 1, 1.0)
   local secondary_clr= Color.new(0.15, 0.91, 0.086, 1)
   local positionx = EngineClient.GetScreenSize().x
   local positiony = EngineClient.GetScreenSize().y

   if leger == true then
    lbreaker:SetInt(math.random(1,2))
 
   end
if wtr == true then
    local primary_clr = Color.new(0.94, 0.44, 1, 1.0)
    local secondary_clr= Color.new(0.15, 0.91, 0.086, 1)
    local positionx = EngineClient.GetScreenSize().x
    local positiony = EngineClient.GetScreenSize().y
 
    if EngineClient.IsInGame() then
        local server_ip = EngineClient.GetNetChannelInfo():GetAddress()
        local ping = EngineClient.GetNetChannelInfo():GetLatency(0) * 1000
        ping = math.floor(ping + .5)
        Render.GradientBoxFilled(Vector2.new(positionx - 400, 8), Vector2.new(positionx -15, 31), primary_clr, secondary_clr, primary_clr, secondary_clr)
       Render.BoxFilled(Vector2.new(positionx - 397, 10), Vector2.new(positionx - 18, 29), Color.new(0.17, 0.17, 0.17, 1))
       Render.Text("rifk7.com  |  build: 02/11/2020 |   " .. server_ip .. "  |  ping " .. ping.. "  ms", Vector2.new(positionx - 385, 9), Color.new(0.13, 1, 0, 1), 20, font )

    else
        Render.GradientBoxFilled(Vector2.new(positionx - 250, 8), Vector2.new(positionx - 15, 31), primary_clr, secondary_clr, primary_clr, secondary_clr)
       Render.BoxFilled(Vector2.new(positionx - 247, 10), Vector2.new(positionx - 18, 29), Color.new(0.17, 0.17, 0.17, 1))
      Render.Text("rifk7.com  |  build: 02/11/2020  |  64   rate" , Vector2.new(positionx - 235, 9), Color.new(0.13, 1, 0, 1), 18, font2 )
    end

end

if keys == true then

  keybinds()

end

if indi == true then
  drawIndicators()

end

if rgb == true then
  gametime = GlobalVars.realtime

r = (math.floor(math.sin(GlobalVars.realtime * 1) * 127 + 128)) / 1000 * 3.92
g = (math.floor(math.sin(GlobalVars.realtime * 1 + 2) * 127 + 128)) / 1000 * 3.92
b = (math.floor(math.sin(GlobalVars.realtime * 1 + 4) * 127 + 128)) / 1000 * 3.92

local clr = Color.new(r,g, b ,100)

Render.BoxFilled(vector1, vector2, clr)
end


if trailk == true and EngineClient.IsInGame() then
  trails()
end

    if Cheat.IsMenuVisible() then
  keybindsList()
    end

  if scope and EngineClient.IsInGame() then
skeetscope()

  end

end)
 


 

Cheat.RegisterCallback("createmove", movecreate)
 
ебало вальни
Забаненный
Статус
Оффлайн
Регистрация
25 Май 2022
Сообщения
181
Реакции[?]
71
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Не плохо пошутил, мужик
 
я дед инсайд, мне 9 лет, я хочу в психокидс
Пользователь
Статус
Оффлайн
Регистрация
12 Ноя 2020
Сообщения
191
Реакции[?]
45
Поинты[?]
0
Забаненный
Статус
Оффлайн
Регистрация
4 Авг 2022
Сообщения
101
Реакции[?]
47
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
какой же пиздец в коде
 
Новичок
Статус
Оффлайн
Регистрация
7 Май 2021
Сообщения
1
Реакции[?]
0
Поинты[?]
0
сурс старый и не полностью зафикшен под ласт апи (воркает ток визуальная часть и то крашит)
p.s. я не ебу кто автор этого скрипта но он явно гений
code:
local ffi = require 'ffi'
-- local variables for API functions. any changes to the line below will be lost on re-generation
AntiAim_GetCurrentRealRotation, AntiAim_GetInverterState, AntiAim_OverrideInverter, AntiAim_OverrideLimit, bit_band, bit_lshift, Cheat_AddNotify, Cheat_GetBinds, Cheat_GetCheatUserName, Cheat_GetMousePos, Cheat_IsKeyDown, Cheat_IsMenuVisible, Cheat_RegisterCallback, Color_new, Color_RGBA, EngineClient_ExecuteClientCmd, EngineClient_GetNetChannelInfo, EngineClient_GetScreenSize, EngineClient_GetViewAngles, EngineClient_IsConnected, EngineClient_IsInGame, EntityList_GetClientEntity, EntityList_GetEntitiesByClassID, EntityList_GetLocalPlayer, EntityList_GetPlayerForUserID, EntityList_GetPlayerFromHandle, EntityList_GetPlayers, Exploits_GetCharge, Exploits_OverrideDoubleTapSpeed, math_abs, math_atan2, math_cos, math_deg, math_floor, math_max, math_min, math_sin, Menu_Button, Menu_ColorEdit, Menu_Combo, Menu_FindVar, Menu_MultiCombo, Menu_SliderInt, Menu_Switch, Menu_Text, Utils_PatternScan, Utils_RandomInt, pairs, Panorama_Open, Render_Box, Render_BoxFilled, Render_CalcTextSize, Render_Circle, Render_GradientBoxFilled, Render_InitFont, Render_PolyFilled, Render_Text, string_sub, tostring, Vector2_new, print, string_format, table_insert, table_remove, ipairs, Vector_new, EngineClient_GetLocalPlayer, EntityList_GetEntitiesByName, math_pi, QAngle_new, Cheat_FireBullet, math_sqrt, bit_bor, ffi_cdef, ffi_typeof, ffi_cast, EngineClient_GetGameDirectory, string_gsub, ffi_C, ffi_string, RageBot_OverrideMinDamage, math_ceil, Menu_SwitchColor, string_lower, Utils_CreateInterface, CVar_FindVar, table_concat, AntiAim_GetFakeRotation, ffi_new, EntityList_GetClientEntityFromHandle, string_find, Render_LoadImage, ffi_copy, AntiAim_OverrideYawOffset, Render_WorldToScreen, Render_Blur, Panorama_LoadString, ffi_sizeof, string_char, Render_Circle3DFilled = AntiAim.GetCurrentRealRotation, AntiAim.GetInverterState, AntiAim.OverrideInverter, AntiAim.OverrideLimit, bit.band, bit.lshift, Cheat.AddNotify, Cheat.GetBinds, Cheat.GetCheatUserName, Cheat.GetMousePos, Cheat.IsKeyDown, Cheat.IsMenuVisible, Cheat.RegisterCallback, Color.new, Color.RGBA, EngineClient.ExecuteClientCmd, EngineClient.GetNetChannelInfo, EngineClient.GetScreenSize, EngineClient.GetViewAngles, EngineClient.IsConnected, EngineClient.IsInGame, EntityList.GetClientEntity, EntityList.GetEntitiesByClassID, EntityList.GetLocalPlayer, EntityList.GetPlayerForUserID, EntityList.GetPlayerFromHandle, EntityList.GetPlayers, Exploits.GetCharge, Exploits.OverrideDoubleTapSpeed, math.abs, math.atan2, math.cos, math.deg, math.floor, math.max, math.min, math.sin, Menu.Button, Menu.ColorEdit, Menu.Combo, Menu.FindVar, Menu.MultiCombo, Menu.SliderInt, Menu.Switch, Menu.Text, Utils.PatternScan, Utils.RandomInt, pairs, Panorama.Open, Render.Box, Render.BoxFilled, Render.CalcTextSize, Render.Circle, Render.GradientBoxFilled, Render.InitFont, Render.PolyFilled, Render.Text, string.sub, tostring, Vector2.new, print, string.format, table.insert, table.remove, ipairs, Vector.new, EngineClient.GetLocalPlayer, EntityList.GetEntitiesByName, math.pi, QAngle.new, Cheat.FireBullet, math.sqrt, bit.bor, ffi.cdef, ffi.typeof, ffi.cast, EngineClient.GetGameDirectory, string.gsub, ffi.C, ffi.string, RageBot.OverrideMinDamage, math.ceil, Menu.SwitchColor, string.lower, Utils.CreateInterface, CVar.FindVar, table.concat, AntiAim.GetFakeRotation, ffi.new, EntityList.GetClientEntityFromHandle, string.find, Render.LoadImage, ffi.copy, AntiAim.OverrideYawOffset, Render.WorldToScreen, Render.Blur, Panorama.LoadString, ffi.sizeof, string.char, Render.Circle3DFilled

Clipboard = {}
ffi.cdef[[
typedef void*(__thiscall* getnetchannel_t)(void*); // engineclient 78
typedef unsigned short WORD;

typedef int(__thiscall* get_clipboard_text_length)(void*);
typedef void(__thiscall* set_clipboard_text)(void*, const char*, int);
typedef void(__thiscall* get_clipboard_text)(void*, int, const char*, int);

bool CreateDirectoryA(const char* lpPathName, void* lpSecurityAttributes);
bool DeleteUrlCacheEntryA(const char* lpszUrlName);
void* __stdcall URLDownloadToFileA(void* LPUNKNOWN, const char* LPCSTR, const char* LPCSTR2, int a, int LPBINDSTATUSCALLBACK);
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*, ...);
void* GetProcAddress(void* hModule, const char* lpProcName);
void* GetModuleHandleA(const char* lpModuleName);

int       CreateDirectoryA(const char*, void*);
void*     CreateFileA(const char*, uintptr_t, uintptr_t, void*, uintptr_t, uintptr_t, void*);
uintptr_t GetFileSize(void*, uintptr_t*);
int       ReadFile(void*, void*, uintptr_t, uintptr_t*, void*);
int       WriteFile(void*, const void*, uintptr_t, uintptr_t*, void*);
int       CloseHandle(void*);
typedef float*(__thiscall* bound)(void*);
typedef struct
{
  float x;
  float y;
  float z;
} Vector_t;
int VirtualProtect(void* lpAddress, unsigned long dwSize, unsigned long flNewProtect, unsigned long* lpflOldProtect);
void* VirtualAlloc(void* lpAddress, unsigned long dwSize, unsigned long  flAllocationType, unsigned long flProtect);
int VirtualFree(void* lpAddress, unsigned long dwSize, unsigned long dwFreeType);
typedef uintptr_t (__thiscall* GetClientEntity_4242425_t)(void*, int);

typedef struct
{
  char    pad0[0x60]; // 0x00
  void* pEntity; // 0x60
  void* pActiveWeapon; // 0x64
  void* pLastActiveWeapon; // 0x68
  float        flLastUpdateTime; // 0x6C
  int            iLastUpdateFrame; // 0x70
  float        flLastUpdateIncrement; // 0x74
  float        flEyeYaw; // 0x78
  float        flEyePitch; // 0x7C
  float        flGoalFeetYaw; // 0x80
  float        flLastFeetYaw; // 0x84
  float        flMoveYaw; // 0x88
  float        flLastMoveYaw; // 0x8C // changes when moving/jumping/hitting ground
  float        flLeanAmount; // 0x90
  char         pad1[0x4]; // 0x94
  float        flFeetCycle; // 0x98 0 to 1
  float        flMoveWeight; // 0x9C 0 to 1
  float        flMoveWeightSmoothed; // 0xA0
  float        flDuckAmount; // 0xA4
  float        flHitGroundCycle; // 0xA8
  float        flRecrouchWeight; // 0xAC
  Vector_t        vecOrigin; // 0xB0
  Vector_t        vecLastOrigin;// 0xBC
  Vector_t        vecVelocity; // 0xC8
  Vector_t        vecVelocityNormalized; // 0xD4
  Vector_t        vecVelocityNormalizedNonZero; // 0xE0
  float        flVelocityLenght2D; // 0xEC
  float        flJumpFallVelocity; // 0xF0
  float        flSpeedNormalized; // 0xF4 // clamped velocity from 0 to 1
  float        flRunningSpeed; // 0xF8
  float        flDuckingSpeed; // 0xFC
  float        flDurationMoving; // 0x100
  float        flDurationStill; // 0x104
  bool        bOnGround; // 0x108
  bool        bHitGroundAnimation; // 0x109
  char    pad2[0x2]; // 0x10A
  float        flNextLowerBodyYawUpdateTime; // 0x10C
  float        flDurationInAir; // 0x110
  float        flLeftGroundHeight; // 0x114
  float        flHitGroundWeight; // 0x118 // from 0 to 1, is 1 when standing
  float        flWalkToRunTransition; // 0x11C // from 0 to 1, doesnt change when walking or crouching, only running
  char    pad3[0x4]; // 0x120
  float        flAffectedFraction; // 0x124 // affected while jumping and running, or when just jumping, 0 to 1
  char    pad4[0x208]; // 0x128
  float        flMinBodyYaw; // 0x330
  float        flMaxBodyYaw; // 0x334
  float        flMinPitch; //0x338
  float        flMaxPitch; // 0x33C
  int            iAnimsetVersion; // 0x340
} CCSGOPlayerAnimationState_534535_t;

]]


local font = Render.InitFont("Verdana", 20)
local font2 = Render.InitFont("Verdana", 18)
local font3 = Render.InitFont("Verdana", 18)
local font4 = Render.InitFont("Verdana", 24)


local owvis = false
local sorted = false
local autostrafed = 0
local fontak = Render.InitFont("Tahoma", 16) -- Copperplate Gothic Bold change update LUA custom FONT
local image_size = Vector2.new(746 / 5, 1070 / 5)

local logs = {}
local timeout = 0
local mathhypot = function(a,b)
    return math.sqrt(a*a+b*b)
end
local noti = false




local url = "https://i.imgur.com/GWBA9MG.png"
local bytes = Http.Get(url)
local onewayimage = Render.LoadImage(bytes, image_size)



function Split(s, delimiter)
    result = {};
    for match in (s..delimiter):gmatch("(.-)"..delimiter) do
        table.insert(result, match);
    end
    return result;
end


local onewaylocations = {
    {"de_mirage", "Palace Entrance", "Fake duck + E", 15, {-32.827205657958984, -1747.707763671875, -116.18266296386719}, {-13.562880516052246, -80.47711944580078, 0}, "Oneway"},
    {"de_mirage", "Palace Entrace", "Crouch + E", 25, {146.87937927246094, -2078.0126953125, 9.615781784057617}, {-0.2739872932434082, -108.96994018554688, 0}, "Oneway"},
    {"de_mirage", "Sniper's Nest", "Crouch + E (manual)", 40, {-886.25830078125, -1317.399658203125, -120.41223907470703}, {-0.3445321321487427, -177.3930206298828, 0}, "Oneway"},
    {"de_mirage", "Cat Box", "Stand ", 10, {-691.8399658203125, -885.2897338867188, -182.1551055908203}, {-1.4627931118011475, 102.77088165283203, 0}, "Oneway"},
    {"de_mirage", "Connector", "Stand ", 1, {-758.4989013671875, -1321.30224609375, -108.56095123291016}, {10.404932975769043, 82.45069122314453, 0}, "Oneway"},
    {"de_mirage", "Cat", "Fake duck ", 10, {-1495.3671875, -1112.000732421875, -183.45028686523438}, {-2.77838134765625, 38.17058563232422, 0}, "Oneway"},
    {"de_mirage", "Apartments", "Fake duck ", 0, {-2336.7314453125, 766.5013427734375, -79.1664810180664}, {-5.943861484527588, -2.0283021926879883, 0}, "Oneway"},
    {"de_mirage", "Cat", "Fake duck ", 0, {-394.3824768066406, -796.3460693359375, -216.0263214111328}, {-5.173882484436035, 122.90838623046875, 0}, "Oneway"},
    {"de_mirage", "T Stairs", "Stand ", 25, {275.092529296875, 316.94354248046875, -201.4618377685547}, {0.7233693599700928, 11.497645378112793, 0}, "Oneway"},
    {"de_mirage", "Top Mid", "Stand ", 35, {219.89126586914062, 877.2789306640625, -76.8647232055664}, {2.8979110717773438, -90.38306427001953, 0}, "Oneway"},
    {"de_mirage", "House Stairs / Top Mid Connector", "Fake duck ", 32, {454.9155578613281, 852.4118041992188, -53.246543884277344}, {16.369403839111328, -44.87099838256836, 0}, "Oneway"},
    {"de_mirage", "Underpass Stairs", "Fake duck ", 10, {-1264.1064453125, 218.20901489257812, -120.45449829101562}, {12.757319450378418, 27.84868621826172, 0}, "Oneway"},
    {"de_mirage", "Underpass Stairs", "Stand ", 15, {-1124.922119140625, 310.01190185546875, -100.71343994140625}, {29.21480369567871, 42.90019226074219, 0}, "Wallbang"},
    {"de_mirage", "Market Entrace", "Fake duck ", 0, {-1705.237548828125, -1220.2938232421875, -207.29591369628906}, {-7.482339859008789, 79.5807113647461, 0}, "Oneway"},
    {"de_mirage", "Apartment Entrance", "Stand ", 12, {-374.2903137207031, 779.552978515625, -20.803316116333008}, {1.6386109590530396, -161.68849182128906, 0}, "Oneway"},
    {"de_mirage", "Underpass Stairs", "Crouch ", 12, {-1101.185791015625, 522.3583984375, -38.548126220703125}, {80.03816223144531, -51.8855094909668, 0}, "Oneway"},
    {"de_mirage", "Right Side Connector", "Stand ", 10, {-842.7730102539062, 32.43463134765625, -108.64161682128906}, {1.2841607332229614, -85.02303314208984, 0}, "Oneway"},
    {"de_mirage", "Palace Entrance", "Fake duck ", 0, {-811.739013671875, -1145.87060546875, -72.66464233398438}, {-2.2234721183776855, -50.907833099365234, 0}, "Oneway"},
    {"de_mirage", "CT Stairs", "Stand ", 20, {-1495.1767578125, -1588.8564453125, -201.6099395751953}, {-0.707923412322998, -79.56673431396484, 0}, "Oneway"},
    {"de_mirage", "CT Spawn", "Stand ", 1, {-1722.5516357421875, -680.75244140625, -108.86699676513672}, {3.074936866760254, -86.70063781738281, 0}, "Wallbang"},
    {"de_mirage", "Market Entrace", "Stand (AWP)", 10, {-2231.71142578125, 32.56330490112305, -108.5659408569336}, {-0.22803455591201782, -47.783348083496094, 0}, "Wallbang"},
    {"de_mirage", "A Ramp", "Fake duck ", 0, {-291.80877685546875, -2112.17333984375, -53.190345764160156}, {7.508554935455322, 48.7481803894043, 0}, "Oneway"},
    {"de_mirage", "Palace/A Ramp Connector", "Fake duck + E", 0, {1127.9307861328125, 228.2334747314453, -185.51644897460938}, {-1.6344425678253174, -89.02660369873047, 0}, "ESP Oneway"},
    {"de_mirage", "Apartments + House", "Fake duck + E", 0, {-477.98028564453125, 492.88311767578125, -99.00080871582031}, {-0.6445350646972656, 89.8587417602539, 0}, "Oneway"},
    {"de_mirage", "Ramp", "Crouch ", 0, {780.37841796875, -1550.7978515625, -60.35479736328125}, {18.644933700561523, -176.00025939941406, 0}, "Oneway"},
    {"de_mirage", "House exit", "Stand", 0, {-859.4331665039062, 614.7947387695312, -14.041431427001953}, {2.2666337490081787, 7.958107948303223, 0}, "Oneway"},
    {"de_mirage", "Apartment entrance", "Stand (AWP)", 0, {-1843.001220703125, 488.68048095703125, -101.81539916992188}, {-2.849693775177002, 3.4349939823150635, 0}, "Oneway"},
    {"de_mirage", "B Van", "Fake duck ", 0, {-2259.607421875, 677.5836791992188, 7.429899215698242}, {5.68641996383667, -71.17919158935547, 0}, "Oneway"},
    {"de_mirage", "Palace", "Stand (manual shoot/ESP) ", 0, {-1506.1005859375, -990.6868896484375, -149.39236450195312}, {-3.874444007873535, -38.0708122253418, 0}, "Wallbang"},
    {"de_mirage", "Top Mid", "Stand", 0, {-266.930573, -366.495056, -103.172424}, {1.882086, 19.124743, 0}, "Oneway"},
    {"de_mirage", "Balcony", "Stand ", 1, {462.96588134765625, -2084.01904296875, 18.9892520904541}, {1.6673067808151245, 177.59693908691406, 0}, "Wallbang"},
    {"de_dust2", "T Spawn", "Fake duck ", 0, {-1828.306884765625, -455.19976806640625, 141.17587280273438}, {-2.199988603591919, -17.8001766204834, 0}, "Oneway"},
    {"de_dust2", "Tunnels", "Fake duck + E", 0, {-2071.30908203125, 2895.8076171875, 82.59713745117188}, {0.7149654626846313, -83.99018859863281, 0}, "Oneway"},
    {"de_dust2", "Tunnels Exit", "Crouch ", 0, {-776.18408203125, 2555.6904296875, -25.649532318115234}, {-4.512523174285889, -147.3076629638672, 0}, "Wallbang"},
    {"de_dust2", "Mid/Cat", "Fake duck ", 0, {-210.51968383789062, 542.5650634765625, 47.2431755065918}, {5.387450218200684, 100.62740325927734, 0}, "Oneway"},
    {"de_dust2", "Long Doors / Blue", "Fake duck ", 25, {1299.95654296875, 620.3975219726562, -3.8381288051605225}, {1.5557122230529785, 150.635986328125, 0}, "Oneway"},
    {"de_dust2", "A Site / Long", "Fake duck ", 0, {1528.8955078125, 505.183837890625, -49.267723083496094}, {-3.854454517364502, 99.73228454589844, 0}, "Oneway"},
    {"de_dust2", "A Site", "Fake duck (Long Plant)", 0, {1570.482421875, 461.5287170410156, -63.220176696777344}, {-5.327244758605957, 99.6102294921875, 0}, "Oneway"},
    {"de_dust2", "B Doors", "Crouch ", 0, {16.597061157226562, 2311.9716796875, 17.10267448425293}, {-0.5667411088943481, -177.3401641845703, 0}, "Wallbang"},
    {"de_dust2", "Long Cross / Ramp", "Fake duck ", 0, {493.2771911621094, 2613.61572265625, 143.1537322998047}, {5.055543422698975, -37.76759338378906, 0}, "Oneway"},
    {"de_dust2", "Long Doors", "Stand ", 1, {1372.70068359375, 1358.381103515625, 50.24076843261719}, {-0.30388620495796204, -139.5752716064453, 0}, "Wallbang"},
    {"de_dust2", "Long Doors Box", "Stand ", 1, {530.4532470703125, 826.2880249023438, 62.459720611572266}, {0.7473396062850952, -50.05582046508789, 0}, "Wallbang"},
    {"de_dust2", "Outside Long House", "Stand ", 10, {554.1951293945312, 353.6593017578125, 69.35932159423828}, {2.23449444770813, -145.07130432128906, 0}, "Oneway"},
    {"de_dust2", "Top Mid", "Stand ", 10, {654.1134033203125, 297.8545227050781, 59.560081481933594}, {0.6505045294761658, -179.7573699951172, 0}, "Oneway"},
    {"de_dust2", "Lower Tunnels", "Stand ", 35, {-216.03515625, 1160.060791015625, 89.53584289550781}, {11.780013084411621, 153.25389099121094, 0}, "Wallbang"},
    {"de_dust2", "Cat", "Stand ", 10, {-874.2039794921875, 1464.575927734375, -53.34953308105469}, {-10.956621170043945, -24.002500534057617, 0}, "Oneway"},
    {"de_inferno", "library | risk", "Stand ", 0, {2491.488974609375, 1232.55009765625, 215.03000000000625}, {12.100088271331787, -170.5400896270752, 0}, "Oneway"},
    {"de_inferno", "barrels | risk", "Crouch ", 0, {2477.968974609375, -130.53009765625, 135.65000000000626}, {2.090088271331787, 168.6500896270752, 0}, "Oneway"},
    {"de_inferno", "box", "Fake duck ", 0, {1999.968974609375, 480.60009765625, 206.65000000000626}, {-10.090088271331787, -100.65008962707519, 0}, "Oneway"},
    {"de_inferno", "box2", "Fake duck ", 0, {2013.97, 701.99, 210.61}, {-0.28, 1.18, 0}, "Oneway"},
    {"de_inferno", "BigBox", "Fake duck ", 0, {2083.79, 182.85, 210.18}, {0.21, 76.14, 0}, "Oneway"},
    {"de_inferno", "Barrels2 | risk", "Fake duck+min dmg ", 0, {63.91, 2603.67, 206.03}, {2.33, 4.84, 0}, "Oneway"},
    {"de_inferno", "Docs", "Fake duck+min dmg ", 0, {753.09, 1871.93, 177.94}, {-2.13, 174.72, 0}, "Oneway"},
    {"de_inferno", "Window", "Fake duck", 0, {-5.32, 383.99, 230.03}, {3.58, 79.43, 0}, "Oneway"},
    {"de_inferno", "BigBox2", "Fake duck+min dmg (AWP)", 0, {2148.63, 301.6, 206.03}, {-13.03, -110.59, 0}, "Oneway"},
    {"de_overpass", "Barrels", "Stand ", 15, {-806.2734033203125, 392.8045227050781, 145.0300814819336}, {8.943388271331788, -67.0492896270752, 0}, "Oneway"},
    {"de_overpass", "Water", "Fake duck", 15, {-1169.75, 256, 76.78}, {0.97, -78.36, 0}, "Oneway"},
    {"de_overpass", "Window", "Stand ", 15, {-1672.8734033203125, 450.7745227050781, 353.0300814819336}, {6.843388271331787, -50.989289627075195, 0}, "Oneway"},
    {"de_overpass", "Kill window | risk", "Stand ", 15, {-416.0434033203125, -2467.324522705078, 267.0300814819336}, {-0.163388271331787, 113.53928962707519, 0}, "Oneway"},
    {"de_overpass", "Stairs", "Fake duck ", 15, {-628.59, -1168.31, 123.18}, {-0.34, 114.22, 0}, "Oneway"},
    {"de_overpass", "Wooden", "Stand | risk ", 15, {-1049.98, -302.36, 163.93}, {-0.14, -63.3, 0}, "Shooting"},
    {"de_overpass", "Cement", "Fake duck ", 15, {-1178.99, 171.99, 143.03}, {-12.23, 150.72, 0}, "Oneway"},
    {"de_cbble", "Outside", "Min dmg | risk (Scar) ", 15, {73.81, -1292.57, -70.09}, {-5.55, 77.47, 0}, "Oneway"},
    {"de_cbble", "Stairs", "Min dmg", 15, {668.03, -466.79, -0.86}, {-0.15, 147.68, 0}, "Oneway"},
    {"de_shortdust", "Car", "Fake Duck", 15, {70.52, 494.88, 46.3}, {-0.37, 98.23, 0}, "Oneway"},
    {"de_vertigo", "Box", "Fake Duck | risk", 15, {-2107.3, 954.03, 11790.03}, {5.45, -110.75, 0}, "Oneway"},
    {"de_vertigo", "Box2", "Fake Duck", 15, {-1435.92, 660.21, 11921.28}, {5.45, -110.75, 0}, "Oneway"},
    {"de_vertigo", "Box", "Stand | risk", 15, {-2113.13, 879.35, 11893.03}, {2.03, -67.31, 0}, "Oneway"},
    {"de_vertigo", "Container", "Min dmg | Stand", 15, {-1900.03, 684.36, 11840.03}, {-10.17, -19.12, 0}, "Oneway"},
    {"de_vertigo", "Container2", "Fake duck", 15, {-2342.9, 741.01, 11843.03}, {5.04, -95.87, 0}, "Oneway"},
    {"de_stmarc", "Bomb site", "Fake duck", 15, {-7918.297363, 6919.025879, 98.03125}, {0.161362, 0.903998, 0}, "Oneway"},
    {"de_stmarc", "CT-Start", "Fake duck", 15, {-6840.3720703125, 6924.4267578125, 136.4663543701172}, {1.393323, -179.350723, 0}, "Oneway"},
    {"de_stmarc", "Wallbang", "Fake duck", 15, {-7536.03125, 7608.307129, 96.03125}, {-0.48401, -36.291946, 0}, "Oneway"},
    {"de_stmarc", "CT-Start", "Fake duck", 15, {-6117.963379, 6421.532715, 221.126678}, {3.212008, 164.714813, 0}, "Oneway"},
    {"de_lake", "Garage", "Fake duck", 15, {4917.955566, -3268.020508, -98.08493}, {-0.696654, 177.950745, 0}, "Oneway"},
    {"de_lake", "T-Spawn", "Fake duck", 15, {2674.694824, -3722.520996, -32.425003}, {2.405347, 5.010656, 0}, "Oneway"},
    {"de_lake", "Bomb-site", "Fake duck", 15, {1652.807129, -4422.253418, -143.955399}, {-3.593326, 10.921947, 0}, "Oneway"},
    {"cs_italy", "Tunnel", "Fake duck", 15, {144.0148468017578, 348.98297119140625, -88.96875}, {0.1613140106201172, -55.74931716918945, 0}, "Oneway"},
    {"cs_italy", "Right Alley", "Fake duck", 15, {-431.9709167480469, -112.07582092285156, -88.96875}, {2.903980255126953, -52.03858947753906, 0}, "Oneway"},
    {"cs_italy", "Long Hall", "Fake duck", 15, {18.86300277709961, 2416.03125, 20.98790740966797}, {-0.806647777557373, -40.530582427978516, 0}, "Oneway"},
    {"de_nuke", "Outside", "Fake duck", 15, {3.446795701980591, -1662.1339111328125, 43.0312614440918}, {15.810659408569336, 1.4775171279907227, 0}, "Oneway"},
    {"de_nuke", "Ramp", "Fake duck", 15, {1356.9029541015625, -742.7432861328125, -602.7978515625}, {-0.9680168628692627, 144.7721710205078, 0}, "Oneway"},
    {"de_nuke", "Outside", "Fake duck", 15, {1413.1536865234375, -2430.9287109375, -417.742919921875}, {-1.129349708557129, 171.13609313964844, 0}, "Oneway"},
    {"de_train", "T Spawn", "Fake duck", 15, {1288.0654296875, 1706.8900146484375, -159.4558868408203}, {0.16135096549987793, -173.07870483398438, 0}, "Oneway"},
    {"de_train", "T Main", "Fake duck", 15, {-262.8990478515625, 487.631591796875, 35.01689910888672}, {20.65067481994629, 172.34555053710938, 0}, "Oneway"},
    {"de_train", "Ivy Tunnel", "Fake duck", 15, {653.9949951171875, 493.5329284667969, 34.03125190734863}, {15.48801040649414, 2.9309511184692383, 0}, "Oneway"},
    {"de_train", "Bombsite", "Fake duck", 15, {806.224609375, -463.09716796875, 103.03125}, {15.165338516235352, 118.57878112792969, 0}, "Oneway"},
    {"de_train", "Tunnel Two", "Fake duck", 15, {1969.5577392578125, -779.9430541992188, -214.94512939453125}, {-2.2586476802825928, 96.63731384277344, 0}, "Oneway"},
    {"de_anubis", "CT Side", "Fake duck", 15, {-582.8221435546875, 2328.042236328125, 31.949859619140625}, {-2.097200870513916, -91.29068756103516, 0}, "Oneway"},
    {"de_anubis", "Middle", "Fake duck", 15, {374.30450439453125, 1477.012451171875, 57.668325424194336}, {1.9360682964324951, -99.35801696777344, 0}, "Oneway"},

}

local cachedmaps = {}

local cachedoneways = {}



local degreesToRadians = function(radians)
    local arifemtic = (radians * math.pi / 180)
    return arifemtic
end




local angle_to_vec = function(x, y)
    local vecx = degreesToRadians(x);
    local vecy = degreesToRadians(y);
    local vectorx = math.sin(vecx);
    local vectory = math.cos(vecx);
    local vectorz = math.sin(vecy);
    local vectoroffset = math.cos(vecy);
    return {(vectory * vectoroffset), (vectory * vectorz), (vectorx / -1)}
end



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




local showOneways = function()
  local me = EntityList.GetClientEntity(EngineClient.GetLocalPlayer()):GetPlayer()
  if me == nil then return end
  if(me:GetProp("m_iHealth") == 0) then return end
  if #cachedoneways == 0 then
      for i = 1, #onewaylocations do
          local map = onewaylocations[i]
          if EngineClient.GetLevelNameShort() == map[1] then
              cachedoneways[#cachedoneways+1] = map
          end
      end
  else
      for f = 1, #cachedoneways do
          local nade = cachedoneways[f]
          if EngineClient.GetLevelNameShort() ~= nade[1] then
              cachedoneways = {}
              return
          end
          local me = EntityList.GetClientEntity(EngineClient.GetLocalPlayer()):GetPlayer()
          if me == nil then return end
          local wpn = me:GetActiveWeapon()
          local localplayer = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
          local origin = localplayer:GetPlayer():GetEyePosition()
          local vec = Vector.new(origin.x, origin.y, origin.z)
          local distance = vec:DistTo(Vector.new(nade[5][1], nade[5][2], nade[5][3]))
          local trace = EngineTrace:TraceRay(Vector.new(origin.x, origin.y, origin.z), Vector.new(nade[5][1], nade[5][2], nade[5][3]), localplayer, 0x200400B)
          if (owvis == true) then
                  if(trace.fraction > 0.96) then
                      local localplayer = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
                      local origin = localplayer:GetRenderOrigin()
                      local vec = Vector.new(origin.x, origin.y, origin.z)
                      local distance = vec:DistTo(Vector.new(nade[5][1], nade[5][2], nade[5][3]))
                      if(distance > 150) then
                          local sp =  Render.ScreenPosition(Vector.new(nade[5][1], nade[5][2], nade[5][3]))
                          local ts = Render.CalcTextSize("nade", 16)
                          local sc = EngineClient.GetScreenSize()
                          Render.GradientBoxFilled(Vector2.new(sp.x - ts.x/2, sp.y), Vector2.new(sp.x, sp.y+ts.y), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5))
                          Render.GradientBoxFilled(Vector2.new(sp.x, sp.y), Vector2.new(sp.x + ts.x/2, sp.y+ts.y), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0))
                          local is = Render.CalcWeaponIconSize(50, 26)
                          Render.Image(onewayimage,Vector2.new(sp.x - 5, sp.y),Vector2.new(40, 40)  )
                      else
                          local sp =  Render.ScreenPosition(Vector.new(nade[5][1], nade[5][2], nade[5][3]))
                          local ts = 0
                          local sc = EngineClient.GetScreenSize()
                          ts = Render.CalcTextSize(tostring(nade[2]), 16)
                          Render.GradientBoxFilled(Vector2.new(sp.x - ts.x/2, sp.y), Vector2.new(sp.x, sp.y+ts.y), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5))
                          Render.GradientBoxFilled(Vector2.new(sp.x, sp.y), Vector2.new(sp.x + ts.x/2, sp.y+ts.y), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0))
                          Render.Text(tostring(nade[2]), Vector2.new(sp.x - ts.x/2, sp.y), Color.new(1.0, 1.0, 1.0, 1.0), 16)
                          ts = Render.CalcTextSize(tostring(nade[3]), 16)
                          Render.GradientBoxFilled(Vector2.new(sp.x - ts.x/2, sp.y + 15), Vector2.new(sp.x, sp.y + 15+ts.y), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5))
                          Render.GradientBoxFilled(Vector2.new(sp.x, sp.y + 15), Vector2.new(sp.x + ts.x/2, sp.y + 15+ts.y), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0))
                          Render.Text(tostring(nade[3]), Vector2.new(sp.x - ts.x/2, sp.y + 15), Color.new(1.0, 1.0, 1.0, 1.0), 16)
                          local sp =  Render.ScreenPosition(Vector.new(nade[5][1], nade[5][2], nade[5][3]))
                          local aimAngle = angle_to_vec(nade[6][1], nade[6][2])
                          local vector = nade[5];
                          local aA = Render.ScreenPosition(Vector.new(vector[1] + aimAngle[1] * 70, vector[2] + aimAngle[2] * 70, vector[3] + aimAngle[3 ] * 70))
                          Render.Line(Vector2.new(sp.x, sp.y+25+ts.y), Vector2.new(aA.x, aA.y), Color.new(1.0, 1.0, 1.0, 1.0))
                          Render.Circle(Vector2.new(aA.x, aA.y), 6.0, 30, Color.new(1.0, 1.0, 1.0, 1.0))
                      end
                  end
          else
              local localplayer = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
                      local origin = localplayer:GetRenderOrigin()
                      local vec = Vector.new(origin.x, origin.y, origin.z)
                      local distance = vec:DistTo(Vector.new(nade[5][1], nade[5][2], nade[5][3]))
                      if(distance > 150) then
                          local sp =  Render.ScreenPosition(Vector.new(nade[5][1], nade[5][2], nade[5][3]))
                          local ts = Render.CalcTextSize("nade", 16)
                          local sc = EngineClient.GetScreenSize()
                          Render.GradientBoxFilled(Vector2.new(sp.x - ts.x/2, sp.y), Vector2.new(sp.x, sp.y+ts.y), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5))
                          Render.GradientBoxFilled(Vector2.new(sp.x, sp.y), Vector2.new(sp.x + ts.x/2, sp.y+ts.y), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0))
                          local is = Render.CalcWeaponIconSize(50, 26)
                          Render.Image(onewayimage,Vector2.new(sp.x - 5, sp.y),Vector2.new(40, 40)  )
                      else
                          local sp =  Render.ScreenPosition(Vector.new(nade[5][1], nade[5][2], nade[5][3]))
                          local ts = 0
                          local sc = EngineClient.GetScreenSize()
                          ts = Render.CalcTextSize(tostring(nade[2]), 16)
                          Render.GradientBoxFilled(Vector2.new(sp.x - ts.x/2, sp.y), Vector2.new(sp.x, sp.y+ts.y), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5))
                          Render.GradientBoxFilled(Vector2.new(sp.x, sp.y), Vector2.new(sp.x + ts.x/2, sp.y+ts.y), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0))
                          Render.Text(tostring(nade[2]), Vector2.new(sp.x - ts.x/2, sp.y), Color.new(1.0, 1.0, 1.0, 1.0), 16)
                          ts = Render.CalcTextSize(tostring(nade[3]), 16)
                          Render.GradientBoxFilled(Vector2.new(sp.x - ts.x/2, sp.y + 15), Vector2.new(sp.x, sp.y + 15+ts.y), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5))
                          Render.GradientBoxFilled(Vector2.new(sp.x, sp.y + 15), Vector2.new(sp.x + ts.x/2, sp.y + 15+ts.y), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0))
                          Render.Text(tostring(nade[3]), Vector2.new(sp.x - ts.x/2, sp.y + 15), Color.new(1.0, 1.0, 1.0, 1.0), 16)
                          local sp =  Render.ScreenPosition(Vector.new(nade[5][1], nade[5][2], nade[5][3]))
                          local aimAngle = angle_to_vec(nade[6][1], nade[6][2])
                          local vector = nade[5];
                          local aA = Render.ScreenPosition(Vector.new(vector[1] + aimAngle[1] * 70, vector[2] + aimAngle[2] * 70, vector[3] + aimAngle[3 ] * 70))
                          Render.Line(Vector2.new(sp.x, sp.y+25+ts.y), Vector2.new(aA.x, aA.y), Color.new(1.0, 1.0, 1.0, 1.0))
                          Render.Circle(Vector2.new(aA.x, aA.y), 6.0, 30, Color.new(1.0, 1.0, 1.0, 1.0))
                      end
          end
      end
  end
end























local can_shift_shot = function(tts)
    local me = EntityList.GetClientEntity(EngineClient.GetLocalPlayer()):GetPlayer()
    if me == nil then return end
    local wpn = me:GetActiveWeapon()
    if (me == null or wpn == null) then
        return false;
    end
    local player = EntityList.GetLocalPlayer()
    local tickbase = player:GetProp("m_nTickBase");
    local curtime = GlobalVars.interval_per_tick * (tickbase - tts)

    if (curtime < player:GetProp("m_flNextAttack")) then
        return false;
    end
    if (curtime < wpn:GetProp("m_flNextPrimaryAttack")) then
        return false;
    end
    return true;
end




local sc = EngineClient.GetScreenSize()
local SpecX = sc.x/2 - sc.x/8
local SpecY = sc.y/2
local SpecDrag = false
local BindsX = sc.x/2 + sc.x/8
local BindsY = sc.y/2

local alpha = {
    0,
    0,
    0,
    0,
    0,
    0,
}

local keysList = {
  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
}

local  function keybinds()
  local primary_clr = Color.new(0.94, 0.44, 1, 1.0)
   local secondary_clr= Color.new(0.15, 0.91, 0.086, 1)
  local binds = Cheat.GetBinds()
  if #binds > 0 or Cheat.IsMenuVisible() then
      for i = 1, #binds do
          if binds[i]:IsActive() then
              if keysList[i] < 255 then keysList[i] = keysList[i] + 5 else keysList[i] = 255 end
          else
              if keysList[i] > 0 then keysList[i] = keysList[i] - 5 else keysList[i] = 0 end
          end
              local ts = Render.CalcTextSize(binds[i]:GetValue(), 14)
              local sc = EngineClient.GetScreenSize()
              Render.Text(binds[i]:GetName(), Vector2.new(BindsX - 90, BindsY + i * math.min(17, keysList[i])), Color.new(1.0, 1.0, 1.0, keysList[i]/255), 14)
              if string.len(binds[i]:GetValue()) > 10 then
                  local a = -string.len(binds[i]:GetValue()) + 10
                  fs = Render.CalcTextSize(binds[i]:GetValue():sub(0,a), 14)
                  Render.Text(binds[i]:GetValue():sub(0,a) .. "..", Vector2.new(BindsX + 90 - fs.x, BindsY + i * math.min(17, keysList[i])), Color.new(0.13, 1, 0, keysList[i]/255), 18, font3)
              else
                  fs = Render.CalcTextSize(binds[i]:GetValue():sub(0,-15), 14)
                  Render.Text(binds[i]:GetValue(), Vector2.new(BindsX + 90 - fs.x, BindsY + i * math.min(17, keysList[i])),  Color.new(0.13, 1, 0, keysList[i]/255), 18, font3)
              end
      end
      local sc = EngineClient.GetScreenSize()
      local ts = Render.CalcTextSize('Keybinds', 16)
      Render.GradientBoxFilled(Vector2.new(BindsX-120, BindsY + 0 * 17 ), Vector2.new(BindsX + 120, BindsY + 0 * 17+ts.y ), primary_clr, secondary_clr, primary_clr, secondary_clr)
     Render.BoxFilled(Vector2.new(BindsX-118, BindsY + 0 * 17 +2), Vector2.new(BindsX + 118, BindsY + 0 * 17+ts.y - 2), Color.new(0.17, 0.17, 0.17, 1))
   --   Render.GradientBoxFilled(Vector2.new(BindsX-120, BindsY + 0 * 17), Vector2.new(BindsX, BindsY + 0 * 17+ts.y), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5))
     -- Render.GradientBoxFilled(Vector2.new(BindsX, BindsY + 0 * 17), Vector2.new(BindsX + 120, BindsY + 0 * 17+ts.y), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0))
      Render.Text("Keybinds", Vector2.new(BindsX - ts.x/2, BindsY + 0 * 17 - 2),  Color.new(0.13, 1, 0, 1), 18, font3)
      local is_key_pressed = Cheat.IsKeyDown(0x1)
      if is_key_pressed then
          local mouse = Cheat.GetMousePos()
          local ts = Render.CalcTextSize("Keybinds", 16)
          if BindsDrag == true then
              BindsX = mouse.x
              BindsY = mouse.y
          end
          if mouse.x >= BindsX - 120 and mouse.y >= BindsY and mouse.x <= BindsX - 120 + 240 and mouse.y <= BindsY + ts.y then
              if SpecDrag == false then BindsDrag = true end
          end
      else
          BindsDrag = false
      end
  end
end



local offset = 0

local drawIndicators = function()
  local lp = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
  if lp then
      if (lp:GetProp("m_iHealth") > 0) then
          local types = {
              'NORMAL',
              "OPPOSITE",
              "SWAY"
          }
          local h = 28;
      
          local leng = toleng;
          local sc = EngineClient.GetScreenSize()
          -- local x = sc.x / 2;
          local player = EntityList.GetLocalPlayer()
          local scoped = player:GetProp("m_bIsScoped");
          local y
          if scope then
              if(scoped) then
                  y = sc.y/2+15+offset+leng
              else
                  y = sc.y/2+15+leng
              end
          else
              y = sc.y/2+15
          end
          local customw = 50;
          local table = 0
          local antiaim = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "LBY Mode")
          local doubleTap = Menu.FindVar("Aimbot", "Ragebot", "Exploits", "Double Tap")
          local hideshots = Menu.FindVar("Aimbot", "Ragebot", "Exploits", "Hide Shots")
          local fakeduck = Menu.FindVar("Aimbot", "Anti Aim", "Misc", "Fake Duck")
          local binds = Cheat.GetBinds()
          local minDMGValue = 0
          local minDMG = false
          for i = 1, #binds do --  Iterate over our binds...
              local bind = binds[i]
              if bind:GetName() == 'Minimum Damage' then
                  minDMG = true
                  minDMGValue = bind:GetValue()
              end
          end

              text = types[antiaim:GetInt() + 1]
              w = Render.CalcTextSize(text, 15, font)
              -- Render.GradientBoxFilled(Vector2.new(sc.x/2 - w.x / 2, y + 14 * table), Vector2.new(sc.x/2 - w.x / 2, y + 14 * table + w.y), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5))
              Render.GradientBoxFilled(Vector2.new(sc.x/2 + w.x, y + 14 * table), Vector2.new(sc.x/2, y + 14 * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5))
              Render.GradientBoxFilled(Vector2.new(sc.x/2 - w.x, y + 14 * table), Vector2.new(sc.x/2, y + 14 * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0.5))
              Render.Text(tostring(text), Vector2.new(sc.x/2 - w.x / 2, y + 14 * table), Color.new(255/255, 255/255, 255/255, 1), 15 )
              table = table + 1
          if doubleTap:GetBool() then
              if alpha[1] < 255 then alpha[1] = alpha[1] + 5 else alpha[1] = 255 end
              local chrg = exploits.GetCharge()
              text = 'DT'
              w = Render.CalcTextSize(text, 15, font)
              Render.GradientBoxFilled(Vector2.new(sc.x/2 + w.x, y + math.min(17, alpha[1]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[1]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[1]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[1]/255)))
              Render.GradientBoxFilled(Vector2.new(sc.x/2 - w.x, y + math.min(17, alpha[1]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[1]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[1]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[1]/255)))
              if chrg == 1 then
                  Render.Text(tostring(text), Vector2.new(sc.x/2 - w.x / 2, y + math.min(17, alpha[1]/10) * table), Color.new(152/255, 240/255, 16/255, alpha[1]/255), 15)
              else
                  Render.Text(tostring(text), Vector2.new(sc.x/2 - w.x / 2, y + math.min(17, alpha[1]/10) * table), Color.new(255/255, 0/255, 0/255, alpha[1]/255), 15)
              end
              table = table + math.min(1, alpha[1] /17)
          else
              if alpha[1] > 0 then alpha[1] = alpha[1] - 5 else alpha[1] = 0 end
              text = 'DT'
              w = Render.CalcTextSize(text, 15, font)
              Render.GradientBoxFilled(Vector2.new(sc.x/2 + w.x, y + math.min(17, alpha[1]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[1]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[1]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[1]/255)))
              Render.GradientBoxFilled(Vector2.new(sc.x/2 - w.x, y + math.min(17, alpha[1]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[1]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[1]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[1]/255)))
              Render.Text(tostring(text), Vector2.new(sc.x/2 - w.x / 2, y + math.min(17, alpha[1]/10) * table), Color.new(152/255, 240/255, 16/255, alpha[1]/255), 15)
              table = table + math.max(0, math.min(1, alpha[1] /17))
          end
          if hideshots:GetBool() then
              if alpha[2] < 255 then alpha[2] = alpha[2] + 5 else alpha[2] = 255 end
              text = 'HIDE SHOTS'
              w = Render.CalcTextSize(text, 15)
              Render.GradientBoxFilled(Vector2.new(sc.x/2 + w.x, y + math.min(17, alpha[2]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[2]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[2]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[2]/255)))
              Render.GradientBoxFilled(Vector2.new(sc.x/2 - w.x, y + math.min(17, alpha[2]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[2]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[2]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[2]/255)))
              Render.Text(tostring(text), Vector2.new(sc.x/2 - w.x / 2 + 5, y + math.min(17, alpha[2]/10) * table), Color.new(152/255, 240/255, 16/255, alpha[2]/255), 15)
              table = table + math.min(1, alpha[2] /17)

          else
              if alpha[2] > 0 then alpha[2] = alpha[2] - 5 else alpha[2] = 0 end
              text = 'HIDE SHOTS'
              w = Render.CalcTextSize(text, 15)
              Render.GradientBoxFilled(Vector2.new(sc.x/2 + w.x, y + math.min(17, alpha[2]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[2]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[2]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[2]/255)))
              Render.GradientBoxFilled(Vector2.new(sc.x/2 - w.x, y + math.min(17, alpha[2]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[2]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[2]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[2]/255)))
              Render.Text(tostring(text), Vector2.new(sc.x/2 - w.x / 2 + 5, y + math.min(17, alpha[2]/10) * table), Color.new(152/255, 240/255, 16/255, alpha[2]/255), 15)
              table = table + math.max(0, math.min(1, alpha[2] /17))
          end
          if fakeduck:GetBool() then
              if alpha[3] < 255 then alpha[3] = alpha[3] + 5 else alpha[3] = 255 end
              text = 'FAKE DUCK'
              w = Render.CalcTextSize(text, 15)
              Render.GradientBoxFilled(Vector2.new(sc.x/2 + w.x, y + math.min(17, alpha[3]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[3]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[3]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[3]/255)))
              Render.GradientBoxFilled(Vector2.new(sc.x/2 - w.x, y + math.min(17, alpha[3]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[3]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[3]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[3]/255)))
              Render.Text(tostring(text), Vector2.new(sc.x/2 - w.x / 2 + 5, y + math.min(17, alpha[3]/10) * table), Color.new(255/255, 15/255, 15/255, alpha[3]/255), 15)
              table = table + math.min(1, alpha[3] /17)

          else
              if alpha[3] > 0 then alpha[3] = alpha[3] - 5 else alpha[3] = 0 end
              text = 'FAKE DUCK'
              w = Render.CalcTextSize(text, 15)
              Render.GradientBoxFilled(Vector2.new(sc.x/2 + w.x, y + math.min(17, alpha[3]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[3]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[3]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[3]/255)))
              Render.GradientBoxFilled(Vector2.new(sc.x/2 - w.x, y + math.min(17, alpha[3]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[3]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[3]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[3]/255)))
              Render.Text(tostring(text), Vector2.new(sc.x/2 - w.x / 2 + 5, y + math.min(17, alpha[3]/10) * table), Color.new(255/255, 15/255, 15/255, alpha[3]/255), 15)
              table = table + math.max(0, math.min(1, alpha[3] /17))
          end
          if minDMG == true then
              if alpha[4] < 255 then alpha[4] = alpha[4] + 5 else alpha[4] = 255 end
              text = 'DMG: ' .. minDMGValue
              w = Render.CalcTextSize(text, 15)
              Render.GradientBoxFilled(Vector2.new(sc.x/2 + w.x, y + math.min(17, alpha[4]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[4]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[4]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[4]/255)))
              Render.GradientBoxFilled(Vector2.new(sc.x/2 - w.x, y + math.min(17, alpha[4]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[4]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[4]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[4]/255)))
              Render.Text(tostring(text), Vector2.new(sc.x/2 - w.x / 2, y + math.min(17, alpha[4]/10) * table), Color.new(255/255, 255/255, 255/255, alpha[4]/255), 15)
              table = table + math.min(1, alpha[4] /17)
          else
              if alpha[4] > 0 then alpha[4] = alpha[4] - 5 else alpha[4] = 0 end
              text = 'DMG: ' .. minDMGValue
              w = Render.CalcTextSize(text, 15)
              Render.GradientBoxFilled(Vector2.new(sc.x/2 + w.x, y + math.min(17, alpha[4]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[4]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[4]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[4]/255)))
              Render.GradientBoxFilled(Vector2.new(sc.x/2 - w.x, y + math.min(17, alpha[4]/10) * table), Vector2.new(sc.x/2, y + math.min(17, alpha[4]) * table + w.y + 1), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[4]/255)), Color.new(0, 0, 0, 0), Color.new(0, 0, 0, math.min(0.5, alpha[4]/255)))
              Render.Text(tostring(text), Vector2.new(sc.x/2 - w.x / 2, y + math.min(17, alpha[4]/10) * table), Color.new(255/255, 255, 255/255, alpha[4]/255), 15)
              table = table + math.max(0, math.min(1, alpha[4] /17))
          end
      
      end
  end
end









local image_size = Vector2.new(746 / 5, 1070 / 5)

local url = "https://i.imgur.com/pzHsmIq.png"   
local bytes = Http.Get(url)
local rifk7 = Render.LoadImage(bytes, image_size)
local def = Color.new(0.75, 0.75, 0.75, 1)
local def2 = Color.new(0.75, 0.75, 0.75, 1)

local def3 = Color.new(0.75, 0.75, 0.75, 1)
local def4 = Color.new(0.75, 0.75, 0.75, 1)
local def5 = Color.new(0.75, 0.75, 0.75, 1)
local def6 = Color.new(0.75, 0.75, 0.75, 1)
local def7 = Color.new(0.75, 0.75, 0.75, 1)
local def8 = Color.new(0.75, 0.75, 0.75, 1)
local def9 = Color.new(0.75, 0.75, 0.75, 1)
local def10 = Color.new(0.75, 0.75, 0.75, 1)
local def11 = Color.new(0.75, 0.75, 0.75, 1)
local def12 = Color.new(0.75, 0.75, 0.75, 1)
local def13 = Color.new(0.75, 0.75, 0.75, 1)
local def14 = Color.new(0.75, 0.75, 0.75, 1)
local def15 = Color.new(0.75, 0.75, 0.75, 1)
local def16 = Color.new(0.75, 0.75, 0.75, 1)




local scope = false
local wtr = false
local traher = 0
local traher2 = 0
local traher3 = 0
local traher4 = 0
local traher5 = 0
local traher6 = 0
local traher7 = 0
local traher8 = 0
local traher9 = 0
local traher10 = 0
local traher11 = 0
local traher12 = 0
local traher13 = 0
local traher14 = 0
local traher15 = 0
local traher16 = 0

local airmode = false
local keys = false
local indi = false
local rgb = false
local trailk = false
local drmik= false
local FastDT = false
local legitaa = false
local jump = false
local fps_boost = false
local onw = false
local ebalo
local onw = false
local tabs = 0
local vis_col
local aim_col
local misc_col

local leger = false


local offset = 0

local chika = Vector2.new(0, 0)




local proba = 0



local  function keybindsList()

  local primary_clr = Color.new(0.94, 0.44, 1, 1.0)
   local secondary_clr= Color.new(0.15, 0.91, 0.086, 1)
  local binds = Cheat.GetBinds()

  if tabs == 0 then
    vis_col = Color.new(0.94, 0.44, 1, 1.0)
   else
   vis_col = Color.new(0.75, 0.75, 0.75, 1)
   end

   if tabs == 1 then
      aim_col = Color.new(0.94, 0.44, 1, 1.0)
     else
     aim_col = Color.new(0.75, 0.75, 0.75, 1)
    end


    if tabs == 2 then
      misc_col = Color.new(0.94, 0.44, 1, 1.0)
       else
       misc_col = Color.new(0.75, 0.75, 0.75, 1)
    end
  if true or Cheat.IsMenuVisible() then

      local sc = EngineClient.GetScreenSize()
      local ts = Render.CalcTextSize('Keybinds', 16)
      Render.GradientBoxFilled(Vector2.new(BindsX-300, BindsY-300), Vector2.new(BindsX + 300, BindsY + 300), primary_clr, secondary_clr, primary_clr, secondary_clr)
Render.BoxFilled(Vector2.new(BindsX-295, BindsY - 295), Vector2.new(BindsX + 295, BindsY + 295), Color.new(0.17, 0.17, 0.17, 1))
Render.Image(rifk7,Vector2.new(BindsX - 270, BindsY - 280),Vector2.new(80, 40)  )


Render.Text("Visuals", Vector2.new(BindsX - 160,  BindsY - 270), vis_col, 24, font4)
Render.Text("AimBot", Vector2.new(BindsX - 60,  BindsY - 270),aim_col, 24, font4)
Render.Text("Miscellaneous", Vector2.new(BindsX + 40,  BindsY - 270), misc_col, 24, font4)

if tabs == 0 then
Render.BoxFilled(Vector2.new(BindsX-245, BindsY - 217), Vector2.new(BindsX - 230, BindsY - 202), def)
Render.Text("Enable Watermark", Vector2.new(BindsX - 220,  BindsY - 220), Color.new(0, 0.9, 0, 1.0), 20, font)
          
Render.BoxFilled(Vector2.new(BindsX-245, BindsY - 187), Vector2.new(BindsX - 230, BindsY - 172), def2)
Render.Text("Enable KeyBinds", Vector2.new(BindsX - 220,  BindsY - 190), Color.new(0, 0.9, 0, 1.0), 20, font)         

Render.BoxFilled(Vector2.new(BindsX-10, BindsY - 217), Vector2.new(BindsX + 5, BindsY - 202), def3)
Render.Text("Enable Indicators", Vector2.new(BindsX + 15,  BindsY - 220), Color.new(0, 0.9, 0, 1.0), 20, font)         


Render.BoxFilled(Vector2.new(BindsX-10, BindsY - 187), Vector2.new(BindsX + 5, BindsY - 172), def4)
Render.Text("RGB Line", Vector2.new(BindsX + 15,  BindsY - 190), Color.new(0, 0.9, 0, 1.0), 20, font) 

Render.BoxFilled(Vector2.new(BindsX-245, BindsY - 157), Vector2.new (BindsX-230, BindsY - 142), def5)
Render.Text("Custom Scope", Vector2.new(BindsX - 220,  BindsY - 160), Color.new(0, 0.9, 0, 1.0), 20, font) 


Render.BoxFilled(Vector2.new(BindsX-10, BindsY - 157), Vector2.new (BindsX + 5, BindsY - 142), def6)
Render.Text("Enable RGB Trails", Vector2.new(BindsX + 15,  BindsY - 160), Color.new(0, 0.9, 0, 1.0), 20, font)


  chika.x = (BindsX - 245) + offset



if scope then
  Render.Line(Vector2.new(BindsX-245,BindsY - 127), Vector2.new(BindsX-140,  BindsY - 127),  Color.new(0.75, 0.75, 0.75, 1))
  Render.CircleFilled(Vector2.new( chika.x, BindsY - 127), 6.0, 30, Color.new(0.75, 0.75, 0.75, 1))
  Render.Text(""..offset, Vector2.new(BindsX - 135,  BindsY - 127), Color.new(0.94, 0.44, 1, 1.0), 20, font) 

end
end
if tabs == 1 then
  Render.BoxFilled(Vector2.new(BindsX-245, BindsY - 217), Vector2.new(BindsX - 230, BindsY - 202), def7)
  Render.Text("Enable Dormant Aimbot", Vector2.new(BindsX - 220,  BindsY - 220), Color.new(0, 0.9, 0, 1.0), 20, font)

  Render.BoxFilled(Vector2.new(BindsX-245, BindsY - 187), Vector2.new(BindsX - 230, BindsY - 172), def8)
  Render.Text("Full DT Improve", Vector2.new(BindsX - 220,  BindsY - 190), Color.new(0, 0.9, 0, 1.0), 20, font) 


Render.BoxFilled(Vector2.new(BindsX-10, BindsY - 217), Vector2.new(BindsX + 5, BindsY - 202), def9)
Render.Text("Legit AA", Vector2.new(BindsX + 15,  BindsY - 220), Color.new(0, 0.9, 0, 1.0), 20, font)

Render.BoxFilled(Vector2.new(BindsX-10, BindsY - 187), Vector2.new(BindsX + 5, BindsY - 172), def10)
Render.Text("JumpScout FIX", Vector2.new(BindsX + 15,  BindsY - 190), Color.new(0, 0.9, 0, 1.0), 20, font) 

Render.BoxFilled(Vector2.new(BindsX-245, BindsY - 157), Vector2.new (BindsX-230, BindsY - 142), def11)
Render.Text("Quick Peek", Vector2.new(BindsX - 220,  BindsY - 160), Color.new(0, 0.9, 0, 1.0), 20, font) 

end

if tabs == 2 then
  Render.BoxFilled(Vector2.new(BindsX-245, BindsY - 217), Vector2.new(BindsX - 230, BindsY - 202), def12)
  Render.Text("FPS Boost", Vector2.new(BindsX - 220,  BindsY - 220), Color.new(0, 0.9, 0, 1.0), 20, font)

  Render.BoxFilled(Vector2.new(BindsX-245, BindsY - 187), Vector2.new(BindsX - 230, BindsY - 172), def13)
  Render.Text("Static Leg Breaker", Vector2.new(BindsX - 220,  BindsY - 190), Color.new(0, 0.9, 0, 1.0), 20, font) 


Render.BoxFilled(Vector2.new(BindsX-10, BindsY - 217), Vector2.new(BindsX + 5, BindsY - 202), def14)
Render.Text("Enable OneWay Helper", Vector2.new(BindsX + 15,  BindsY - 220), Color.new(0, 0.9, 0, 1.0), 20, font)

if onw then

Render.BoxFilled(Vector2.new(BindsX-10, BindsY - 187), Vector2.new(BindsX + 5, BindsY - 172), def15)
Render.Text("Show only Visible", Vector2.new(BindsX + 15,  BindsY - 190), Color.new(0, 0.9, 0, 1.0), 20, font) 
end

Render.BoxFilled(Vector2.new(BindsX-245, BindsY - 157), Vector2.new (BindsX-230, BindsY - 142), def16)
Render.Text("AirStuck Mode", Vector2.new(BindsX - 220,  BindsY - 160), Color.new(0, 0.9, 0, 1.0), 20, font) 

end


      local is_key_pressed = Cheat.IsKeyDown(0x1)



      if is_key_pressed then
          local mouse = Cheat.GetMousePos()
          local ts = Render.CalcTextSize("Keybinds", 16)
          if BindsDrag == true then
              BindsX = mouse.x
              BindsY = mouse.y
          end
    if  mouse.x >= BindsX - 120 and mouse.y >= BindsY -120 and mouse.x <= BindsX  + 120 and mouse.y <= BindsY + 120  then
             BindsDrag = true
          end
if mouse.x >= BindsX - 160 and mouse.x <= BindsX - 105 and mouse.y >= BindsY - 275 and mouse.y <= BindsY - 262 then
  tabs = 0
end

if mouse.x >= BindsX - 60 and mouse.x <= BindsX - 10 and mouse.y >= BindsY - 275 and mouse.y <= BindsY - 262 then
  tabs = 1
end
if mouse.x >= BindsX + 40 and mouse.x <= BindsX + 140 and mouse.y >= BindsY - 275 and mouse.y <= BindsY - 262 then
  tabs = 2
end
if tabs == 0 and mouse.x >= BindsX - 245 and mouse.x <= BindsX - 140 and mouse.y >= BindsY - 130 and mouse.y <= BindsY - 124 then
  offset = mouse.x - (BindsX - 245)
       end

      else
          BindsDrag = false
      end

      if is_key_pressed then

        proba = proba + 1

      else
    
       proba = 0
        end

    
        if proba == 1 then
          local mouse = Cheat.GetMousePos()
          if tabs == 0 then
          
            if mouse.x >= BindsX - 245 and mouse.x <= BindsX - 230 and mouse.y >= BindsY - 217 and mouse.y <= BindsY - 202 then
                traher = traher + 1
                if traher % 2 ~= 0 then
                  wtr = true
                def =  Color.new(0, 0.9, 0, 1.0)
                elseif traher % 2 == 0 then
                wtr = false
                def =  Color.new(0.75, 0.75, 0.75, 1)
                end
                end
                if mouse.x >= BindsX - 245 and mouse.x <= BindsX - 230 and mouse.y >= BindsY - 187 and mouse.y <= BindsY - 172 then
                  traher2 = traher2 + 1
                  if traher2 % 2 ~= 0 then
                    keys = true
                  def2 =  Color.new(0, 0.9, 0, 1.0)
                  elseif traher2 % 2 == 0 then
                  keys = false
                  def2=  Color.new(0.75, 0.75, 0.75, 1)
                  end
                  end

                  if mouse.x >= BindsX - 10 and mouse.x <= BindsX + 5 and mouse.y >= BindsY - 217 and mouse.y <= BindsY - 202 then
                    traher3 = traher3 + 1
                    if traher3 % 2 ~= 0 then
                      indi = true
                    def3 =  Color.new(0, 0.9, 0, 1.0)
                    elseif traher3 % 2 == 0 then
                    indi = false
                    def3=  Color.new(0.75, 0.75, 0.75, 1)
                    end
                    end
                    if mouse.x >= BindsX - 10 and mouse.x <= BindsX + 5 and mouse.y >= BindsY - 187 and mouse.y <= BindsY - 172 then
                      traher4 = traher4 + 1
                      if traher4 % 2 ~= 0 then
                        rgb = true
                      def4 =  Color.new(0, 0.9, 0, 1.0)
                      elseif traher4 % 2 == 0 then
                      rgb = false
                      def4=  Color.new(0.75, 0.75, 0.75, 1)
                      end
                      end

                      if mouse.x >= BindsX - 245 and mouse.x <= BindsX - 230 and mouse.y >= BindsY - 157 and mouse.y <= BindsY - 142 then
                        traher5 = traher5 + 1
                        if traher5 % 2 ~= 0 then
                          scope = true
                        def5 =  Color.new(0, 0.9, 0, 1.0)
                        elseif traher5 % 2 == 0 then
                        scope = false
                        def5=  Color.new(0.75, 0.75, 0.75, 1)
                        end
                        end
                      
                      if mouse.x >=BindsX - 10 and mouse.x <= BindsX + 5 and mouse.y >= BindsY - 157 and mouse.y <= BindsY - 142 then
                        traher6 = traher6 + 1
                        if traher6 % 2 ~= 0 then
                          trailk = true
                        def6 =  Color.new(0, 0.9, 0, 1.0)
                        elseif traher6 % 2 == 0 then
                          trailk = false
                        def6=  Color.new(0.75, 0.75, 0.75, 1)
                        end
                        end



            end

            if tabs == 1 then
              if mouse.x >= BindsX - 245 and mouse.x <= BindsX - 230 and mouse.y >= BindsY - 217 and mouse.y <= BindsY - 202 then
                traher7 = traher7 + 1
                if traher7 % 2 ~= 0 then
                  drmik = true
                def7 =  Color.new(0, 0.9, 0, 1.0)
                elseif traher7 % 2 == 0 then
                drmik = false
                def7 =  Color.new(0.75, 0.75, 0.75, 1)
                end
                end
                if mouse.x >= BindsX - 245 and mouse.x <= BindsX - 230 and mouse.y >= BindsY - 187 and mouse.y <= BindsY - 172 then
                  traher8 = traher8 + 1
                  if traher8 % 2 ~= 0 then
                    FastDT = true
                  def8 =  Color.new(0, 0.9, 0, 1.0)
                  elseif traher8 % 2 == 0 then
                  FastDT = false
                  def8=  Color.new(0.75, 0.75, 0.75, 1)
                  end
                  end
                
                  if mouse.x >= BindsX - 10 and mouse.x <= BindsX + 5 and mouse.y >= BindsY - 217 and mouse.y <= BindsY - 202 then
                    traher9 = traher9 + 1
                    if traher9 % 2 ~= 0 then
                      legitaa = true
                    def9 =  Color.new(0, 0.9, 0, 1.0)
                    elseif traher9 % 2 == 0 then
                    legitaa = false
                    def9=  Color.new(0.75, 0.75, 0.75, 1)
                    end
                    end
                    if mouse.x >= BindsX - 10 and mouse.x <= BindsX + 5 and mouse.y >= BindsY - 187 and mouse.y <= BindsY - 172 then
                      traher10 = traher10 + 1
                      if traher10 % 2 ~= 0 then
                        jump = true
                      def10 =  Color.new(0, 0.9, 0, 1.0)
                      elseif traher10 % 2 == 0 then
                      jump = false
                      def10 =  Color.new(0.75, 0.75, 0.75, 1)
                      end
                      end
                      if mouse.x >= BindsX - 245 and mouse.x <= BindsX - 230 and mouse.y >= BindsY - 157 and mouse.y <= BindsY - 142 then
                        traher11 = traher11 + 1
                        if traher11 % 2 ~= 0 then
                      
                        def11 =  Color.new(0, 0.9, 0, 1.0)
                        elseif traher11 % 2 == 0 then
                    
                        def11=  Color.new(0.75, 0.75, 0.75, 1)
                        end
                        end

            end

            if tabs == 2 then
              if mouse.x >= BindsX - 245 and mouse.x <= BindsX - 230 and mouse.y >= BindsY - 217 and mouse.y <= BindsY - 202 then
                traher12 = traher12 + 1
                if traher12 % 2 ~= 0 then
                  fps_boost = true
                def12 =  Color.new(0, 0.9, 0, 1.0)
                elseif traher12 % 2 == 0 then
                fps_boost = false
                def12 =  Color.new(0.75, 0.75, 0.75, 1)
                end
                end

                if mouse.x >= BindsX - 245 and mouse.x <= BindsX - 230 and mouse.y >= BindsY - 187 and mouse.y <= BindsY - 172 then
                  traher13 = traher13 + 1
                  if traher13 % 2 ~= 0 then
                    leger = true
                  def13 =  Color.new(0, 0.9, 0, 1.0)
                  elseif traher13 % 2 == 0 then
                  leger = false
                  def13=  Color.new(0.75, 0.75, 0.75, 1)
                  end
                  end
                  if mouse.x >= BindsX - 10 and mouse.x <= BindsX + 5 and mouse.y >= BindsY - 217 and mouse.y <= BindsY - 202 then
                    traher14 = traher14 + 1
                    if traher14 % 2 ~= 0 then
                      onw = true
                    def14 =  Color.new(0, 0.9, 0, 1.0)
                    elseif traher14 % 2 == 0 then
                    onw = false
                    def14=  Color.new(0.75, 0.75, 0.75, 1)
                    end
                    end
                    if mouse.x >= BindsX - 10 and mouse.x <= BindsX + 5 and mouse.y >= BindsY - 187 and mouse.y <= BindsY - 172 then
                      traher15 = traher15 + 1
                      if traher15 % 2 ~= 0 then
                        owvis = true
                      def15 =  Color.new(0, 0.9, 0, 1.0)
                      elseif traher15 % 2 == 0 then
                      owvis = false
                      def15=  Color.new(0.75, 0.75, 0.75, 1)
                      end
                      end
                      if mouse.x >= BindsX - 245 and mouse.x <= BindsX - 230 and mouse.y >= BindsY - 157 and mouse.y <= BindsY - 142 then
                        traher16 = traher16 + 1
                        if traher16 % 2 ~= 0 then
                          airmode = true
                        def16 =  Color.new(0, 0.9, 0, 1.0)
                        elseif traher16 % 2 == 0 then
                          airmode = false
                        def16=  Color.new(0.75, 0.75, 0.75, 1)
                        end
                        end

            end
        end
  end
end



local recharge = function()
  local is_charged = exploits.GetCharge()
  if (can_shift_shot(16) and is_charged ~= 1) then
      exploits.AllowCharge(true)
      exploits.ForceCharge()
  end

  exploits.OverrideDoubleTapSpeed(16)
end





local toleng = 0
local coloriks =  Color.new(0.75, 0.75, 0.75, 1)

local skeetscope = function()
  local sc = EngineClient.GetScreenSize()
  local player = EntityList.GetLocalPlayer()
  local scoped = player:GetProp("m_bIsScoped");
  local gui = CVar.FindVar("r_drawvgui")
  if scoped then
      if toleng < (offset / 2 + 100) then toleng = toleng + 2 else toleng = (offset / 2 + 100) end
      gui:SetInt(0);
      Render.GradientBoxFilled(Vector2.new(sc.x / 2 - 0.1, sc.y / 2 - math.min(offset, toleng)), Vector2.new(sc.x / 2 + 1, sc.y / 2 - math.min(offset, toleng) - math.min(100, toleng)),  coloriks, coloriks, Color.new(0.75 * 255, 0.75 * 255, 0.75 * 255,  0), Color.new(0.75 * 255, 0.75 * 255, 0.75 * 255,  0))
      Render.GradientBoxFilled(Vector2.new(sc.x / 2 - math.min(offset, toleng), sc.y / 2 - 0.1), Vector2.new(sc.x / 2 - math.min(offset, toleng) - math.min(100, toleng), sc.y / 2  + 1),  coloriks, Color.new(0.75 * 255, 0.75 * 255, 0.75 * 255,  0),  coloriks, Color.new(0.75* 255, 0.75 * 255, 0.75 * 255,  0))
      Render.GradientBoxFilled(Vector2.new(sc.x / 2 - 0.1, sc.y / 2 + math.min(offset, toleng)), Vector2.new(sc.x / 2 + 1, sc.y / 2  + math.min(offset, toleng) + math.min(100, toleng)),  coloriks, coloriks, Color.new(0.75 * 255, 0.75 * 255, 0.75 * 255,  0), Color.new(0.75 * 255, 0.75 * 255, 0.75 * 255,  0))
      Render.GradientBoxFilled(Vector2.new(sc.x / 2 + math.min(offset, toleng), sc.y / 2 - 0.1), Vector2.new(sc.x / 2  + math.min(offset, toleng) + math.min(100, toleng), sc.y / 2  + 1),  coloriks, Color.new(0.75 * 255, 0.75 * 255, 0.75 * 255,  0),  coloriks, Color.new(0.75 * 255, 0.75 * 255, 0.75 * 255,  0))
  else
      if toleng > 0 then toleng = toleng - 2 else toleng = 0 end
      gui:SetInt(1);
  end
end



local previoustrails = {}



local trails = function()
  local local_player_index    = EngineClient.GetLocalPlayer()
  local local_player          = EntityList.GetClientEntity(local_player_index):GetPlayer()
  local me = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
  if local_player and local_player:GetProp("m_iHealth") > 0 then
      local r = math.floor(math.sin(GlobalVars.realtime * 2) * 127 + 128)
      local g =  math.floor(math.sin(GlobalVars.realtime * 2 + 2) * 127 + 128)
      local b = math.floor(math.sin(GlobalVars.realtime * 2 + 4) * 127 + 128) 
      local localplayer = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
      local origin = localplayer:GetRenderOrigin()
      previoustrails[#previoustrails+1] = { x = origin.x, y = origin.y, z = origin.z, tick = tonumber(GlobalVars.tickcount) + 50, draw = true, r = r, g = g, b = b}
      for i = 1, #previoustrails do
          if i > 2 then
              local trail = previoustrails[i]
              local trailtwo = previoustrails[i - 1]
                  local s = Vector.new(trail.x,trail.y,trail.z)
                  local stwo = Vector.new(trailtwo.x,trailtwo.y,trailtwo.z)
                  local beam_info = BeamInfo_t.new()
                  beam_info.m_vecStart = s
                  beam_info.m_vecEnd = stwo
                  beam_info.m_nSegments = 2
                  beam_info.m_nType = 0
                  beam_info.m_bRenderable = true
                  beam_info.m_nFlags = 0
                  beam_info.m_pszModelName = "sprites/purplelaser1.vmt"
                  beam_info.m_flHaloScale = 0.0
                  beam_info.m_flLife = 98 / 100
                  beam_info.m_flWidth = 7
                  beam_info.m_flEndWidth =7
                  beam_info.m_flFadeLength = 0.0
                  beam_info.m_flAmplitude = 0.0
                  beam_info.m_flSpeed = 0.0
                  beam_info.m_flFrameRate = 0.0
                  beam_info.m_nHaloIndex = 0
                  beam_info.m_nStartFrame = 0
                  beam_info.m_flBrightness = 255.0
                  beam_info.m_flRed = r
                  beam_info.m_flGreen = g
                beam_info.m_flBlue = b
            
                  RenderBeams:CreateBeamPoints(beam_info)
                  if i > 3 then
                      table.remove(previoustrails, i - 2)
                  end
          end
      end
  end
end




local LegitAA = function(cmd)
  local ents = EntityList.GetEntitiesByClassID(129)
  local hosts = EntityList.GetEntitiesByClassID(97)
  if ents[1] ~= nil or ents[0] ~= nil then
      for i = 1, #ents do
          local localplayer = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
          local position = ents[i]:GetProp("DT_BaseEntity", "m_vecOrigin")
          local origin = localplayer:GetPlayer():GetEyePosition()
          local vec = Vector.new(origin.x, origin.y, origin.z)
          local distance = vec:DistTo(position)
          if distance > 100 then
              cmd.buttons = bit.band(cmd.buttons, bit.bnot(32))
          end
      end
  elseif hosts[1] ~= nil then
      for f = 1, #hosts do
          if f > 1 then
              local localplayer = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
              local position = hosts[f]:GetProp("DT_BaseEntity", "m_vecOrigin")
              local position2 = hosts[f-1]:GetProp("DT_BaseEntity", "m_vecOrigin")
              local origin = localplayer:GetPlayer():GetEyePosition()
              local vec = Vector.new(origin.x, origin.y, origin.z)
              local distance = vec:DistTo(position)
              local distance2 = vec:DistTo(position2)
              if distance > 100 and distance2 > 100 then
                  cmd.buttons = bit.band(cmd.buttons, bit.bnot(32))
              end
          end
      end
  else
      cmd.buttons = bit.band(cmd.buttons, bit.bnot(32))
  end
  if setLegitOptions == false then
      local FakeOptions = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Fake Options")
      local LBYMode = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "LBY Mode")
      local freestandDesync = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Freestanding Desync")
      local DesyncOnShot = Menu.FindVar("Aimbot", "Anti Aim", "Fake Angle", "Desync On Shot")
      FakeOptions:SetInt(8)
      LBYMode:SetInt(1)
      freestandDesync:SetInt(0)
      DesyncOnShot:SetInt(0)
      setLegitOptions = true
  end
  if antiaim.GetInverterState() then
      antiaim.OverrideLBYOffset(-60)
  else
      antiaim.OverrideLBYOffset(60)
  end
  antiaim.OverrideYawOffset(180.0)
  antiaim.OverrideLimit(60)
  antiaim.OverridePitch(0.0)
end






local screen = EngineClient.GetScreenSize()
local vector1 = Vector2.new(0,0)
local vector2 = Vector2.new(screen.x,4)
local r, g, b

local function rtd(radians)
  return radians * (180 / math.pi)
  end
  local function deyaw(vec1, vec2)
  local x = vec2.x - vec1.x
  local z = vec2.y - vec1.y
  local y = vec2.z - vec1.z
  return rtd(math.atan2(z, x))
  end

  local function depitch(vec1, vec2)
  local x = vec2.x - vec1.x
  local z = vec2.y - vec1.y
  local y = vec2.z - vec1.z
  return rtd(math.atan2(y, math.sqrt(x * x + z * z)))
  end



  local function air_stuck(cmd)

    if airmode == true then
        cmd.tick_count = 0x7FFFFFFF
        cmd.command_number = 0x7FFFFFFF
    end

  end

local function run_aim(cmd)

  air_stuck(cmd)
  if legitaa == true then
    LegitAA(cmd)
  end
  if FastDT == true then
    recharge()
  end
  if (drmik == true) then
  for idx = 1, GlobalVars.maxClients + 1 do
  local origin = Vector.new()
      
        local ent = EntityList.GetClientEntity(idx)

        if ent and ent:IsPlayer() then

         local lc_player = ent:GetPlayer()
         local health = lc_player:GetProp("DT_BasePlayer", "m_iHealth")
         local network = lc_player:GetNetworkState()


         if not lc_player:IsTeamMate() and lc_player:IsDormant() and health > 0 then
            local enemy = lc_player
            local entity = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
            local player = entity:GetPlayer()
            local hitbox_center = player:GetHitboxCenter(0)

      origin = enemy:GetRenderOrigin()
     local fuck = Vector.new()
            fuck.x = origin.x
            fuck.y = origin.y
            fuck.z= origin.z + 85
        
            local trace_result  = Cheat.FireBullet(player,  hitbox_center, fuck)
            if (trace_result.damage  > 4) then
              local yaw = deyaw(hitbox_center, fuck) + 1
              local pitch  = depitch(hitbox_center, fuck)

            local active_weapon = player:GetActiveWeapon()
            local weapon_inaccuracy = active_weapon:GetInaccuracy(active_weapon)
         if(weapon_inaccuracy < 0.01) then
                  EngineClient.SetViewAngles(QAngle.new(pitch, yaw, 0))
                cmd.buttons = cmd.buttons and 1       
             end
           end     
  end
    end
   end
  end
  end





  local jumpScouted = false
  local jumpscoutTicks = 0
  local oldDamage = 0
  local oldAutowall = 0
  local oldHitChance = 0
  Cheat.RegisterCallback('events', function(event)
      if event:GetName() == "player_jump" then
          local user_id = event:GetInt("userid") - 1
          local local_player_index    = EngineClient.GetLocalPlayer()
          if user_id == local_player_index then
              if jump then
                  local me = EntityList.GetClientEntity(EngineClient.GetLocalPlayer()):GetPlayer()
                  if me == nil then return end
                  local wpn = me:GetActiveWeapon():GetClassName()
                  if wpn == "CWeaponSSG08" then
                      local damage = Menu.FindVar("Aimbot", "Ragebot", "Min. Damage", "Visible", "SSG-08")
                      local autowall = Menu.FindVar("Aimbot", "Ragebot", "Min. Damage", "Autowall", "SSG-08")
                      local hitchance = Menu.FindVar("Aimbot", "Ragebot", "Accuracy", "Hit Chance")
                      if jumpScouted == false then
                          oldDamage = damage:GetInt()
                          oldAutowall = autowall:GetInt()
                          oldHitChance = hitchance:GetInt()
                      end
                      hitchance:SetInt(36)
                      damage:SetInt(50)
                      autowall:SetInt(50)
                      jumpscoutTicks = GlobalVars.tickcount + 50
                      jumpScouted = true
                  end
              end
          end
      elseif event:GetName() == "player_hurt" then
          local user_id = event:GetInt("userid") - 1
          local local_player_index    = EngineClient.GetLocalPlayer()
          if user_id == local_player_index then
              hitbox = event:GetInt('hitgroup');
              target_damage = event:GetInt("dmhealth");
              target_health = event:GetInt("health");
              victim = event:GetInt('userid');
              attacker = event:GetInt('attacker');
              weapon = event:GetString('weapon');
              local entity = EntityList.GetClientEntity(victim)
              local Name = entity:GetPlayer():GetName()
              logs[#logs+1] = {('Hitted by ' .. Name .. ' for ' .. target_damage .. ' in ' .. hitboxes[hitbox+1]), GlobalVars.tickcount + 300, 0}
              print('[Rifk7] '.. 'Hitted by ' .. Name .. ' for ' .. target_damage .. ' in ' .. hitboxes[hitbox+1])
          end
      end
  end)


  local lbreaker = Menu.FindVar("Aimbot", "Anti Aim", "Misc", "Leg Movement")



Cheat.RegisterCallback("prediction", run_aim)



  Cheat.RegisterCallback("draw", function()




    local local_player_index    = EngineClient.GetLocalPlayer()
    local local_player          = EntityList.GetClientEntity(local_player_index)
  
    if not local_player then

        cachedoneways = {}
        logs = {}
        if CVar.FindVar("hidehud"):GetInt() == 8 then CVar.FindVar("hidehud"):SetInt(0) end
        CVar.FindVar("r_drawvgui"):SetInt(1)
    
    end
if local_player then

    if local_player:GetProp("m_iHealth") > 0 then
    
        if onw then showOneways() end
    

    end
  end











   local primary_clr = Color.new(0.94, 0.44, 1, 1.0)
   local secondary_clr= Color.new(0.15, 0.91, 0.086, 1)
   local positionx = EngineClient.GetScreenSize().x
   local positiony = EngineClient.GetScreenSize().y

   if leger == true then
    lbreaker:SetInt(math.random(1,2))

   end
if wtr == true then
    local primary_clr = Color.new(0.94, 0.44, 1, 1.0)
    local secondary_clr= Color.new(0.15, 0.91, 0.086, 1)
    local positionx = EngineClient.GetScreenSize().x
    local positiony = EngineClient.GetScreenSize().y

    if EngineClient.IsInGame() then
        local server_ip = EngineClient.GetNetChannelInfo():GetAddress()
        local ping = EngineClient.GetNetChannelInfo():GetLatency(0) * 1000
        ping = math.floor(ping + .5)
        Render.GradientBoxFilled(Vector2.new(positionx - 400, 8), Vector2.new(positionx -15, 31), primary_clr, secondary_clr, primary_clr, secondary_clr)
       Render.BoxFilled(Vector2.new(positionx - 397, 10), Vector2.new(positionx - 18, 29), Color.new(0.17, 0.17, 0.17, 1))
       Render.Text("rifk7.com  |  build: 02/11/2020 |   " .. server_ip .. "  |  ping " .. ping.. "  ms", Vector2.new(positionx - 385, 9), Color.new(0.13, 1, 0, 1), 20, font )

    else
        Render.GradientBoxFilled(Vector2.new(positionx - 250, 8), Vector2.new(positionx - 15, 31), primary_clr, secondary_clr, primary_clr, secondary_clr)
       Render.BoxFilled(Vector2.new(positionx - 247, 10), Vector2.new(positionx - 18, 29), Color.new(0.17, 0.17, 0.17, 1))
      Render.Text("rifk7.com  |  build: 02/11/2020  |  64   rate" , Vector2.new(positionx - 235, 9), Color.new(0.13, 1, 0, 1), 18, font2 )
    end

end

if keys == true then

  keybinds()

end

if indi == true then
  drawIndicators()

end

if rgb == true then
  gametime = GlobalVars.realtime

r = (math.floor(math.sin(GlobalVars.realtime * 1) * 127 + 128)) / 1000 * 3.92
g = (math.floor(math.sin(GlobalVars.realtime * 1 + 2) * 127 + 128)) / 1000 * 3.92
b = (math.floor(math.sin(GlobalVars.realtime * 1 + 4) * 127 + 128)) / 1000 * 3.92

local clr = Color.new(r,g, b ,100)

Render.BoxFilled(vector1, vector2, clr)
end


if trailk == true and EngineClient.IsInGame() then
  trails()
end

    if Cheat.IsMenuVisible() then
  keybindsList()
    end

  if scope and EngineClient.IsInGame() then
skeetscope()

  end

end)





Cheat.RegisterCallback("createmove", movecreate)
У меня реальный рифк,но луа попробую
 
Сверху Снизу