Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Sh1t Hax Version 0.1Alpha
- surface.CreateFont("ESP_Font_Main",{font = "coolvetica", size = 20})
- surface.CreateFont("ESP_Font_lol", {font = "coolvetica", size = 15})
- local Shithacks = {}
- Shithacks.Aimbot = {}
- Shithacks.Options = {}
- Shithacks.Movement = {}
- Shithacks.Visuals = {}
- Shithacks.Options["AimbotFOV"] = 180
- Shithacks.Options["AimbotBind"] = 32
- Shithacks.Options["ToggleAimbot"] = true
- Shithacks.Options["WallAim"] = false
- Shithacks.Options["NextTarget"] = true
- Shithacks.Options["LockTargetToggle"] = true
- Shithacks.Options["Bhop"] = false
- Shithacks.Options["TargetPrioritization"] = 1
- Shithacks.Options["AutoShoot"] = false
- Shithacks.Options["ESP_Health"] = false
- Shithacks.Options["ESP_Names"] = false
- Shithacks.Options["ESP_Boxes"] = false
- Shithacks.Options["ESP_Boxes_3d"] = true
- Shithacks.Options["Snaplines"] = false
- Shithacks.Options["Snaplines_Names"] = false
- Shithacks.Options["Smooth"] = 5
- Shithacks.Options["Smooth2"] = 0
- Shithacks.Aimbot["Target"] = nil
- Shithacks.Aimbot["NextTargetDead"] = true
- Shithacks.Aimbot["ClosestEnemy"] = math.huge
- Shithacks.Movement["OnGround"] = nil
- Shithacks.Visuals["SnapTarget"] = nil
- Shithacks.Options["Boxes_Value"] = true
- local FindMetaTable = FindMetaTable
- local cm = FindMetaTable"CUserCmd"
- local vm = FindMetaTable"Vector"
- local ply = LocalPlayer()
- local oldRC = render.Capture
- local rndrView = render.RenderView
- concommand.Add("shit_menu", function()
- menu()
- end)
- concommand.Add("Unload_Shitmenu", function(ply, cmd, args)
- hook.Remove("CreateMove", "Test23")
- hook.Remove("Think", "Test12")
- hook.Remove("HUDPaint", "Test34")
- concommand.Remove("Unload_Shitmenu")
- concommand.Remove("shit_menu")
- print ("shit hacks unloaded.")
- timer.Simple(1, function() print(" ") print(" ") print(" ") print(" ") print(" ") print(" ")end)
- end)
- function menu(Tab)
- local shitmenu = vgui.Create( "DFrame" )
- shitmenu:SetSize(ScrW() / 1.75, ScrH() / 1.5)
- shitmenu:SetTitle("Shit hack")
- shitmenu:SetVisible(true)
- shitmenu:SetDraggable(false)
- shitmenu:ShowCloseButton(true)
- shitmenu:MakePopup()
- shitmenu:Center()
- function shitmenu:Paint(w, h)
- draw.RoundedBox( 0, 0, 0, w, h / 20, Color(0,0,0,255) )
- draw.RoundedBox( 0, 0, 0, w, h, Color(0,10,20,150) )
- end
- local Aimbot = vgui.Create("DPanel", shitmenu)
- Aimbot:SetPos(0 , (ScrH() / 10))
- Aimbot:SetSize(shitmenu:GetWide(), (shitmenu:GetTall() - shitmenu:GetTall() / 10 - shitmenu:GetTall() / 20))
- Aimbot:SetBackgroundColor(Color(255, 0, 255, 50))
- Aimbot:SetVisible(false)
- local Bhop = vgui.Create("DPanel", shitmenu)
- Bhop:SetPos(0 , (ScrH() / 10))
- Bhop:SetSize(shitmenu:GetWide(), (shitmenu:GetTall() - shitmenu:GetTall() / 10 - shitmenu:GetTall() / 20))
- Bhop:SetBackgroundColor(Color(255, 0, 255, 50))
- Bhop:SetVisible(false)
- local Visuals = vgui.Create("DPanel", shitmenu)
- Visuals:SetPos(0, (ScrH() / 10))
- Visuals:SetSize(shitmenu:GetWide(), (shitmenu:GetTall() - shitmenu:GetTall() / 10 - shitmenu:GetTall() / 20))
- Visuals:SetBackgroundColor(Color(255, 0, 255, 50))
- Visuals:SetVisible(false)
- function ChangeTab (Tab)
- Aimbot:SetVisible(false)
- Bhop:SetVisible(false)
- Visuals:SetVisible(false)
- Tab:SetVisible(true)
- end
- function MoveShit(Var)
- if Var == "ToggleAimbot" or Var == "ESP_Health" or Var == "Bhop" then
- return 0
- elseif Var == "WallAim" then
- if Shithacks.Options["ToggleAimbot"] then
- return 3
- else
- return ScrH()
- end
- elseif Var == "NextTarget" then
- if Shithacks.Options["ToggleAimbot"] then
- return 2
- else
- return ScrH()
- end
- elseif Var == "LockTargetToggle" then
- if Shithacks.Options["ToggleAimbot"] then
- return 1
- else
- return ScrH()
- end
- elseif Var == "AutoShoot" then
- if Shithacks.Options["ToggleAimbot"] then
- return 4
- else
- return ScrH()
- end
- elseif Var == "AimbotFOV" then
- if Shithacks.Options["ToggleAimbot"] then
- return 3
- else
- return ScrH()
- end
- elseif Var == "AimbotBind" then
- if Shithacks.Options["ToggleAimbot"] then
- return 0
- else
- return ScrH()
- end
- elseif Var == "TargetPrioritization" then
- if Shithacks.Options["ToggleAimbot"] then
- return 2.5
- else
- return ScrH()
- end
- elseif Var == "ESP_Names" then
- return 1
- elseif Var == "Snaplines" then
- return 2
- elseif Var == "Snaplines_Names" then
- if Shithacks.Options["Snaplines"] then
- return 3
- else
- return ScrH()
- end
- elseif Var == "ESP_Boxes" then
- if Shithacks.Options["Snaplines"] then
- return 4
- else
- return 3
- end
- elseif Var == "ESP_Boxes_3d" then
- if Shithacks.Options["Snaplines"] && Shithacks.Options["ESP_Boxes"] then
- return 5
- elseif Shithacks.Options["ESP_Boxes"] then
- return 4
- else
- return ScrH()
- end
- end
- end
- AddGenericButton( shitmenu, "Aimbot", (shitmenu:GetWide() / 5), (shitmenu:GetTall() / 10), 0, (shitmenu:GetTall() / 20), function() RefreshMenu(shitmenu, 1) end )
- AddGenericButton( shitmenu, "Bhop", (shitmenu:GetWide() / 5), (shitmenu:GetTall() / 10), (0 + shitmenu:GetWide() / 5), (shitmenu:GetTall() / 20), function() RefreshMenu(shitmenu, 2) end )
- AddGenericButton( shitmenu, "Visuals", (shitmenu:GetWide() / 5), (shitmenu:GetTall() / 10), (shitmenu:GetWide() / 5) * 2, (shitmenu:GetTall() / 20), function() RefreshMenu(shitmenu, 3) end )
- AddCheckBox(shitmenu, Aimbot, "Aimbot", shitmenu:GetWide() / 39, shitmenu:GetWide() / 39 + (shitmenu:GetTall() / 20.48 * MoveShit("ToggleAimbot")), "Rage your enemies, they are TRASH", "ToggleAimbot")
- AddCheckBox(shitmenu, Aimbot, "Wall aimer", shitmenu:GetWide() / 39, shitmenu:GetWide() / 39 + (shitmenu:GetTall() / 20.48 * MoveShit("WallAim")), "Aim through walls, NOT recommended", "WallAim")
- AddCheckBox(shitmenu, Aimbot, "Next target", shitmenu:GetWide() / 39, shitmenu:GetWide() / 39 + (shitmenu:GetTall() / 20.48 * MoveShit("NextTarget")), "Snap to next target, recommended", "NextTarget")
- AddCheckBox(shitmenu, Aimbot, "Lock target", shitmenu:GetWide() / 39, shitmenu:GetWide() / 39 + (shitmenu:GetTall() / 20.48 * MoveShit("LockTargetToggle")), "Recommended", "LockTargetToggle")
- AddCheckBox(shitmenu, Aimbot, "Triggetbot", shitmenu:GetWide() / 39, shitmenu:GetWide() / 39 + (shitmenu:GetTall() / 20.48 * MoveShit("AutoShoot")), "Recommended", "AutoShoot")
- AddCheckBox(shitmenu, Bhop, "Auto bhop", shitmenu:GetWide() / 39, shitmenu:GetWide() / 39 + (shitmenu:GetTall() / 20.48 * MoveShit("Bhop")), "Show them your bhop skills", "Bhop")
- AddCheckBox(shitmenu, Visuals, "Health", shitmenu:GetWide() / 39, shitmenu:GetWide() / 39 + (shitmenu:GetTall() / 20.48 * MoveShit("ESP_Health")), "I see everything!", "ESP_Health")
- AddCheckBox(shitmenu, Visuals, "Names", shitmenu:GetWide() / 39, shitmenu:GetWide() / 39 + (shitmenu:GetTall() / 20.48 * MoveShit("ESP_Names")), "I see everything!", "ESP_Names")
- AddCheckBox(shitmenu, Visuals, "Snap lines", shitmenu:GetWide() / 39, shitmenu:GetWide() / 39 + (shitmenu:GetTall() / 20.48 * MoveShit("Snaplines")), "The target you gonna snap", "Snaplines")
- AddCheckBox(shitmenu, Visuals, "Snap names", shitmenu:GetWide() / 39, shitmenu:GetWide() / 39 + (shitmenu:GetTall() / 20.48 * MoveShit("Snaplines_Names")), "The name of the target you gonna snap", "Snaplines_Names")
- AddCheckBox(shitmenu, Visuals, "Boxes", shitmenu:GetWide() / 39, shitmenu:GetWide() / 39 + (shitmenu:GetTall() / 20.48 * MoveShit("ESP_Boxes")), "I see EVEN more!", "ESP_Boxes")
- AddCheckBox(shitmenu, Visuals, "3d boxes", shitmenu:GetWide() / 39, shitmenu:GetWide() / 39 + (shitmenu:GetTall() / 20.48 * MoveShit("ESP_Boxes_3d")), "3d boxes", "ESP_Boxes_3d")
- local FOVSlider = vgui.Create("DNumSlider", Aimbot)
- FOVSlider:SetPos(shitmenu:GetWide() / 5, shitmenu:GetWide() / 39 + (shitmenu:GetTall() / 20.48 * MoveShit("AimbotFOV")))
- FOVSlider:SetSize(shitmenu:GetWide() / 5 + shitmenu:GetWide() / 39 + shitmenu:GetWide() / 195, shitmenu:GetTall() / 10)
- FOVSlider:SetText("Aimbot FOV")
- FOVSlider:SetMin(1)
- FOVSlider:SetMax(360)
- FOVSlider:SetDecimals(0)
- FOVSlider:SetValue(Shithacks.Options["AimbotFOV"] * 2)
- FOVSlider.OnValueChanged = function(panel, value)
- Shithacks.Options["AimbotFOV"] = value / 2
- end
- local AimbotBinder = vgui.Create("DBinder")
- AimbotBinder:SetParent(Aimbot)
- AimbotBinder:SetSize(shitmenu:GetWide() / 5, shitmenu:GetTall() / 10)
- AimbotBinder:SetPos(shitmenu:GetWide() / 5, shitmenu:GetWide() / 39 + (shitmenu:GetTall() / 20.48 * MoveShit("AimbotBind")))
- AimbotBinder:SetValue(Shithacks.Options["AimbotBind"])
- function AimbotBinder:OnChange(num)
- if num == -1 or num == 171 or num == 172 or num == 0 or num == 161 or num == 150 or num == 149 or num == 146 or num == 145 or num == 114 then
- LocalPlayer():ChatPrint("Invailed Key")
- else
- LocalPlayer():ChatPrint("New Aimbot bind key: ".. input.GetKeyName(num))
- Shithacks.Options["AimbotBind"] = num
- end
- end
- local TargetPrioritize = vgui.Create("DComboBox")
- TargetPrioritize:SetParent(Aimbot)
- TargetPrioritize:SetPos(shitmenu:GetWide() / 5, shitmenu:GetWide() / 39 + (shitmenu:GetTall() / 20.48 * MoveShit("TargetPrioritization")))
- TargetPrioritize:SetSize(shitmenu:GetWide() / 5, 20)
- if Shithacks.Options["TargetPrioritization"] != 1 then
- if Shithacks.Options["TargetPrioritization"] == 2 then
- TargetPrioritize:SetValue("Closest To You")
- elseif Shithacks.Options["TargetPrioritization"] == 3 then
- TargetPrioritize:SetValue("Between Crosshair And You")
- end
- else
- TargetPrioritize:SetValue("Closest To Crosshair")
- end
- TargetPrioritize:AddChoice("Closest To Crosshair")
- TargetPrioritize:AddChoice("Closest To You")
- TargetPrioritize:AddChoice("Between Crosshair And You")
- TargetPrioritize.OnSelect = function( panel, index, value )
- if value == "Closest To Crosshair" then
- Shithacks.Options["TargetPrioritization"] = 1
- elseif value == "Closest To You" then
- Shithacks.Options["TargetPrioritization"] = 2
- elseif value == "Between Crosshair And You" then
- Shithacks.Options["TargetPrioritization"] = 3
- else
- ply:ChatPrint("Error changing target prioritazation")
- end
- end
- if Shithacks.Tab == nil then ChangeTab(Aimbot)
- elseif Shithacks.Tab == 1 then ChangeTab(Aimbot)
- elseif Shithacks.Tab == 2 then ChangeTab(Bhop)
- elseif Shithacks.Tab == 3 then ChangeTab(Visuals) end
- end
- function AddCheckBox(DParent, Parent, Text, PosX, PosY, ToolTip, Var, ExtraFunc)
- local AddCheckBox = vgui.Create("DCheckBoxLabel", Parent)
- AddCheckBox:SetText(Text)
- AddCheckBox:SetPos(PosX, PosY)
- AddCheckBox:SetTooltip(ToolTip)
- AddCheckBox:SetTextColor(Color(255, 255, 255, 255))
- AddCheckBox:SizeToContents()
- AddCheckBox:SetChecked(Shithacks.Options[Var])
- AddCheckBox.OnChange = function()
- Shithacks.Options[Var] = AddCheckBox:GetChecked()
- RefreshMenu(DParent)
- if ExtraFunc != nil then
- local IsChecked = AddCheckBox:GetChecked()
- ExtraFunc()
- end
- end
- end
- function RefreshMenu(Dname, tablul)
- Dname:Close()
- if tablul != nil then
- Shithacks.Tab = tablul
- end
- menu()
- end
- function AddGenericButton(Parent, Text, SizeX, SizeY, PosX, PosY, DoClick)
- local AddGenericButton = vgui.Create("DButton", Parent)
- AddGenericButton:SetText(Text)
- AddGenericButton:SetTextColor(Color(255,255,255))
- AddGenericButton:SetSize(SizeX, SizeY)
- AddGenericButton:SetPos(PosX, PosY)
- function AddGenericButton:Paint(w, h)
- draw.RoundedBox(0, 0, 0, w, h, Color(0,0,255,255))
- surface.SetDrawColor(Color(0,0,0,255))
- surface.DrawOutlinedRect(0, 0, w, h)
- end
- AddGenericButton.DoClick = DoClick
- end
- function hacks(ucmd)
- hook.Add("Think", "Test12", function()
- if Shithacks.Options["AutoShoot"] then
- if util.TraceLine(util.GetPlayerTrace( ply )).Entity:IsPlayer() and util.TraceLine(util.GetPlayerTrace(ply)).Entity:Alive() then
- RunConsoleCommand("+attack")
- timer.Simple(0.001, function() RunConsoleCommand("-attack") end)
- end
- end
- if ply:IsOnGround() then
- Shithacks.Movement["OnGround"] = true
- else
- Shithacks.Movement["OnGround"] = false
- end
- end)
- hook.Add("CreateMove", "Test23", function(ucmd)
- if #player.GetAll() > 1 then
- if Shithacks.Options["ToggleAimbot"] then
- if KeyBindDown(tonumber(Shithacks.Options["AimbotBind"])) and Shithacks.Aimbot["Target"] != nil and Shithacks.Aimbot["Target"]:Alive() and ShouldAim(Shithacks.Aimbot["Target"], (ply:EyeAngles() - ((FindHighestDamage(Shithacks.Aimbot["Target"]) - ply:GetShootPos()):Angle())).y) then
- if Shithacks.Options["LockTargetToggle"] then
- Shithacks.Aimbot["NextTargetDead"] = false
- AimTarget(ucmd, Shithacks.Aimbot["Target"])
- end
- else
- if Shithacks.Aimbot["NextTargetDead"] or Shithacks.Options["NextTarget"] then
- ResetAimbot()
- FindClosestEnemy()
- end
- end
- end
- end
- if Shithacks.Options["Bhop"] then
- ABhop(ucmd)
- end
- end)
- hook.Add("HUDPaint", "Test34", function()
- DrawESP()
- end)
- end
- takingss = false
- render.Capture = function( ... )
- takingss = true
- rndrView()
- GAMEMODE:HUDPaint()
- timer.Simple(0.001, function() takingss = false end)
- return oldRC( ... )
- end
- function DrawESP()
- if !takingss then
- if Shithacks.Options["ESP_Health"] then
- for k, v in pairs (player:GetAll()) do
- if v != LocalPlayer() and v:Alive() then
- local pos = v:GetPos()
- local pos, pos2 = (pos):ToScreen(), (pos + Vector(0, 0, 70)):ToScreen()
- local h = pos.y - pos2.y
- local w = h / 2.2
- local hp = v:Health() * h / 100
- if hp > h then
- hp = h
- end
- local diff = h - hp
- surface.SetDrawColor(0, 0, 0, 255)
- surface.DrawRect(pos.x + w / 2 - 5, pos.y - h - 1, 3, h + 2)
- surface.SetDrawColor(0, 255, 0, 255)
- surface.DrawRect(pos.x + w / 2 - 4, pos.y - h + diff, 1, hp)
- end
- end
- end
- if Shithacks.Options["ESP_Names"] then
- for k, v in pairs(player:GetAll()) do
- if v != LocalPlayer() then
- local pos = v:GetPos()
- local pos, pos2 = (pos):ToScreen(), (pos + Vector(0, -2.5, 70)):ToScreen()
- local h = pos.y - pos2.y
- local w = h / 2.2
- if v:Alive() then
- draw.DrawText( v:Name(), "ESP_Font_Main", pos.x + w / 2 - 4, pos.y - h, Color( 255, 255, 255, 255 ), 1 )
- else
- draw.DrawText( v:Name(), "ESP_Font_Main", pos.x + w / 2 - 4, pos.y - h, Color( 255, 0, 0, 255 ), 1 )
- end
- end
- end
- end
- if Shithacks.Options["Snaplines"] then
- if Shithacks.Aimbot["Target"] != nil then
- Shithacks.Visuals["SnapTarget"] = Shithacks.Aimbot["Target"]
- elseif Shithacks.Visuals["SnapTarget"] != nil then
- local SnapTargetD = (ply:EyeAngles() - ((FindHighestDamage(Shithacks.Visuals["SnapTarget"]) - ply:GetShootPos()):Angle()))
- if !ShouldAim(Shithacks.Visuals["SnapTarget"], SnapTargetD.y) or !Shithacks.Visuals["SnapTarget"]:Alive() then
- Shithacks.Visuals["SnapTarget"] = nil
- end
- end
- if Shithacks.Visuals["SnapTarget"] != nil then
- local center = Vector( ScrW() / 2, ScrH() / 2, 0 )
- local target = Shithacks.Visuals["SnapTarget"]
- local pos = FindHighestDamage(target)
- local pos, pos2 = (pos):ToScreen(), (pos + Vector(0, -2.5, 70)):ToScreen()
- local h = pos.y - pos2.y
- local w = h / 2.2
- surface.SetDrawColor(0,255,0,255)
- surface.DrawLine(center.x,center.y,pos.x,pos.y)
- if Shithacks.Options["Snaplines_Names"] then
- draw.DrawText(Shithacks.Visuals["SnapTarget"]:Name(), "ESP_Font_lol", center.x, center.y + center.y / 20, Color(0, 255, 0), 1)
- end
- end
- end
- if Shithacks.Options["ESP_Boxes"] then
- for k, v in pairs(player.GetAll()) do
- if v:Alive() and v != LocalPlayer() then
- local target = v
- local pos = target:GetPos()
- local pos2 = (pos + Vector(25, -20, 70)):ToScreen()
- local pos3 = (pos + Vector(-25, -20, 70)):ToScreen()
- local pos4 = (pos + Vector(25, -20, 0)):ToScreen()
- local pos5 = (pos + Vector(-25, -20, 0)):ToScreen()
- local pos6 = (pos + Vector(25, 20, 70)):ToScreen()
- local pos7 = (pos + Vector(-25, 20, 70)):ToScreen()
- local pos8 = (pos + Vector(25, 20, 0)):ToScreen()
- local pos9 = (pos + Vector(-25, 20, 0)):ToScreen()
- local pos10 = (pos + Vector(0, 0, 70)):ToScreen()
- local h = pos.y - pos10.y
- local w = h / 2.2
- surface.SetDrawColor(0, 255, 0, 255)
- if Shithacks.Options["ESP_Boxes_3d"] then
- surface.DrawLine(pos8.x, pos8.y, pos9.x, pos9.y) //Down right close to down left close
- surface.DrawLine(pos6.x, pos6.y, pos7.x, pos7.y) //Up right close to up left close
- surface.DrawLine(pos8.x, pos8.y, pos6.x, pos6.y) //Up right close to down right close
- surface.DrawLine(pos9.x, pos9.y, pos7.x, pos7.y) //Up left close to down left close
- surface.DrawLine(pos4.x, pos4.y, pos5.x, pos5.y) //Down right far to down left far
- surface.DrawLine(pos2.x, pos2.y, pos3.x, pos3.y) //Up right far to up left far
- surface.DrawLine(pos2.x, pos2.y, pos4.x, pos4.y) //Up right far to down right far
- surface.DrawLine(pos3.x, pos3.y, pos5.x, pos5.y) //Up left far to down left far
- surface.DrawLine(pos2.x, pos2.y, pos6.x, pos6.y) //Up right far to up left right close
- surface.DrawLine(pos3.x, pos3.y, pos7.x, pos7.y)
- surface.DrawLine(pos4.x, pos4.y, pos8.x, pos8.y)
- surface.DrawLine(pos5.x, pos5.y, pos9.x, pos9.y)
- surface.DrawLine(pos2.x, pos2.y, pos8.x, pos8.y)
- surface.DrawLine(pos3.x, pos3.y, pos9.x, pos9.y)
- surface.DrawLine(pos5.x, pos5.y, pos7.x, pos7.y)
- surface.DrawLine(pos4.x, pos4.y, pos6.x, pos6.y)
- surface.DrawLine(pos2.x, pos2.y, pos5.x, pos5.y)
- surface.DrawLine(pos3.x, pos3.y, pos4.x, pos4.y)
- surface.DrawLine(pos6.x, pos6.y, pos9.x, pos9.y)
- surface.DrawLine(pos7.x, pos7.y, pos8.x, pos8.y)
- else
- surface.DrawLine(pos8.x, pos8.y, pos9.x, pos9.y)
- surface.DrawLine(pos6.x, pos6.y, pos7.x, pos7.y)
- surface.DrawLine(pos8.x, pos8.y, pos6.x, pos6.y) //2D BOXES ISNT DONE YET DONT LAUGH
- surface.DrawLine(pos9.x, pos9.y, pos7.x, pos7.y)
- end
- end
- end
- end
- else
- return
- end
- end
- function ABhop(ucmd)
- if ucmd:KeyDown(IN_JUMP) then
- if !Shithacks.Movement["OnGround"] then
- ucmd:RemoveKey(IN_JUMP)
- end
- end
- end
- function AimTarget(ucmd, Target)
- local LockedTargetDistance = (ply:EyeAngles() - ((FindHighestDamage(Target) - ply:GetShootPos()):Angle()))
- if Target:Alive() then
- if ShouldAim(Target, LockedTargetDistance.y) then
- local pos = ((FindHighestDamage(Target) - ply:GetShootPos()) - (ply:GetVelocity() * engine.TickInterval())):Angle() - ply:GetViewPunchAngles()
- cm.SetViewAngles(ucmd, pos)
- end
- end
- end
- function FindClosestEnemy(o)
- local Target
- for k, v in pairs(player:GetAll()) do
- if v:Alive() then
- if v:SteamID() != ply:SteamID() and v:SteamID() != "STEAM_0:1:214812816" and v:SteamID() != "STEAM_0:0:27163147" then
- local EnemyDistance = (ply:EyeAngles() - ((FindHighestDamage(v) - ply:GetShootPos()):Angle()))
- local EnemyDistance2 = math.abs(Vector(ply:GetPos()):Distance(Vector(FindHighestDamage(v))))
- local TotalEnemyDistance = AbsNorm(EnemyDistance.y) + AbsNorm(EnemyDistance.p)
- if ShouldAim(v, EnemyDistance.y) then
- if FindPo(TotalEnemyDistance, EnemyDistance2) < Shithacks.Aimbot["ClosestEnemy"] then
- Shithacks.Aimbot["ClosestEnemy"] = FindPo(TotalEnemyDistance, EnemyDistance2)
- Target = v
- end
- end
- end
- end
- end
- if o == 1 then
- Shithacks.Visuals["SnapTarget"] = Target
- else
- Shithacks.Aimbot["Target"] = Target
- end
- end
- function KeyBindDown(key)
- if input.IsKeyDown(key) or input.IsMouseDown(key) then
- return true
- else
- return false
- end
- end
- function CalcVel(pos)
- local myvel = ply:GetVelocity()
- local pos = pos - (myvel * engine.TickInterval())
- return pos
- end
- function FindHighestDamage(v)
- if !v:LookupAttachment("eyes") then
- return Vector(v:GetBonePosition(v:LookupBone("ValveBiped.Bip01_Head1")))
- else
- return Vector(v:GetAttachment(v:LookupAttachment("eyes")).Pos)
- end
- end
- function FindPo(n, b)
- if Shithacks.Options["TargetPrioritization"] == 1 then
- return n
- elseif Shithacks.Options["TargetPrioritization"] == 2 then
- return b
- elseif Shithacks.Options["TargetPrioritization"] == 3 then
- return n * b
- end
- end
- function ResetAimbot()
- Shithacks.Aimbot["ClosestEnemy"] = math.huge
- Shithacks.Aimbot["NextTargetDead"] = true
- Shithacks.Aimbot["Target"] = nil
- end
- function AbsNorm(ang)
- return math.abs(math.NormalizeAngle(ang))
- end
- function ShouldAim(v, ang)
- if ply:IsLineOfSightClear(v) and AbsNorm(ang) < Shithacks.Options["AimbotFOV"] then
- return true
- elseif Shithacks.Options["WallAim"] and AbsNorm(ang) < Shithacks.Options["AimbotFOV"] then
- return true
- else
- return false
- end
- end
- hacks(ucmd)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement