Advertisement
Guest User

furkbert

a guest
Jun 3rd, 2015
1,117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 29.09 KB | None | 0 0
  1. /*
  2. cd-fukbot!
  3.  
  4. Credits:
  5.  
  6. Aria - CODES!!!!!!!!!!!
  7.  
  8.  
  9.  
  10. v5
  11. */
  12.  
  13. // Localization - Sp33d
  14.  
  15. // libaries mabe
  16. local debug = debug
  17. local chat = chat
  18. local surface = surface
  19. local cam = cam
  20. local draw = draw
  21. local render = render
  22. local util = util
  23. local table = table
  24. local math = math
  25. local concommand = concommand
  26. local input = input
  27. local team = team
  28. local hook = hook
  29. local ents = ents
  30. local vgui = vgui
  31. local player = player
  32. local net = net
  33. local notification = notification
  34.  
  35. // globals?
  36. local Angle = Angle
  37. local Color = Color
  38. local require = require
  39. local Entity = Entity
  40. local IsValid = IsValid
  41. local GetConVar = GetConVar
  42. local FindMetaTable = FindMetaTable
  43. local tobool = tobool
  44. local LocalPlayer = LocalPlayer
  45. local RunConsoleCommand = RunConsoleCommand
  46. local CreateClientConVar = CreateClientConVar
  47. local GetConVarNumber = GetConVarNumber
  48. local pairs = pairs
  49. local next = next
  50. local Material = Material
  51. local unpack = unpack
  52. local tonumber = tonumber
  53. local tostring = tostring
  54. local type = type
  55. local Vector = Vector
  56. local RunString = RunString
  57. local ScrW = ScrW
  58. local ScrH = ScrH
  59. local MsgC = MsgC
  60.  
  61. // meta tables ????????????
  62. local __eq = __eq
  63. local __tostring = __tostring
  64. local __gc = __mul
  65. local __index = __index
  66. local __concat = __concat
  67. local __newindex = __newindex
  68. local __add = __add
  69. local __sub = __sub
  70. local __div  = __div
  71. local __call = __call
  72. local __pow = __pow
  73. local __unm = __unm
  74. local __lt = __lt
  75. local __le = __le
  76. local __mode = __mode
  77. local __metatable = __metatable
  78.  
  79. require("nyx")
  80. require("cvar3")
  81.  
  82. local _R = debug.getregistry()
  83. local _G = _G
  84.  
  85. // supercheetstuffs
  86. local GetTeam = _R.Player.Team
  87. local InVehicle = _R.Player.InVehicle
  88. local IsAlive = _R.Player.Alive
  89. local EyePos = _R.Entity.EyePos
  90. local ToAngles = _R.Vector.Angle
  91. local IsDormant = _R.Entity.IsDormant
  92. local GetWeapon = _R.Player.GetActiveWeapon
  93. local ply = LocalPlayer()
  94. local CalcViewAngle = Angle()
  95. local CMDNum = 0
  96. local loadtime = 0
  97. local kills = 0
  98. local aim_target = nil
  99. local attacking = false
  100. local attacking2 = false
  101. local tacbypass = false
  102. local thirdperson = false
  103. local oRCC = RunConsoleCommand
  104. local oFB = _R.Entity.FireBullets
  105. local function nopenothing()
  106. end
  107. local oGCM = GAMEMODE.CreateMove and GAMEMODE.CreateMove or nopenothing()
  108. local oGHP = GAMEMODE.HUDPaint and GAMEMODE.HUDPaint or nopenothing()
  109. local oGT = GAMEMODE.Think and GAMEMODE.Think or nopenothing()
  110. local oGCV = GAMEMODE.CalcView and GAMEMODE.CalcView or nopenothing()
  111. local gayang2
  112. local isfakelag = false
  113.  
  114. // 100% useful timer
  115.  
  116. timer.Create("fukbot.timers.load.loadtime", 0.1, 0, function()
  117.     loadtime = loadtime + 0.1
  118. end )
  119.  
  120. // Defining stuff OK
  121.  
  122. local cd = {
  123.     vars = {
  124.         aim_enabled = false,
  125.         aim_aa = false,
  126.         aim_fakelag = false,
  127.         aim_silent = false,
  128.         aim_team = false,
  129.         aim_specs = false,
  130.         aim_specs_only = false,
  131.        
  132.         esp_enabled = false,
  133.         esp_bones = false,
  134.         esp_chams = false,
  135.         thirdperson = false,
  136.     },
  137.    
  138.     TAC_Cmds = {
  139.         "tac_debug_cmds",
  140.         "tac_debug_hooks",
  141.         "tac",
  142.     },
  143.    
  144.     // Credits: NanoHack lua - because i'm lazy
  145.    
  146.     Bones = {
  147.         Head = 'ValveBiped.Bip01_Head1',
  148.         Neck = 'ValveBiped.Bip01_Neck1',
  149.         Spine = 'ValveBiped.Bip01_Spine',
  150.         Spine1 = 'ValveBiped.Bip01_Spine1',
  151.         Spine2 = 'ValveBiped.Bip01_Spine2',
  152.         Spine3 = 'ValveBiped.Bip01_Spine3',
  153.         Spine4 = 'ValveBiped.Bip01_Spine4',
  154.         [ 'R Hand' ] = 'ValveBiped.Bip01_R_Hand',
  155.         [ 'L Hand' ] = 'ValveBiped.Bip01_L_Hand',
  156.         [ 'R Calf' ] = 'ValveBiped.Bip01_R_Calf',
  157.         [ 'R Foot' ] = 'ValveBiped.Bip01_R_Foot',
  158.         [ 'R Toes' ] = 'ValveBiped.Bip01_R_Toe0',
  159.         [ 'L Calf' ] = 'ValveBiped.Bip01_L_Calf',
  160.         [ 'L Foot' ] = 'ValveBiped.Bip01_L_Foot',
  161.         [ 'L Toes' ] = 'ValveBiped.Bip01_L_Toe0',
  162.         [ 'L Thigh' ] = 'ValveBiped.Bip01_L_Thigh',
  163.         [ 'R Thigh' ] = 'ValveBiped.Bip01_R_Thigh',
  164.         [ 'L Forearm' ] = 'ValveBiped.Bip01_L_Forearm',
  165.         [ 'R Forearm' ] = 'ValveBiped.Bip01_R_Forearm',
  166.         [ 'L Upperarm' ] = 'ValveBiped.Bip01_L_UpperArm',
  167.         [ 'R Upperarm' ] = 'ValveBiped.Bip01_R_UpperArm'
  168.     },
  169.    
  170.     Cones = {}
  171. }
  172.  
  173. function _R.Entity.FireBullets(ent, bullet)
  174.     if !cd.Cones[ply:GetActiveWeapon():GetClass()] and bullet.Spread then
  175.         cd.Cones[ply:GetActiveWeapon():GetClass()] = bullet.Spread * -1
  176.     end
  177.    
  178.     return oFB(ent, bullet)
  179. end
  180.  
  181. function cd.CompensateSpread(cmd, gayang)
  182.     local pWep = ply:GetActiveWeapon()
  183.        
  184.     if !IsValid(pWep) then
  185.         return gayang
  186.     end
  187.    
  188.     if cd.Cones[pWep:GetClass()] then
  189.         local pCone = cd.Cones[pWep:GetClass()]
  190.        
  191.         if type(pCone) == "number" then
  192.             gayang2 = Vector(-pCone, -pCone, -pCone)
  193.         elseif type(pCone) == "Vector" then
  194.             gayang2 = pCone
  195.         end
  196.        
  197.         return (_nyx.RemoveSpread(cmd, gayang, gayang2)):Angle()
  198.     end
  199.    
  200.     return gayang
  201. end
  202.  
  203. // ok what does it look like
  204.  
  205. surface.CreateFont("cd.font", {
  206.     font = "Arial",
  207.     size = 15
  208. } )
  209.  
  210. // :^)
  211.  
  212. function cd.Notify(x)
  213.     surface.PlaySound("buttons/button6.wav")
  214.     notification.AddLegacy(x, NOTIFY_GENERIC, 4)
  215.     //chat.AddText(Color(0,0,255,255),"[fukbot] ",Color(240,240,240),x)
  216. end
  217.  
  218. // NOTHING TO SEE HERE!
  219.  
  220. function cd.Nothing()
  221. end
  222.  
  223. // big hooks
  224.  
  225. cd.CheatHooks = {
  226.     ["CreateMove"] = {},
  227.     ["CalcView"] = {},
  228.     ["HUDPaint"] = {},
  229.     ["Think"] = {}
  230. }
  231.  
  232. // bigger unloasiaonononajaodfhsdfvhas HOW 2 SPELL
  233.  
  234. function cd.Unload()
  235.    
  236.     if tacbypass == false then
  237.         local hooked_vfuncname = "CreateMove"
  238.             for i = 1, #cd.CheatHooks[hooked_vfuncname] do local hook_name = cd.CheatHooks[hooked_vfuncname][i] hook.Remove(hooked_vfuncname, hook_name) cd.Notify("Hook Removed: "..hooked_vfuncname.." ('"..hook_name.."')") table.remove(cd.CheatHooks[hooked_vfuncname],i) end
  239.         hooked_vfuncname = "CalcView"
  240.             for i = 1, #cd.CheatHooks[hooked_vfuncname] do local hook_name = cd.CheatHooks[hooked_vfuncname][i] hook.Remove(hooked_vfuncname, hook_name) cd.Notify("Hook Removed: "..hooked_vfuncname.." ('"..hook_name.."')") table.remove(cd.CheatHooks[hooked_vfuncname],i) end
  241.         hooked_vfuncname = "HUDPaint"
  242.             for i = 1, #cd.CheatHooks[hooked_vfuncname] do local hook_name = cd.CheatHooks[hooked_vfuncname][i] hook.Remove(hooked_vfuncname, hook_name) cd.Notify("Hook Removed: "..hooked_vfuncname.." ('"..hook_name.."')") table.remove(cd.CheatHooks[hooked_vfuncname],i) end
  243.         hooked_vfuncname = "Think"
  244.             for i = 1, #cd.CheatHooks[hooked_vfuncname] do local hook_name = cd.CheatHooks[hooked_vfuncname][i] hook.Remove(hooked_vfuncname, hook_name) cd.Notify("Hook Removed: "..hooked_vfuncname.." ('"..hook_name.."')") table.remove(cd.CheatHooks[hooked_vfuncname],i) end
  245.         aim_target = nil
  246.    
  247.         concommand.Remove("cd_menu")
  248.         concommand.Remove("cd_unload")
  249.     elseif tacbypass == true then
  250.         GAMEMODE.CreateMove = cd.Nothing
  251.         GAMEMODE.HUDPaint = cd.Nothing
  252.         GAMEMODE.CalcView = cd.Nothing
  253.     end
  254.    
  255.     cd.Notify("Unloaded!")
  256. end
  257.  
  258. // done explaining ok
  259.  
  260. function cd.Esp()
  261.     thirdperson = cd.vars["thirdperson"] and true or false
  262.    
  263.     if GetConVarString("host_timescale") == "1" then
  264.         draw.DrawText("Sending Packets", "DermaLarge", 700, 850, Color(20, 255, 0, 255), TEXT_ALIGN_LEFT)
  265.     else
  266.         draw.DrawText("Sending Packets", "DermaLarge", 700, 850, Color(255, 20, 0, 255), TEXT_ALIGN_LEFT)
  267.     end
  268.    
  269.     for k,v in next, player.GetAll() do
  270.         local min = (v:GetPos() + Vector(0, 0, 1)):ToScreen()
  271.         local max = (v:GetPos() + Vector(0, 0, 70)):ToScreen()
  272.         local hit = (min.y - max.y)
  273.         local wid = (hit / 2.5)
  274.        
  275.         if (v != ply and v:Alive() and cd.vars["esp_enabled"] and v:Health() > 0) then
  276.             local ESP = (v:EyePos()):ToScreen()
  277.             draw.DrawText(v:Name(), "cd.font", ESP.x -25, ESP.y -56, team.GetColor(v:Team()), TEXT_ALIGN_LEFT, TEXT_ALIGN_LEFT)
  278.             draw.DrawText("Rank: "..v:GetUserGroup(), "cd.font", ESP.x -25, ESP.y -44, Color(255, 255, 255, 255), TEXT_ALIGN_LEFT, TEXT_ALIGN_LEFT)
  279.                
  280.             if(v:GetActiveWeapon():IsValid()) then
  281.                 draw.DrawText("Weapon: " ..v:GetActiveWeapon():GetClass(), "cd.font", ESP.x -25, ESP.y -32, Color(255, 255, 255, 255), TEXT_ALIGN_LEFT, TEXT_ALIGN_LEFT)
  282.             end
  283.                
  284.             surface.SetDrawColor(team.GetColor(v:Team()))  
  285.             surface.DrawOutlinedRect(max.x - (wid / 2) - 1, max.y - 1, wid + 2, hit + 2)
  286.             draw.RoundedBox(0, max.x - (wid/1.5) + 1, max.y + 1, (wid-2)/10, (hit-2)*0.01 * v:Health(), Color(0,200,0,255))
  287.                
  288.             if cd.vars["esp_bones"] then
  289.                 local FirstBone, SecondBone
  290.  
  291.                 FirstBone = v:GetBonePosition( 0 ):ToScreen()
  292.                 SecondBone = v:GetBonePosition( 5 ):ToScreen()
  293.                 surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
  294.  
  295.                 FirstBone = v:GetBonePosition( 5 ):ToScreen()
  296.                 SecondBone = v:GetBonePosition( 9 ):ToScreen()
  297.                 surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
  298.  
  299.                 FirstBone = v:GetBonePosition( 9 ):ToScreen()
  300.                 SecondBone = v:GetBonePosition( 10 ):ToScreen()
  301.                 surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
  302.  
  303.                 FirstBone = v:GetBonePosition( 10 ):ToScreen()
  304.                 SecondBone = v:GetBonePosition( 11 ):ToScreen()
  305.                 surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
  306.  
  307.                 FirstBone = v:GetBonePosition( 5 ):ToScreen()
  308.                 SecondBone = v:GetBonePosition( 14 ):ToScreen()
  309.                 surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
  310.  
  311.                 FirstBone = v:GetBonePosition( 14 ):ToScreen()
  312.                 SecondBone = v:GetBonePosition( 15 ):ToScreen()
  313.                 surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
  314.  
  315.                 FirstBone = v:GetBonePosition( 15 ):ToScreen()
  316.                 SecondBone = v:GetBonePosition( 16 ):ToScreen()
  317.                 surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
  318.  
  319.                 FirstBone = v:GetBonePosition( 0 ):ToScreen()
  320.                 SecondBone = v:GetBonePosition( 22 ):ToScreen()
  321.                 surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
  322.  
  323.                 FirstBone = v:GetBonePosition( 22 ):ToScreen()
  324.                 SecondBone = v:GetBonePosition( 23 ):ToScreen()
  325.                 surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
  326.  
  327.  
  328.                 FirstBone = v:GetBonePosition( 23 ):ToScreen()
  329.                 SecondBone = v:GetBonePosition( 25 ):ToScreen()
  330.                 surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
  331.  
  332.  
  333.                 FirstBone = v:GetBonePosition( 0 ):ToScreen()
  334.                 SecondBone = v:GetBonePosition( 18 ):ToScreen()
  335.                 surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
  336.  
  337.  
  338.                 FirstBone = v:GetBonePosition( 18 ):ToScreen()
  339.                 SecondBone = v:GetBonePosition( 19 ):ToScreen()
  340.                 surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
  341.  
  342.                 FirstBone = v:GetBonePosition( 19 ):ToScreen()
  343.                 SecondBone = v:GetBonePosition( 21 ):ToScreen()
  344.                 surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
  345.             end
  346.                
  347.             if cd.vars["esp_chams"] then
  348.                 cam.Start3D()
  349.                 cam.IgnoreZ(true)
  350.                 render.MaterialOverride(Material("models/debug/debugwhite"))
  351.                 render.SuppressEngineLighting( true )
  352.                
  353.                 local col = Color(0, 110, 255)
  354.                
  355.                 render.SetColorModulation(col.r/255, col.g/255, col.b/255)
  356.                 v:DrawModel()
  357.                 render.SetColorModulation( 1, 1, 1 )
  358.                 render.SuppressEngineLighting( false )
  359.                 render.MaterialOverride(0)
  360.                 cam.IgnoreZ(false)
  361.  
  362.                 cam.End3D()
  363.             end
  364.         end
  365.     end
  366. end
  367.  
  368. function cd.Crosshair()
  369.     local x = ScrW() / 2.0075285
  370.     local y = ScrH() / 2.009
  371.     surface.SetDrawColor(50, 150, 255, 255)
  372.     surface.DrawRect(x, y, 5, 5, 0)
  373. end
  374.  
  375. function cd.NoRecoil()
  376.     local ply = LocalPlayer()
  377.     local weapon = ply:GetActiveWeapon()
  378.    
  379.     if weapon.Primary then
  380.    
  381.         if weapon.Primary.Recoil then
  382.             weapon.Primary.Recoil = 0
  383.         end
  384.        
  385.         if weapon.Primary.KickUp then
  386.             weapon.Primary.KickUp = 0
  387.             weapon.Primary.KickDown = 0
  388.             weapon.Primary.KickHorizontal = 0
  389.         end
  390.     end
  391. end
  392. function cd.IsVisible(vPosition, aim_target)
  393.     local __trace = {}
  394.     local ply = LocalPlayer()
  395.     local gsp = ply:GetShootPos()
  396.        
  397.     local _trace = {
  398.         [ "start" ] = gsp,
  399.         [ "endpos" ] = vPosition,
  400.         [ "filter" ] = ply,
  401.         [ "mask" ] = MASK_SHOT
  402.     }
  403.    
  404.     local trace = util.TraceLine( _trace, __trace )
  405.    
  406.     return (trace.Fraction == 1 or trace.Entity == aim_target)
  407. end
  408.  
  409. function cd.Attack(cmd)
  410.     local ply = LocalPlayer()
  411.     local weapon = ply:GetActiveWeapon()
  412.    
  413.     if IsValid(wep) and weapon.Primary and (weapon.Primary.Automatic == true) then
  414.         cmd:SetButtons(bit.bor(cmd:GetButtons(), IN_ATTACK))
  415.         attacking = true
  416.     else
  417.         if attacking then
  418.             cmd:RemoveKey(IN_ATTACK)
  419.             attacking = false
  420.         else
  421.             cmd:SetButtons(bit.bor(cmd:GetButtons(), IN_ATTACK))
  422.             attacking = true
  423.         end
  424.     end
  425.    
  426.     if IsValid(wep) and weapon.Primary and (weapon.Primary.Automatic == false) then
  427.         if attacking2 then
  428.             cmd:RemoveKey(IN_ATTACK)
  429.             attacking2 = false
  430.         else
  431.             cmd:SetButtons(bit.bor(cmd:GetButtons(), IN_ATTACK))
  432.             attacking2 = true
  433.         end
  434.     end
  435. end
  436.  
  437. function cd.GetAimArea(pEnt)
  438.     if pEnt:LookupAttachment("eyes") != 0 and cd.IsVisible(pEnt:GetAttachment(pEnt:LookupAttachment("eyes")).Pos, pEnt) then
  439.         return pEnt:GetAttachment(pEnt:LookupAttachment("eyes")).Pos
  440.     else       
  441.         for k,v in next, cd.Bones do
  442.             if pEnt:LookupBone(v) then
  443.                 if cd.IsVisible(pEnt:GetBonePosition(pEnt:LookupBone(v)), pEnt) then
  444.                     return pEnt:GetBonePosition(pEnt:LookupBone(v))
  445.                 end
  446.             end
  447.         end
  448.     end
  449.    
  450.     return pEnt:GetPos() + pEnt:OBBCenter()
  451. end
  452.  
  453. function cd.ValidTarget(pEnt)
  454.     if (!pEnt) then return false end
  455.     if (IsDormant(pEnt)) then return false end
  456.    
  457.     if pEnt:IsPlayer() then
  458.         if (pEnt == ply) then return false end
  459.         if (!IsAlive(pEnt)) then return false end
  460.         if (InVehicle(pEnt)) then return false end
  461.         if (GetTeam(pEnt) == TEAM_SPECTATOR) and !cd.vars["aim_specs"] and !cd.vars["aim_specs_only"] then return false end
  462.         if (GetTeam(pEnt) != TEAM_SPECTATOR) and cd.vars["aim_specs_only"] then return false end
  463.         if !cd.vars["aim_team"] then
  464.             if pEnt:Team() == ply:Team() then return false end
  465.         end
  466.         if !cd.IsVisible(cd.GetAimArea(pEnt), pEnt) then return false end
  467.     end
  468.    
  469.     return true
  470. end
  471.  
  472. local isaaing
  473.  
  474. function cd.AimThread()
  475.     aim_target = nil
  476.     for k,v in next, player.GetAll() do
  477.         local pEnt = v
  478.         if (!cd.ValidTarget(pEnt)) then continue end
  479.         aim_target = pEnt
  480.     end
  481. end
  482.  
  483. function cd.GetAimPos(pEnt, cmd)
  484.     local ply = LocalPlayer()
  485.     local AimArea = cd.GetAimArea(pEnt)
  486.    
  487.     if cmd:CommandNumber() > 0 then
  488.         AimArea = AimArea - ply:GetVelocity() * engine.TickInterval()
  489.     end
  490.    
  491.     return AimArea
  492. end
  493.  
  494. function cd.SilentAim(cmd)
  495.     if cd.vars["aim_silent"] or cd.vars["aim_aa"] then
  496.         CalcViewAngle = CalcViewAngle + Angle(cmd:GetMouseY() * 0.023, cmd:GetMouseX() * -0.023, 0)
  497.         CalcViewAngle.p = math.Clamp(CalcViewAngle.p, -89, 89)
  498.         CalcViewAngle.y = math.NormalizeAngle(CalcViewAngle.y)
  499.     else
  500.         CalcViewAngle = cmd:GetViewAngles()
  501.     end
  502. end
  503.  
  504. function cd.MovementFix(cmd, aa)
  505.     local GetFix = Vector(cmd:GetForwardMove(), cmd:GetSideMove(), 0)
  506.     GetFix = (GetFix:Angle() + cmd:GetViewAngles() -Angle(0, CalcViewAngle.y, 0)):Forward() * GetFix:Length()
  507.     if aa then
  508.         cmd:SetForwardMove(GetFix.x)
  509.         cmd:SetSideMove(GetFix.y * -1)
  510.         return
  511.     end
  512.     cmd:SetForwardMove(GetFix.x)
  513.     cmd:SetSideMove(GetFix.y)
  514. end
  515.  
  516. local isaimbotting = false
  517. local aa_ang = Angle(0, 0, 0)
  518. local DirtySilent = false
  519. local bBulletTime = false
  520.  
  521. function cd.Aimb0t(cmd)
  522.     cd.SilentAim(cmd)
  523.    
  524.     if aim_target != nil and cd.vars["aim_enabled"] and cmd:CommandNumber() != 0 then
  525.         isaimbotting = true
  526.         local tPos = cd.GetAimPos(aim_target, cmd)
  527.         local aPos = ToAngles(tPos - EyePos(ply))
  528.        
  529.         aPos.p = math.NormalizeAngle(aPos.p)
  530.         aPos.y = math.NormalizeAngle(aPos.y)
  531.        
  532.         aPos = cd.CompensateSpread(cmd, aPos)
  533.        
  534.         cmd:SetViewAngles(aPos)
  535.         cd.Attack(cmd)
  536.         cd.MovementFix(cmd)
  537.        
  538.         return
  539.     else       
  540.         isaimbotting = false
  541.     end
  542.    
  543.     if cd.vars["aim_silent"] or cd.vars["aim_aa"] then
  544.         cmd:SetViewAngles(CalcViewAngle)
  545.     end
  546. end
  547.  
  548. local randomlol
  549. local queue = 0
  550. local flnum = 15
  551.  
  552. function cd.FakeLag(cmd)
  553.     if cd.vars["aim_fakelag"] then
  554.         if cmd:CommandNumber() == 0 then return end
  555.        
  556.         if !isaimbotting then
  557.             flnum = 11
  558.         else
  559.             flnum = 3
  560.         end
  561.        
  562.         queue = queue + 1
  563.        
  564.         if queue > 0 or queue == 0 then
  565.             if queue < flnum then
  566.                 GetConVar("sv_cheats"):SetValue(1)
  567.                 GetConVar("host_timescale"):SetValue(0)
  568.                 GetConVar("sv_cheats"):SetValue(0)
  569.             else
  570.                 GetConVar("sv_cheats"):SetValue(1)
  571.                 GetConVar("host_timescale"):SetValue(1)
  572.                 GetConVar("sv_cheats"):SetValue(0)
  573.             end
  574.         else
  575.             GetConVar("sv_cheats"):SetValue(1)
  576.             GetConVar("host_timescale"):SetValue(1)
  577.             GetConVar("sv_cheats"):SetValue(0)
  578.         end
  579.    
  580.         if queue == 15 or queue > 15 then
  581.             queue = 0
  582.         end
  583.     else
  584.         queue = 0
  585.        
  586.         if !cd.vars["aim_aa"] then
  587.             GetConVar("sv_cheats"):SetValue(1)
  588.             GetConVar("host_timescale"):SetValue(1)
  589.             GetConVar("sv_cheats"):SetValue(0)
  590.         end
  591.     end
  592. end
  593.  
  594. local ShouldChange = false
  595.  
  596. function cd.AntiAim(cmd)
  597.     if cd.vars["aim_aa"] and !input.IsMouseDown(MOUSE_LEFT) and !isaimbotting and !cd.vars["aim_fakelag"] then
  598.         randomlol = math.random(1, 2)
  599.         isaaing = true
  600.        
  601.         if ShouldChange == true then
  602.             GetConVar("sv_cheats"):SetValue(1)
  603.             GetConVar("host_timescale"):SetValue(1)
  604.             GetConVar("sv_cheats"):SetValue(0)
  605.             cmd:SetViewAngles(Angle(-180, 130, 0))
  606.             cd.MovementFix(cmd, true)
  607.         else
  608.             GetConVar("sv_cheats"):SetValue(1)
  609.             GetConVar("host_timescale"):SetValue(0)
  610.             GetConVar("sv_cheats"):SetValue(0)
  611.             cmd:SetViewAngles(Angle(180, -130, 0))
  612.             cd.MovementFix(cmd, true)
  613.         end
  614.        
  615.         ShouldChange = !ShouldChange
  616.     elseif cd.vars["aim_aa"] and !input.IsMouseDown(MOUSE_LEFT) and !isaimbotting and cd.vars["aim_fakelag"] then
  617.         if GetConVarString("host_timescale") == "0" then
  618.             cmd:SetViewAngles(Angle(-181, 373, 0))
  619.             cd.MovementFix(cmd, true)
  620.         else
  621.             cmd:SetViewAngles(Angle(-181, -373, 0))
  622.             cd.MovementFix(cmd, true)
  623.         end
  624.     else
  625.         if !cd.vars["aim_fakelag"] then
  626.             GetConVar("sv_cheats"):SetValue(1)
  627.             GetConVar("host_timescale"):SetValue(1)
  628.             GetConVar("sv_cheats"):SetValue(0)
  629.         end
  630.        
  631.         isaaing = false
  632.     end
  633. end
  634.  
  635. function cd.BunnyHop(cmd)
  636.     local ply = LocalPlayer()
  637.    
  638.     if ply:IsOnGround() and cmd:KeyDown(IN_JUMP) then
  639.         cmd:SetButtons(bit.bor(cmd:GetButtons(), IN_JUMP))
  640.     else
  641.         cmd:RemoveKey(IN_JUMP)
  642.     end
  643. end
  644.  
  645. function cd.Menu()
  646.     cd.MenuOpen = true
  647.  
  648.     local Main = vgui.Create("DFrame")
  649.     Main:SetSize(400, 230)
  650.     Main:SetTitle("")
  651.     Main:Center()
  652.     Main:MakePopup()
  653.     Main:ShowCloseButton(true)
  654.     Main.Paint = function( self )
  655.         draw.RoundedBox(0, 0, 0, self:GetWide(), self:GetTall(), Color( 50, 50, 50 ))
  656.         draw.RoundedBox(0, 0, 0, self:GetWide(), 25, Color(50, 50, 200))
  657.         draw.SimpleText("fukbot", "BudgetLabel", self:GetWide() / 2, 12.5, Color(255,255,255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)
  658.        
  659.         surface.SetDrawColor(Color(75,75,75))
  660.         surface.DrawLine(115, 25, 115, self:GetTall())
  661.         surface.DrawLine(115, self:GetTall() - 55, self:GetWide(), self:GetTall() - 55)
  662.         draw.SimpleText("Menu made by Alessa", "BudgetLabel", 120, self:GetTall() - 50, Color(255,255,255))
  663.         draw.SimpleText("Hack made by aria", "BudgetLabel", 120, self:GetTall() - 30, Color(255,255,255))
  664.     end
  665.    
  666.         local AimEnabled = vgui.Create("DCheckBoxLabel", Main)
  667.     AimEnabled:SetPos(122, 33)
  668.     AimEnabled:SetText("Aimbot Enabled")
  669.     AimEnabled:SetVisible(false)
  670.     AimEnabled:SetValue(cd.vars["aim_enabled"])
  671.     AimEnabled:SizeToContents()
  672.     AimEnabled.OnChange = function(self)
  673.         cd.vars["aim_enabled"] = tobool(self:GetChecked())
  674.     end
  675.    
  676.     local AimBoneScan = vgui.Create("DCheckBoxLabel", Main)
  677.     AimBoneScan:SetPos(122, 52 /*52*/)
  678.     AimBoneScan:SetText("Silent Aim")
  679.     AimBoneScan:SetVisible(false)
  680.     AimBoneScan:SetValue(cd.vars["aim_silent"])
  681.     AimBoneScan:SizeToContents()
  682.     AimBoneScan.OnChange = function(self)
  683.         cd.vars["aim_silent"] = tobool(self:GetChecked())
  684.     end
  685.    
  686.     local AimAA = vgui.Create("DCheckBoxLabel", Main)
  687.     AimAA:SetPos(122, 71/*52*/)
  688.     AimAA:SetText("Anti-Aim")
  689.     AimAA:SetVisible(false)
  690.     AimAA:SetValue(cd.vars["aim_aa"])
  691.     AimAA:SizeToContents()
  692.     AimAA.OnChange = function(self)
  693.         cd.vars["aim_aa"] = tobool(self:GetChecked())
  694.     end
  695.    
  696.     local AimAAJ = vgui.Create("DCheckBoxLabel", Main)
  697.     AimAAJ:SetPos(122, 90/*52*/)
  698.     AimAAJ:SetText("FakeLag")
  699.     AimAAJ:SetVisible(false)
  700.     AimAAJ:SetValue(cd.vars["aim_fakelag"])
  701.     AimAAJ:SizeToContents()
  702.     AimAAJ.OnChange = function(self)
  703.         cd.vars["aim_fakelag"] = tobool(self:GetChecked())
  704.     end
  705.    
  706.     local AimTeam = vgui.Create("DCheckBoxLabel", Main)
  707.     AimTeam:SetPos(122, 109/*52*/)
  708.     AimTeam:SetText("Aim at Team")
  709.     AimTeam:SetVisible(false)
  710.     AimTeam:SetValue(cd.vars["aim_team"])
  711.     AimTeam:SizeToContents()
  712.     AimTeam.OnChange = function(self)
  713.         cd.vars["aim_team"] = tobool(self:GetChecked())
  714.     end
  715.    
  716.     local AimIgnoreSpec = vgui.Create("DCheckBoxLabel", Main)
  717.     AimIgnoreSpec:SetPos(122, 128/*71*/)
  718.     AimIgnoreSpec:SetText("Aim at Spectators"/*"Ignore Spectators"*/)
  719.     AimIgnoreSpec:SetVisible(false)
  720.     AimIgnoreSpec:SetValue(cd.vars["aim_specs"])
  721.     AimIgnoreSpec:SizeToContents()
  722.     AimIgnoreSpec.OnChange = function(self)
  723.         cd.vars["aim_specs"] = tobool(self:GetChecked())
  724.     end
  725.      
  726.      local AimOnlySpec = vgui.Create("DCheckBoxLabel", Main)
  727.     AimOnlySpec:SetPos(122, 147/*90*/)
  728.     AimOnlySpec:SetText("Aim Only at Spectators")
  729.     AimOnlySpec:SetVisible(false)
  730.     AimOnlySpec:SetValue(cd.vars["aim_specs_only"])
  731.     AimOnlySpec:SizeToContents()
  732.     AimOnlySpec.OnChange = function(self)
  733.         cd.vars["aim_specs_only"] = tobool(self:GetChecked())
  734.     end
  735.    
  736.     local EspEnabled = vgui.Create("DCheckBoxLabel", Main)
  737.     EspEnabled:SetPos(122, 33)
  738.     EspEnabled:SetText("ESP Enabled")
  739.     EspEnabled:SetVisible(false)
  740.     EspEnabled:SetValue(cd.vars["esp_enabled"])
  741.     EspEnabled:SizeToContents()
  742.     EspEnabled.OnChange = function(self)
  743.         cd.vars["esp_enabled"] = tobool(self:GetChecked())
  744.     end
  745.    
  746.     local EspBone = vgui.Create("DCheckBoxLabel", Main)
  747.     EspBone:SetPos(122, 52)
  748.     EspBone:SetText("Bone ESP")
  749.     EspBone:SetVisible(false)
  750.     EspBone:SetValue(cd.vars["esp_bones"])
  751.     EspBone:SizeToContents()
  752.     EspBone.OnChange = function(self)
  753.         cd.vars["esp_bones"] = tobool(self:GetChecked())
  754.     end
  755.    
  756.     local EspChams = vgui.Create("DCheckBoxLabel", Main)
  757.     EspChams:SetPos(122, 71)
  758.     EspChams:SetText("ESP Chams")
  759.     EspChams:SetVisible(false)
  760.     EspChams:SetValue(cd.vars["esp_chams"])
  761.     EspChams:SizeToContents()
  762.     EspChams.OnChange = function(self)
  763.         cd.vars["esp_chams"] = tobool(self:GetChecked())
  764.     end
  765.    
  766.     local ThirdPerson = vgui.Create("DCheckBoxLabel", Main)
  767.     ThirdPerson:SetPos(122, 71 + 19)
  768.     ThirdPerson:SetText("Third Person")
  769.     ThirdPerson:SetVisible(false)
  770.     ThirdPerson:SetValue(cd.vars["thirdperson"])
  771.     ThirdPerson:SizeToContents()
  772.     ThirdPerson.OnChange = function(self)
  773.         cd.vars["thirdperson"] = tobool(self:GetChecked())
  774.     end
  775.    
  776.     local AimButton = vgui.Create("DButton", Main)
  777.     AimButton:SetSize(100, 80)
  778.     AimButton:SetPos(7, 40)
  779.     AimButton:SetText("")
  780.     AimButton.Paint = function(self)
  781.         draw.RoundedBox(0, 0, 0, self:GetWide(), self:GetTall(), Color(100, 100, 255))
  782.         draw.SimpleText("Aimbot", "BudgetLabel", self:GetWide() / 2, self:GetTall() / 2, Color(255, 255, 255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)
  783.     end
  784.    
  785.     AimButton.DoClick = function(self)
  786.         AimEnabled:SetVisible(true)
  787.         AimBoneScan:SetVisible(true)
  788.         AimAA:SetVisible(true)
  789.         AimAAJ:SetVisible(true)
  790.         AimTeam:SetVisible(true)
  791.         AimIgnoreSpec:SetVisible(true)
  792.         AimOnlySpec:SetVisible(true)
  793.        
  794.         EspEnabled:SetVisible(false)
  795.         EspBone:SetVisible(false)
  796.         EspChams:SetVisible(false)
  797.         ThirdPerson:SetVisible(false)
  798.     end
  799.    
  800.     local EspButton = vgui.Create("DButton", Main)
  801.     EspButton:SetSize(100, 80)
  802.     EspButton:SetPos(7, 136)
  803.     EspButton:SetText("")
  804.     EspButton.Paint = function(self)
  805.         draw.RoundedBox(0, 0, 0, self:GetWide(), self:GetTall(), Color(100, 100, 255))
  806.         draw.SimpleText("Visuals", "BudgetLabel", self:GetWide() / 2, self:GetTall() / 2, Color(255, 255, 255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)
  807.     end
  808.     EspButton.DoClick = function(self)
  809.         AimEnabled:SetVisible(false)
  810.         AimBoneScan:SetVisible(false)
  811.         AimAA:SetVisible(false)
  812.         AimAAJ:SetVisible(false)
  813.         AimTeam:SetVisible(false)
  814.         AimIgnoreSpec:SetVisible(false)
  815.         AimOnlySpec:SetVisible(false)
  816.        
  817.         EspEnabled:SetVisible(true)
  818.         EspBone:SetVisible(true)
  819.         EspChams:SetVisible(true)
  820.         ThirdPerson:SetVisible(true)
  821.     end
  822. end
  823.  
  824. function cd.CreateMove(cmd)
  825.     cd.AimThread()
  826.     cd.Aimb0t(cmd)
  827.     cd.AntiAim(cmd)
  828.     cd.FakeLag(cmd)
  829.     cd.BunnyHop(cmd)
  830.    
  831.     if cmd:CommandNumber() == 0 and !cd.vars["thirdperson"] then
  832.         cmd:SetViewAngles(CalcViewAngle)
  833.     end
  834. end
  835.  
  836. function cd.HUDPaint()
  837.     cd.Esp()
  838.     //cd.Crosshair()
  839. end
  840.  
  841. function cd.Think()
  842.     local ply = LocalPlayer()
  843.    
  844.     if ply:IsTyping() then
  845.         GetConVar("sv_cheats"):SetValue(1)
  846.         GetConVar("host_timescale"):SetValue(1)
  847.         GetConVar("sv_cheats"):SetValue(0)
  848.     end
  849. end
  850.  
  851. function cd.DrawLocalPlayer()
  852.     return thirdperson
  853. end
  854.  
  855. cd.randsay = {
  856.     "HEADSMASHED",
  857.     "OWNED",
  858.     "REKT",
  859.     "PWNED",
  860.     "SHREKT"
  861. }
  862.  
  863. function cd.saykilledply(data)
  864.     local ply = LocalPlayer()
  865.    
  866.     if data.health == 0 or data.health < 0 then
  867.         if data.attacker == ply:UserID() then
  868.             for k,v in next, player.GetAll() do
  869.                 if data.userid == v:UserID() then
  870.                     kills = kills + 1
  871.                     if GetConVarNumber("fukbot_say_killed") != 1 then return end
  872.                     if kills == 1 then
  873.                         oRCC("say", "[fukbot] " .. v:Name() .. " just got OWNED! [1]")
  874.                     elseif kills == 2 then
  875.                         oRCC("say", "[fukbot] DOUBLE KILL! " .. v:Name() .. " just got OWNED! [2]")
  876.                     elseif kills == 3 then
  877.                         oRCC("say", "[fukbot] TRIPLE KILL!! " .. v:Name() .. " just got OWNED! [3]")
  878.                     elseif kills == 4 then
  879.                         oRCC("say", "[fukbot] FUCKING QUAD FEED! " .. v:Name() .. " just got HEADSMASHED! [4]")
  880.                     elseif kills >= 5 and kills < 10 then
  881.                         oRCC("say", "[fukbot] KILLING SPREE! " .. v:Name() .. " just got HEADSMASHED! [" .. tostring(kills) .. "]")
  882.                     elseif kills >= 10 and kills < 15 then
  883.                         oRCC("say", "[fukbot] RAMPAGE! " .. v:Name() .. " just got OWNED! [" .. tostring(kills) .. "]")
  884.                     elseif kills >= 15 and kills < 20 then
  885.                         oRCC("say", "[fukbot] DOMINATING! " .. v:Name() .. " just got HEADSMASHED! [" .. tostring(kills) .. "]")
  886.                     elseif kills >= 20 and kills < 25 then
  887.                         oRCC("say", "[fukbot] UNSTOPPABLE! " .. v:Name() .. " JUST GOT OWNED! [" .. tostring(kills) .. "]")
  888.                     elseif kills >= 25 and kills < 30 then
  889.                         oRCC("say", "[fukbot] WICKED SICK! " .. v:Name() .. " JUST GOT HEADSMASHED! [" .. tostring(kills) .. "]")
  890.                     elseif kills >= 30 and kills < 35 then
  891.                         oRCC("say", "[fukbot] GODLIKE! " .. v:Name() .. " JUST GOT HEADSMASHED [" .. tostring(kills) .. "]")
  892.                     elseif kills >= 35 then
  893.                         oRCC("say", "[fukbot] BEYOND GODLIKE! " .. v:Name() .. " JUST GOT " .. table.Random(cd.randsay) .. " [" .. tostring(kills) .. "]")
  894.                     end
  895.                 end
  896.             end
  897.         elseif data.userid == ply:UserID() then
  898.             kills = 0
  899.             return
  900.         end
  901.     end
  902. end
  903.  
  904. function cd.AddHook(ht, hn, hf)
  905.     local nhn = util.CRC(hn)
  906.     hook.Add(ht, nhn, hf)
  907. end
  908.  
  909. cd.AddHook("player_hurt", "cd.playerhurt", cd.saykilledply)
  910. gameevent.Listen("player_hurt")
  911.  
  912. function cd.Check()
  913.     if ulx then
  914.         print("[fukbot] ULX is installed! (THREAT LEVEL: NONE)")
  915.        
  916.         if ulx.screengrab then
  917.             print("[fukbot] ULX Screengrab found! (THREAT LEVEL: MEDIUM)")
  918.         else
  919.             print("[fukbot] ULX Screengrab not found!")
  920.         end
  921.     else
  922.         print("[fukbot] ULX not found!")
  923.     end
  924.    
  925.     if QAC or qac then
  926.         print("[fukbot] Quack Anti Cheat found! (THREAT LEVEL: MEDIUM)")
  927.     end
  928.    
  929.     if CAC or cac then
  930.         print("[fukbot] Cake Anti Cheat found! (THREAT LEVEL: VERY HIGH!)")
  931.         print("[fukbot] Leaving...")
  932.         oRCC("disconnect")
  933.     end
  934.    
  935.     if LeyAC or leyac then
  936.         print("[fukbot] LeyAC found! (THREAT LEVEL: VERY HIGH!)")
  937.         print("[fukbot] Leaving...")
  938.         oRCC("disconnect")
  939.     end
  940.    
  941.     if CDAC or cdac then
  942.         print("[fukbot] aria Anti Cheat found! (THREAT LEVEL: MEDIUM)")
  943.     end
  944.    
  945.     if DAC or dac then
  946.         print("[fukbot] Daz Anti Cheat found! (THREAT LEVEL: VERY LOW)")
  947.     end
  948.    
  949.     for k,v in pairs(concommand.GetTable()) do
  950.         if cd.TAC_Cmds[k] then
  951.             print("[fukbot] Tyler's Anti Cheat found! (THREAT LEVEL: MEDIUM)")
  952.             print("[fukbot] Switching into TAC Bypass mode.")
  953.             tacbypass = true
  954.         end
  955.     end
  956. end
  957.  
  958. function render.Capture()
  959.     cd.Notify("Somebody tried to screengrab you!")
  960.     print("[fukbot] Blocked render.Capture()")
  961.     return "pwned"
  962. end
  963.  
  964. function render.CapturePixels()
  965.     cd.Notify("Somebody tried to screengrab you!")
  966.     print("[fukbot] Blocked render.CapturePixels()")
  967.     return "pwned"
  968. end
  969.  
  970. function cd.CalcView(p, origin, a, fov)
  971.     local view = {}
  972.    
  973.     view.angles = CalcViewAngle
  974.     view.origin = cd.vars["thirdperson"] and origin - CalcViewAngle:Forward() * 100 or origin
  975.     view.fov = fov
  976.        
  977.     return view
  978. end
  979.  
  980. cd.Check()
  981.  
  982. /*
  983. GAMEMODE.CreateMove = function(cmd)
  984.     cd.CreateMove(cmd)
  985.     oGCM(cmd)
  986. end
  987.  
  988. GAMEMODE.CalcView = function(...)
  989.     cd.CalcView(...)
  990.     oGCV(...)
  991. end
  992.  
  993. GAMEMODE.HUDPaint = function()
  994.     cd.HUDPaint()
  995.     oGHP()
  996. end
  997.  
  998. GAMEMODE.Think = function()
  999.     cd.Think()
  1000.     oGT()
  1001. end
  1002. */
  1003.  
  1004. cd.AddHook("CreateMove", "cd.createmove", cd.CreateMove)
  1005. cd.AddHook("CalcView", "cd.calcview", cd.CalcView)
  1006. cd.AddHook("ShouldDrawLocalPlayer", "cd.shoulddrawlocalplayer", cd.DrawLocalPlayer)
  1007. cd.AddHook("HUDPaint", "cd.hudpaint", cd.HUDPaint)
  1008. cd.AddHook("Think", "cd.think", cd.Think)
  1009. CreateClientConVar("fukbot_say_killed", 1, true, false)
  1010. notification.AddProgress("lolwut", "fukbot v3.2 loaded in " .. tostring(loadtime) .. " seconds!")
  1011. concommand.Add("fukbot_menu", cd.Menu)
  1012. timer.Destroy("fukbot.timers.load.loadtime")
  1013. timer.Simple(5, function() notification.Kill("lolwut") end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement