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

Пользователь
Пользователь
Статус
Оффлайн
Регистрация
10 Мар 2019
Сообщения
124
Реакции
58
сурс старый и не полностью зафикшен под ласт апи (воркает ток визуальная часть и то крашит)
p.s. я не ебу кто автор этого скрипта но он явно гений
Безымянный.png
code:
Expand Collapse Copy
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)
 
Какой ужас
 
бля реальный рифк чтоли:anguished::anguished:
 
топ lua
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Не плохо пошутил, мужик
 
ебануться
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
какой же пиздец в коде
 
сурс старый и не полностью зафикшен под ласт апи (воркает ток визуальная часть и то крашит)
p.s. я не ебу кто автор этого скрипта но он явно гений
code:
Expand Collapse Copy
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)
У меня реальный рифк,но луа попробую
 
urbcord осквернили
 
Назад
Сверху Снизу