• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

LUA скрипт Prediction Lua v2 For Neverlose (Open SRC)

  • Автор темы Автор темы r9x
  • Дата начала Дата начала
pro master
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
8 Июн 2020
Сообщения
235
Реакции
86
WqZsVS9.png

DHT7gdJ.png


Код:
Expand Collapse Copy
--PREDICTION LUA V2

local checkhitbox = {0,11,12,13,14}

local username = cheat.GetCheatUserName()

local ideal_yaw

local right_side

local left_side

local dt_charging

print("" .. username .. " if you have any questions feel free to dm kib1336#1030")

print("" .. username .. " if you have any suggestion or found any bug feel free to join our discord! : https://discord.gg/pJ5WpMV")

local version = "1643"



local ffi = require('ffi')



ffi.cdef[[

    void* CreateFileA(

        const char*                lpFileName,

        unsigned long                 dwDesiredAccess,

        unsigned long                 dwShareMode,

        unsigned long lpSecurityAttributes,

        unsigned long                 dwCreationDisposition,

        unsigned long                 dwFlagsAndAttributes,

        void*                hTemplateFile

        );

    bool ReadFile(

            void*       hFile,

            char*       lpBuffer,

            unsigned long        nNumberOfBytesToRead,

            unsigned long*      lpNumberOfBytesRead,

            int lpOverlapped

          );

    bool WriteFile(

            void*       hFile,

            char*      lpBuffer,

            unsigned long        nNumberOfBytesToWrite,

            unsigned long*      lpNumberOfBytesWritten,

            int lpOverlapped

        );



    unsigned long GetFileSize(

        void*  hFile,

        unsigned long* lpFileSizeHigh

    );

    bool CloseHandle(void* hFile);



    typedef unsigned long ULONG_PTR;

    typedef unsigned long DWORD;

    typedef unsigned short WORD;



    typedef struct tagKEYBDINPUT {

        WORD      wVk;

        WORD      wScan;

        DWORD     dwFlags;

        DWORD     time;

        ULONG_PTR dwExtraInfo;

      } KEYBDINPUT, *PKEYBDINPUT, *LPKEYBDINPUT;



    typedef struct tagMOUSEINPUT {

        long      dx;

        long      dy;

        DWORD     mouseData;

        DWORD     dwFlags;

        DWORD     time;

        ULONG_PTR dwExtraInfo;

      } MOUSEINPUT, * PMOUSEINPUT, * LPMOUSEINPUT;



      typedef struct tagHARDWAREINPUT {

        DWORD uMsg;

        WORD  wParamL;

        WORD  wParamH;

      } HARDWAREINPUT, *PHARDWAREINPUT, *LPHARDWAREINPUT;



    typedef struct tagINPUT {

        DWORD type;

          MOUSEINPUT mi;

          KEYBDINPUT ki;

          HARDWAREINPUT hi;

      } INPUT, *PINPUT, *LPINPUT;

]]



local pfile = ffi.cast("void*", ffi.C.CreateFileA("nl/username.txt", 0xC0000000, 0x00000003, 0, 0x4, 0x80, nil))

--local cfile = ffi.cast("void*", ffi.C.CreateFileA("nl/settings.txt", 0xC0000000, 0x00000003, 0, 0x4, 0x80, nil))



cheat.RegisterCallback("destroy", function()

ffi.C.CloseHandle(pfile)

--ffi.C.CloseHandle(cfile)

end)



local size = ffi.C.GetFileSize(pfile, nil)

local buff = ffi.new("char[" ..(size + 1).. "]")



ffi.C.ReadFile(pfile, buff, size, nil, 0)

buff = ffi.string(buff)

local username = buff



local function initlua()



menu.Text("Prediction LUA V2", "Hello "..username.."!")



local vers = http.Get("https://pastebin.com/raw/bHXD56yW")



local ok = ""

if version == vers then ok = "Version: UP 2 DATE!" else ok = "Version: Outdated!" end



if ok then

    menu.Text("STATUS", ok)

else

    menu.Text("STATUS", "ERROR")

end



cheat.AddNotify("test lua", "Welcome to test lua.3.0 " .. username .. " ")



ffi.cdef[[

    typedef uintptr_t (__thiscall* GetClientEntity_4242425_t)(void*, int);

    typedef void (__thiscall* UpdateCSA_t)(void*);

    typedef struct { float id; } poses_t;

    typedef struct

    {

        float x;

        float y;

        float z;

    } Vector_t;



    typedef struct

    {

        float            flAnimationTime;        //0x00

        float            flFadeOut;                //0x04

        void*            pStudioHdr;                //0x08

        int                nDispatchedSrc;            //0x0C

        int                nDispatchedDst;            //0x10

        int                iOrder;                    //0x14

        int nSequence;                //0x18

        float            flPrevCycle;            //0x1C

        float            flWeight;                //0x20

        float            flWeightDeltaRate;        //0x24

        float            flPlaybackRate;            //0x28

        float            flCycle;                //0x2C

        void*            pOwner;                    //0x30

        int                nInvalidatePhysicsBits;    //0x34

    } animlayer_t;



    typedef struct

    {

        void* pThis;

        char pad2[91];

        void* pBaseEntity; //0x60

        void* pActiveWeapon; //0x64

        void* pLastActiveWeapon; //0x68

        float m_flLastClientSideAnimationUpdateTime; //0x6C

        int m_iLastClientSideAnimationUpdateFramecount; //0x70

        float m_flEyePitch; //0x74

        float m_flEyeYaw; //0x78

        float m_flPitch; //0x7C

        float m_flGoalFeetYaw; //0x80

        float m_flCurrentFeetYaw; //0x84

        float m_flCurrentTorsoYaw; //0x88

        float m_flUnknownVelocityLean; //0x8C //changes when moving/jumping/hitting ground

        float m_flLeanAmount; //0x90

        char pad4 [4]; // NaN

        float m_flFeetCycle; //0x98 0 to 1

        float m_flFeetYawRate; //0x9C 0 to 1

        float m_fUnknown2;

        float m_fDuckAmount; //0xA4

        float m_fLandingDuckAdditiveSomething; //0xA8

        float m_fUnknown3; //0xAC

        Vector_t m_vOrigin; //0xB0, 0xB4, 0xB8

        Vector_t m_vLastOrigin; //0xBC, 0xC0, 0xC4

        float m_vVelocityX; //0xC8

        float m_vVelocityY; //0xCC

        char pad5[4];

        float m_flUnknownFloat1; //0xD4 Affected by movement and direction

        char pad6[8];

        float m_flUnknownFloat2; //0xE0 //from -1 to 1 when moving and affected by direction

        float m_flUnknownFloat3; //0xE4 //from -1 to 1 when moving and affected by direction

        float m_unknown; //0xE8

        float speed_2d; //0xEC

        float flUpVelocity; //0xF0

        float m_flSpeedNormalized; //0xF4 //from 0 to 1

        float m_flFeetSpeedForwardsOrSideWays; //0xF8 //from 0 to 2. something  is 1 when walking, 2.something when running, 0.653 when crouch walking

        float m_flFeetSpeedUnknownForwardOrSideways; //0xFC //from 0 to 3. something

        float m_flTimeSinceStartedMoving; //0x100

        float m_flTimeSinceStoppedMoving; //0x104

        unsigned char m_bOnGround; //0x108

        unsigned char m_bInHitGroundAnimation; //0x109

        char pad7[10];

        float m_flLastOriginZ; //0x114

        float m_flHeadHeightOrOffsetFromHittingGroundAnimation; //0x118 from 0 to 1, is 1 when standing

        float m_flStopToFullRunningFraction; //0x11C from 0 to 1, doesnt change when walking or crouching, only running

        char pad8[4]; //NaN

        float m_flUnknownFraction; //0x124 affected while jumping and running, or when just jumping, 0 to 1

        char pad9[4]; //NaN

        float m_flUnknown3;

        char pad10[528];

    } CCSGOPlayerAnimationState_534535_t;

]]



local hitboxesused = {18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,0}



local hitboxes = {

    "Head",

    "Upper Chest",

    "Chest",

    "Body",

    "Stomach",

    "Pelvis",

    "Legs & Feet",

    "Arms"

}



local types = {

    "2D Filled Circle",

    "2D Circle"

}

--WHOSE

local miss_counter = 0

local menu_invert_side = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "Inverter")

local menu_left_limit = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "Left Limit")

local menu_fake_options = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "LBY Mode")

local menu_right_limit = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "Right Limit")

local menu_leg_movement = g_Config:FindVar("Aimbot", "Anti Aim", "Misc", "Leg Movement")

local menu_fakelag_limit = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Limit")

local menu_fakelag_enable = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag")

local menu_fakelag_triggers = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Triggers")



local menu_safe_point = g_Config:FindVar("Aimbot", "Ragebot", "Accuracy", "Safe Points")

local menu_fakeduck = g_Config:FindVar("Aimbot", "Anti Aim", "Misc", "Fake Duck")

local menu_antiaim_manual = g_Config:FindVar("Aimbot", "Anti Aim", "Main", "Yaw Base")

local var_arrow_fonts = g_Render:InitFont("Verdana",55)



--VARS END--



--LUA MENU

menu.Text("Anti-Aim", "Anti Bruteforce Customization")

local c_menu_anti_brute = menu.Switch("Anti-Aim", "Anti Brute", false, "Will enable Lua Script Anti-BruteForce!")

local c_menu_anti_brute_fov_slider = menu.SliderFloat("Anti-Aim", "Anti Brute FOV", 175.0, 50.0, 250.0, "Limit FOV between bullet and your modelll (Recomended Default Value)")



local c_menu_anti_brute_debug_mode = menu.Switch("Anti-Aim", "Debug Mode", false, "Will print on console which angle has been overrided etc...")

local c_menu_anti_brute_1stshot = menu.SliderInt("Anti-Aim", "1st shot angle", 45, 0, 60, "Fake Limit for 1st enemy shot (Recomended using default values if you don't know what you're doing!)")

local c_menu_anti_brute_2ndshot = menu.SliderInt("Anti-Aim", "2nd shot angle", 45, 0, 60, "Fake Limit for 2nd enemy shot (Recomended using default values if you don't know what you're doing!)")

local c_menu_anti_brute_3rdshot = menu.SliderInt("Anti-Aim", "3rd shot angle", 5, 0, 60, "Fake Limit for 3rd enemy shot (Recomended using default values if you don't know what you're doing!)")



menu.Text("Anti-Aim", "Body Lean Customization")

local c_menu_custom_body_lean = menu.Switch("Anti-Aim", "Custom Bodylean", false, "Will enable customized BodyLean can be modified using the sliders below!")

local c_menu_body_lean_left = menu.SliderFloat("Anti-Aim", "Body Lean Left", 16.4, -180.0, 180.0, "Adjusts your BodyLean")

local c_menu_body_lean_right = menu.SliderFloat("Anti-Aim", "Body Lean Right", -20.0, -180.0, 180.0, "Adjusts your BodyLean")







menu.Text("FakeLags", "FakeLags Customization")

local c_menu_custom_fakelag = menu.Switch("FakeLags", "Custom Fakelag", false, "Will enable customized Fakelags")

local c_menu_fakelag_modes = menu.Combo("FakeLags", "Modes", {"Adaptive", "Fluctuate"}, 0, "Multiple Fakelag modes!")

local c_menu_fakelag_fluctuate_timing = menu.SliderFloat("FakeLags", "Fluctuate Timing", 12.9, 0.0, 20.0, "Fluctuate timing (Recomended Default values!)!")



menu.Text("Exploits", "Exploits Customization")

local c_menu_doubletap = menu.Switch("Exploits", "Customized Doubletap", true, "")

local c_menu_doubletap_clockcr = menu.Switch("Exploits", "Disable Correction", false, "Will make your DoubleTap innacurate but faster!")

local c_menu_doubletap_modes = menu.Combo("Exploits", "Modes", {"Instant", "Fast", "Slow", "Sonic"}, 0, "Multiple DoubleTap speed modes!")

local c_menu_doubletap_debug_mode = menu.Switch("Exploits", "Debug Mode", false, "Will print info about doubletap, ticks etc...")

local c_menu_doubletap_instant_recharge = menu.Switch("Exploits", "Instant Recharge", false, "Will recharge doubletap as soon as possible (Not recommended tho!)!")



local c_menu_exploits_legs = menu.Switch("Exploits", "Smart Legs", false, "Will swap your model legs between normal/sliding asap!")

local c_menu_air_stuck = menu.Switch("Exploits", "Airstuck", false, "")



menu.Text("Visuals", "Visuals Customization")

local c_menu_text_indicators = menu.Switch("Visuals", "Enable text indicators", false, "Draw Text indicators (Use the multicombo tho!)!")

local c_menu_x = menu.SliderFloat("Visuals", "Text x position", 973.0, 0.0, 2000.0, "x pos")

local c_menu_y = menu.SliderFloat("Visuals", "Text y position", 484.0, 0.0, 2000.0, "y pos")

local c_menu_arrows = menu.Switch("Visuals", "Anti-Aim Arrows", false, "Draw AntiAim direction arrows!")

local c_menu_arrow_color = menu.ColorEdit("Visuals", "Arrow color", Color.new(1,1,1,1), "")

local c_menu_arrows_type = menu.Combo("Visuals", "Arrow Type", {")", ">", "Triangles", "Circle"}, 0, "Multiple Arrow types!")

local c_menu_custom_impacts = menu.Switch("Visuals", "Custom Bullet Impacts", false, "")

local c_menu_visuals_impacts = menu.SliderInt("Visuals", "Bullet Impacts size", 5, 1, 50, "")

local c_menu_visuals_beam_color = menu.ColorEdit("Visuals", "Beam Color", Color.new(1,1,1,1), "")

local c_menu_visuals_impact_color = menu.ColorEdit("Visuals", "Impacts Color", Color.new(1,1,1,1), "")

local c_menu_watermarker = menu.Switch("Visuals", "Watermarker", false, "Enables simple Watermarker!")



menu.Text("Misc", "Miscellaneous")

local c_menu_kill_say = menu.Switch("Misc", "Custom Kill Say", false, "Says something on the chat once you kill someone (Words can be edited on the textbox below!)!")

local c_menu_kill_say_words = menu.TextBox("Misc", "Kill Say Words", 64, "Say something...", "Says something on the chat once you kill someone (If Kill Say checkbox is enabled!)!")

local c_menu_hurt_say = menu.Switch("Misc", "Custom Hurt Say", false, "Says something on the chat once you hurt someone (Words can be edited on the textbox below!)!")

local c_menu_hurt_say_words = menu.TextBox("Misc", "Hurt Say Words", 64, "Say something...", "Says something on the chat once you hurt someone (If Hurt Say checkbox is enabled!)!")



menu.Text("Aimbot", "Advanced Aimbot")

local c_menu_safepoint_hitboxes = menu.MultiCombo("Aimbot", "Safe point Hitboxes", hitboxes, 0, "")

local c_menu_draw_only_priority_hitboxe = menu.SwitchColor("Aimbot", "Draw only priority hitbox", false, Color.new(1.0,1.0,1.0,1.0), "")

local c_menu_circle_customization = menu.Combo("Aimbot", "Circle Customization", types, 0, "")

local c_menu_scale_circle = menu.SliderFloat("Aimbot", "Scale circle", 1, 0, 20, "")

local c_menu_hitboxes_color = menu.ColorEdit("Aimbot", "Intersacted points Color", Color.new(1,1,1,1), "")





local c_menu_anti_aim_helpers = menu.Switch("Anti-Aim", "Auto direction", false, "")

local c_menu_anti_aim_helpers_types = menu.Combo("Anti-Aim", "Auto direction Types", {"Peek with Fake", "Peek with Real"}, 0, "Multiple Auto direction types!")

local c_menu_anti_aim_helpers_desync = menu.Switch("Anti-Aim", "Desync Modifications", false, "")

local c_menu_anti_aim_helpers_desync_mod = menu.Combo("Anti-Aim", "Desync Mods", {"Smart", "Prefer Low Delta", "Multiple"}, 0, "Multiple Auto direction types!")

local menu_freestand_desync = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "Freestanding Desync")

local menu_fake_option = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "Fake Options")



--LUA MENU



local function antiaim_helpers()



  if (c_menu_anti_aim_helpers:GetBool()) then

        if (c_menu_anti_aim_helpers_types:GetInt() == 0) then --Peek fake

            menu_freestand_desync:SetInt(1)

        else if (c_menu_anti_aim_helpers_types:GetInt() == 1) then --Peek real

            menu_freestand_desync:SetInt(2)

        end

    end

  end



  local local_idx = g_EngineClient:GetLocalPlayer()

  local local_entity = g_EntityList:GetClientEntity(local_idx)



  if local_entity == nil then

    return

  end



  local local_player = local_entity:GetPlayer();

  local speed_x = local_player:GetProp("DT_BasePlayer", "m_vecVelocity[0]")

  local speed_y = local_player:GetProp("DT_BasePlayer", "m_vecVelocity[1]")

  local speed = math.sqrt(speed_x * speed_x + speed_y * speed_y)

  local speed_per_tick = math.sqrt(speed_x * speed_x + speed_y * speed_y) *  g_GlobalVars.interval_per_tick

    if (c_menu_anti_aim_helpers_desync:GetBool()) then



        if (c_menu_anti_aim_helpers_desync_mod:GetInt() == 0) then --smart

            menu_fake_option:SetInt(1)

            menu_freestand_desync:SetInt(2)

            antiaim.OverrideLimit(math.random(45, 80))

              menu_left_limit:SetInt(math.random(30, 80))

              menu_right_limit:SetInt(math.random(30, 80))

      

    

        end

        if (c_menu_anti_aim_helpers_desync_mod:GetInt() == 2) then --Multiple

            menu_fake_option:SetInt(utils.RandomInt(2, 3))

            menu_fake_options:SetInt(utils.RandomInt(1, 2))

              menu_left_limit:SetInt(utils.RandomInt(35, 60))

              menu_right_limit:SetInt(utils.RandomInt(35, 60))

        end

       if (c_menu_anti_aim_helpers_desync_mod:GetInt() == 1) then --prefer low delta

          menu_fake_option:SetInt(1)

          menu_freestand_desync:SetInt(2)

          antiaim.OverrideLimit(math.random(15, 15))

          menu_left_limit:SetInt(math.random(15, 35))

          menu_right_limit:SetInt(math.random(15, 35))

    

        end 

    end

end













--AIMBOT



local safety_hitboxes = {}

local best_hitbox = {}

local best_damage = {}



local predict_ticks = 7

local force_off = false

local force_off_tick = 0



local function normalizeangles(ang)

    if(ang.pitch > 180.0) then ang.pitch = ang.pitch - 360.0 end

    if(ang.yaw > 180.0) then ang.yaw = ang.yaw - 360.0 end

    return ang

end



local function calcangle(src, dst)

    local vecdelta = Vector.new(dst.x - src.x, dst.y - src.y, dst.z - src.z)

    local angles = QAngle.new(math.atan2(-vecdelta.z, vecdelta:Length2D()) * 180.0 / math.pi, (math.atan2(vecdelta.y, vecdelta.x) * 180.0 / math.pi), 0.0)

    angles = normalizeangles(angles)

    return angles

end



local function canseeentity(localplayer, entity)

    if not entity or not localplayer then return false end

    local canhit = false

    for k,v in pairs(checkhitbox) do

        local damage = cheat.FireBullet(localplayer, localplayer:GetEyePosition(), entity:GetPlayer():GetHitboxCenter(v))

        if damage > 0 then

            canhit = true

            break

        end

    end

    return canhit

end



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

    if event:GetName() == "player_death" then

  

        if true then

            for i = 1, 64 do

                best_hitbox[i] = -1

                best_damage[i] = 0

            end

        end

    end

end)

local lines = {}

local results = {}



local function impacts_events(event)

    if event:GetName() == "bullet_impact" and event:GetInt("userid") == g_EngineClient:GetPlayerInfo(g_EngineClient:GetLocalPlayer()).userId then

        local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())

        if localplayer then localplayer = localplayer:GetPlayer() else return end

        local position = localplayer:GetEyePosition()

        local destination = Vector.new(event:GetFloat("x"), event:GetFloat("y"), event:GetFloat("z"))

        table.insert(lines, {pos = position, destination = destination, time = 250, curtime = g_GlobalVars.curtime})

    end



    if event:GetName() == "player_hurt" then

        if event:GetInt("attacker") == g_EngineClient:GetPlayerInfo(g_EngineClient:GetLocalPlayer()).userId then

            for k,v in pairs(lines) do

                if v.curtime == g_GlobalVars.curtime then

                    table.insert(results, lines[k])

                    table.remove(lines, k)

                end

            end

        end

    end

end

local function draw_impacts()

    local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())

    if localplayer then localplayer = localplayer:GetPlayer() else return end

    local position = localplayer:GetEyePosition()



    for k,v in pairs(results) do

        v.time = v.time - 1

        if g_Render:ScreenPosition(v.pos).x ~= g_Render:ScreenPosition(v.destination).x and g_Render:ScreenPosition(v.pos).y ~= g_Render:ScreenPosition(v.destination).y then

            if g_Render:ScreenPosition(v.pos).x ~= g_Render:ScreenPosition(position).x and g_Render:ScreenPosition(v.pos).y ~= g_Render:ScreenPosition(position).y then

                g_Render:Line(g_Render:ScreenPosition(v.pos), g_Render:ScreenPosition(v.destination), c_menu_visuals_beam_color:GetColor())

            end

        end

        if v.time == 0 then table.remove(results, k) end

    end



    for k,v in pairs(results) do

        for i = 1,c_menu_visuals_impacts:GetInt() do

            local position1 = g_Render:ScreenPosition(v.destination)

            local position2 = g_Render:ScreenPosition(v.destination)

            local position3 = g_Render:ScreenPosition(v.destination)

            local position4 = g_Render:ScreenPosition(v.destination)

            position1.x = position1.x+i

            position2.x = position2.x-i

            position3.y = position3.y+i

            position4.y = position4.y-i

            g_Render:Box(position1, position2, c_menu_visuals_impact_color:GetColor())

            g_Render:Box(position3, position4, c_menu_visuals_impact_color:GetColor())

        end

    end

end



function C_BaseEntity:m_iHealth()

    return self:GetProp("DT_BasePlayer", "m_iHealth")

end

function C_BaseEntity:m_vecVelocity()

    return self:GetProp("DT_BasePlayer", "m_vecVelocity")

end



local ENTITY_LIST_POINTER = ffi.cast("void***", utils.CreateInterface("client.dll", "VClientEntityList003")) or error("Failed to find VClientEntityList003!")

local GET_CLIENT_ENTITY_FN = ffi.cast("GetClientEntity_4242425_t", ENTITY_LIST_POINTER[0][3])

local UpdateClientSideAnims = ffi.cast("UpdateCSA_t", utils.PatternScan("client.dll", "55 8B EC 51 56 8B F1 80 BE ? ? ? ? 00 74 ? 8B 06 FF"))



local ffi_helpers = {

get_animstate_offset = function()

    return 14612

end,



get_entity_address = function(entity_index)

    local addr = GET_CLIENT_ENTITY_FN(ENTITY_LIST_POINTER, entity_index)

    return addr

end

}



local original_goal_feet_yaw = {}





local function aimbot(cmd)

    local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())

    local oldlocalplayer = localplayer

    if localplayer then

        --local entity_animation_state = ffi.cast("int**", ffi_helpers.get_entity_address(2) + 45952)[0]

        --entity_animation_state = 100

        localplayer = localplayer:GetPlayer()

    else

        return

    end



    safety_hitboxes = {}

    for i = 0,10 do

        if c_menu_safepoint_hitboxes:GetBool(i) then

            if i == 0 then table.insert( safety_hitboxes, 0 )

            elseif i == 1 then table.insert( safety_hitboxes, 6 )

            elseif i == 2 then table.insert( safety_hitboxes, 5 )

            elseif i == 3 then table.insert( safety_hitboxes, 4 )

            elseif i == 4 then table.insert( safety_hitboxes, 3 )

            elseif i == 5 then table.insert( safety_hitboxes, 2 )

            elseif i == 6 then

                for i = 7,12 do

                    table.insert( safety_hitboxes, i )

                end

            elseif i == 7 then

                for i = 13,18 do

                    table.insert( safety_hitboxes, i )

                end

            end

        end

    end



    for i = 1,64 do



        local entity = g_EntityList:GetClientEntity(i)

        if not entity then break end

        if entity and entity:GetPlayer():m_iHealth() > 0 and not entity:GetPlayer():IsTeamMate() and canseeentity(localplayer:GetPlayer(), entity:GetPlayer()) then

        

            --UpdateClientSideAnims(ffi.cast("void***", ffi_helpers.get_entity_address(entity:EntIndex())))

            for k,v in pairs(safety_hitboxes) do

                ragebot.ForceHitboxSafety(entity:EntIndex(), v)

            end



            local biggestdamage = 0

            local health = entity:GetPlayer():m_iHealth()

            local besthitboxfound = -1

            for k,v in pairs(hitboxesused) do

                local damage = cheat.FireBullet(localplayer, localplayer:GetEyePosition(), entity:GetPlayer():GetHitboxCenter(v))

                if damage > biggestdamage then

                    biggestdamage = damage

                    besthitboxfound = v

                end



                if damage >= health then

                    biggestdamage = damage

                    besthitboxfound = v

                    break

                end

            end

        

            best_hitbox[entity:EntIndex()] = besthitboxfound

            best_damage[entity:EntIndex()] = biggestdamage



            for i = 1, 18 do

                ragebot.SetHitboxPriority(entity:EntIndex(), i, 1)

            end



            ragebot.SetHitboxPriority(entity:EntIndex(), besthitboxfound, 10000)

        else

            best_damage[entity:EntIndex()] = 0

            best_hitbox[entity:EntIndex()] = -1

        end

    end



    --peeking:handle()

end





function toint(n)

    local s = tostring(n)

    local i, j = s:find('%.')

    if i then

        return tonumber(s:sub(1, i-1))

    else

        return n

    end

end



local function aimbot_draw()

    local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())

    if localplayer then

        localplayer = localplayer:GetPlayer()

    else

        return

    end



    if localplayer:m_iHealth() < 1 then

        return

    end





    for i = 1,64 do

        local entity = g_EntityList:GetClientEntity(i)

        local nentity = entity

        if entity then

            entity = entity:GetPlayer()

        end

        if entity and entity:m_iHealth() > 0 and not entity:IsTeamMate() and not entity:IsDormant() then

            for k,v in pairs(hitboxesused) do

                local color = Color.new(1,0,0,1)

                local red = false

                    if best_hitbox[nentity:EntIndex()] == v then

                        color = c_menu_draw_only_priority_hitboxe:GetColor()

                    else

                        color = c_menu_hitboxes_color:GetColor()

                        red = true

                    end

                if c_menu_draw_only_priority_hitboxe:GetBool() and not red then

                    if c_menu_circle_customization:GetInt() == 1 then         

                        g_Render:Circle(g_Render:ScreenPosition(Vector.new(entity:GetHitboxCenter(v).x, entity:GetHitboxCenter(v).y, entity:GetHitboxCenter(v).z)), toint(7*c_menu_scale_circle:GetFloat()), toint(58*c_menu_scale_circle:GetFloat()/4), color)

                    elseif c_menu_circle_customization:GetInt() == 0 then

                        g_Render:CircleFilled(g_Render:ScreenPosition(Vector.new(entity:GetHitboxCenter(v).x, entity:GetHitboxCenter(v).y, entity:GetHitboxCenter(v).z)), toint(7*c_menu_scale_circle:GetFloat()), toint(58*c_menu_scale_circle:GetFloat()/4), color)

                    end

                elseif not c_menu_draw_only_priority_hitboxe:GetBool() then

                    if c_menu_circle_customization:GetInt() == 1 then         

                        g_Render:Circle(g_Render:ScreenPosition(Vector.new(entity:GetHitboxCenter(v).x, entity:GetHitboxCenter(v).y, entity:GetHitboxCenter(v).z)), toint(7*c_menu_scale_circle:GetFloat()), toint(58*c_menu_scale_circle:GetFloat()/4), color)

                    elseif c_menu_circle_customization:GetInt() == 0 then

                        g_Render:CircleFilled(g_Render:ScreenPosition(Vector.new(entity:GetHitboxCenter(v).x, entity:GetHitboxCenter(v).y, entity:GetHitboxCenter(v).z)), toint(7*c_menu_scale_circle:GetFloat()), toint(58*c_menu_scale_circle:GetFloat()/4), color)

                    end

                end

            end

        end

    end

end





--AIMBOT





--PREDICTION CALLBACK FUNCTIONS

local function body_lean()

     local r_right = c_menu_body_lean_right:GetFloat()

     local r_left = c_menu_body_lean_left:GetFloat()



    if (c_menu_custom_body_lean:GetBool()) then

        if (menu_invert_side:GetBool()) then

            antiaim.OverrideYawOffset(r_right)

        else

            antiaim.OverrideYawOffset(r_left)

        end

    end

end

--PREDICTION CALLBACK FUNCTIONS





--EXPLOITS

local function instant_recharge()



    if (c_menu_doubletap_instant_recharge:GetBool()) then

        exploits.ForceCharge()

    end



end



local function exploits_func()

        --Speed modes

    local instant = 15

    local fast = 14

    local default = 13



    --Preserve modes

    local insecure = 0

    local secure = 1

    local safe = 2



    local cl_clock_correction = g_CVar:FindVar("cl_clock_correction") --clock correction OOPS: I think soufiw already manages with this but whatever...

    local sv_maxusrcmdprocessticks = g_CVar:FindVar("sv_maxusrcmdprocessticks") --sv_maxusrcmdprocessticks



    if (c_menu_doubletap_clockcr:GetBool()) then

        g_CVar:FindVar("cl_clock_correction"):SetInt(0)

        g_CVar:FindVar("cl_clock_correction_adjustment_max_amount"):SetInt(450)

    end



    if (c_menu_doubletap_modes:GetInt() == 0) then --Instant mode

        exploits.OverrideDoubleTapSpeed(instant)

    



        if (c_menu_doubletap_debug_mode:GetBool()) then

           print("[DOUBLETAP] TICKS: MAX | PRESERVE: INSECURE | CORRECTION: DISABLED ")

        end



    else if (c_menu_doubletap_modes:GetInt() == 1) then --Fast mode

        exploits.OverrideDoubleTapSpeed(fast)

    



        if (c_menu_doubletap_debug_mode:GetBool()) then

        print("[DOUBLETAP] TICKS: MAX | PRESERVE: SECURE | CORRECTION: DISABLED ")

        end



    else if (c_menu_doubletap_modes:GetInt() == 2) then --Slow mode

        exploits.OverrideDoubleTapSpeed(default)

    



        if (c_menu_doubletap_debug_mode:GetBool()) then

        print("[DOUBLETAP] TICKS: 13 | PRESERVE: SAFETY | CORRECTION: ENABLED ")

        end

    else if (c_menu_doubletap_modes:GetInt() == 3) then --Sonic mode

        local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())

        local getplayer = localplayer:GetPlayer()

        local active_weapon = getplayer:GetActiveWeapon()

    

        exploits.OverrideDoubleTapSpeed(14)

        g_CVar:FindVar("cl_clock_correction"):SetInt(0)

        g_CVar:FindVar("cl_clock_correction_adjustment_max_amount"):SetInt(450)

        if active_weapon:GetProp("DT_BaseAttributableItem", "m_iItemDefinitionIndex") == 38 or active_weapon:GetProp("DT_BaseAttributableItem", "m_iItemDefinitionIndex") == 11 then

            if g_Config:FindVar("Aimbot", "Ragebot", "Exploits", "Double Tap"):GetBool() then g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag"):SetBool(false) else g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag"):SetBool(true) end

        else

            g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag"):SetBool(true)

        end



        g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag"):SetBool(true)



        if (c_menu_doubletap_debug_mode:GetBool()) then

        print("[DOUBLETAP] TICKS: SONIC | PRESERVE: -1 | CORRECTION: DISABLED ")

        end

    else

        g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag"):SetBool(true)

    end

    end

    end

    end

end



local function air_stuck(cmd)



    if c_menu_air_stuck:GetBool() then --Air stuck xDDD

        cmd.tick_count = 0x7FFFFFFF

        cmd.command_number = 0x7FFFFFFF

    end



end

--EXPLOITS



--FAKELAG



local function adaptive_fakelag()

    local local_idx = g_EngineClient:GetLocalPlayer()

    local local_entity = g_EntityList:GetClientEntity(local_idx)

    local sent_packets_num = fakelag.SentPackets()

    local oldOrigin

    if local_entity == nil then

      return

    end

    local is_key_pressed = cheat.IsKeyDown(0x45)

    local local_player = local_entity:GetPlayer();

    local wish_ticks = 0

    local adaptive_ticks = 2

    local speed_x = local_player:GetProp("DT_BasePlayer", "m_vecVelocity[0]")

    local GetAbsOrigin = local_player:GetProp("DT_BasePlayer", "m_vecAbsOrigin")

    local speed_y = local_player:GetProp("DT_BasePlayer", "m_vecVelocity[1]")

    local speed_per_tick = math.sqrt(speed_x * speed_x + speed_y * speed_y) *  g_GlobalVars.interval_per_tick



    while (wish_ticks * speed_per_tick) <= 68.0 do

        if (((adaptive_ticks - 1) * speed_per_tick) > 68.0) then

          wish_ticks = wish_ticks + 1;

          break

        end

    

        if ((adaptive_ticks * speed_per_tick) > 68.0) then

          wish_ticks = wish_ticks + 2;

          break

        end

    

        if ((adaptive_ticks + 1) * speed_per_tick) > 68.0 then

          wish_ticks = wish_ticks + 3;

          break

        end

    

        if ((adaptive_ticks + 2) * speed_per_tick) > 68.0 then

          wish_ticks = wish_ticks + 4;

          break

        end

    

        adaptive_ticks = adaptive_ticks + 5;

        wish_ticks = wish_ticks + 5;



        if adaptive_ticks > 15 then

          break

        end

    end



    local weapon = local_player:GetActiveWeapon();

    if weapon ~= nil then

      if weapon:GetWeaponID() == 64 then

        if wish_ticks > 15  then

          wish_ticks = 15

        end

      end

    end

    if is_key_pressed then

        fakelag.SetState(false)

    end

    if g_ClientState.m_choked_commands < wish_ticks then

      fakelag.SetState(false)

    end

end



local function fluctuate_fakelag()



    local random1 = 0

    local random2 = 0

    local used = false



    if used then

        random1 = math.random(1, c_menu_fakelag_fluctuate_timing:GetFloat())

        used = false

    else

        random1 = math.random(1, c_menu_fakelag_fluctuate_timing:GetFloat())

        used = true

    end



    if random1 == 1 then

        menu_fakelag_limit:SetInt(0)

    

    else

        menu_fakelag_limit:SetInt(15)

    end



end



local last = 0

local state = true

local function leg_fucker()

    local cur = g_GlobalVars.curtime

    local local_player = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())

    local player = local_player:GetPlayer()



    if (c_menu_exploits_legs:GetBool()) then

     menu_leg_movement:SetInt(utils.RandomInt(1, 2))

    end

end



local function fake_lag()

    local local_idx = g_EngineClient:GetLocalPlayer()

    local local_entity = g_EntityList:GetClientEntity(local_idx)

    local local_player = local_entity:GetPlayer();



    if (c_menu_fakelag_modes:GetInt()) == 0 and dt_charging == false then --adaptive fakelag (AIMWARE_PASTED)

        adaptive_fakelag()



    else if (c_menu_fakelag_modes:GetInt()) == 1 then --fluctuate fakelag

        fluctuate_fakelag()

    end

end

end

--FAKELAG



--VISUALS





local font1 = g_Render:InitFont("Verdana", 55)



local get_screen = g_EngineClient:GetScreenSize()

local FPLx = Vector2.new((get_screen.x /2) - 54, (get_screen.y /2) + 30)

local FPLy = Vector2.new((get_screen.x /2) - 30, (get_screen.y /2) + 56)

local FPLz = Vector2.new((get_screen.x /2) - 51, (get_screen.y /2) + 55)

local FPRx = Vector2.new((get_screen.x /2) + 54, (get_screen.y /2) + 30)

local FPRy = Vector2.new((get_screen.x /2) + 30, (get_screen.y /2) + 56)

local FPRz = Vector2.new((get_screen.x /2) + 51, (get_screen.y /2) + 55)

local FPLxx = Vector2.new((get_screen.x /2) - 56, (get_screen.y /2) + 29)

local FPLyy = Vector2.new((get_screen.x /2) - 32, (get_screen.y /2) + 55)

local FPLzz = Vector2.new((get_screen.x /2) - 53, (get_screen.y /2) + 54)

local FPRxx = Vector2.new((get_screen.x /2) + 53, (get_screen.y /2) + 29)

local FPRyy = Vector2.new((get_screen.x /2) + 29, (get_screen.y /2) + 55)

local FPRzz = Vector2.new((get_screen.x /2) + 50, (get_screen.y /2) + 54)

local LPx = Vector2.new((get_screen.x /2) - 43, (get_screen.y /2) + 13)

local LPy = Vector2.new((get_screen.x /2) - 43, (get_screen.y /2) - 7)

local LPz = Vector2.new((get_screen.x /2) - 63, (get_screen.y /2) + 3)

local RPx = Vector2.new((get_screen.x /2) + 42, (get_screen.y /2) + 13)

local RPy = Vector2.new((get_screen.x /2) + 42, (get_screen.y /2) - 7)

local RPz = Vector2.new((get_screen.x /2) + 62, (get_screen.y /2) + 3)

local LPxx = Vector2.new((get_screen.x /2) - 42, (get_screen.y /2) + 14)

local LPyy = Vector2.new((get_screen.x /2) - 42, (get_screen.y /2) - 6)

local LPzz = Vector2.new((get_screen.x /2) - 62, (get_screen.y /2) + 4)

local RPxx = Vector2.new((get_screen.x /2) + 42, (get_screen.y /2) + 14)

local RPyy = Vector2.new((get_screen.x /2) + 42, (get_screen.y /2) - 6)

local RPzz = Vector2.new((get_screen.x /2) + 62, (get_screen.y /2) + 4)

local BPx = Vector2.new((get_screen.x /2) + 9, (get_screen.y /2) + 47)

local BPy = Vector2.new((get_screen.x /2) - 11, (get_screen.y /2) + 47)

local BPz = Vector2.new((get_screen.x /2) - 1, (get_screen.y /2) + 67)

local BPxx = Vector2.new((get_screen.x /2) + 10, (get_screen.y /2) + 48)

local BPyy = Vector2.new((get_screen.x /2) - 10, (get_screen.y /2) + 48)

local BPzz = Vector2.new((get_screen.x /2), (get_screen.y /2) + 68)

local function indicators_visuals()



    local color_inactive2 = Color.new(0 / 255, 0 / 255 ,0 / 255, 150 / 255)

    local get_screen = g_EngineClient:GetScreenSize()

    local pos_start = Vector2.new(1010,get_screen.y -  558)

    local text_size = 35

    local pos_add = Vector2.new(0, text_size)

    local cur_pos = 0

    local pos_start1 = Vector2.new(900,get_screen.y -  558)

    local cur_pos1 = 0

    if (c_menu_arrows_type:GetInt() == 2 and c_menu_arrows:GetBool()) then



    g_Render:PolyFilled(color_inactive2, LPxx, LPyy, LPzz)

    g_Render:PolyFilled(color_inactive2, RPxx, RPyy, RPzz)

    g_Render:PolyFilled(color_inactive2, BPxx, BPyy, BPzz)



    if (menu_invert_side:GetBool()) then

        g_Render:PolyFilled(c_menu_arrow_color:GetColor(), FPRxx, FPRyy, FPRzz)

    end

    if (not menu_invert_side:GetBool()) then

        g_Render:PolyFilled(c_menu_arrow_color:GetColor(), FPLxx, FPLyy, FPLzz)

    end

    if menu_antiaim_manual:GetInt()==1 then

         g_Render:PolyFilled(c_menu_arrow_color:GetColor(), BPx, BPy, BPz) -- backwards

    elseif  menu_antiaim_manual:GetInt()==2 then

        g_Render:PolyFilled(c_menu_arrow_color:GetColor(), RPx, RPy, RPz) -- right



    elseif  menu_antiaim_manual:GetInt()==3 then

        g_Render:PolyFilled(c_menu_arrow_color:GetColor(), LPx, LPy, LPz) -- left



    end

end

if (c_menu_arrows_type:GetInt() == 3 and c_menu_arrows:GetBool()) then



g_Render:CirclePart(Vector2.new(960.0, 541), 20.0, 58, Color.new(0, 0, 0, 100 / 255), math.rad(0), math.rad(360), 5.0)



if (menu_invert_side:GetBool()) then

    g_Render:CirclePart(Vector2.new(960.0, 541), 20.0, 58, c_menu_arrow_color:GetColor(), math.rad(810.3), math.rad(630.3), 5.0)

end

if (not menu_invert_side:GetBool()) then

    g_Render:CirclePart(Vector2.new(960.0, 541), 20.0, 58, c_menu_arrow_color:GetColor(), math.rad(90), math.rad(270), 5.0)

end

end



  local function GetColorFromBoolArrow(val)

     return val and c_menu_arrow_color:GetColor() or c_menu_arrow_color:GetColor()

  end



  local function arrow(str, val)

    g_Render:Text(str, cur_pos,  GetColorFromBoolArrow(val),  text_size, font1)

    cur_pos = cur_pos - pos_add

  end

  local function arrow2(str, val)

    g_Render:Text(str, cur_pos1,  GetColorFromBoolArrow(val),  text_size, font1)

    cur_pos1 = cur_pos1 - pos_add

  end



  cur_pos = pos_start

  cur_pos1 = pos_start1



  if (c_menu_arrows_type:GetInt() == 0) then

  if c_menu_arrows:GetBool() and menu_invert_side:GetBool() then

      arrow(")", c_menu_arrows:GetBool() )

  end

  if c_menu_arrows:GetBool() and not menu_invert_side:GetBool() then

      arrow2("(", c_menu_arrows:GetBool() )

  end

end



if (c_menu_arrows_type:GetInt() == 1) then

    if c_menu_arrows:GetBool() and menu_invert_side:GetBool() then

        arrow(">", c_menu_arrows:GetBool() )

    end

    if c_menu_arrows:GetBool() and not menu_invert_side:GetBool() then

        arrow2("<", c_menu_arrows:GetBool() )

    end

  end



end







--VISUALS



--MISC





local function kill_say_function(event)



local words_kill = c_menu_kill_say_words:GetString()

local words_hurt = c_menu_hurt_say_words:GetString()



    if event:GetName() == "player_death" then



        local victim = g_EngineClient:GetPlayerForUserId(event:GetInt("userid"))

        local attacker = g_EngineClient:GetPlayerForUserId( event:GetInt("attacker"))



        if victim ~= attacker and attacker == g_EngineClient:GetLocalPlayer() and c_menu_kill_say:GetBool() then

            g_EngineClient:ExecuteClientCmd('say ' .. words_kill)

        end



    else if event:GetName() == "player_hurt" then



        local victim = g_EngineClient:GetPlayerForUserId(event:GetInt("userid"))

        local attacker = g_EngineClient:GetPlayerForUserId( event:GetInt("attacker"))



        if victim ~= attacker and attacker == g_EngineClient:GetLocalPlayer() and c_menu_hurt_say:GetBool() then

            g_EngineClient:ExecuteClientCmd('say ' .. words_hurt)

        end

    end

end

end







--MISC



--ANTIAIM

local function vec_distance(vec_one, vec_two)



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



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



end



local function get_closest_enemy()

    local best_dist = c_menu_anti_brute_fov_slider:GetFloat()

    local best_enemy = nil

    local local_player = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())

    local local_origin = local_player:GetProp("DT_BaseEntity", "m_vecOrigin")

    local local_screen_orig = g_Render:ScreenPosition(local_origin)

    local screen = g_EngineClient:GetScreenSize()



    for idx = 1, g_GlobalVars.maxClients + 1 do

        local ent = g_EntityList:GetClientEntity(idx)

        if ent and ent:IsPlayer() then

            local player = ent:GetPlayer()

            local health = player:GetProp("DT_BasePlayer", "m_iHealth")



            if not player:IsTeamMate() and health > 0 and not player:IsDormant() then

                local origin = ent:GetProp("DT_BaseEntity", "m_vecOrigin")

                local screen_orig = g_Render:ScreenPosition(origin)

                local temp_dist = vec_distance(Vector2.new(screen.x / 2, screen.y / 2), screen_orig)



                if(temp_dist < best_dist) then

                    best_dist = temp_dist

                    best_enemy = ent

                end

            end

        end

    end



    return best_enemy

end



local function AA_Anti_Brute_Force(e)



      if e:GetName() == "weapon_fire" and c_menu_anti_brute:GetBool() then --Weapon Fire event later we run FOV check so we can make sure the bullet is on our direction!

        local user_id = e:GetInt("userid", -1)

        local user = g_EntityList:GetClientEntity(g_EngineClient:GetPlayerForUserId(user_id)) --Get Enemy Entity

        local local_player = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer()) --Get Local Entity

        local player = local_player:GetPlayer()

        local health = player:GetProp("DT_BasePlayer", "m_iHealth")

  



        if(health > 0) then -- if our local player is alive we run the AntiBrute Logic!

      

            local closest_enemy = get_closest_enemy() --Get Closest enemy based on distance

            if(closest_enemy ~= nil and user:EntIndex() == closest_enemy:EntIndex()) then

              miss_counter = miss_counter + 1 --Basic so we calculate missed shots of enemy also some checks so if we get hit don't run the code!

        

                 if (miss_counter % 3 == 0) then --Logic 1

              

                    menu_left_limit:SetInt(c_menu_anti_brute_1stshot:GetInt())

                    menu_invert_side:SetBool(true)

                    left_side = true               

                    if (c_menu_anti_brute_debug_mode:GetBool()) then

                        print("[ANTI-BRUTE] Angle overrided to (" .. c_menu_anti_brute_1stshot:GetInt() .. ") [INFO: PASST 3RD SIDE | NEXT ANGLE = (" .. c_menu_anti_brute_2ndshot:GetInt() ..") INVERTER:TRUE]" )

                    end

                else if (miss_counter % 3 == 1) then --Logic 2

                    menu_right_limit:SetInt(c_menu_anti_brute_2ndshot:GetInt())

                    menu_invert_side:SetBool(false)

                    right_side = true

                    if (c_menu_anti_brute_debug_mode:GetBool()) then

                        print("[ANTI-BRUTE] Angle overrided to (" .. c_menu_anti_brute_2ndshot:GetInt() .. ") [INFO: PASST 1ST SIDE | NEXT ANGLE = (" .. c_menu_anti_brute_3rdshot:GetInt() ..") INVERTER:FALSE]" )

                    end



                else if (miss_counter % 3 == 2) then --Logic 3

                    menu_right_limit:SetInt(c_menu_anti_brute_3rdshot:GetInt())

                    menu_left_limit:SetInt(c_menu_anti_brute_3rdshot:GetInt())

    

                    ideal_yaw = true

                    if (c_menu_anti_brute_debug_mode:GetBool()) then

                        print("[ANTI-BRUTE] Angle overrided to (" .. c_menu_anti_brute_3rdshot:GetInt() .. ") [INFO: PASST 2ND SIDE | NEXT ANGLE = (" .. c_menu_anti_brute_1stshot:GetInt() ..") INVERTER:TRUE]" )

                    end

                end

                end

                end

            end

        end

    end

end

--ANTIAIM



--IND



local function text_indicators()



    local clr_green = Color.new(146.1, 255.1, 36.1, 0.9)

    local clr_orange = Color.new(255.1, 183.1, 0.1, 0.9)

    local clr_red = Color.new(255, 0, 0)

    local clr_blue = Color.new(36.1, 164.1, 255.1, 255.9)

    local screen = g_EngineClient:GetScreenSize()

    local pos_start = Vector2.new(c_menu_x:GetFloat(),screen.y -  c_menu_y:GetFloat())

    local text_size = 13

    local pos_add = Vector2.new(0, text_size)

    local cur_pos = Vector2.new(0, 0) -- current frame



    -------------------------------------------------------------FAKEDUCK

    local function GetColorFromBool(val)

        return val and clr_green or clr_red

    end



    local function RenderIndicator(str, val)

        g_Render:Text(str, cur_pos,  GetColorFromBool(val),  text_size, true)

        cur_pos = cur_pos - pos_add

    end



    -------------------------------------------------------------DOUBLETAP

    local function dtchargeind(str, r,g,b)

        g_Render:Text(str, cur_pos, Color.new(r,g,b),text_size, true)

        cur_pos = cur_pos - pos_add

    end

    -------------------------------------------------------------------------------



     local ideal_ind_clr = Color.new(230 / 255, 184 / 255, 0 / 255, 0.9)



     local function ideal_indclr(val)

        return val and ideal_ind_clr or ideal_ind_clr

     end



     local function ideal_ind(str, val)

        g_Render:Text(str, cur_pos,  ideal_indclr(val),  text_size, true)

        cur_pos = cur_pos - pos_add

    end



    local function GetColorFromBool1(val)

        return val and clr_red or clr_red

    end



    local function RenderIndicator1(str, val)

        g_Render:Text(str, cur_pos,  GetColorFromBool1(val),  text_size, true)

        cur_pos = cur_pos - pos_add

    end

  -------------------------------------------------------------

local prefer_color = Color.new(208 / 255, 187 / 255, 252 / 255, 0.9)

local function prefersafebool(val)

    return val and prefer_color or prefer_color

end



local function prefersafe(str, val)

    g_Render:Text(str, cur_pos,  prefersafebool(val),  text_size)

    cur_pos = cur_pos - pos_add

end

-------------------------------------------------------------------------------

--------------------------------------------------------------------------------

    cur_pos = pos_start



    if c_menu_text_indicators:GetBool() then

  



        if exploits.GetCharge() ~= 1  then

            dt_charging = false

           dtchargeind("DT", 255, 0,0)

        else

            dt_charging = true

           dtchargeind("DT", 146 / 255, 255 / 255, 36 / 255, 0.9)

        end

  

        if menu_fakeduck:GetBool()  then --FD

            RenderIndicator("FD", menu_fakeduck:GetBool() )

        end

        if (ideal_yaw == true) then

            ideal_ind("IDEAL YAW")

        end

    

          prefersafe("PREDICTION")



          if (menu_safe_point:GetInt() > 0) then

            prefersafe("SAFETY")

          end

        if not menu_invert_side:GetBool() then

            RenderIndicator1("LEFT")

        end

        if (menu_invert_side:GetBool()) then

            RenderIndicator1("RIGHT")

        end

    end

end   





    





--IND



local function watermarker()

    g_Render:GradientBoxFilled(Vector2.new(1569.0, 30.0), Vector2.new(1918.0, 2.0), Color.new(0, 0, 0, 2 / 255), Color.new(0, 0, 0, 255 / 255), Color.new(0, 0, 0, 2 / 255), Color.new(0, 0, 0, 255 / 255))

    g_Render:Text("test lua", Vector2.new(1820.0, 9.0), Color.new(1.0, 1.0, 1.0, 1.0), 13, false)

    g_Render:Text("Welcome " .. username, Vector2.new(1599.3, 9.0), Color.new(1.0, 1.0, 1.0, 1.0), 14, false)

    g_Render:Text("[ALPHA BUILD] ", Vector2.new(1705.3, 9.0), Color.new(1.0, 1.0, 1.0, 1.0), 14, false)



end



--CALLBACKS

local function draw()

    local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())

    if localplayer then

        localplayer = localplayer:GetPlayer()

    else

        return

    end

    if (g_EngineClient:IsConnected()) then

        if (c_menu_watermarker:GetBool()) then

            watermarker()

        end



    end

    if localplayer:m_iHealth() > 0 then

        aimbot_draw()

        indicators_visuals()

        text_indicators()

        if (c_menu_custom_impacts:GetBool()) then

            draw_impacts()

        end

    end





end

local function pre_prediction(cmd)





    air_stuck(cmd)

    aimbot(cmd)

    instant_recharge()

    fake_lag()





end

local function prediction()

    body_lean()



end

local function createmove()

    antiaim_helpers()

    exploits_func()

    leg_fucker()





end

local function events(e)



    kill_say_function(e)

    AA_Anti_Brute_Force(e)

    impacts_events(e)





end



cheat.RegisterCallback("draw", draw)

cheat.RegisterCallback("pre_prediction", pre_prediction)

cheat.RegisterCallback("prediction", prediction)

cheat.RegisterCallback("createmove", createmove)

cheat.RegisterCallback("events", events)



end



if buff == "" then

    local textbox = menu.TextBox("Init", "Username", 64, "", "What username do you want to use?")

    local button = menu.Button("Init", "Confirm")



    --local done



    button:RegisterCallback(function()

        --if done == true then return end

        --done = true

        ffi.C.WriteFile(pfile, ffi.cast("char*", textbox:GetString()), #textbox:GetString(), nil, 0)

        username = textbox:GetString()

        menu.DestroyItem(textbox)

        menu.DestroyItem(button)

        initlua ()

    end)

else

    local textbox = menu.TextBox("Init", "Username", 64, "", "What username do you want to use?")

        local button = menu.Button("Init", "Confirm")

        menu.DestroyItem(textbox)

        menu.DestroyItem(button)

    initlua ()

end



--CALLBACKS
 
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Зачем ты хайд поставил если его слили в дс?
Upd
Пожалуйста, авторизуйтесь для просмотра ссылки.

Не слив хайда, потому что луа есть в открытом доступе
Screenshot_20210408_095148_com.discord.jpg
 
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
луашку слили в дсе а он ставит хайд hhhhhhhhh
 
Doesn't work anymore update please
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
есть обнова?
 
не воркает
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
не работает
 
Fixed
Код:
Expand Collapse Copy
--PREDICTION LUA V2
local checkhitbox = {0,11,12,13,14}
local username = cheat.GetCheatUserName()
local ideal_yaw
local right_side
local left_side
local dt_charging 
print("" .. username .. " if you have any questions feel free to dm kib1336#1030")
print("" .. username .. " if you have any suggestion or found any bug feel free to join our discord! : https://discord.gg/pJ5WpMV")
local version = "1643"

local ffi = require('ffi')

ffi.cdef[[
    void* CreateFileA(
        const char*                lpFileName,
        unsigned long                 dwDesiredAccess,
        unsigned long                 dwShareMode,
        unsigned long lpSecurityAttributes,
        unsigned long                 dwCreationDisposition,
        unsigned long                 dwFlagsAndAttributes,
        void*                hTemplateFile
        );
    bool ReadFile(
            void*       hFile,
            char*       lpBuffer,
            unsigned long        nNumberOfBytesToRead,
            unsigned long*      lpNumberOfBytesRead,
            int lpOverlapped
          );
    bool WriteFile(
            void*       hFile,
            char*      lpBuffer,
            unsigned long        nNumberOfBytesToWrite,
            unsigned long*      lpNumberOfBytesWritten,
            int lpOverlapped
        );

    unsigned long GetFileSize(
        void*  hFile,
        unsigned long* lpFileSizeHigh
    );
    bool CloseHandle(void* hFile);

    typedef unsigned long ULONG_PTR;
    typedef unsigned long DWORD;
    typedef unsigned short WORD;

    typedef struct tagKEYBDINPUT {
        WORD      wVk;
        WORD      wScan;
        DWORD     dwFlags;
        DWORD     time;
        ULONG_PTR dwExtraInfo;
      } KEYBDINPUT, *PKEYBDINPUT, *LPKEYBDINPUT;

    typedef struct tagMOUSEINPUT {
        long      dx;
        long      dy;
        DWORD     mouseData;
        DWORD     dwFlags;
        DWORD     time;
        ULONG_PTR dwExtraInfo;
      } MOUSEINPUT, *PMOUSEINPUT, *LPMOUSEINPUT;

      typedef struct tagHARDWAREINPUT {
        DWORD uMsg;
        WORD  wParamL;
        WORD  wParamH;
      } HARDWAREINPUT, *PHARDWAREINPUT, *LPHARDWAREINPUT;

    typedef struct tagINPUT {
        DWORD type;
          MOUSEINPUT    mi;
          KEYBDINPUT    ki;
          HARDWAREINPUT hi;
      } INPUT, *PINPUT, *LPINPUT;
]]

local pfile = ffi.cast("void*", ffi.C.CreateFileA("nl/username.txt", 0xC0000000, 0x00000003, 0, 0x4, 0x80, nil))
--local cfile = ffi.cast("void*", ffi.C.CreateFileA("nl/settings.txt", 0xC0000000, 0x00000003, 0, 0x4, 0x80, nil))

cheat.RegisterCallback("destroy", function()
ffi.C.CloseHandle(pfile)
--ffi.C.CloseHandle(cfile)
end)

local size = ffi.C.GetFileSize(pfile, nil)
local buff = ffi.new("char[" ..(size + 1).. "]")

ffi.C.ReadFile(pfile, buff, size, nil, 0)
buff = ffi.string(buff)
local username = buff

local function initlua()

menu.Text("Prediction LUA V2", "Hello "..username.."!")

local vers = http.Get("https://pastebin.com/raw/bHXD56yW")

local ok = ""
if version == vers then ok = "Version: UP 2 DATE!" else ok = "Version: Outdated!" end

if ok then
    menu.Text("STATUS", ok)
else
    menu.Text("STATUS", "ERROR")
end

cheat.AddNotify("PREDICTION V2", "Welcome to Prediction v2.3.0 " .. username .. " ")

ffi.cdef[[
    typedef uintptr_t (__thiscall* GetClientEntity_4242425_t)(void*, int);
    typedef void (__thiscall* UpdateCSA_t)(void*);
    typedef struct { float id; } poses_t;
    typedef struct 
    {
        float x;
        float y;
        float z;
    } Vector_t;
    
    typedef struct
    {
        float            flAnimationTime;        //0x00
        float            flFadeOut;                //0x04
        void*            pStudioHdr;                //0x08
        int                nDispatchedSrc;            //0x0C
        int                nDispatchedDst;            //0x10
        int                iOrder;                    //0x14
        int nSequence;                //0x18
        float            flPrevCycle;            //0x1C
        float            flWeight;                //0x20
        float            flWeightDeltaRate;        //0x24
        float            flPlaybackRate;            //0x28
        float            flCycle;                //0x2C
        void*            pOwner;                    //0x30
        int                nInvalidatePhysicsBits;    //0x34
    } animlayer_t;
    
    typedef struct
    {
        void* pThis;
        char pad2[91];
        void* pBaseEntity; //0x60
        void* pActiveWeapon; //0x64
        void* pLastActiveWeapon; //0x68
        float m_flLastClientSideAnimationUpdateTime; //0x6C
        int m_iLastClientSideAnimationUpdateFramecount; //0x70
        float m_flEyePitch; //0x74
        float m_flEyeYaw; //0x78
        float m_flPitch; //0x7C
        float m_flGoalFeetYaw; //0x80
        float m_flCurrentFeetYaw; //0x84
        float m_flCurrentTorsoYaw; //0x88
        float m_flUnknownVelocityLean; //0x8C //changes when moving/jumping/hitting ground
        float m_flLeanAmount; //0x90
        char pad4[4]; //NaN
        float m_flFeetCycle; //0x98 0 to 1
        float m_flFeetYawRate; //0x9C 0 to 1
        float m_fUnknown2;
        float m_fDuckAmount; //0xA4
        float m_fLandingDuckAdditiveSomething; //0xA8
        float m_fUnknown3; //0xAC
        Vector_t m_vOrigin; //0xB0, 0xB4, 0xB8
        Vector_t m_vLastOrigin; //0xBC, 0xC0, 0xC4
        float m_vVelocityX; //0xC8
        float m_vVelocityY; //0xCC
        char pad5[4];
        float m_flUnknownFloat1; //0xD4 Affected by movement and direction
        char pad6[8];
        float m_flUnknownFloat2; //0xE0 //from -1 to 1 when moving and affected by direction
        float m_flUnknownFloat3; //0xE4 //from -1 to 1 when moving and affected by direction
        float m_unknown; //0xE8
        float speed_2d; //0xEC
        float flUpVelocity; //0xF0
        float m_flSpeedNormalized; //0xF4 //from 0 to 1
        float m_flFeetSpeedForwardsOrSideWays; //0xF8 //from 0 to 2. something  is 1 when walking, 2.something when running, 0.653 when crouch walking
        float m_flFeetSpeedUnknownForwardOrSideways; //0xFC //from 0 to 3. something
        float m_flTimeSinceStartedMoving; //0x100
        float m_flTimeSinceStoppedMoving; //0x104
        unsigned char m_bOnGround; //0x108
        unsigned char m_bInHitGroundAnimation; //0x109
        char pad7[10];
        float m_flLastOriginZ; //0x114
        float m_flHeadHeightOrOffsetFromHittingGroundAnimation; //0x118 from 0 to 1, is 1 when standing
        float m_flStopToFullRunningFraction; //0x11C from 0 to 1, doesnt change when walking or crouching, only running
        char pad8[4]; //NaN
        float m_flUnknownFraction; //0x124 affected while jumping and running, or when just jumping, 0 to 1
        char pad9[4]; //NaN
        float m_flUnknown3;
        char pad10[528];
    } CCSGOPlayerAnimationState_534535_t;
]]

local hitboxesused = {18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,0}

local hitboxes = {
    "Head", 
    "Upper Chest",
    "Chest",
    "Body",
    "Stomach",
    "Pelvis",
    "Legs & Feet",
    "Arms"
}

local types = {
    "2D Filled Circle",
    "2D Circle"
}
--VARS
local miss_counter = 0
local menu_invert_side = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "Inverter")
local menu_left_limit = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "Left Limit")
local menu_fake_options = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "LBY Mode")
local menu_right_limit = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "Right Limit")
local menu_leg_movement = g_Config:FindVar("Aimbot", "Anti Aim", "Misc", "Leg Movement")
local menu_fakelag_limit = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Limit")
local menu_fakelag_enable = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag")

local menu_safe_point = g_Config:FindVar("Aimbot", "Ragebot", "Accuracy", "Safe Points")
local menu_fakeduck = g_Config:FindVar("Aimbot", "Anti Aim", "Misc", "Fake Duck")
local menu_antiaim_manual = g_Config:FindVar("Aimbot", "Anti Aim", "Main", "Yaw Base")
local var_arrow_fonts = g_Render:InitFont("Verdana",55)

--VARS END--

--LUA MENU
menu.Text("Anti-Aim", "Anti Bruteforce Customization")
local c_menu_anti_brute = menu.Switch("Anti-Aim", "Anti Brute", false, "Will enable Lua Script Anti-BruteForce!")
local c_menu_anti_brute_fov_slider = menu.SliderFloat("Anti-Aim", "Anti Brute FOV", 175.0, 50.0, 250.0, "Limit FOV between bullet and your modelll (Recomended Default Value)")

local c_menu_anti_brute_debug_mode = menu.Switch("Anti-Aim", "Debug Mode", false, "Will print on console which angle has been overrided etc...")
local c_menu_anti_brute_1stshot = menu.SliderInt("Anti-Aim", "1st shot angle", 45, 0, 60, "Fake Limit for 1st enemy shot (Recomended using default values if you don't know what you're doing!)")
local c_menu_anti_brute_2ndshot = menu.SliderInt("Anti-Aim", "2nd shot angle", 45, 0, 60, "Fake Limit for 2nd enemy shot (Recomended using default values if you don't know what you're doing!)")
local c_menu_anti_brute_3rdshot = menu.SliderInt("Anti-Aim", "3rd shot angle", 5, 0, 60, "Fake Limit for 3rd enemy shot (Recomended using default values if you don't know what you're doing!)")

menu.Text("Anti-Aim", "Body Lean Customization")
local c_menu_custom_body_lean = menu.Switch("Anti-Aim", "Custom Bodylean", false, "Will enable customized BodyLean can be modified using the sliders below!")
local c_menu_body_lean_left = menu.SliderFloat("Anti-Aim", "Body Lean Left", 16.4, -180.0, 180.0, "Adjusts your BodyLean")
local c_menu_body_lean_right = menu.SliderFloat("Anti-Aim", "Body Lean Right", -20.0, -180.0, 180.0, "Adjusts your BodyLean")



menu.Text("FakeLags", "FakeLags Customization")
local c_menu_custom_fakelag = menu.Switch("FakeLags", "Custom Fakelag", false, "Will enable customized Fakelags")
local c_menu_fakelag_modes = menu.Combo("FakeLags", "Modes", {"Adaptive", "Fluctuate"}, 0, "Multiple Fakelag modes!")
local c_menu_fakelag_fluctuate_timing = menu.SliderFloat("FakeLags", "Fluctuate Timing", 12.9, 0.0, 20.0, "Fluctuate timing (Recomended Default values!)!")

menu.Text("Exploits", "Exploits Customization")
local c_menu_doubletap = menu.Switch("Exploits", "Customized Doubletap", true, "")
local c_menu_doubletap_clockcr = menu.Switch("Exploits", "Disable Correction", false, "Will make your DoubleTap innacurate but faster!")
local c_menu_doubletap_modes = menu.Combo("Exploits", "Modes", {"Instant", "Fast", "Slow", "Sonic"}, 0, "Multiple DoubleTap speed modes!")
local c_menu_doubletap_debug_mode = menu.Switch("Exploits", "Debug Mode", false, "Will print info about doubletap, ticks etc...")
local c_menu_doubletap_instant_recharge = menu.Switch("Exploits", "Instant Recharge", false, "Will recharge doubletap as soon as possible (Not recommended tho!)!")

local c_menu_exploits_legs = menu.Switch("Exploits", "Smart Legs", false, "Will swap your model legs between normal/sliding asap!")
local c_menu_air_stuck = menu.Switch("Exploits", "Airstuck", false, "")

menu.Text("Visuals", "Visuals Customization")
local c_menu_text_indicators = menu.Switch("Visuals", "Enable text indicators", false, "Draw Text indicators (Use the multicombo tho!)!")
local c_menu_x = menu.SliderFloat("Visuals", "Text x position", 973.0, 0.0, 2000.0, "x pos")
local c_menu_y = menu.SliderFloat("Visuals", "Text y position", 484.0, 0.0, 2000.0, "y pos")
local c_menu_arrows = menu.Switch("Visuals", "Anti-Aim Arrows", false, "Draw AntiAim direction arrows!")
local c_menu_arrow_color = menu.ColorEdit("Visuals", "Arrow color", Color.new(1,1,1,1), "")
local c_menu_arrows_type = menu.Combo("Visuals", "Arrow Type", {")", ">", "Triangles", "Circle"}, 0, "Multiple Arrow types!")
local c_menu_custom_impacts = menu.Switch("Visuals", "Custom Bullet Impacts", false, "")
local c_menu_visuals_impacts = menu.SliderInt("Visuals", "Bullet Impacts size", 5, 1, 50, "")
local c_menu_visuals_beam_color = menu.ColorEdit("Visuals", "Beam Color", Color.new(1,1,1,1), "")
local c_menu_visuals_impact_color = menu.ColorEdit("Visuals", "Impacts Color", Color.new(1,1,1,1), "")
local c_menu_watermarker = menu.Switch("Visuals", "Watermarker", false, "Enables simple Watermarker!")

menu.Text("Misc", "Miscellaneous")
local c_menu_kill_say = menu.Switch("Misc", "Custom Kill Say", false, "Says something on the chat once you kill someone (Words can be edited on the textbox below!)!")
local c_menu_kill_say_words = menu.TextBox("Misc", "Kill Say Words", 64, "Say something...", "Says something on the chat once you kill someone (If Kill Say checkbox is enabled!)!")
local c_menu_hurt_say = menu.Switch("Misc", "Custom Hurt Say", false, "Says something on the chat once you hurt someone (Words can be edited on the textbox below!)!")
local c_menu_hurt_say_words = menu.TextBox("Misc", "Hurt Say Words", 64, "Say something...", "Says something on the chat once you hurt someone (If Hurt Say checkbox is enabled!)!")

menu.Text("Aimbot", "Advanced Aimbot")
local c_menu_safepoint_hitboxes = menu.MultiCombo("Aimbot", "Safe point Hitboxes", hitboxes, 0, "")
local c_menu_draw_only_priority_hitboxe = menu.SwitchColor("Aimbot", "Draw only priority hitbox", false, Color.new(1.0,1.0,1.0,1.0), "")
local c_menu_circle_customization = menu.Combo("Aimbot", "Circle Customization", types, 0, "")
local c_menu_scale_circle = menu.SliderFloat("Aimbot", "Scale circle", 1, 0, 20, "")
local c_menu_hitboxes_color = menu.ColorEdit("Aimbot", "Intersacted points Color", Color.new(1,1,1,1), "")


local c_menu_anti_aim_helpers = menu.Switch("Anti-Aim", "Auto direction", false, "")
local c_menu_anti_aim_helpers_types = menu.Combo("Anti-Aim", "Auto direction Types", {"Peek with Fake", "Peek with Real"}, 0, "Multiple Auto direction types!")
local c_menu_anti_aim_helpers_desync = menu.Switch("Anti-Aim", "Desync Modifications", false, "")
local c_menu_anti_aim_helpers_desync_mod = menu.Combo("Anti-Aim", "Desync Mods", {"Smart", "Prefer Low Delta", "Multiple"}, 0, "Multiple Auto direction types!")
local menu_freestand_desync = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "Freestanding Desync")
local menu_fake_option = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "Fake Options")

--LUA MENU

local function antiaim_helpers() 

  if (c_menu_anti_aim_helpers:GetBool()) then
        if (c_menu_anti_aim_helpers_types:GetInt() == 0) then --Peek fake
            menu_freestand_desync:SetInt(1)
        else if (c_menu_anti_aim_helpers_types:GetInt() == 1) then --Peek real
            menu_freestand_desync:SetInt(2)
        end 
    end
  end

  local local_idx = g_EngineClient:GetLocalPlayer()
  local local_entity = g_EntityList:GetClientEntity(local_idx)

  if local_entity == nil then
    return
  end
  
  local local_player = local_entity:GetPlayer();
  local speed_x = local_player:GetProp("DT_BasePlayer", "m_vecVelocity[0]")
  local speed_y = local_player:GetProp("DT_BasePlayer", "m_vecVelocity[1]")
  local speed = math.sqrt(speed_x * speed_x + speed_y * speed_y)
  local speed_per_tick = math.sqrt(speed_x * speed_x + speed_y * speed_y) *  g_GlobalVars.interval_per_tick
    if (c_menu_anti_aim_helpers_desync:GetBool()) then

        if (c_menu_anti_aim_helpers_desync_mod:GetInt() == 0) then --smart
            menu_fake_option:SetInt(1)
            menu_freestand_desync:SetInt(2)
            antiaim.OverrideLimit(math.random(45, 80))
              menu_left_limit:SetInt(math.random(30, 80))
              menu_right_limit:SetInt(math.random(30, 80))
           
        
        end
        if (c_menu_anti_aim_helpers_desync_mod:GetInt() == 2) then --Multiple
            menu_fake_option:SetInt(utils.RandomInt(2, 3))
            menu_fake_options:SetInt(utils.RandomInt(1, 2))
              menu_left_limit:SetInt(utils.RandomInt(35, 60))
              menu_right_limit:SetInt(utils.RandomInt(35, 60))
        end
       if (c_menu_anti_aim_helpers_desync_mod:GetInt() == 1) then --prefer low delta 
          menu_fake_option:SetInt(1)
          menu_freestand_desync:SetInt(2)
          antiaim.OverrideLimit(math.random(15, 15))
          menu_left_limit:SetInt(math.random(15, 35))
          menu_right_limit:SetInt(math.random(15, 35))
        
        end     
    end
end






--AIMBOT 

local safety_hitboxes = {}
local best_hitbox = {}
local best_damage = {}

local predict_ticks = 7
local force_off = false
local force_off_tick = 0

local function normalizeangles(ang)
    if(ang.pitch > 180.0) then ang.pitch = ang.pitch - 360.0 end
    if(ang.yaw > 180.0) then ang.yaw = ang.yaw - 360.0 end
    return ang
end

local function calcangle(src, dst)
    local vecdelta = Vector.new(dst.x - src.x, dst.y - src.y, dst.z - src.z)
    local angles = QAngle.new(math.atan2(-vecdelta.z, vecdelta:Length2D()) * 180.0 / math.pi, (math.atan2(vecdelta.y, vecdelta.x) * 180.0 / math.pi), 0.0)
    angles = normalizeangles(angles)
    return angles
end

local function canseeentity(localplayer, entity)
    if not entity or not localplayer then return false end
    local canhit = false
    for k,v in pairs(checkhitbox) do
        local damage = cheat.FireBullet(localplayer, localplayer:GetEyePosition(), entity:GetPlayer():GetHitboxCenter(v))
        if damage > 0 then 
            canhit = true
            break 
        end
    end
    return canhit
end

cheat.RegisterCallback("events", function(event)
    if event:GetName() == "player_death" then
       
        if true then
            for i = 1, 64 do
                best_hitbox[i] = -1
                best_damage[i] = 0
            end
        end
    end
end)
local lines = {}
local results = {}

local function impacts_events(event)
    if event:GetName() == "bullet_impact" and event:GetInt("userid") == g_EngineClient:GetPlayerInfo(g_EngineClient:GetLocalPlayer()).userId then
        local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
        if localplayer then localplayer = localplayer:GetPlayer() else return end
        local position = localplayer:GetEyePosition()
        local destination = Vector.new(event:GetFloat("x"), event:GetFloat("y"), event:GetFloat("z"))
        table.insert(lines, {pos = position, destination = destination, time = 250, curtime = g_GlobalVars.curtime})
    end

    if event:GetName() == "player_hurt" then
        if event:GetInt("attacker") == g_EngineClient:GetPlayerInfo(g_EngineClient:GetLocalPlayer()).userId then
            for k,v in pairs(lines) do
                if v.curtime == g_GlobalVars.curtime then
                    table.insert(results, lines[k])
                    table.remove(lines, k)
                end
            end
        end
    end
end
local function draw_impacts()
    local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
    if localplayer then localplayer = localplayer:GetPlayer() else return end
    local position = localplayer:GetEyePosition()

    for k,v in pairs(results) do
        v.time = v.time - 1
        if g_Render:ScreenPosition(v.pos).x ~= g_Render:ScreenPosition(v.destination).x and g_Render:ScreenPosition(v.pos).y ~= g_Render:ScreenPosition(v.destination).y then
            if g_Render:ScreenPosition(v.pos).x ~= g_Render:ScreenPosition(position).x and g_Render:ScreenPosition(v.pos).y ~= g_Render:ScreenPosition(position).y then
                g_Render:Line(g_Render:ScreenPosition(v.pos), g_Render:ScreenPosition(v.destination), c_menu_visuals_beam_color:GetColor())
            end
        end
        if v.time == 0 then table.remove(results, k) end
    end
    
    for k,v in pairs(results) do
        for i = 1,c_menu_visuals_impacts:GetInt() do
            local position1 = g_Render:ScreenPosition(v.destination)
            local position2 = g_Render:ScreenPosition(v.destination)
            local position3 = g_Render:ScreenPosition(v.destination)
            local position4 = g_Render:ScreenPosition(v.destination)
            position1.x = position1.x+i
            position2.x = position2.x-i
            position3.y = position3.y+i
            position4.y = position4.y-i
            g_Render:Box(position1, position2, c_menu_visuals_impact_color:GetColor())
            g_Render:Box(position3, position4, c_menu_visuals_impact_color:GetColor())
        end
    end
end

function C_BaseEntity:m_iHealth()
    return self:GetProp("DT_BasePlayer", "m_iHealth")
end
function C_BaseEntity:m_vecVelocity()
    return self:GetProp("DT_BasePlayer", "m_vecVelocity")
end

local ENTITY_LIST_POINTER = ffi.cast("void***", utils.CreateInterface("client.dll", "VClientEntityList003")) or error("Failed to find VClientEntityList003!")
local GET_CLIENT_ENTITY_FN = ffi.cast("GetClientEntity_4242425_t", ENTITY_LIST_POINTER[0][3])
local UpdateClientSideAnims = ffi.cast("UpdateCSA_t", utils.PatternScan("client.dll", "55 8B EC 51 56 8B F1 80 BE ? ? ? ? 00 74 ? 8B 06 FF"))

local ffi_helpers = {
get_animstate_offset = function()
    return 14612
end,

get_entity_address = function(entity_index)
    local addr = GET_CLIENT_ENTITY_FN(ENTITY_LIST_POINTER, entity_index)
    return addr
end
}

local original_goal_feet_yaw = {}


local function aimbot(cmd)
    local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
    local oldlocalplayer = localplayer
    if localplayer then
        --local entity_animation_state = ffi.cast("int**", ffi_helpers.get_entity_address(2) + 45952)[0]
        --entity_animation_state = 100
        localplayer = localplayer:GetPlayer()
    else
        return
    end

    safety_hitboxes = {}
    for i = 0,10 do
        if c_menu_safepoint_hitboxes:GetBool(i) then
            if i == 0 then table.insert( safety_hitboxes, 0 )
            elseif i == 1 then table.insert( safety_hitboxes, 6 )
            elseif i == 2 then table.insert( safety_hitboxes, 5 )
            elseif i == 3 then table.insert( safety_hitboxes, 4 )
            elseif i == 4 then table.insert( safety_hitboxes, 3 )
            elseif i == 5 then table.insert( safety_hitboxes, 2 )
            elseif i == 6 then 
                for i = 7,12 do
                    table.insert( safety_hitboxes, i )
                end
            elseif i == 7 then
                for i = 13,18 do
                    table.insert( safety_hitboxes, i )
                end
            end
        end
    end

    for i = 1,64 do

        local entity = g_EntityList:GetClientEntity(i)
        if not entity then break end
        if entity and entity:GetPlayer():m_iHealth() > 0 and not entity:GetPlayer():IsTeamMate() and canseeentity(localplayer:GetPlayer(), entity:GetPlayer()) then
            
            --UpdateClientSideAnims(ffi.cast("void***", ffi_helpers.get_entity_address(entity:EntIndex())))
            for k,v in pairs(safety_hitboxes) do
                ragebot.ForceHitboxSafety(entity:EntIndex(), v)
            end

            local biggestdamage = 0
            local health = entity:GetPlayer():m_iHealth()
            local besthitboxfound = -1
            for k,v in pairs(hitboxesused) do
                local damage = cheat.FireBullet(localplayer, localplayer:GetEyePosition(), entity:GetPlayer():GetHitboxCenter(v))
                if damage > biggestdamage then
                    biggestdamage = damage
                    besthitboxfound = v
                end

                if damage >= health then
                    biggestdamage = damage
                    besthitboxfound = v
                    break
                end
            end
            
            best_hitbox[entity:EntIndex()] = besthitboxfound
            best_damage[entity:EntIndex()] = biggestdamage

            for i = 1, 18 do
                ragebot.SetHitboxPriority(entity:EntIndex(), i, 1)
            end

            ragebot.SetHitboxPriority(entity:EntIndex(), besthitboxfound, 10000)
        else
            best_damage[entity:EntIndex()] = 0
            best_hitbox[entity:EntIndex()] = -1
        end
    end

    --peeking:handle()
end


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

local function aimbot_draw()   
    local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
    if localplayer then
        localplayer = localplayer:GetPlayer()
    else
        return
    end

    if localplayer:m_iHealth() < 1 then
        return
    end


    for i = 1,64 do
        local entity = g_EntityList:GetClientEntity(i)
        local nentity = entity
        if entity then
            entity = entity:GetPlayer()
        end
        if entity and entity:m_iHealth() > 0 and not entity:IsTeamMate() and not entity:IsDormant() then
            for k,v in pairs(hitboxesused) do
                local color = Color.new(1,0,0,1)
                local red = false
                    if best_hitbox[nentity:EntIndex()] == v then
                        color = c_menu_draw_only_priority_hitboxe:GetColor()
                    else
                        color = c_menu_hitboxes_color:GetColor()
                        red = true
                    end
                if c_menu_draw_only_priority_hitboxe:GetBool() and not red then
                    if c_menu_circle_customization:GetInt() == 1 then              
                        g_Render:Circle(g_Render:ScreenPosition(Vector.new(entity:GetHitboxCenter(v).x, entity:GetHitboxCenter(v).y, entity:GetHitboxCenter(v).z)), toint(7*c_menu_scale_circle:GetFloat()), toint(58*c_menu_scale_circle:GetFloat()/4), color)
                    elseif c_menu_circle_customization:GetInt() == 0 then
                        g_Render:CircleFilled(g_Render:ScreenPosition(Vector.new(entity:GetHitboxCenter(v).x, entity:GetHitboxCenter(v).y, entity:GetHitboxCenter(v).z)), toint(7*c_menu_scale_circle:GetFloat()), toint(58*c_menu_scale_circle:GetFloat()/4), color)
                    end
                elseif not c_menu_draw_only_priority_hitboxe:GetBool() then
                    if c_menu_circle_customization:GetInt() == 1 then              
                        g_Render:Circle(g_Render:ScreenPosition(Vector.new(entity:GetHitboxCenter(v).x, entity:GetHitboxCenter(v).y, entity:GetHitboxCenter(v).z)), toint(7*c_menu_scale_circle:GetFloat()), toint(58*c_menu_scale_circle:GetFloat()/4), color)
                    elseif c_menu_circle_customization:GetInt() == 0 then
                        g_Render:CircleFilled(g_Render:ScreenPosition(Vector.new(entity:GetHitboxCenter(v).x, entity:GetHitboxCenter(v).y, entity:GetHitboxCenter(v).z)), toint(7*c_menu_scale_circle:GetFloat()), toint(58*c_menu_scale_circle:GetFloat()/4), color)
                    end
                end
            end
        end
    end
end


--AIMBOT


--PREDICTION CALLBACK FUNCTIONS 
local function body_lean()
     local r_right = c_menu_body_lean_right:GetFloat()
     local r_left = c_menu_body_lean_left:GetFloat()

    if (c_menu_custom_body_lean:GetBool()) then
        if (menu_invert_side:GetBool()) then
            antiaim.OverrideYawOffset(r_right)
        else 
            antiaim.OverrideYawOffset(r_left)
        end
    end
end
--PREDICTION CALLBACK FUNCTIONS 


--EXPLOITS
local function instant_recharge()
    
    if (c_menu_doubletap_instant_recharge:GetBool()) then
        exploits.ForceCharge()
    end

end

local function exploits_func()
        --Speed modes
    local instant = 15
    local fast = 14
    local default = 13

    --Preserve modes
    local insecure = 0
    local secure = 1
    local safe = 2

    local cl_clock_correction = g_CVar:FindVar("cl_clock_correction") --clock correction OOPS: I think soufiw already manages with this but whatever...
    local sv_maxusrcmdprocessticks = g_CVar:FindVar("sv_maxusrcmdprocessticks") --sv_maxusrcmdprocessticks

    if (c_menu_doubletap_clockcr:GetBool()) then
        g_CVar:FindVar("cl_clock_correction"):SetInt(0)
        g_CVar:FindVar("cl_clock_correction_adjustment_max_amount"):SetInt(450)
    end

    if (c_menu_doubletap_modes:GetInt() == 0) then --Instant mode
        exploits.OverrideDoubleTapSpeed(instant)
        exploits.OverrideDoubleTapPreserve(secure)

        if (c_menu_doubletap_debug_mode:GetBool()) then
           print("[DOUBLETAP] TICKS: MAX | PRESERVE: INSECURE | CORRECTION: DISABLED ")
        end

    else if (c_menu_doubletap_modes:GetInt() == 1) then --Fast mode
        exploits.OverrideDoubleTapSpeed(fast)
        exploits.OverrideDoubleTapPreserve(secure)

        if (c_menu_doubletap_debug_mode:GetBool()) then
        print("[DOUBLETAP] TICKS: MAX | PRESERVE: SECURE | CORRECTION: DISABLED ")
        end

    else if (c_menu_doubletap_modes:GetInt() == 2) then --Slow mode
        exploits.OverrideDoubleTapSpeed(default)
        exploits.OverrideDoubleTapPreserve(safe)

        if (c_menu_doubletap_debug_mode:GetBool()) then
        print("[DOUBLETAP] TICKS: 13 | PRESERVE: SAFETY | CORRECTION: ENABLED ")
        end
    else if (c_menu_doubletap_modes:GetInt() == 3) then --Sonic mode
        local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
        local getplayer = localplayer:GetPlayer()
        local active_weapon = getplayer:GetActiveWeapon()
        exploits.OverrideDoubleTapPreserve(0)
        exploits.OverrideDoubleTapSpeed(14)
        g_CVar:FindVar("cl_clock_correction"):SetInt(0)
        g_CVar:FindVar("cl_clock_correction_adjustment_max_amount"):SetInt(450)
        if active_weapon:GetProp("DT_BaseAttributableItem", "m_iItemDefinitionIndex") == 38 or active_weapon:GetProp("DT_BaseAttributableItem", "m_iItemDefinitionIndex") == 11 then
            if g_Config:FindVar("Aimbot", "Ragebot", "Exploits", "Double Tap"):GetBool() then g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag"):SetBool(false) else g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag"):SetBool(true) end
        else
            g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag"):SetBool(true)
        end
   
        g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag"):SetBool(true)

        if (c_menu_doubletap_debug_mode:GetBool()) then
        print("[DOUBLETAP] TICKS: SONIC | PRESERVE: -1 | CORRECTION: DISABLED ")
        end
    else
        g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag"):SetBool(true)
    end
    end
    end
    end   
end

local function air_stuck(cmd)

    if c_menu_air_stuck:GetBool() then --Air stuck xDDD
        cmd.tick_count = 0x7FFFFFFF
        cmd.command_number = 0x7FFFFFFF
    end

end
--EXPLOITS

--FAKELAG

local function adaptive_fakelag()
    local local_idx = g_EngineClient:GetLocalPlayer()
    local local_entity = g_EntityList:GetClientEntity(local_idx)
    local sent_packets_num = fakelag.SentPackets()
    local oldOrigin
    if local_entity == nil then
      return
    end
    local is_key_pressed = cheat.IsKeyDown(0x45)
    local local_player = local_entity:GetPlayer();
    local wish_ticks = 0
    local adaptive_ticks = 2
    local speed_x = local_player:GetProp("DT_BasePlayer", "m_vecVelocity[0]")
    local GetAbsOrigin = local_player:GetProp("DT_BasePlayer", "m_vecAbsOrigin")
    local speed_y = local_player:GetProp("DT_BasePlayer", "m_vecVelocity[1]")
    local speed_per_tick = math.sqrt(speed_x * speed_x + speed_y * speed_y) *  g_GlobalVars.interval_per_tick
 
    while (wish_ticks * speed_per_tick) <= 68.0 do
        if (((adaptive_ticks - 1) * speed_per_tick) > 68.0) then
          wish_ticks = wish_ticks + 1;
          break
        end
        
        if ((adaptive_ticks * speed_per_tick) > 68.0) then
          wish_ticks = wish_ticks + 2;
          break
        end
        
        if ((adaptive_ticks + 1) * speed_per_tick) > 68.0 then
          wish_ticks = wish_ticks + 3;
          break
        end
        
        if ((adaptive_ticks + 2) * speed_per_tick) > 68.0 then
          wish_ticks = wish_ticks + 4;
          break
        end
        
        adaptive_ticks = adaptive_ticks + 5;
        wish_ticks = wish_ticks + 5;
   
        if adaptive_ticks > 15 then
          break
        end
    end

    local weapon = local_player:GetActiveWeapon();
    if weapon ~= nil then
      if weapon:GetWeaponID() == 64 then
        if wish_ticks > 15  then
          wish_ticks = 15
        end
      end
    end
    if is_key_pressed then
        fakelag.SetState(false)
    end
    if g_ClientState.m_choked_commands < wish_ticks then
      fakelag.SetState(false)
    end
end

local function fluctuate_fakelag()
    
    local random1 = 0
    local random2 = 0
    local used = false

    if used then 
        random1 = math.random(1, c_menu_fakelag_fluctuate_timing:GetFloat())
        used = false
    else
        random1 = math.random(1, c_menu_fakelag_fluctuate_timing:GetFloat())
        used = true
    end

    if random1 == 1 then 
        menu_fakelag_limit:SetInt(0)
        
    else
        menu_fakelag_limit:SetInt(15)
    end 
    
end

local last = 0
local state = true
local function leg_fucker()
    local cur = g_GlobalVars.curtime
    local local_player = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
    local player = local_player:GetPlayer()

    if (c_menu_exploits_legs:GetBool()) then
     menu_leg_movement:SetInt(utils.RandomInt(1, 2))
    end
end

local function fake_lag()
    local local_idx = g_EngineClient:GetLocalPlayer()
    local local_entity = g_EntityList:GetClientEntity(local_idx)
    local local_player = local_entity:GetPlayer();

    if (c_menu_fakelag_modes:GetInt()) == 0 and dt_charging == false then --adaptive fakelag (AIMWARE_PASTED)
        adaptive_fakelag()
    
    else if (c_menu_fakelag_modes:GetInt()) == 1 then --fluctuate fakelag 
        fluctuate_fakelag()
    end 
end   
end
--FAKELAG

--VISUALS


local font1 = g_Render:InitFont("Verdana", 55)

local get_screen = g_EngineClient:GetScreenSize()
local FPLx = Vector2.new((get_screen.x /2) - 54, (get_screen.y /2) + 30)
local FPLy = Vector2.new((get_screen.x /2) - 30, (get_screen.y /2) + 56)
local FPLz = Vector2.new((get_screen.x /2) - 51, (get_screen.y /2) + 55)
local FPRx = Vector2.new((get_screen.x /2) + 54, (get_screen.y /2) + 30)
local FPRy = Vector2.new((get_screen.x /2) + 30, (get_screen.y /2) + 56)
local FPRz = Vector2.new((get_screen.x /2) + 51, (get_screen.y /2) + 55)
local FPLxx = Vector2.new((get_screen.x /2) - 56, (get_screen.y /2) + 29)
local FPLyy = Vector2.new((get_screen.x /2) - 32, (get_screen.y /2) + 55)
local FPLzz = Vector2.new((get_screen.x /2) - 53, (get_screen.y /2) + 54)
local FPRxx = Vector2.new((get_screen.x /2) + 53, (get_screen.y /2) + 29)
local FPRyy = Vector2.new((get_screen.x /2) + 29, (get_screen.y /2) + 55)
local FPRzz = Vector2.new((get_screen.x /2) + 50, (get_screen.y /2) + 54)
local LPx = Vector2.new((get_screen.x /2) - 43, (get_screen.y /2) + 13)
local LPy = Vector2.new((get_screen.x /2) - 43, (get_screen.y /2) - 7)
local LPz = Vector2.new((get_screen.x /2) - 63, (get_screen.y /2) + 3)
local RPx = Vector2.new((get_screen.x /2) + 42, (get_screen.y /2) + 13)
local RPy = Vector2.new((get_screen.x /2) + 42, (get_screen.y /2) - 7)
local RPz = Vector2.new((get_screen.x /2) + 62, (get_screen.y /2) + 3)
local LPxx = Vector2.new((get_screen.x /2) - 42, (get_screen.y /2) + 14)
local LPyy = Vector2.new((get_screen.x /2) - 42, (get_screen.y /2) - 6)
local LPzz = Vector2.new((get_screen.x /2) - 62, (get_screen.y /2) + 4)
local RPxx = Vector2.new((get_screen.x /2) + 42, (get_screen.y /2) + 14)
local RPyy = Vector2.new((get_screen.x /2) + 42, (get_screen.y /2) - 6)
local RPzz = Vector2.new((get_screen.x /2) + 62, (get_screen.y /2) + 4)
local BPx = Vector2.new((get_screen.x /2) + 9, (get_screen.y /2) + 47)
local BPy = Vector2.new((get_screen.x /2) - 11, (get_screen.y /2) + 47)
local BPz = Vector2.new((get_screen.x /2) - 1, (get_screen.y /2) + 67)
local BPxx = Vector2.new((get_screen.x /2) + 10, (get_screen.y /2) + 48)
local BPyy = Vector2.new((get_screen.x /2) - 10, (get_screen.y /2) + 48)
local BPzz = Vector2.new((get_screen.x /2), (get_screen.y /2) + 68)
local function indicators_visuals()

    local color_inactive2 = Color.new(0 / 255, 0 / 255 ,0 / 255, 150 / 255)
    local get_screen = g_EngineClient:GetScreenSize()
    local pos_start = Vector2.new(1010,get_screen.y -  558) 
    local text_size = 35
    local pos_add = Vector2.new(0, text_size)
    local cur_pos = 0
    local pos_start1 = Vector2.new(900,get_screen.y -  558) 
    local cur_pos1 = 0 
    if (c_menu_arrows_type:GetInt() == 2 and c_menu_arrows:GetBool()) then  

    g_Render:PolyFilled(color_inactive2, LPxx, LPyy, LPzz)
    g_Render:PolyFilled(color_inactive2, RPxx, RPyy, RPzz)
    g_Render:PolyFilled(color_inactive2, BPxx, BPyy, BPzz)

    if (menu_invert_side:GetBool()) then
        g_Render:PolyFilled(c_menu_arrow_color:GetColor(), FPRxx, FPRyy, FPRzz)
    end
    if (not menu_invert_side:GetBool()) then
        g_Render:PolyFilled(c_menu_arrow_color:GetColor(), FPLxx, FPLyy, FPLzz)
    end
    if menu_antiaim_manual:GetInt()==1 then
         g_Render:PolyFilled(c_menu_arrow_color:GetColor(), BPx, BPy, BPz) -- backwards
    elseif  menu_antiaim_manual:GetInt()==2 then
        g_Render:PolyFilled(c_menu_arrow_color:GetColor(), RPx, RPy, RPz) -- right

    elseif  menu_antiaim_manual:GetInt()==3 then
        g_Render:PolyFilled(c_menu_arrow_color:GetColor(), LPx, LPy, LPz) -- left

    end
end
if (c_menu_arrows_type:GetInt() == 3 and c_menu_arrows:GetBool()) then  

g_Render:CirclePart(Vector2.new(960.0, 541), 20.0, 58, Color.new(0, 0, 0, 100 / 255), math.rad(0), math.rad(360), 5.0)
 
if (menu_invert_side:GetBool()) then
    g_Render:CirclePart(Vector2.new(960.0, 541), 20.0, 58, c_menu_arrow_color:GetColor(), math.rad(810.3), math.rad(630.3), 5.0)
end
if (not menu_invert_side:GetBool()) then
    g_Render:CirclePart(Vector2.new(960.0, 541), 20.0, 58, c_menu_arrow_color:GetColor(), math.rad(90), math.rad(270), 5.0)
end
end

  local function GetColorFromBoolArrow(val)
     return val and c_menu_arrow_color:GetColor() or c_menu_arrow_color:GetColor() 
  end
  
  local function arrow(str, val)
    g_Render:Text(str, cur_pos,  GetColorFromBoolArrow(val),  text_size, font1)
    cur_pos = cur_pos - pos_add
  end
  local function arrow2(str, val)
    g_Render:Text(str, cur_pos1,  GetColorFromBoolArrow(val),  text_size, font1)
    cur_pos1 = cur_pos1 - pos_add
  end

  cur_pos = pos_start
  cur_pos1 = pos_start1

  if (c_menu_arrows_type:GetInt() == 0) then
  if c_menu_arrows:GetBool() and menu_invert_side:GetBool() then
      arrow(")", c_menu_arrows:GetBool() )
  end 
  if c_menu_arrows:GetBool() and not menu_invert_side:GetBool() then
      arrow2("(", c_menu_arrows:GetBool() )
  end 
end

if (c_menu_arrows_type:GetInt() == 1) then
    if c_menu_arrows:GetBool() and menu_invert_side:GetBool() then
        arrow(">", c_menu_arrows:GetBool() )
    end 
    if c_menu_arrows:GetBool() and not menu_invert_side:GetBool() then
        arrow2("<", c_menu_arrows:GetBool() )
    end 
  end
  
end

    

--VISUALS

--MISC


local function kill_say_function(event)

local words_kill = c_menu_kill_say_words:GetString()
local words_hurt = c_menu_hurt_say_words:GetString()

    if event:GetName() == "player_death" then

        local victim = g_EngineClient:GetPlayerForUserId(event:GetInt("userid"))
        local attacker = g_EngineClient:GetPlayerForUserId( event:GetInt("attacker"))

        if victim ~= attacker and attacker == g_EngineClient:GetLocalPlayer() and c_menu_kill_say:GetBool() then
            g_EngineClient:ExecuteClientCmd('say ' .. words_kill)
        end

    else if event:GetName() == "player_hurt" then

        local victim = g_EngineClient:GetPlayerForUserId(event:GetInt("userid"))
        local attacker = g_EngineClient:GetPlayerForUserId( event:GetInt("attacker"))

        if victim ~= attacker and attacker == g_EngineClient:GetLocalPlayer() and c_menu_hurt_say:GetBool() then
            g_EngineClient:ExecuteClientCmd('say ' .. words_hurt)
        end
    end
end
end



--MISC

--ANTIAIM
local function vec_distance(vec_one, vec_two)

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

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

end

local function get_closest_enemy()
    local best_dist = c_menu_anti_brute_fov_slider:GetFloat()
    local best_enemy = nil
    local local_player = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
    local local_origin = local_player:GetProp("DT_BaseEntity", "m_vecOrigin")
    local local_screen_orig = g_Render:ScreenPosition(local_origin)
    local screen = g_EngineClient:GetScreenSize()

    for idx = 1, g_GlobalVars.maxClients + 1 do
        local ent = g_EntityList:GetClientEntity(idx)
        if ent and ent:IsPlayer() then
            local player = ent:GetPlayer()
            local health = player:GetProp("DT_BasePlayer", "m_iHealth")

            if not player:IsTeamMate() and health > 0 and not player:IsDormant() then
                local origin = ent:GetProp("DT_BaseEntity", "m_vecOrigin")
                local screen_orig = g_Render:ScreenPosition(origin)
                local temp_dist = vec_distance(Vector2.new(screen.x / 2, screen.y / 2), screen_orig)

                if(temp_dist < best_dist) then
                    best_dist = temp_dist
                    best_enemy = ent
                end
            end
        end
    end

    return best_enemy
end

local function AA_Anti_Brute_Force(e)

      if e:GetName() == "weapon_fire" and c_menu_anti_brute:GetBool() then --Weapon Fire event later we run FOV check so we can make sure the bullet is on our direction!
        local user_id = e:GetInt("userid", -1)
        local user = g_EntityList:GetClientEntity(g_EngineClient:GetPlayerForUserId(user_id)) --Get Enemy Entity
        local local_player = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer()) --Get Local Entity
        local player = local_player:GetPlayer()
        local health = player:GetProp("DT_BasePlayer", "m_iHealth")
       

        if(health > 0) then -- if our local player is alive we run the AntiBrute Logic!
          
            local closest_enemy = get_closest_enemy() --Get Closest enemy based on distance 
            if(closest_enemy ~= nil and user:EntIndex() == closest_enemy:EntIndex()) then 
              miss_counter = miss_counter + 1 --Basic so we calculate missed shots of enemy also some checks so if we get hit don't run the code!
             
                 if (miss_counter % 3 == 0) then --Logic 1
                  
                    menu_left_limit:SetInt(c_menu_anti_brute_1stshot:GetInt())
                    menu_invert_side:SetBool(true)    
                    left_side = true                   
                    if (c_menu_anti_brute_debug_mode:GetBool()) then
                        print("[ANTI-BRUTE] Angle overrided to (" .. c_menu_anti_brute_1stshot:GetInt() .. ") [INFO: PASST 3RD SIDE | NEXT ANGLE = (" .. c_menu_anti_brute_2ndshot:GetInt() ..") INVERTER:TRUE]" )
                    end
                else if (miss_counter % 3 == 1) then --Logic 2 
                    menu_right_limit:SetInt(c_menu_anti_brute_2ndshot:GetInt())
                    menu_invert_side:SetBool(false)
                    right_side = true
                    if (c_menu_anti_brute_debug_mode:GetBool()) then
                        print("[ANTI-BRUTE] Angle overrided to (" .. c_menu_anti_brute_2ndshot:GetInt() .. ") [INFO: PASST 1ST SIDE | NEXT ANGLE = (" .. c_menu_anti_brute_3rdshot:GetInt() ..") INVERTER:FALSE]" )
                    end

                else if (miss_counter % 3 == 2) then --Logic 3
                    menu_right_limit:SetInt(c_menu_anti_brute_3rdshot:GetInt())
                    menu_left_limit:SetInt(c_menu_anti_brute_3rdshot:GetInt())
         
                    ideal_yaw = true
                    if (c_menu_anti_brute_debug_mode:GetBool()) then
                        print("[ANTI-BRUTE] Angle overrided to (" .. c_menu_anti_brute_3rdshot:GetInt() .. ") [INFO: PASST 2ND SIDE | NEXT ANGLE = (" .. c_menu_anti_brute_1stshot:GetInt() ..") INVERTER:TRUE]" )
                    end
                end
                end
                end
            end
        end
    end
end
--ANTIAIM

--IND

local function text_indicators()

    local clr_green = Color.new(146.1, 255.1, 36.1, 0.9)
    local clr_orange = Color.new(255.1, 183.1, 0.1, 0.9)
    local clr_red = Color.new(255, 0, 0)
    local clr_blue = Color.new(36.1, 164.1, 255.1, 255.9)
    local screen = g_EngineClient:GetScreenSize()
    local pos_start = Vector2.new(c_menu_x:GetFloat(),screen.y -  c_menu_y:GetFloat())
    local text_size = 13
    local pos_add = Vector2.new(0, text_size)
    local cur_pos = Vector2.new(0, 0) -- current frame
    
    -------------------------------------------------------------FAKEDUCK
    local function GetColorFromBool(val)
        return val and clr_green or clr_red
    end
    
    local function RenderIndicator(str, val)
        g_Render:Text(str, cur_pos,  GetColorFromBool(val),  text_size, true)
        cur_pos = cur_pos - pos_add
    end
    
    -------------------------------------------------------------DOUBLETAP
    local function dtchargeind(str, r,g,b)
        g_Render:Text(str, cur_pos, Color.new(r,g,b),text_size, true)
        cur_pos = cur_pos - pos_add 
    end
    -------------------------------------------------------------------------------

     local ideal_ind_clr = Color.new(230 / 255, 184 / 255, 0 / 255, 0.9)

     local function ideal_indclr(val)
        return val and ideal_ind_clr or ideal_ind_clr
     end

     local function ideal_ind(str, val)
        g_Render:Text(str, cur_pos,  ideal_indclr(val),  text_size, true)
        cur_pos = cur_pos - pos_add
    end

    local function GetColorFromBool1(val)
        return val and clr_red or clr_red
    end
    
    local function RenderIndicator1(str, val)
        g_Render:Text(str, cur_pos,  GetColorFromBool1(val),  text_size, true)
        cur_pos = cur_pos - pos_add
    end
  -------------------------------------------------------------
local prefer_color = Color.new(208 / 255, 187 / 255, 252 / 255, 0.9)
local function prefersafebool(val)
    return val and prefer_color or prefer_color
end

local function prefersafe(str, val)
    g_Render:Text(str, cur_pos,  prefersafebool(val),  text_size)
    cur_pos = cur_pos - pos_add
end
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------- 
    cur_pos = pos_start
    
    if c_menu_text_indicators:GetBool() then
       

        if exploits.GetCharge() ~= 1  then
            dt_charging = false
           dtchargeind("DT", 255, 0,0)
        else
            dt_charging = true
           dtchargeind("DT", 146 / 255, 255 / 255, 36 / 255, 0.9) 
        end
      
        if menu_fakeduck:GetBool()  then --FD
            RenderIndicator("FD", menu_fakeduck:GetBool() )
        end
        if (ideal_yaw == true) then
            ideal_ind("IDEAL YAW")
        end
        
          prefersafe("PREDICTION")

          if (menu_safe_point:GetInt() > 0) then
            prefersafe("SAFETY")
          end
        if not menu_invert_side:GetBool() then
            RenderIndicator1("LEFT")
        end
        if (menu_invert_side:GetBool()) then
            RenderIndicator1("RIGHT")
        end
    end
 end       
    
    
        
    

--IND

local function watermarker() 
    g_Render:GradientBoxFilled(Vector2.new(1569.0, 30.0), Vector2.new(1918.0, 2.0), Color.new(0, 0, 0, 2 / 255), Color.new(0, 0, 0, 255 / 255), Color.new(0, 0, 0, 2 / 255), Color.new(0, 0, 0, 255 / 255))
    g_Render:Text("PREDICTION V2", Vector2.new(1820.0, 9.0), Color.new(1.0, 1.0, 1.0, 1.0), 13, false)
    g_Render:Text("Welcome " .. username, Vector2.new(1599.3, 9.0), Color.new(1.0, 1.0, 1.0, 1.0), 14, false)
    g_Render:Text("[DEFAULT BUILD] ", Vector2.new(1705.3, 9.0), Color.new(1.0, 1.0, 1.0, 1.0), 14, false)

end

--CALLBACKS
local function draw()
    local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
    if localplayer then
        localplayer = localplayer:GetPlayer()
    else
        return
    end
    if (g_EngineClient:IsConnected()) then
        if (c_menu_watermarker:GetBool()) then
            watermarker()
        end

    end
    if localplayer:m_iHealth() > 0 then
        aimbot_draw()
        indicators_visuals()
        text_indicators()
        if (c_menu_custom_impacts:GetBool()) then
            draw_impacts()
        end
    end    


end
local function pre_prediction(cmd)

    
    air_stuck(cmd)
    aimbot(cmd)
    instant_recharge()
    fake_lag()


end
local function prediction()
    body_lean()
  
end
local function createmove()
    antiaim_helpers()
    exploits_func()
    leg_fucker()
  

end
local function events(e)
    
    kill_say_function(e)
    AA_Anti_Brute_Force(e)
    impacts_events(e)
  

end

cheat.RegisterCallback("draw", draw)
cheat.RegisterCallback("pre_prediction", pre_prediction)
cheat.RegisterCallback("prediction", prediction)
cheat.RegisterCallback("createmove", createmove)
cheat.RegisterCallback("events", events)

end

if buff == "" then
    local textbox = menu.TextBox("Init", "Username", 64, "", "What username do you want to use?")
    local button = menu.Button("Init", "Confirm")

    --local done

    button:RegisterCallback(function()
        --if done == true then return end
        --done = true
        ffi.C.WriteFile(pfile, ffi.cast("char*", textbox:GetString()), #textbox:GetString(), nil, 0)
        username = textbox:GetString()
        menu.DestroyItem(textbox)
        menu.DestroyItem(button)
        initlua()
    end)
else
    local textbox = menu.TextBox("Init", "Username", 64, "", "What username do you want to use?")
        local button = menu.Button("Init", "Confirm")
        menu.DestroyItem(textbox)
        menu.DestroyItem(button)
    initlua()
end

--CALLBACKS
 
Fixed
Код:
Expand Collapse Copy
--PREDICTION LUA V2
local checkhitbox = {0,11,12,13,14}
local username = cheat.GetCheatUserName()
local ideal_yaw
local right_side
local left_side
local dt_charging
print("" .. username .. " if you have any questions feel free to dm kib1336#1030")
print("" .. username .. " if you have any suggestion or found any bug feel free to join our discord! : https://discord.gg/pJ5WpMV")
local version = "1643"

local ffi = require('ffi')

ffi.cdef[[
    void* CreateFileA(
        const char*                lpFileName,
        unsigned long                 dwDesiredAccess,
        unsigned long                 dwShareMode,
        unsigned long lpSecurityAttributes,
        unsigned long                 dwCreationDisposition,
        unsigned long                 dwFlagsAndAttributes,
        void*                hTemplateFile
        );
    bool ReadFile(
            void*       hFile,
            char*       lpBuffer,
            unsigned long        nNumberOfBytesToRead,
            unsigned long*      lpNumberOfBytesRead,
            int lpOverlapped
          );
    bool WriteFile(
            void*       hFile,
            char*      lpBuffer,
            unsigned long        nNumberOfBytesToWrite,
            unsigned long*      lpNumberOfBytesWritten,
            int lpOverlapped
        );

    unsigned long GetFileSize(
        void*  hFile,
        unsigned long* lpFileSizeHigh
    );
    bool CloseHandle(void* hFile);

    typedef unsigned long ULONG_PTR;
    typedef unsigned long DWORD;
    typedef unsigned short WORD;

    typedef struct tagKEYBDINPUT {
        WORD      wVk;
        WORD      wScan;
        DWORD     dwFlags;
        DWORD     time;
        ULONG_PTR dwExtraInfo;
      } KEYBDINPUT, *PKEYBDINPUT, *LPKEYBDINPUT;

    typedef struct tagMOUSEINPUT {
        long      dx;
        long      dy;
        DWORD     mouseData;
        DWORD     dwFlags;
        DWORD     time;
        ULONG_PTR dwExtraInfo;
      } MOUSEINPUT, *PMOUSEINPUT, *LPMOUSEINPUT;

      typedef struct tagHARDWAREINPUT {
        DWORD uMsg;
        WORD  wParamL;
        WORD  wParamH;
      } HARDWAREINPUT, *PHARDWAREINPUT, *LPHARDWAREINPUT;

    typedef struct tagINPUT {
        DWORD type;
          MOUSEINPUT    mi;
          KEYBDINPUT    ki;
          HARDWAREINPUT hi;
      } INPUT, *PINPUT, *LPINPUT;
]]

local pfile = ffi.cast("void*", ffi.C.CreateFileA("nl/username.txt", 0xC0000000, 0x00000003, 0, 0x4, 0x80, nil))
--local cfile = ffi.cast("void*", ffi.C.CreateFileA("nl/settings.txt", 0xC0000000, 0x00000003, 0, 0x4, 0x80, nil))

cheat.RegisterCallback("destroy", function()
ffi.C.CloseHandle(pfile)
--ffi.C.CloseHandle(cfile)
end)

local size = ffi.C.GetFileSize(pfile, nil)
local buff = ffi.new("char[" ..(size + 1).. "]")

ffi.C.ReadFile(pfile, buff, size, nil, 0)
buff = ffi.string(buff)
local username = buff

local function initlua()

menu.Text("Prediction LUA V2", "Hello "..username.."!")

local vers = http.Get("https://pastebin.com/raw/bHXD56yW")

local ok = ""
if version == vers then ok = "Version: UP 2 DATE!" else ok = "Version: Outdated!" end

if ok then
    menu.Text("STATUS", ok)
else
    menu.Text("STATUS", "ERROR")
end

cheat.AddNotify("PREDICTION V2", "Welcome to Prediction v2.3.0 " .. username .. " ")

ffi.cdef[[
    typedef uintptr_t (__thiscall* GetClientEntity_4242425_t)(void*, int);
    typedef void (__thiscall* UpdateCSA_t)(void*);
    typedef struct { float id; } poses_t;
    typedef struct
    {
        float x;
        float y;
        float z;
    } Vector_t;
   
    typedef struct
    {
        float            flAnimationTime;        //0x00
        float            flFadeOut;                //0x04
        void*            pStudioHdr;                //0x08
        int                nDispatchedSrc;            //0x0C
        int                nDispatchedDst;            //0x10
        int                iOrder;                    //0x14
        int nSequence;                //0x18
        float            flPrevCycle;            //0x1C
        float            flWeight;                //0x20
        float            flWeightDeltaRate;        //0x24
        float            flPlaybackRate;            //0x28
        float            flCycle;                //0x2C
        void*            pOwner;                    //0x30
        int                nInvalidatePhysicsBits;    //0x34
    } animlayer_t;
   
    typedef struct
    {
        void* pThis;
        char pad2[91];
        void* pBaseEntity; //0x60
        void* pActiveWeapon; //0x64
        void* pLastActiveWeapon; //0x68
        float m_flLastClientSideAnimationUpdateTime; //0x6C
        int m_iLastClientSideAnimationUpdateFramecount; //0x70
        float m_flEyePitch; //0x74
        float m_flEyeYaw; //0x78
        float m_flPitch; //0x7C
        float m_flGoalFeetYaw; //0x80
        float m_flCurrentFeetYaw; //0x84
        float m_flCurrentTorsoYaw; //0x88
        float m_flUnknownVelocityLean; //0x8C //changes when moving/jumping/hitting ground
        float m_flLeanAmount; //0x90
        char pad4[4]; //NaN
        float m_flFeetCycle; //0x98 0 to 1
        float m_flFeetYawRate; //0x9C 0 to 1
        float m_fUnknown2;
        float m_fDuckAmount; //0xA4
        float m_fLandingDuckAdditiveSomething; //0xA8
        float m_fUnknown3; //0xAC
        Vector_t m_vOrigin; //0xB0, 0xB4, 0xB8
        Vector_t m_vLastOrigin; //0xBC, 0xC0, 0xC4
        float m_vVelocityX; //0xC8
        float m_vVelocityY; //0xCC
        char pad5[4];
        float m_flUnknownFloat1; //0xD4 Affected by movement and direction
        char pad6[8];
        float m_flUnknownFloat2; //0xE0 //from -1 to 1 when moving and affected by direction
        float m_flUnknownFloat3; //0xE4 //from -1 to 1 when moving and affected by direction
        float m_unknown; //0xE8
        float speed_2d; //0xEC
        float flUpVelocity; //0xF0
        float m_flSpeedNormalized; //0xF4 //from 0 to 1
        float m_flFeetSpeedForwardsOrSideWays; //0xF8 //from 0 to 2. something  is 1 when walking, 2.something when running, 0.653 when crouch walking
        float m_flFeetSpeedUnknownForwardOrSideways; //0xFC //from 0 to 3. something
        float m_flTimeSinceStartedMoving; //0x100
        float m_flTimeSinceStoppedMoving; //0x104
        unsigned char m_bOnGround; //0x108
        unsigned char m_bInHitGroundAnimation; //0x109
        char pad7[10];
        float m_flLastOriginZ; //0x114
        float m_flHeadHeightOrOffsetFromHittingGroundAnimation; //0x118 from 0 to 1, is 1 when standing
        float m_flStopToFullRunningFraction; //0x11C from 0 to 1, doesnt change when walking or crouching, only running
        char pad8[4]; //NaN
        float m_flUnknownFraction; //0x124 affected while jumping and running, or when just jumping, 0 to 1
        char pad9[4]; //NaN
        float m_flUnknown3;
        char pad10[528];
    } CCSGOPlayerAnimationState_534535_t;
]]

local hitboxesused = {18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,0}

local hitboxes = {
    "Head",
    "Upper Chest",
    "Chest",
    "Body",
    "Stomach",
    "Pelvis",
    "Legs & Feet",
    "Arms"
}

local types = {
    "2D Filled Circle",
    "2D Circle"
}
--VARS
local miss_counter = 0
local menu_invert_side = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "Inverter")
local menu_left_limit = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "Left Limit")
local menu_fake_options = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "LBY Mode")
local menu_right_limit = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "Right Limit")
local menu_leg_movement = g_Config:FindVar("Aimbot", "Anti Aim", "Misc", "Leg Movement")
local menu_fakelag_limit = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Limit")
local menu_fakelag_enable = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag")

local menu_safe_point = g_Config:FindVar("Aimbot", "Ragebot", "Accuracy", "Safe Points")
local menu_fakeduck = g_Config:FindVar("Aimbot", "Anti Aim", "Misc", "Fake Duck")
local menu_antiaim_manual = g_Config:FindVar("Aimbot", "Anti Aim", "Main", "Yaw Base")
local var_arrow_fonts = g_Render:InitFont("Verdana",55)

--VARS END--

--LUA MENU
menu.Text("Anti-Aim", "Anti Bruteforce Customization")
local c_menu_anti_brute = menu.Switch("Anti-Aim", "Anti Brute", false, "Will enable Lua Script Anti-BruteForce!")
local c_menu_anti_brute_fov_slider = menu.SliderFloat("Anti-Aim", "Anti Brute FOV", 175.0, 50.0, 250.0, "Limit FOV between bullet and your modelll (Recomended Default Value)")

local c_menu_anti_brute_debug_mode = menu.Switch("Anti-Aim", "Debug Mode", false, "Will print on console which angle has been overrided etc...")
local c_menu_anti_brute_1stshot = menu.SliderInt("Anti-Aim", "1st shot angle", 45, 0, 60, "Fake Limit for 1st enemy shot (Recomended using default values if you don't know what you're doing!)")
local c_menu_anti_brute_2ndshot = menu.SliderInt("Anti-Aim", "2nd shot angle", 45, 0, 60, "Fake Limit for 2nd enemy shot (Recomended using default values if you don't know what you're doing!)")
local c_menu_anti_brute_3rdshot = menu.SliderInt("Anti-Aim", "3rd shot angle", 5, 0, 60, "Fake Limit for 3rd enemy shot (Recomended using default values if you don't know what you're doing!)")

menu.Text("Anti-Aim", "Body Lean Customization")
local c_menu_custom_body_lean = menu.Switch("Anti-Aim", "Custom Bodylean", false, "Will enable customized BodyLean can be modified using the sliders below!")
local c_menu_body_lean_left = menu.SliderFloat("Anti-Aim", "Body Lean Left", 16.4, -180.0, 180.0, "Adjusts your BodyLean")
local c_menu_body_lean_right = menu.SliderFloat("Anti-Aim", "Body Lean Right", -20.0, -180.0, 180.0, "Adjusts your BodyLean")



menu.Text("FakeLags", "FakeLags Customization")
local c_menu_custom_fakelag = menu.Switch("FakeLags", "Custom Fakelag", false, "Will enable customized Fakelags")
local c_menu_fakelag_modes = menu.Combo("FakeLags", "Modes", {"Adaptive", "Fluctuate"}, 0, "Multiple Fakelag modes!")
local c_menu_fakelag_fluctuate_timing = menu.SliderFloat("FakeLags", "Fluctuate Timing", 12.9, 0.0, 20.0, "Fluctuate timing (Recomended Default values!)!")

menu.Text("Exploits", "Exploits Customization")
local c_menu_doubletap = menu.Switch("Exploits", "Customized Doubletap", true, "")
local c_menu_doubletap_clockcr = menu.Switch("Exploits", "Disable Correction", false, "Will make your DoubleTap innacurate but faster!")
local c_menu_doubletap_modes = menu.Combo("Exploits", "Modes", {"Instant", "Fast", "Slow", "Sonic"}, 0, "Multiple DoubleTap speed modes!")
local c_menu_doubletap_debug_mode = menu.Switch("Exploits", "Debug Mode", false, "Will print info about doubletap, ticks etc...")
local c_menu_doubletap_instant_recharge = menu.Switch("Exploits", "Instant Recharge", false, "Will recharge doubletap as soon as possible (Not recommended tho!)!")

local c_menu_exploits_legs = menu.Switch("Exploits", "Smart Legs", false, "Will swap your model legs between normal/sliding asap!")
local c_menu_air_stuck = menu.Switch("Exploits", "Airstuck", false, "")

menu.Text("Visuals", "Visuals Customization")
local c_menu_text_indicators = menu.Switch("Visuals", "Enable text indicators", false, "Draw Text indicators (Use the multicombo tho!)!")
local c_menu_x = menu.SliderFloat("Visuals", "Text x position", 973.0, 0.0, 2000.0, "x pos")
local c_menu_y = menu.SliderFloat("Visuals", "Text y position", 484.0, 0.0, 2000.0, "y pos")
local c_menu_arrows = menu.Switch("Visuals", "Anti-Aim Arrows", false, "Draw AntiAim direction arrows!")
local c_menu_arrow_color = menu.ColorEdit("Visuals", "Arrow color", Color.new(1,1,1,1), "")
local c_menu_arrows_type = menu.Combo("Visuals", "Arrow Type", {")", ">", "Triangles", "Circle"}, 0, "Multiple Arrow types!")
local c_menu_custom_impacts = menu.Switch("Visuals", "Custom Bullet Impacts", false, "")
local c_menu_visuals_impacts = menu.SliderInt("Visuals", "Bullet Impacts size", 5, 1, 50, "")
local c_menu_visuals_beam_color = menu.ColorEdit("Visuals", "Beam Color", Color.new(1,1,1,1), "")
local c_menu_visuals_impact_color = menu.ColorEdit("Visuals", "Impacts Color", Color.new(1,1,1,1), "")
local c_menu_watermarker = menu.Switch("Visuals", "Watermarker", false, "Enables simple Watermarker!")

menu.Text("Misc", "Miscellaneous")
local c_menu_kill_say = menu.Switch("Misc", "Custom Kill Say", false, "Says something on the chat once you kill someone (Words can be edited on the textbox below!)!")
local c_menu_kill_say_words = menu.TextBox("Misc", "Kill Say Words", 64, "Say something...", "Says something on the chat once you kill someone (If Kill Say checkbox is enabled!)!")
local c_menu_hurt_say = menu.Switch("Misc", "Custom Hurt Say", false, "Says something on the chat once you hurt someone (Words can be edited on the textbox below!)!")
local c_menu_hurt_say_words = menu.TextBox("Misc", "Hurt Say Words", 64, "Say something...", "Says something on the chat once you hurt someone (If Hurt Say checkbox is enabled!)!")

menu.Text("Aimbot", "Advanced Aimbot")
local c_menu_safepoint_hitboxes = menu.MultiCombo("Aimbot", "Safe point Hitboxes", hitboxes, 0, "")
local c_menu_draw_only_priority_hitboxe = menu.SwitchColor("Aimbot", "Draw only priority hitbox", false, Color.new(1.0,1.0,1.0,1.0), "")
local c_menu_circle_customization = menu.Combo("Aimbot", "Circle Customization", types, 0, "")
local c_menu_scale_circle = menu.SliderFloat("Aimbot", "Scale circle", 1, 0, 20, "")
local c_menu_hitboxes_color = menu.ColorEdit("Aimbot", "Intersacted points Color", Color.new(1,1,1,1), "")


local c_menu_anti_aim_helpers = menu.Switch("Anti-Aim", "Auto direction", false, "")
local c_menu_anti_aim_helpers_types = menu.Combo("Anti-Aim", "Auto direction Types", {"Peek with Fake", "Peek with Real"}, 0, "Multiple Auto direction types!")
local c_menu_anti_aim_helpers_desync = menu.Switch("Anti-Aim", "Desync Modifications", false, "")
local c_menu_anti_aim_helpers_desync_mod = menu.Combo("Anti-Aim", "Desync Mods", {"Smart", "Prefer Low Delta", "Multiple"}, 0, "Multiple Auto direction types!")
local menu_freestand_desync = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "Freestanding Desync")
local menu_fake_option = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "Fake Options")

--LUA MENU

local function antiaim_helpers()

  if (c_menu_anti_aim_helpers:GetBool()) then
        if (c_menu_anti_aim_helpers_types:GetInt() == 0) then --Peek fake
            menu_freestand_desync:SetInt(1)
        else if (c_menu_anti_aim_helpers_types:GetInt() == 1) then --Peek real
            menu_freestand_desync:SetInt(2)
        end
    end
  end

  local local_idx = g_EngineClient:GetLocalPlayer()
  local local_entity = g_EntityList:GetClientEntity(local_idx)

  if local_entity == nil then
    return
  end
 
  local local_player = local_entity:GetPlayer();
  local speed_x = local_player:GetProp("DT_BasePlayer", "m_vecVelocity[0]")
  local speed_y = local_player:GetProp("DT_BasePlayer", "m_vecVelocity[1]")
  local speed = math.sqrt(speed_x * speed_x + speed_y * speed_y)
  local speed_per_tick = math.sqrt(speed_x * speed_x + speed_y * speed_y) *  g_GlobalVars.interval_per_tick
    if (c_menu_anti_aim_helpers_desync:GetBool()) then

        if (c_menu_anti_aim_helpers_desync_mod:GetInt() == 0) then --smart
            menu_fake_option:SetInt(1)
            menu_freestand_desync:SetInt(2)
            antiaim.OverrideLimit(math.random(45, 80))
              menu_left_limit:SetInt(math.random(30, 80))
              menu_right_limit:SetInt(math.random(30, 80))
          
       
        end
        if (c_menu_anti_aim_helpers_desync_mod:GetInt() == 2) then --Multiple
            menu_fake_option:SetInt(utils.RandomInt(2, 3))
            menu_fake_options:SetInt(utils.RandomInt(1, 2))
              menu_left_limit:SetInt(utils.RandomInt(35, 60))
              menu_right_limit:SetInt(utils.RandomInt(35, 60))
        end
       if (c_menu_anti_aim_helpers_desync_mod:GetInt() == 1) then --prefer low delta
          menu_fake_option:SetInt(1)
          menu_freestand_desync:SetInt(2)
          antiaim.OverrideLimit(math.random(15, 15))
          menu_left_limit:SetInt(math.random(15, 35))
          menu_right_limit:SetInt(math.random(15, 35))
       
        end    
    end
end






--AIMBOT

local safety_hitboxes = {}
local best_hitbox = {}
local best_damage = {}

local predict_ticks = 7
local force_off = false
local force_off_tick = 0

local function normalizeangles(ang)
    if(ang.pitch > 180.0) then ang.pitch = ang.pitch - 360.0 end
    if(ang.yaw > 180.0) then ang.yaw = ang.yaw - 360.0 end
    return ang
end

local function calcangle(src, dst)
    local vecdelta = Vector.new(dst.x - src.x, dst.y - src.y, dst.z - src.z)
    local angles = QAngle.new(math.atan2(-vecdelta.z, vecdelta:Length2D()) * 180.0 / math.pi, (math.atan2(vecdelta.y, vecdelta.x) * 180.0 / math.pi), 0.0)
    angles = normalizeangles(angles)
    return angles
end

local function canseeentity(localplayer, entity)
    if not entity or not localplayer then return false end
    local canhit = false
    for k,v in pairs(checkhitbox) do
        local damage = cheat.FireBullet(localplayer, localplayer:GetEyePosition(), entity:GetPlayer():GetHitboxCenter(v))
        if damage > 0 then
            canhit = true
            break
        end
    end
    return canhit
end

cheat.RegisterCallback("events", function(event)
    if event:GetName() == "player_death" then
      
        if true then
            for i = 1, 64 do
                best_hitbox[i] = -1
                best_damage[i] = 0
            end
        end
    end
end)
local lines = {}
local results = {}

local function impacts_events(event)
    if event:GetName() == "bullet_impact" and event:GetInt("userid") == g_EngineClient:GetPlayerInfo(g_EngineClient:GetLocalPlayer()).userId then
        local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
        if localplayer then localplayer = localplayer:GetPlayer() else return end
        local position = localplayer:GetEyePosition()
        local destination = Vector.new(event:GetFloat("x"), event:GetFloat("y"), event:GetFloat("z"))
        table.insert(lines, {pos = position, destination = destination, time = 250, curtime = g_GlobalVars.curtime})
    end

    if event:GetName() == "player_hurt" then
        if event:GetInt("attacker") == g_EngineClient:GetPlayerInfo(g_EngineClient:GetLocalPlayer()).userId then
            for k,v in pairs(lines) do
                if v.curtime == g_GlobalVars.curtime then
                    table.insert(results, lines[k])
                    table.remove(lines, k)
                end
            end
        end
    end
end
local function draw_impacts()
    local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
    if localplayer then localplayer = localplayer:GetPlayer() else return end
    local position = localplayer:GetEyePosition()

    for k,v in pairs(results) do
        v.time = v.time - 1
        if g_Render:ScreenPosition(v.pos).x ~= g_Render:ScreenPosition(v.destination).x and g_Render:ScreenPosition(v.pos).y ~= g_Render:ScreenPosition(v.destination).y then
            if g_Render:ScreenPosition(v.pos).x ~= g_Render:ScreenPosition(position).x and g_Render:ScreenPosition(v.pos).y ~= g_Render:ScreenPosition(position).y then
                g_Render:Line(g_Render:ScreenPosition(v.pos), g_Render:ScreenPosition(v.destination), c_menu_visuals_beam_color:GetColor())
            end
        end
        if v.time == 0 then table.remove(results, k) end
    end
   
    for k,v in pairs(results) do
        for i = 1,c_menu_visuals_impacts:GetInt() do
            local position1 = g_Render:ScreenPosition(v.destination)
            local position2 = g_Render:ScreenPosition(v.destination)
            local position3 = g_Render:ScreenPosition(v.destination)
            local position4 = g_Render:ScreenPosition(v.destination)
            position1.x = position1.x+i
            position2.x = position2.x-i
            position3.y = position3.y+i
            position4.y = position4.y-i
            g_Render:Box(position1, position2, c_menu_visuals_impact_color:GetColor())
            g_Render:Box(position3, position4, c_menu_visuals_impact_color:GetColor())
        end
    end
end

function C_BaseEntity:m_iHealth()
    return self:GetProp("DT_BasePlayer", "m_iHealth")
end
function C_BaseEntity:m_vecVelocity()
    return self:GetProp("DT_BasePlayer", "m_vecVelocity")
end

local ENTITY_LIST_POINTER = ffi.cast("void***", utils.CreateInterface("client.dll", "VClientEntityList003")) or error("Failed to find VClientEntityList003!")
local GET_CLIENT_ENTITY_FN = ffi.cast("GetClientEntity_4242425_t", ENTITY_LIST_POINTER[0][3])
local UpdateClientSideAnims = ffi.cast("UpdateCSA_t", utils.PatternScan("client.dll", "55 8B EC 51 56 8B F1 80 BE ? ? ? ? 00 74 ? 8B 06 FF"))

local ffi_helpers = {
get_animstate_offset = function()
    return 14612
end,

get_entity_address = function(entity_index)
    local addr = GET_CLIENT_ENTITY_FN(ENTITY_LIST_POINTER, entity_index)
    return addr
end
}

local original_goal_feet_yaw = {}


local function aimbot(cmd)
    local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
    local oldlocalplayer = localplayer
    if localplayer then
        --local entity_animation_state = ffi.cast("int**", ffi_helpers.get_entity_address(2) + 45952)[0]
        --entity_animation_state = 100
        localplayer = localplayer:GetPlayer()
    else
        return
    end

    safety_hitboxes = {}
    for i = 0,10 do
        if c_menu_safepoint_hitboxes:GetBool(i) then
            if i == 0 then table.insert( safety_hitboxes, 0 )
            elseif i == 1 then table.insert( safety_hitboxes, 6 )
            elseif i == 2 then table.insert( safety_hitboxes, 5 )
            elseif i == 3 then table.insert( safety_hitboxes, 4 )
            elseif i == 4 then table.insert( safety_hitboxes, 3 )
            elseif i == 5 then table.insert( safety_hitboxes, 2 )
            elseif i == 6 then
                for i = 7,12 do
                    table.insert( safety_hitboxes, i )
                end
            elseif i == 7 then
                for i = 13,18 do
                    table.insert( safety_hitboxes, i )
                end
            end
        end
    end

    for i = 1,64 do

        local entity = g_EntityList:GetClientEntity(i)
        if not entity then break end
        if entity and entity:GetPlayer():m_iHealth() > 0 and not entity:GetPlayer():IsTeamMate() and canseeentity(localplayer:GetPlayer(), entity:GetPlayer()) then
           
            --UpdateClientSideAnims(ffi.cast("void***", ffi_helpers.get_entity_address(entity:EntIndex())))
            for k,v in pairs(safety_hitboxes) do
                ragebot.ForceHitboxSafety(entity:EntIndex(), v)
            end

            local biggestdamage = 0
            local health = entity:GetPlayer():m_iHealth()
            local besthitboxfound = -1
            for k,v in pairs(hitboxesused) do
                local damage = cheat.FireBullet(localplayer, localplayer:GetEyePosition(), entity:GetPlayer():GetHitboxCenter(v))
                if damage > biggestdamage then
                    biggestdamage = damage
                    besthitboxfound = v
                end

                if damage >= health then
                    biggestdamage = damage
                    besthitboxfound = v
                    break
                end
            end
           
            best_hitbox[entity:EntIndex()] = besthitboxfound
            best_damage[entity:EntIndex()] = biggestdamage

            for i = 1, 18 do
                ragebot.SetHitboxPriority(entity:EntIndex(), i, 1)
            end

            ragebot.SetHitboxPriority(entity:EntIndex(), besthitboxfound, 10000)
        else
            best_damage[entity:EntIndex()] = 0
            best_hitbox[entity:EntIndex()] = -1
        end
    end

    --peeking:handle()
end


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

local function aimbot_draw()  
    local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
    if localplayer then
        localplayer = localplayer:GetPlayer()
    else
        return
    end

    if localplayer:m_iHealth() < 1 then
        return
    end


    for i = 1,64 do
        local entity = g_EntityList:GetClientEntity(i)
        local nentity = entity
        if entity then
            entity = entity:GetPlayer()
        end
        if entity and entity:m_iHealth() > 0 and not entity:IsTeamMate() and not entity:IsDormant() then
            for k,v in pairs(hitboxesused) do
                local color = Color.new(1,0,0,1)
                local red = false
                    if best_hitbox[nentity:EntIndex()] == v then
                        color = c_menu_draw_only_priority_hitboxe:GetColor()
                    else
                        color = c_menu_hitboxes_color:GetColor()
                        red = true
                    end
                if c_menu_draw_only_priority_hitboxe:GetBool() and not red then
                    if c_menu_circle_customization:GetInt() == 1 then             
                        g_Render:Circle(g_Render:ScreenPosition(Vector.new(entity:GetHitboxCenter(v).x, entity:GetHitboxCenter(v).y, entity:GetHitboxCenter(v).z)), toint(7*c_menu_scale_circle:GetFloat()), toint(58*c_menu_scale_circle:GetFloat()/4), color)
                    elseif c_menu_circle_customization:GetInt() == 0 then
                        g_Render:CircleFilled(g_Render:ScreenPosition(Vector.new(entity:GetHitboxCenter(v).x, entity:GetHitboxCenter(v).y, entity:GetHitboxCenter(v).z)), toint(7*c_menu_scale_circle:GetFloat()), toint(58*c_menu_scale_circle:GetFloat()/4), color)
                    end
                elseif not c_menu_draw_only_priority_hitboxe:GetBool() then
                    if c_menu_circle_customization:GetInt() == 1 then             
                        g_Render:Circle(g_Render:ScreenPosition(Vector.new(entity:GetHitboxCenter(v).x, entity:GetHitboxCenter(v).y, entity:GetHitboxCenter(v).z)), toint(7*c_menu_scale_circle:GetFloat()), toint(58*c_menu_scale_circle:GetFloat()/4), color)
                    elseif c_menu_circle_customization:GetInt() == 0 then
                        g_Render:CircleFilled(g_Render:ScreenPosition(Vector.new(entity:GetHitboxCenter(v).x, entity:GetHitboxCenter(v).y, entity:GetHitboxCenter(v).z)), toint(7*c_menu_scale_circle:GetFloat()), toint(58*c_menu_scale_circle:GetFloat()/4), color)
                    end
                end
            end
        end
    end
end


--AIMBOT


--PREDICTION CALLBACK FUNCTIONS
local function body_lean()
     local r_right = c_menu_body_lean_right:GetFloat()
     local r_left = c_menu_body_lean_left:GetFloat()

    if (c_menu_custom_body_lean:GetBool()) then
        if (menu_invert_side:GetBool()) then
            antiaim.OverrideYawOffset(r_right)
        else
            antiaim.OverrideYawOffset(r_left)
        end
    end
end
--PREDICTION CALLBACK FUNCTIONS


--EXPLOITS
local function instant_recharge()
   
    if (c_menu_doubletap_instant_recharge:GetBool()) then
        exploits.ForceCharge()
    end

end

local function exploits_func()
        --Speed modes
    local instant = 15
    local fast = 14
    local default = 13

    --Preserve modes
    local insecure = 0
    local secure = 1
    local safe = 2

    local cl_clock_correction = g_CVar:FindVar("cl_clock_correction") --clock correction OOPS: I think soufiw already manages with this but whatever...
    local sv_maxusrcmdprocessticks = g_CVar:FindVar("sv_maxusrcmdprocessticks") --sv_maxusrcmdprocessticks

    if (c_menu_doubletap_clockcr:GetBool()) then
        g_CVar:FindVar("cl_clock_correction"):SetInt(0)
        g_CVar:FindVar("cl_clock_correction_adjustment_max_amount"):SetInt(450)
    end

    if (c_menu_doubletap_modes:GetInt() == 0) then --Instant mode
        exploits.OverrideDoubleTapSpeed(instant)
        exploits.OverrideDoubleTapPreserve(secure)

        if (c_menu_doubletap_debug_mode:GetBool()) then
           print("[DOUBLETAP] TICKS: MAX | PRESERVE: INSECURE | CORRECTION: DISABLED ")
        end

    else if (c_menu_doubletap_modes:GetInt() == 1) then --Fast mode
        exploits.OverrideDoubleTapSpeed(fast)
        exploits.OverrideDoubleTapPreserve(secure)

        if (c_menu_doubletap_debug_mode:GetBool()) then
        print("[DOUBLETAP] TICKS: MAX | PRESERVE: SECURE | CORRECTION: DISABLED ")
        end

    else if (c_menu_doubletap_modes:GetInt() == 2) then --Slow mode
        exploits.OverrideDoubleTapSpeed(default)
        exploits.OverrideDoubleTapPreserve(safe)

        if (c_menu_doubletap_debug_mode:GetBool()) then
        print("[DOUBLETAP] TICKS: 13 | PRESERVE: SAFETY | CORRECTION: ENABLED ")
        end
    else if (c_menu_doubletap_modes:GetInt() == 3) then --Sonic mode
        local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
        local getplayer = localplayer:GetPlayer()
        local active_weapon = getplayer:GetActiveWeapon()
        exploits.OverrideDoubleTapPreserve(0)
        exploits.OverrideDoubleTapSpeed(14)
        g_CVar:FindVar("cl_clock_correction"):SetInt(0)
        g_CVar:FindVar("cl_clock_correction_adjustment_max_amount"):SetInt(450)
        if active_weapon:GetProp("DT_BaseAttributableItem", "m_iItemDefinitionIndex") == 38 or active_weapon:GetProp("DT_BaseAttributableItem", "m_iItemDefinitionIndex") == 11 then
            if g_Config:FindVar("Aimbot", "Ragebot", "Exploits", "Double Tap"):GetBool() then g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag"):SetBool(false) else g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag"):SetBool(true) end
        else
            g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag"):SetBool(true)
        end
  
        g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag"):SetBool(true)

        if (c_menu_doubletap_debug_mode:GetBool()) then
        print("[DOUBLETAP] TICKS: SONIC | PRESERVE: -1 | CORRECTION: DISABLED ")
        end
    else
        g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag"):SetBool(true)
    end
    end
    end
    end  
end

local function air_stuck(cmd)

    if c_menu_air_stuck:GetBool() then --Air stuck xDDD
        cmd.tick_count = 0x7FFFFFFF
        cmd.command_number = 0x7FFFFFFF
    end

end
--EXPLOITS

--FAKELAG

local function adaptive_fakelag()
    local local_idx = g_EngineClient:GetLocalPlayer()
    local local_entity = g_EntityList:GetClientEntity(local_idx)
    local sent_packets_num = fakelag.SentPackets()
    local oldOrigin
    if local_entity == nil then
      return
    end
    local is_key_pressed = cheat.IsKeyDown(0x45)
    local local_player = local_entity:GetPlayer();
    local wish_ticks = 0
    local adaptive_ticks = 2
    local speed_x = local_player:GetProp("DT_BasePlayer", "m_vecVelocity[0]")
    local GetAbsOrigin = local_player:GetProp("DT_BasePlayer", "m_vecAbsOrigin")
    local speed_y = local_player:GetProp("DT_BasePlayer", "m_vecVelocity[1]")
    local speed_per_tick = math.sqrt(speed_x * speed_x + speed_y * speed_y) *  g_GlobalVars.interval_per_tick

    while (wish_ticks * speed_per_tick) <= 68.0 do
        if (((adaptive_ticks - 1) * speed_per_tick) > 68.0) then
          wish_ticks = wish_ticks + 1;
          break
        end
       
        if ((adaptive_ticks * speed_per_tick) > 68.0) then
          wish_ticks = wish_ticks + 2;
          break
        end
       
        if ((adaptive_ticks + 1) * speed_per_tick) > 68.0 then
          wish_ticks = wish_ticks + 3;
          break
        end
       
        if ((adaptive_ticks + 2) * speed_per_tick) > 68.0 then
          wish_ticks = wish_ticks + 4;
          break
        end
       
        adaptive_ticks = adaptive_ticks + 5;
        wish_ticks = wish_ticks + 5;
  
        if adaptive_ticks > 15 then
          break
        end
    end

    local weapon = local_player:GetActiveWeapon();
    if weapon ~= nil then
      if weapon:GetWeaponID() == 64 then
        if wish_ticks > 15  then
          wish_ticks = 15
        end
      end
    end
    if is_key_pressed then
        fakelag.SetState(false)
    end
    if g_ClientState.m_choked_commands < wish_ticks then
      fakelag.SetState(false)
    end
end

local function fluctuate_fakelag()
   
    local random1 = 0
    local random2 = 0
    local used = false

    if used then
        random1 = math.random(1, c_menu_fakelag_fluctuate_timing:GetFloat())
        used = false
    else
        random1 = math.random(1, c_menu_fakelag_fluctuate_timing:GetFloat())
        used = true
    end

    if random1 == 1 then
        menu_fakelag_limit:SetInt(0)
       
    else
        menu_fakelag_limit:SetInt(15)
    end
   
end

local last = 0
local state = true
local function leg_fucker()
    local cur = g_GlobalVars.curtime
    local local_player = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
    local player = local_player:GetPlayer()

    if (c_menu_exploits_legs:GetBool()) then
     menu_leg_movement:SetInt(utils.RandomInt(1, 2))
    end
end

local function fake_lag()
    local local_idx = g_EngineClient:GetLocalPlayer()
    local local_entity = g_EntityList:GetClientEntity(local_idx)
    local local_player = local_entity:GetPlayer();

    if (c_menu_fakelag_modes:GetInt()) == 0 and dt_charging == false then --adaptive fakelag (AIMWARE_PASTED)
        adaptive_fakelag()
   
    else if (c_menu_fakelag_modes:GetInt()) == 1 then --fluctuate fakelag
        fluctuate_fakelag()
    end
end  
end
--FAKELAG

--VISUALS


local font1 = g_Render:InitFont("Verdana", 55)

local get_screen = g_EngineClient:GetScreenSize()
local FPLx = Vector2.new((get_screen.x /2) - 54, (get_screen.y /2) + 30)
local FPLy = Vector2.new((get_screen.x /2) - 30, (get_screen.y /2) + 56)
local FPLz = Vector2.new((get_screen.x /2) - 51, (get_screen.y /2) + 55)
local FPRx = Vector2.new((get_screen.x /2) + 54, (get_screen.y /2) + 30)
local FPRy = Vector2.new((get_screen.x /2) + 30, (get_screen.y /2) + 56)
local FPRz = Vector2.new((get_screen.x /2) + 51, (get_screen.y /2) + 55)
local FPLxx = Vector2.new((get_screen.x /2) - 56, (get_screen.y /2) + 29)
local FPLyy = Vector2.new((get_screen.x /2) - 32, (get_screen.y /2) + 55)
local FPLzz = Vector2.new((get_screen.x /2) - 53, (get_screen.y /2) + 54)
local FPRxx = Vector2.new((get_screen.x /2) + 53, (get_screen.y /2) + 29)
local FPRyy = Vector2.new((get_screen.x /2) + 29, (get_screen.y /2) + 55)
local FPRzz = Vector2.new((get_screen.x /2) + 50, (get_screen.y /2) + 54)
local LPx = Vector2.new((get_screen.x /2) - 43, (get_screen.y /2) + 13)
local LPy = Vector2.new((get_screen.x /2) - 43, (get_screen.y /2) - 7)
local LPz = Vector2.new((get_screen.x /2) - 63, (get_screen.y /2) + 3)
local RPx = Vector2.new((get_screen.x /2) + 42, (get_screen.y /2) + 13)
local RPy = Vector2.new((get_screen.x /2) + 42, (get_screen.y /2) - 7)
local RPz = Vector2.new((get_screen.x /2) + 62, (get_screen.y /2) + 3)
local LPxx = Vector2.new((get_screen.x /2) - 42, (get_screen.y /2) + 14)
local LPyy = Vector2.new((get_screen.x /2) - 42, (get_screen.y /2) - 6)
local LPzz = Vector2.new((get_screen.x /2) - 62, (get_screen.y /2) + 4)
local RPxx = Vector2.new((get_screen.x /2) + 42, (get_screen.y /2) + 14)
local RPyy = Vector2.new((get_screen.x /2) + 42, (get_screen.y /2) - 6)
local RPzz = Vector2.new((get_screen.x /2) + 62, (get_screen.y /2) + 4)
local BPx = Vector2.new((get_screen.x /2) + 9, (get_screen.y /2) + 47)
local BPy = Vector2.new((get_screen.x /2) - 11, (get_screen.y /2) + 47)
local BPz = Vector2.new((get_screen.x /2) - 1, (get_screen.y /2) + 67)
local BPxx = Vector2.new((get_screen.x /2) + 10, (get_screen.y /2) + 48)
local BPyy = Vector2.new((get_screen.x /2) - 10, (get_screen.y /2) + 48)
local BPzz = Vector2.new((get_screen.x /2), (get_screen.y /2) + 68)
local function indicators_visuals()

    local color_inactive2 = Color.new(0 / 255, 0 / 255 ,0 / 255, 150 / 255)
    local get_screen = g_EngineClient:GetScreenSize()
    local pos_start = Vector2.new(1010,get_screen.y -  558)
    local text_size = 35
    local pos_add = Vector2.new(0, text_size)
    local cur_pos = 0
    local pos_start1 = Vector2.new(900,get_screen.y -  558)
    local cur_pos1 = 0
    if (c_menu_arrows_type:GetInt() == 2 and c_menu_arrows:GetBool()) then 

    g_Render:PolyFilled(color_inactive2, LPxx, LPyy, LPzz)
    g_Render:PolyFilled(color_inactive2, RPxx, RPyy, RPzz)
    g_Render:PolyFilled(color_inactive2, BPxx, BPyy, BPzz)

    if (menu_invert_side:GetBool()) then
        g_Render:PolyFilled(c_menu_arrow_color:GetColor(), FPRxx, FPRyy, FPRzz)
    end
    if (not menu_invert_side:GetBool()) then
        g_Render:PolyFilled(c_menu_arrow_color:GetColor(), FPLxx, FPLyy, FPLzz)
    end
    if menu_antiaim_manual:GetInt()==1 then
         g_Render:PolyFilled(c_menu_arrow_color:GetColor(), BPx, BPy, BPz) -- backwards
    elseif  menu_antiaim_manual:GetInt()==2 then
        g_Render:PolyFilled(c_menu_arrow_color:GetColor(), RPx, RPy, RPz) -- right

    elseif  menu_antiaim_manual:GetInt()==3 then
        g_Render:PolyFilled(c_menu_arrow_color:GetColor(), LPx, LPy, LPz) -- left

    end
end
if (c_menu_arrows_type:GetInt() == 3 and c_menu_arrows:GetBool()) then 

g_Render:CirclePart(Vector2.new(960.0, 541), 20.0, 58, Color.new(0, 0, 0, 100 / 255), math.rad(0), math.rad(360), 5.0)

if (menu_invert_side:GetBool()) then
    g_Render:CirclePart(Vector2.new(960.0, 541), 20.0, 58, c_menu_arrow_color:GetColor(), math.rad(810.3), math.rad(630.3), 5.0)
end
if (not menu_invert_side:GetBool()) then
    g_Render:CirclePart(Vector2.new(960.0, 541), 20.0, 58, c_menu_arrow_color:GetColor(), math.rad(90), math.rad(270), 5.0)
end
end

  local function GetColorFromBoolArrow(val)
     return val and c_menu_arrow_color:GetColor() or c_menu_arrow_color:GetColor()
  end
 
  local function arrow(str, val)
    g_Render:Text(str, cur_pos,  GetColorFromBoolArrow(val),  text_size, font1)
    cur_pos = cur_pos - pos_add
  end
  local function arrow2(str, val)
    g_Render:Text(str, cur_pos1,  GetColorFromBoolArrow(val),  text_size, font1)
    cur_pos1 = cur_pos1 - pos_add
  end

  cur_pos = pos_start
  cur_pos1 = pos_start1

  if (c_menu_arrows_type:GetInt() == 0) then
  if c_menu_arrows:GetBool() and menu_invert_side:GetBool() then
      arrow(")", c_menu_arrows:GetBool() )
  end
  if c_menu_arrows:GetBool() and not menu_invert_side:GetBool() then
      arrow2("(", c_menu_arrows:GetBool() )
  end
end

if (c_menu_arrows_type:GetInt() == 1) then
    if c_menu_arrows:GetBool() and menu_invert_side:GetBool() then
        arrow(">", c_menu_arrows:GetBool() )
    end
    if c_menu_arrows:GetBool() and not menu_invert_side:GetBool() then
        arrow2("<", c_menu_arrows:GetBool() )
    end
  end
 
end

   

--VISUALS

--MISC


local function kill_say_function(event)

local words_kill = c_menu_kill_say_words:GetString()
local words_hurt = c_menu_hurt_say_words:GetString()

    if event:GetName() == "player_death" then

        local victim = g_EngineClient:GetPlayerForUserId(event:GetInt("userid"))
        local attacker = g_EngineClient:GetPlayerForUserId( event:GetInt("attacker"))

        if victim ~= attacker and attacker == g_EngineClient:GetLocalPlayer() and c_menu_kill_say:GetBool() then
            g_EngineClient:ExecuteClientCmd('say ' .. words_kill)
        end

    else if event:GetName() == "player_hurt" then

        local victim = g_EngineClient:GetPlayerForUserId(event:GetInt("userid"))
        local attacker = g_EngineClient:GetPlayerForUserId( event:GetInt("attacker"))

        if victim ~= attacker and attacker == g_EngineClient:GetLocalPlayer() and c_menu_hurt_say:GetBool() then
            g_EngineClient:ExecuteClientCmd('say ' .. words_hurt)
        end
    end
end
end



--MISC

--ANTIAIM
local function vec_distance(vec_one, vec_two)

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

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

end

local function get_closest_enemy()
    local best_dist = c_menu_anti_brute_fov_slider:GetFloat()
    local best_enemy = nil
    local local_player = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
    local local_origin = local_player:GetProp("DT_BaseEntity", "m_vecOrigin")
    local local_screen_orig = g_Render:ScreenPosition(local_origin)
    local screen = g_EngineClient:GetScreenSize()

    for idx = 1, g_GlobalVars.maxClients + 1 do
        local ent = g_EntityList:GetClientEntity(idx)
        if ent and ent:IsPlayer() then
            local player = ent:GetPlayer()
            local health = player:GetProp("DT_BasePlayer", "m_iHealth")

            if not player:IsTeamMate() and health > 0 and not player:IsDormant() then
                local origin = ent:GetProp("DT_BaseEntity", "m_vecOrigin")
                local screen_orig = g_Render:ScreenPosition(origin)
                local temp_dist = vec_distance(Vector2.new(screen.x / 2, screen.y / 2), screen_orig)

                if(temp_dist < best_dist) then
                    best_dist = temp_dist
                    best_enemy = ent
                end
            end
        end
    end

    return best_enemy
end

local function AA_Anti_Brute_Force(e)

      if e:GetName() == "weapon_fire" and c_menu_anti_brute:GetBool() then --Weapon Fire event later we run FOV check so we can make sure the bullet is on our direction!
        local user_id = e:GetInt("userid", -1)
        local user = g_EntityList:GetClientEntity(g_EngineClient:GetPlayerForUserId(user_id)) --Get Enemy Entity
        local local_player = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer()) --Get Local Entity
        local player = local_player:GetPlayer()
        local health = player:GetProp("DT_BasePlayer", "m_iHealth")
      

        if(health > 0) then -- if our local player is alive we run the AntiBrute Logic!
         
            local closest_enemy = get_closest_enemy() --Get Closest enemy based on distance
            if(closest_enemy ~= nil and user:EntIndex() == closest_enemy:EntIndex()) then
              miss_counter = miss_counter + 1 --Basic so we calculate missed shots of enemy also some checks so if we get hit don't run the code!
            
                 if (miss_counter % 3 == 0) then --Logic 1
                 
                    menu_left_limit:SetInt(c_menu_anti_brute_1stshot:GetInt())
                    menu_invert_side:SetBool(true)   
                    left_side = true                  
                    if (c_menu_anti_brute_debug_mode:GetBool()) then
                        print("[ANTI-BRUTE] Angle overrided to (" .. c_menu_anti_brute_1stshot:GetInt() .. ") [INFO: PASST 3RD SIDE | NEXT ANGLE = (" .. c_menu_anti_brute_2ndshot:GetInt() ..") INVERTER:TRUE]" )
                    end
                else if (miss_counter % 3 == 1) then --Logic 2
                    menu_right_limit:SetInt(c_menu_anti_brute_2ndshot:GetInt())
                    menu_invert_side:SetBool(false)
                    right_side = true
                    if (c_menu_anti_brute_debug_mode:GetBool()) then
                        print("[ANTI-BRUTE] Angle overrided to (" .. c_menu_anti_brute_2ndshot:GetInt() .. ") [INFO: PASST 1ST SIDE | NEXT ANGLE = (" .. c_menu_anti_brute_3rdshot:GetInt() ..") INVERTER:FALSE]" )
                    end

                else if (miss_counter % 3 == 2) then --Logic 3
                    menu_right_limit:SetInt(c_menu_anti_brute_3rdshot:GetInt())
                    menu_left_limit:SetInt(c_menu_anti_brute_3rdshot:GetInt())
        
                    ideal_yaw = true
                    if (c_menu_anti_brute_debug_mode:GetBool()) then
                        print("[ANTI-BRUTE] Angle overrided to (" .. c_menu_anti_brute_3rdshot:GetInt() .. ") [INFO: PASST 2ND SIDE | NEXT ANGLE = (" .. c_menu_anti_brute_1stshot:GetInt() ..") INVERTER:TRUE]" )
                    end
                end
                end
                end
            end
        end
    end
end
--ANTIAIM

--IND

local function text_indicators()

    local clr_green = Color.new(146.1, 255.1, 36.1, 0.9)
    local clr_orange = Color.new(255.1, 183.1, 0.1, 0.9)
    local clr_red = Color.new(255, 0, 0)
    local clr_blue = Color.new(36.1, 164.1, 255.1, 255.9)
    local screen = g_EngineClient:GetScreenSize()
    local pos_start = Vector2.new(c_menu_x:GetFloat(),screen.y -  c_menu_y:GetFloat())
    local text_size = 13
    local pos_add = Vector2.new(0, text_size)
    local cur_pos = Vector2.new(0, 0) -- current frame
   
    -------------------------------------------------------------FAKEDUCK
    local function GetColorFromBool(val)
        return val and clr_green or clr_red
    end
   
    local function RenderIndicator(str, val)
        g_Render:Text(str, cur_pos,  GetColorFromBool(val),  text_size, true)
        cur_pos = cur_pos - pos_add
    end
   
    -------------------------------------------------------------DOUBLETAP
    local function dtchargeind(str, r,g,b)
        g_Render:Text(str, cur_pos, Color.new(r,g,b),text_size, true)
        cur_pos = cur_pos - pos_add
    end
    -------------------------------------------------------------------------------

     local ideal_ind_clr = Color.new(230 / 255, 184 / 255, 0 / 255, 0.9)

     local function ideal_indclr(val)
        return val and ideal_ind_clr or ideal_ind_clr
     end

     local function ideal_ind(str, val)
        g_Render:Text(str, cur_pos,  ideal_indclr(val),  text_size, true)
        cur_pos = cur_pos - pos_add
    end

    local function GetColorFromBool1(val)
        return val and clr_red or clr_red
    end
   
    local function RenderIndicator1(str, val)
        g_Render:Text(str, cur_pos,  GetColorFromBool1(val),  text_size, true)
        cur_pos = cur_pos - pos_add
    end
  -------------------------------------------------------------
local prefer_color = Color.new(208 / 255, 187 / 255, 252 / 255, 0.9)
local function prefersafebool(val)
    return val and prefer_color or prefer_color
end

local function prefersafe(str, val)
    g_Render:Text(str, cur_pos,  prefersafebool(val),  text_size)
    cur_pos = cur_pos - pos_add
end
-------------------------------------------------------------------------------
--------------------------------------------------------------------------------
    cur_pos = pos_start
   
    if c_menu_text_indicators:GetBool() then
      

        if exploits.GetCharge() ~= 1  then
            dt_charging = false
           dtchargeind("DT", 255, 0,0)
        else
            dt_charging = true
           dtchargeind("DT", 146 / 255, 255 / 255, 36 / 255, 0.9)
        end
     
        if menu_fakeduck:GetBool()  then --FD
            RenderIndicator("FD", menu_fakeduck:GetBool() )
        end
        if (ideal_yaw == true) then
            ideal_ind("IDEAL YAW")
        end
       
          prefersafe("PREDICTION")

          if (menu_safe_point:GetInt() > 0) then
            prefersafe("SAFETY")
          end
        if not menu_invert_side:GetBool() then
            RenderIndicator1("LEFT")
        end
        if (menu_invert_side:GetBool()) then
            RenderIndicator1("RIGHT")
        end
    end
end      
   
   
       
   

--IND

local function watermarker()
    g_Render:GradientBoxFilled(Vector2.new(1569.0, 30.0), Vector2.new(1918.0, 2.0), Color.new(0, 0, 0, 2 / 255), Color.new(0, 0, 0, 255 / 255), Color.new(0, 0, 0, 2 / 255), Color.new(0, 0, 0, 255 / 255))
    g_Render:Text("PREDICTION V2", Vector2.new(1820.0, 9.0), Color.new(1.0, 1.0, 1.0, 1.0), 13, false)
    g_Render:Text("Welcome " .. username, Vector2.new(1599.3, 9.0), Color.new(1.0, 1.0, 1.0, 1.0), 14, false)
    g_Render:Text("[DEFAULT BUILD] ", Vector2.new(1705.3, 9.0), Color.new(1.0, 1.0, 1.0, 1.0), 14, false)

end

--CALLBACKS
local function draw()
    local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
    if localplayer then
        localplayer = localplayer:GetPlayer()
    else
        return
    end
    if (g_EngineClient:IsConnected()) then
        if (c_menu_watermarker:GetBool()) then
            watermarker()
        end

    end
    if localplayer:m_iHealth() > 0 then
        aimbot_draw()
        indicators_visuals()
        text_indicators()
        if (c_menu_custom_impacts:GetBool()) then
            draw_impacts()
        end
    end   


end
local function pre_prediction(cmd)

   
    air_stuck(cmd)
    aimbot(cmd)
    instant_recharge()
    fake_lag()


end
local function prediction()
    body_lean()
 
end
local function createmove()
    antiaim_helpers()
    exploits_func()
    leg_fucker()
 

end
local function events(e)
   
    kill_say_function(e)
    AA_Anti_Brute_Force(e)
    impacts_events(e)
 

end

cheat.RegisterCallback("draw", draw)
cheat.RegisterCallback("pre_prediction", pre_prediction)
cheat.RegisterCallback("prediction", prediction)
cheat.RegisterCallback("createmove", createmove)
cheat.RegisterCallback("events", events)

end

if buff == "" then
    local textbox = menu.TextBox("Init", "Username", 64, "", "What username do you want to use?")
    local button = menu.Button("Init", "Confirm")

    --local done

    button:RegisterCallback(function()
        --if done == true then return end
        --done = true
        ffi.C.WriteFile(pfile, ffi.cast("char*", textbox:GetString()), #textbox:GetString(), nil, 0)
        username = textbox:GetString()
        menu.DestroyItem(textbox)
        menu.DestroyItem(button)
        initlua()
    end)
else
    local textbox = menu.TextBox("Init", "Username", 64, "", "What username do you want to use?")
        local button = menu.Button("Init", "Confirm")
        menu.DestroyItem(textbox)
        menu.DestroyItem(button)
    initlua()
end

--CALLBACKS
script still doesnt work
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обновите кому не трудно
 
Назад
Сверху Снизу