Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- -================================-
- Hera v4 - A Garry's Mod aimbot [Multi-Hack]
- -================================-
- ]]--
- /************************************
- Name: Localizing
- Purpose: Make the cheat run faster
- ************************************/
- local g = table.Copy(_G)
- local Hera = {} -- Nothing!
- Hera.settings = {} -- Not started yet.
- Hera.hooks = {} -- Store hooks in a table
- Hera.concommands = {} -- Store concommands in a table
- Hera.convars = {} -- Store the ConVars in a table
- Hera.timers = {} -- Store Timers in a table
- Hera.cones = { normal = {}, hl2 = {}, custom = {}} -- I probably won't even need this, I won't have NoSpread for a long time. Anyways, store cones here.
- Hera.files = {"Hera.lua","Log.txt"} -- Files to hide and protect
- Hera.version = "4.1" -- Version of the cheat.
- Hera.ents = { -- ents to be picked up by entity esp, add more if you want.
- "ent_pot",
- "npc_vendor",
- "weapon_perp_glock",
- "ent_item",
- "ent_prop_item",
- "sent_spawnpoint",
- "spawned_weapon",
- "spawned_shipment",
- "weed_plant",
- "gift",
- "spawned_money",
- "base_item",
- "weapon_ak47_dayz",
- "weapon_mp5_dayz",
- "weapon_deagle_dayz",
- "sapphire_money_printer",
- "amethyst_money_printer",
- "topaz_money_printer",
- "emerald_money_printer",
- "msc_scrapnug",
- "food_rawant",
- "ent_resource",
- "food_rawhead",
- "gmodz_item", -- TPS DayZ
- }
- Hera.dontlog = { -- commands to be ignored by the runconsolecommand logger
- "+jump",
- "-jump",
- "+attack",
- "-attack",
- "impulse"
- }
- Hera.badcmds = { -- commands to be blocked
- "__ac",
- "__imacheater",
- "gm_possess",
- "achievementRefresh", -- fuck u lifepunch
- "__uc_", -- RIOT
- "_____b__c",
- "___m",
- "sc",
- "bg",
- "bm",
- "kickme",
- "gw_iamacheater",
- "imafaggot",
- "birdcage_browse",
- "reportmod",
- "_fuckme",
- "st_openmenu",
- "_NOPENOPE",
- "__ping",
- "ar_check",
- "GForceRecoil",
- "~__ac_auth",
- "blade_client_check",
- "blade_client_detected_message",
- "disconnect",
- "exit",
- "retry",
- "kill",
- "-voicerecord",
- "+voicerecord",
- "dac_imcheating", -- fuck u bich
- "dac_pleasebanme", -- fuck u bich
- }
- Hera.invalidents = {"player","prop_physics","viewmodel",} -- Ents to not show on the ESP
- Hera.weapons = {["weapon_crossbow"] = 3110,}
- Hera.spectators = {} -- Store spectators here.
- Hera.admins = {} -- store admins here
- Hera.config = {} -- user config
- local colors = {}
- red = Color(255,0,0,255);
- black = Color(0,0,0,255);
- green = Color(0,255,0,255);
- white = Color(255,255,255,255);
- blue = Color(0,0,255,255);
- cyan = Color(0,255,255,255);
- pink = Color(255,0,255,255);
- blue = Color(0,0,255,255);
- grey = Color(100,100,100,255);
- gold = Color(255,228,0,255);
- lblue = Color(155,205,248);
- lgreen = Color(174,255,0);
- iceblue = Color(116,187,251,255);
- local _G = table.Copy(_G)
- local math = _G.math
- local string = _G.string
- local hook = _G.hook
- local table = _G.table
- local timer = _G.timer
- local surface = _G.surface
- local concommand = _G.concommand
- local cvars = _G.cvars
- local ents = _G.ents
- local player = _G.player
- local team = _G.team
- local util = _G.util
- local draw = _G.draw
- local usermessage = _G.usermessage
- local vgui = _G.vgui
- local http = _G.http
- local cam = _G.cam
- local render = _G.render
- local MsgN = _G.MsgN
- local Msg = _G.Msg
- local Vector = _G.Vector
- local Angle = _G.Angle
- local pairs = _G.pairs
- local ipairs = _G.ipairs
- local CreateSound = _G.CreateSound
- local setmetatable = _G.setmetatable
- local Sound = _G.Sound
- local print = _G.print
- local pcall = _G.pcall
- local type = _G.type
- local LocalPlayer = _G.LocalPlayer
- local KeyValuesToTable = _G.KeyValuesToTable
- local TableToKeyValues = _G.TableToKeyValues
- local Color = _G.Color
- local CreateClientConVar = _G.CreateClientConVar
- local ErrorNoHalt = _G.ErrorNoHalt
- local IsValid = _G.IsValid
- local CreateMaterial = _G.CreateMaterial
- local tonumber = _G.tonumber
- local tostring = _G.tostring
- local CurTime = _G.CurTime
- local FrameTime = _G.FrameTime
- local ScrW = _G.ScrW
- local ScrH = _G.ScrH
- local SetClipboardText = _G.SetClipboardText
- local GetHostName = _G.GetHostName
- local unpack = _G.unpack
- local AddConsoleCommand = _G.AddConsoleCommand
- local require = _G.require
- local include = _G.include
- local MOVETYPE_OBSERVER = _G.MOVETYPE_OBSERVER
- local MOVETYPE_NONE = _G.MOVETYPE_NONE
- local TEXT_ALIGN_LEFT = _G.TEXT_ALIGN_LEFT
- local TEXT_ALIGN_TOP = _G.TEXT_ALIGN_TOP
- local TEXT_ALIGN_RIGHT = _G.TEXT_ALIGN_RIGHT
- local TEXT_ALIGN_BOTTOM = _G.TEXT_ALIGN_BOTTOM
- local IN_JUMP = _G.IN_JUMP
- local IN_FORWARD = _G.IN_FORWARD
- local IN_BACK = _G.IN_BACK
- local IN_MOVERIGHT = _G.IN_MOVERIGHT
- local IN_MOVELEFT = _G.IN_MOVELEFT
- local IN_SPEED = _G.IN_SPEED
- local IN_DUCK = _G.IN_DUCK
- local TEAM_SPECTATOR = 1002
- -- old [detour]
- local old_filecdir = file.CreateDir;
- local old_filedel = file.Delete;
- local old_fileexist = file.Exists;
- local old_fileexistex = file.ExistsEx;
- local old_filefind = file.Find;
- local old_filefinddir = file.FindDir;
- local old_filefindil = file.FindInLua;
- local old_fileisdir = file.IsDir;
- local old_fileread = file.Read;
- local old_filerename = file.Rename;
- local old_filesize = file.Size;
- local old_filetfind = file.TFind;
- local old_filetime = file.Time;
- local old_filewrite = file.Write;
- local old_dbginfo = debug.getinfo;
- local old_dbginfo = debug.getupvalue;
- local old_cve = ConVarExists;
- local old_gcv = GetConVar;
- local old_gcvn = GetConVarNumber;
- local old_gcvs = GetConVarString;
- local old_rcc = RunConsoleCommand;
- local old_hookadd = hook.Add;
- local old_hookrem = hook.Remove;
- local old_ccadd = concommand.Add;
- local old_ccrem = concommand.Remove;
- local old_cvaracc = cvars.AddChangeCallback;
- local old_cvargcvc = cvars.GetConVarCallbacks;
- local old_cvarchange = cvars.OnConVarChanged;
- local old_require = require;
- local old_eccommand = engineConsoleCommand;
- --Fonts--
- surface.CreateFont("ESPFont",{font = "ScoreboardText", size = 17, weight = 400, antialias = 0})
- surface.CreateFont("ESPFont_Small",{font = "Default", size = 12, weight = 200, antialias = 0})
- surface.CreateFont("Logo",{font = "akbar", size = 21, weight = 400, antialias = 0})
- surface.CreateFont("Hera_ScoreboardText",{font = "ScoreboardText", size = 15, weight = 700, antialias = 0})
- surface.CreateFont("Hera_coolvetica",{font = "coolvetica", size = 16, weight = 500, antialias = 0})
- surface.CreateFont("Hera_hvh",{font = "ScoreboardTextt", size = 15, weight = 1000, antialias = 1})
- g.rawset(_G, "RunConsoleCommand", oRunConsoleCommand)
- --Materials--
- function Hera:CreateMaterial()
- local BaseInfo = {
- ["$basetexture"] = "models/debug/debugwhite",
- ["$model"] = 1,
- ["$translucent"] = 1,
- ["$alpha"] = 1,
- ["$nocull"] = 1,
- ["$ignorez"] = 1
- }
- local mat
- if GetConVarString("Hera_ESP_Chams_Material") == "Solid" then
- mat = CreateMaterial( "hera_solid", "VertexLitGeneric", BaseInfo )
- elseif GetConVarString("Hera_ESP_Chams_Material") == "Wireframe" then
- mat = CreateMaterial( "hera_wire", "Wireframe", BaseInfo )
- end
- return mat
- end
- /**************************************
- Name: Logger
- Purpose: Logs functions and shit
- **************************************/
- concommand.Add("Hera_StartLog",function()
- file.Write("Hera/log.txt","Log created: ("..os.date()..") \n")
- end)
- function Log(msg)
- file.Append("Hera/log.txt","["..os.date().."]: "..msg.."\n")
- end
- Log("Loading....")
- /*******************************************
- Name: Print/Chat functions
- Purpose: Notify the user of what's going on
- ********************************************/
- function Hera.Print(msg)
- print("[Hera] "..msg)
- end
- function Hera.Notify(dosound,col,msg)
- if col then
- col = col
- end
- chat.AddText(
- iceblue, "[Hera] ",
- col, msg)
- if dosound == sound then
- local beep = Sound( "/buttons/button17.wav" )
- local beepsound = CreateSound( LocalPlayer(), beep )
- beepsound:Play()
- end
- end
- /***********************************************
- Name: Hook functions
- Purpose: Add hooks and protect from anticheats
- ************************************************/
- -- Addhook
- local function AddHook(Type,Function)
- Name = Type.." | "..math.random(1,1000),math.random(1,2000),math.random(1,3000) -- Simple hook names
- Hera.Print("[ADDED] Hook: ["..Type.."] | Name: "..Name.."")
- return old_hookadd(Type,Name,Function)
- end
- -- RemoveHook
- local function RemoveHook(Type,Function)
- Hera.Print("[REMOVED] Hook: ["..Type.."]")
- return old_hookrem(Type,Function)
- end
- /**********************************
- Name: File Shit
- Purpose: Anything relating to file.
- ***********************************/
- -- Write file
- function AddFile(Name,Data)
- Hera.Print("[WROTE] File: "..Name.."")
- return old_filewrite(Name,Data)
- end
- /**************
- Random String
- **************/
- function RandomString( len )
- local ret = ""
- for i = 1 , len do
- ret = ret .. string.char( math.random( 65 , 116 ) )
- end
- return ret
- end
- /**********************
- Name: Timer shit
- Purpose: Anything timer
- ***********************/
- function AddTimer( sec, rep, func )
- local index = RandomString( 10 )
- Hera.timers[ index ] = sec
- timer.Create( index, sec, rep, func )
- end
- /******************************************
- Name: ConCommand Shit
- Purpose: Anything related to concommands
- ********************************************/
- function AddCMD(Name,Function)
- Hera.Print("[ADDED] ConCommand: "..Name.."")
- return old_ccadd(Name,Function)
- end
- function RemoveCMD(Name)
- Hera.Print("[REMOVED] ConCommand: "..Name.."")
- return old_ccrem(Name)
- end
- /*******************************************
- Name: ConVars
- Purpose: Anything with ConVars
- ********************************************/
- -- AddConVar
- function AddConVar(convar,str,save,data)
- return CreateClientConVar("Hera_"..convar,str,true,false), Hera.Print("[ADDED] ConVar: Hera_"..convar.." ["..str.."]")
- end
- /***************************************
- Name: RunConsoleCommand shit
- Purpose: Detours, Loggers, blockers
- ****************************************/
- function RunConsoleCommand(cmd,...)
- if !table.HasValue(Hera.dontlog, cmd) then
- Hera.Print("RunConsoleCommand: "..cmd)
- Log("RunConsoleCommand: "..cmd)
- end
- if !table.HasValue(Hera.badcmds,cmd) then
- return old_rcc(cmd,...)
- else
- Hera.Notify(sound,red,"Blocked command: "..cmd)
- Log("BLOCKED COMMAND: "..cmd)
- return
- end
- end
- /**************************************
- Name: Entity Shit
- Purpose: Anything to do with entities
- ***************************************/
- -- entity finder [addent]
- function AddEnt(entclass)
- if(!table.HasValue(Hera.ents,entclass)) then
- table.insert(Hera.ents,entclass)
- Hera.Print("[ADDED] Ent: "..entclass.." to ESP")
- file.Write("Hera/ents.txt", glon.encode( Hera.ents ))
- end
- end
- -- entity finder [removeent]
- function RemoveEnt(entclass)
- for k, v in pairs(Hera.ents) do
- if(string.Trim(v) == entclass) then
- Hera.ents[k] = nil
- Hera.Print("[REMOVED] Ent: "..entclass.." from the ESP")
- end
- end
- file.Write("Hera/ents.txt", glon.encode( Hera.ents ))
- end
- -- entity finder [clear ents]
- function ClearEnts()
- Hera.ents = {}
- file.Write("Hera/ents.txt", glon.encode( Hera.ents ))
- end
- -- entity finder [IsCustomEnt()]
- function IsCustomEnt( entclass )
- return table.HasValue( Hera.ents, entclass )
- end
- /**************************
- Name: Derma shit
- Purpose: Anything Derma
- ***************************/
- function AddCheckBox( text, cvar, parent, x, y, tt )
- local checkbox = vgui.Create( "DCheckBoxLabel", parent )
- checkbox:SetPos( x, y )
- checkbox:SetText( text )
- checkbox:SetConVar( cvar )
- checkbox:SetTextColor(white)
- checkbox:SetTooltip( tt or "No Tool Tip" )
- checkbox:SizeToContents()
- end
- // AddSlider for the derma
- function AddSlider( text, cvar, parent, min, max, decimals, x, y, wide, tt )
- local slider = vgui.Create( "DNumSlider" )
- slider:SetParent( parent )
- slider:SetPos( x, y )
- slider:SetWide( wide )
- slider:SetText( text )
- --slider:SetTextColor(BLACK)
- slider:SetMin( min )
- slider:SetMax( max )
- slider:SetDecimals( decimals )
- slider:SetConVar( cvar )
- slider:SetTooltip( tt or "No Tool Tip" )
- end
- Gradient = surface.GetTextureID( "gui/gradient" )
- function DrawBox( x, y, wide, tall, dropsize )
- draw.RoundedBoxEx( 4, x, y, wide, dropsize, iceblue, true, true, false, false )
- draw.RoundedBoxEx( 4, x, y + dropsize, wide, tall - dropsize, Color( 0, 0, 0, 100 ), false, false, true, true )
- end
- /********************************************************
- Name: Hide the cheat from client
- Purpose: Don't show the where the cheat loads from, etc
- *********************************************************/
- function error(...) Hera.Notify(red,"Error in the Lua script!") end
- function Error(...) Hera.Notify(red,"Error in the Lua script!") end
- function ErrorNoHalt(...) Hera.Notify(red,"Error in the Lua script!") end
- /*************************
- Name: CreatePos
- Purpose: Create a position
- Credits: BaconBot
- ***************************/
- function CreatePos(v)
- local ply = LocalPlayer()
- local center = v:LocalToWorld( v:OBBCenter() )
- local min, max = v:OBBMins(), v:OBBMaxs()
- local dim = max - min local z = max + min
- local frt = ( v:GetForward() ) * ( dim.y / 2 )
- local rgt = ( v:GetRight() ) * ( dim.x / 2 )
- local top = ( v:GetUp() ) * ( dim.z / 2 )
- local bak = ( v:GetForward() * -1 ) * ( dim.y / 2 )
- local lft = ( v:GetRight() * -1 ) * ( dim.x / 2 )
- local btm = ( v:GetUp() * -1 ) * ( dim.z / 2 )
- local s = 1
- local FRT = center + frt / s + rgt / s + top / s; FRT = FRT:ToScreen()
- local BLB = center + bak / s + lft / s + btm / s; BLB = BLB:ToScreen()
- local FLT = center + frt / s + lft / s + top / s; FLT = FLT:ToScreen()
- local BRT = center + bak / s + rgt / s + top / s; BRT = BRT:ToScreen()
- local BLT = center + bak / s + lft / s + top / s; BLT = BLT:ToScreen()
- local FRB = center + frt / s + rgt / s + btm / s; FRB = FRB:ToScreen()
- local FLB = center + frt / s + lft / s + btm / s; FLB = FLB:ToScreen()
- local BRB = center + bak / s + rgt / s + btm / s; BRB = BRB:ToScreen()
- local z = 100
- if ( v:Health() <= 50 ) then z = 100 end
- local x, y = ( ( v:Health() / 100 ) ), 1
- if ( v:Health() <= 0 ) then x = 1 end
- local FRT3 = center + frt + rgt + top / x; FRT3 = FRT3; FRT3 = FRT3:ToScreen()
- local BLB3 = center + bak + lft + btm / x; BLB3 = BLB3; BLB3 = BLB3:ToScreen()
- local FLT3 = center + frt + lft + top / x; FLT3 = FLT3; FLT3 = FLT3:ToScreen()
- local BRT3 = center + bak + rgt + top / x; BRT3 = BRT3; BRT3 = BRT3:ToScreen()
- local BLT3 = center + bak + lft + top / x; BLT3 = BLT3; BLT3 = BLT3:ToScreen()
- local FRB3 = center + frt + rgt + btm / x; FRB3 = FRB3; FRB3 = FRB3:ToScreen()
- local FLB3 = center + frt + lft + btm / x; FLB3 = FLB3; FLB3 = FLB3:ToScreen()
- local BRB3 = center + bak + rgt + btm / x; BRB3 = BRB3; BRB3 = BRB3:ToScreen()
- local x, y, z = 1.1, 0.9, 1
- local FRT2 = center + frt / y + rgt / z + top / x; FRT2 = FRT2:ToScreen()
- local BLB2 = center + bak / y + lft / z + btm / x; BLB2 = BLB2:ToScreen()
- local FLT2 = center + frt / y + lft / z + top / x; FLT2 = FLT2:ToScreen()
- local BRT2 = center + bak / y + rgt / z + top / x; BRT2 = BRT2:ToScreen()
- local BLT2 = center + bak / y + lft / z + top / x; BLT2 = BLT2:ToScreen()
- local FRB2 = center + frt / y + rgt / z + btm / x; FRB2 = FRB2:ToScreen()
- local FLB2 = center + frt / y + lft / z + btm / x; FLB2 = FLB2:ToScreen()
- local BRB2 = center + bak / y + rgt / z + btm / x; BRB2 = BRB2:ToScreen()
- local maxX = math.max( FRT.x,BLB.x,FLT.x,BRT.x,BLT.x,FRB.x,FLB.x,BRB.x )
- local minX = math.min( FRT.x,BLB.x,FLT.x,BRT.x,BLT.x,FRB.x,FLB.x,BRB.x )
- local maxY = math.max( FRT.y,BLB.y,FLT.y,BRT.y,BLT.y,FRB.y,FLB.y,BRB.y )
- local minY = math.min( FRT.y,BLB.y,FLT.y,BRT.y,BLT.y,FRB.y,FLB.y,BRB.y )
- local minYhp2 = math.min( FRT.y,BLB.y,FLT.y,BRT.y,BLT.y,FRB.y,FLB.y,BRB.y )
- local maxXhp = math.max( FRT3.x,BLB3.x,FLT3.x,BRT3.x,BLT3.x,FRB3.x,FLB3.x,BRB3.x )
- local minXhp = math.min( FRT3.x,BLB3.x,FLT3.x,BRT3.x,BLT3.x,FRB3.x,FLB3.x,BRB3.x )
- local maxYhp = math.max( FRT3.y,BLB3.y,FLT3.y,BRT3.y,BLT3.y,FRB3.y,FLB3.y,BRB3.y )
- local minYhp = math.min( FRT3.y,BLB3.y,FLT3.y,BRT3.y,BLT3.y,FRB3.y,FLB3.y,BRB3.y )
- local maxX2 = math.max( FRT2.x,BLB2.x,FLT2.x,BRT2.x,BLT2.x,FRB2.x,FLB2.x,BRB2.x )
- local minX2 = math.min( FRT2.x,BLB2.x,FLT2.x,BRT2.x,BLT2.x,FRB2.x,FLB2.x,BRB2.x )
- local maxY2 = math.max( FRT2.y,BLB2.y,FLT2.y,BRT2.y,BLT2.y,FRB2.y,FLB2.y,BRB2.y )
- local minY2 = math.min( FRT2.y,BLB2.y,FLT2.y,BRT2.y,BLT2.y,FRB2.y,FLB2.y,BRB2.y )
- return maxX, minX, maxY, minY, maxX2, minX2, maxY2, minY2, minYhp, maxYhp
- end
- /*************************************
- Name: PlayerVisible
- Purpose: Check if a player is visible
- *************************************/
- local function CanSee(ply)
- local trace = {start = LocalPlayer():GetShootPos(),endpos = {}}
- local tr = util.TraceLine(trace)
- if tr.Fraction == 1 then
- return true
- else
- return false
- end
- end
- /**********************************
- Name: GetColors
- Purpose: Make a cool color!
- ***********************************/
- local function GetColorCrosshair()
- if LocalPlayer():GetEyeTrace().Entity:IsPlayer() then
- return 0,255,0,255
- end
- if LocalPlayer():GetEyeTrace().Entity:IsNPC() then
- return 0,0,255,255
- end
- return team.GetColor(LocalPlayer():Team())
- end
- local function GetColorVisible(e)
- if CanSee(e) then
- return 0,255,0,255
- end
- if !CanSee(e) then
- return 255,0,0,255
- end
- end
- /**************************************
- Name: Number shit
- Purpose: Format number, round number, etc
- **************************************/
- function CommaValue(amount)
- local formatted = amount
- while true do
- formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2')
- if (k==0) then
- break
- end
- end
- return formatted
- end
- function RoundNum(val, decimal)
- if (decimal) then
- return math.floor( (val * 10^decimal) + 0.5) / (10^decimal)
- else
- return math.floor(val+0.5)
- end
- end
- function FormatNum(amount, decimal, prefix, neg_prefix)
- local str_amount, formatted, famount, remain
- decimal = decimal or 2
- neg_prefix = neg_prefix or "-"
- famount = math.abs(RoundNum(amount,decimal))
- famount = math.floor(famount)
- remain = RoundNum(math.abs(amount) - famount, decimal)
- formatted = CommaValue(famount)
- if (decimal > 0) then
- remain = string.sub(tostring(remain),3)
- formatted = formatted .. "." .. remain .. string.rep("0", decimal - string.len(remain))
- end
- formatted = (prefix or "") .. formatted
- if (amount<0) then
- if (neg_prefix=="()") then
- formatted = "("..formatted ..")"
- else
- formatted = neg_prefix .. formatted
- end
- end
- return formatted
- end
- function ConvertTime(sSeconds)
- local nSeconds = tonumber(sSeconds)
- if nSeconds <= 0 then
- return 0;
- else
- local nHours = string.format("%02.f", math.floor(nSeconds/3600));
- local nMins = string.format("%02.f", math.floor(nSeconds/60 - (nHours*60)));
- local nSecs = string.format("%02.f", math.floor(nSeconds - nHours*3600 - nMins *60));
- if tonumber( nHours ) > 0 then
- return nHours..":"..nMins..":"..nSecs
- elseif tonumber( nMins ) > 0 and tonumber( nHours ) == 0 then
- return nMins..":"..nSecs
- elseif tonumber( nSecs ) > 0 and tonumber( nMins ) == 0 then
- return nMins..":"..nSecs
- end
- end
- end
- /**********************
- Name: DrawText
- Purpose: Draws text...
- **********************/
- function Hera.DrawText( text, font, x, y, colour, xalign, yalign )
- if (font == nil) then font = "Default" end
- if (x == nil) then x = 0 end
- if (y == nil) then y = 0 end
- local curX = x
- local curY = y
- local curString = ""
- surface.SetFont(font)
- local sizeX, lineHeight = surface.GetTextSize("\n")
- for i=1, string.len(text) do
- local ch = string.sub(text,i,i)
- if (ch == "\n") then
- if (string.len(curString) > 0) then
- draw.SimpleText(curString, font, curX, curY, colour, xalign, yalign)
- end
- curY = curY + (lineHeight/2)
- curX = x
- curString = ""
- elseif (ch == "\t") then
- if (string.len(curString) > 0) then
- draw.SimpleText(curString, font, curX, curY, colour, xalign, yalign)
- end
- local tmpSizeX,tmpSizeY = surface.GetTextSize(curString)
- curX = math.ceil( (curX + tmpSizeX) / 50 ) * 50
- curString = ""
- else
- curString = curString .. ch
- end
- end
- if (string.len(curString) > 0) then
- draw.SimpleText(curString, font, curX, curY, colour, xalign, yalign)
- end
- end
- local function FillRGBA(x,y,w,h,col)
- surface.SetDrawColor( col.r, col.g, col.b, col.a );
- surface.DrawRect( x, y, w, h );
- end
- local function OutlineRGBA(x,y,w,h,col)
- surface.SetDrawColor( col.r, col.g, col.b, col.a );
- surface.DrawOutlinedRect( x, y, w, h );
- end
- /*********************
- Name: IsVehicle
- Purpose: Find vehicles
- *********************/
- function Hera.IsVehicle( e )
- local ply = LocalPlayer()
- if ( string.find( e:GetClass(), "prop_vehicle_" ) && ply:GetMoveType() ~= 0 ) then
- return true
- end
- return false
- end
- /***************************
- Name: SetColors
- Purpose: Set Colors
- ****************************/
- function SetColors(e)
- local ply, class, model = LocalPlayer(), e:GetClass(), e:GetModel()
- local col
- if ( e:IsPlayer() ) then
- col = Color(0,255,0,255)
- elseif ( e:IsNPC() ) then
- col = Color( 255, 0, 0, 20 )
- elseif IsCustomEnt( e:GetClass() ) then
- col = Color( 0, 200, 255, 50 )
- else
- col = Color( 255, 255, 255, 255 )
- end
- return col
- end
- /******************************
- Name: Get Admin Type
- Purpose: Get Admin Type..
- *******************************/
- local function GetAdminType(e)
- if e:IsAdmin() && !e:IsSuperAdmin() then
- return " [A] "
- elseif( e:IsSuperAdmin() ) then
- return " [SA] "
- end
- return " "
- end
- function CheckUpdate()
- Hera.Notify(black,"Checking version.")
- http.Fetch("drapbax.cam/fack.txt", function(body, len, headers, code)
- if body == Hera.version then
- Hera.Notify(sound,green,"Your version of Hera is up to date!")
- else
- Hera.Notify(sound,red,"Your version of Hera is outdated! Please updated to version "..body)
- end
- end)
- end
- CheckUpdate()
- /*******************************************
- Name: Anti-Cheat bypasses
- Purpose: Bypass shitty LUA anti-cheats
- ********************************************/
- Hera.Print("[Anti-Cheat] Detected by: Cherry's AC (Working on a bypass method)")
- Hera.Print("[Anti-Cheat] Detected by: LIFEPUNCH Anti-Cheat")
- Hera.Print("[Anti-Cheat] Will bypass: SourceMod Anti-Cheat") -- SHOULD bypass by default, haven't got any problems yet.
- /****************************
- Name: Create ConVars
- Purpose: Create ConVars..
- *****************************/
- AddConVar("ESP_Info",0)
- AddConVar("ESP_Box",0)
- AddConVar("ESP_HPBar",0)
- AddConVar("ESP_Skeleton",0)
- AddConVar("ESP_Tracer",0)
- AddConVar("ESP_Crosshair",0)
- AddConVar("ESP_Chams",0)
- AddConVar("ESP_Chams_Material","Solid")
- AddConVar("ESP_Ents",0)
- AddConVar("ESP_Distance",1000)
- AddConVar("ESP_Info_Type","info")
- AddConVar("ESP_Radar",0)
- AddConVar("MISC_Bunnyhop",0)
- AddConVar("MISC_TTT",0)
- AddConVar("MISC_ChatSpam",0)
- AddConVar("MISC_ChatSpam_Msg","visit www.sethhack.seth.im.me.co.cc.net.org.dk.uk.com.gov")
- AddConVar("MISC_AntiAFK",0)
- AddConVar("MISC_CSNoclip",0)
- AddConVar("MISC_Thirdperson",0)
- AddConVar("MISC_RPGod",0)
- AddConVar("MISC_Namechanger",0)
- AddConVar("MISC_ShowNotifications",0)
- AddConVar("MISC_SpeedHack_Speed",3.5)
- AddConVar("MISC_ShowSpec",0)
- AddConVar("MISC_ShowAdmins",0)
- AddConVar("MISC_Thirdperson_dist",200)
- AddConVar("MISC_Flashlight",0)
- AddConVar("PERP_Fuel",0)
- AddConVar("PERP_Druggy",0)
- AddConVar("PERP_Weed",0)
- AddConVar("PERP_RPNames",0)
- AddConVar("PERP_PlayerInfo",0)
- AddConVar("AIM_Friendly",0)
- AddConVar("AIM_Steam",0)
- AddConVar("AIM_Admins",0)
- AddConVar("AIM_Auto",0)
- AddConVar("AIM_NoRecoil",0)
- AddConVar("AIM_Offset",0)
- AddConVar("AIM_AimSpot","Eye")
- AddConVar("AIM_Trigger",0)
- AddConVar("AIM_Silent",0)
- AddConVar("AIM_SH",0)
- AddConVar("AIM_Anti",0)
- AddConVar("AIM_Spin",0)
- AddConVar("AIM_AntiAA",0)
- AddConVar("AIM_AntiSnap",0)
- AddConVar("AIM_AntiSnap_Speed",5)
- AddConVar("AIM_Fov",180)
- AddConVar("AIM_Reload",0)
- /***********************************
- concommands to find entities and shit
- **************************************/
- AddCMD("_ents",function()
- PrintTable(ents.GetAll())
- end)
- AddCMD("_players",function()
- PrintTable(player.GetAll())
- end)
- /**********************
- Set some ConVars to 0
- **********************/
- old_rcc("Hera_PERP_Fuel","0")
- old_rcc("Hera_PERP_Druggy","0")
- old_rcc("Hera_PERP_Weed","0")
- old_rcc("Hera_PERP_RPNames","0")
- old_rcc("Hera_PERP_PlayerInfo","0")
- old_rcc("Hera_MISC_ChatSpam","0")
- old_rcc("Hera_ESP_Tracer","0")
- /*******************
- Start of cheat
- *******************/
- --[[
- CHAMS
- ]]--
- -- distance check
- function IsCloseEnough(ent)
- local dist = ent:GetPos():Distance( LocalPlayer():GetPos() )
- if( dist <= GetConVarNumber("Hera_ESP_Distance") and ent:GetPos() != Vector( 0, 0, 0 ) ) then
- return true
- end
- return false
- end
- function Chams()
- local mat = Hera:CreateMaterial()
- if GetConVarNumber("Hera_ESP_Chams") == 1 then
- for k,v in pairs(player.GetAll()) do
- local TCol = team.GetColor(v:Team())
- if IsValid(v) and v:Health() > 0 and v:Team() != TEAM_SPECTATOR and IsCloseEnough(v) then
- //Players
- cam.Start3D(EyePos(),EyeAngles())
- render.SuppressEngineLighting( true )
- render.SetColorModulation( ( TCol.r * ( 1 / 255 ) ), ( TCol.g * ( 1 / 255 ) ), ( TCol.b * ( 1 / 255 ) ) )
- render.MaterialOverride( mat )
- v:DrawModel()
- render.SuppressEngineLighting( false )
- render.SetColorModulation(1,1,1)
- render.MaterialOverride( )
- v:DrawModel()
- cam.End3D()
- end
- end
- end
- end
- local IsLock = false;
- --[[
- ESP
- ]]--
- function ESP()
- for k, e in pairs( player.GetAll() ) do
- local TeamColor = team.GetColor(e:Team())
- local HPColor = Color(255,255,255,255)
- local Dist = e:GetPos():Distance(LocalPlayer():GetPos());
- local wep = "Unknown"
- local SteamID = e:SteamID()
- local Name = e:Nick()
- local hvhpos = ( e:GetPos() + Vector( 0, 0, 130 ) ):ToScreen();
- if GetConVarNumber("Hera_PERP_RPNames") == 1 then
- Name = e:GetRPName()
- else
- Name = e:Nick()
- end
- local maxX, minX, maxY, minY, maxX2, minX2, maxY2, minY2, minYhp, maxYhp = CreatePos( e )
- -- This is bad
- if e:Health() >= 90 then HPColor = Color(0,255,0,255)
- elseif e:Health() >= 70 then HPColor = Color(255,255,0,255)
- elseif e:Health() >= 50 then HPColor = Color(255,165,0,255)
- elseif e:Health() >= 30 then HPColor = Color(255,140,0,255)
- elseif e:Health() >= 20 then HPCOlor = Color(255,69,0,255)
- elseif e:Health() >= 10 then HPColor = Color(255,0,0,255)
- else HPColor = Color(255,0,0,255)
- end
- draw.SimpleTextOutlined("Hera v4","Logo",1285,15,Color(255,255,255,255),4,1,1,black)
- if ( e:IsPlayer() && e:Alive() && e != LocalPlayer() && IsCloseEnough(e) ) then
- if e:GetActiveWeapon() != nil then
- if type(e:GetActiveWeapon()) == "Weapon" then
- if e:GetActiveWeapon() and e:GetActiveWeapon():IsValid() then
- wep = e:GetActiveWeapon():GetPrintName()
- -- ESP INFO
- if (GetConVarNumber("Hera_ESP_Info") == 1 && GetConVarString("Hera_ESP_Info_Type") == "info") then
- draw.SimpleTextOutlined( Name..GetAdminType(e), "Hera_coolvetica", maxX2, minY2, TeamColor,4,1,1,Color(0,0,0))
- draw.SimpleTextOutlined( "H: " .. e:Health(), "ESPFont_Small", maxX2, minY2 + 10, HPColor, 4,1, 1, black )
- draw.SimpleTextOutlined( "D: " .. math.floor(Dist), "ESPFont_Small", maxX2, minY2 + 20, iceblue, 4, 1, 1, black )
- draw.SimpleTextOutlined( "W: " .. wep, "ESPFont_Small", maxX2, minY2 + 30, iceblue, 4, 1, 1, black)
- if e:GetFriendStatus() == "friend" then
- draw.SimpleTextOutlined( "[Friend]", "ESPFont_Small", maxX2, minY2 - 10, iceblue, 4, 1,1,black)
- end
- if e:IsAdmin() then
- draw.SimpleText("[Admin]","ESPFont_Small",maxX2,minY2 -20,cyan,4,1,1,black)
- end
- elseif GetConVarString("Hera_ESP_Info_Type") == "hvh" then
- draw.SimpleTextOutlined(e:Nick().." ["..e:Health().."]","Default",hvhpos.x,hvhpos.y,TeamColor,4,.5,.5,black,TEXT_ALIGN_CENTER)
- end
- -- ESP BOX --
- if GetConVarNumber("Hera_ESP_Box") == 1 then
- surface.SetDrawColor(0,0,255,255)
- surface.DrawLine( maxX, maxY, maxX, minY )
- surface.DrawLine( maxX, minY, minX, minY )
- surface.DrawLine( minX, minY, minX, maxY )
- surface.DrawLine( minX, maxY, maxX, maxY )
- end
- -- ESP SKELETON --
- local bones = {
- { S = "ValveBiped.Bip01_Head1", E = "ValveBiped.Bip01_Neck1" },
- { S = "ValveBiped.Bip01_Neck1", E = "ValveBiped.Bip01_Spine4" },
- { S = "ValveBiped.Bip01_Spine4", E = "ValveBiped.Bip01_Spine2" },
- { S = "ValveBiped.Bip01_Spine2", E = "ValveBiped.Bip01_Spine1" },
- { S = "ValveBiped.Bip01_Spine1", E = "ValveBiped.Bip01_Spine" },
- { S = "ValveBiped.Bip01_Spine", E = "ValveBiped.Bip01_Pelvis" },
- { S = "ValveBiped.Bip01_Spine4", E = "ValveBiped.Bip01_L_UpperArm" },
- { S = "ValveBiped.Bip01_L_UpperArm", E = "ValveBiped.Bip01_L_Forearm" },
- { S = "ValveBiped.Bip01_L_Forearm", E = "ValveBiped.Bip01_L_Hand" },
- { S = "ValveBiped.Bip01_Spine4", E = "ValveBiped.Bip01_R_UpperArm" },
- { S = "ValveBiped.Bip01_R_UpperArm", E = "ValveBiped.Bip01_R_Forearm" },
- { S = "ValveBiped.Bip01_R_Forearm", E = "ValveBiped.Bip01_R_Hand" },
- { S = "ValveBiped.Bip01_Pelvis", E = "ValveBiped.Bip01_L_Thigh" },
- { S = "ValveBiped.Bip01_L_Thigh", E = "ValveBiped.Bip01_L_Calf" },
- { S = "ValveBiped.Bip01_L_Calf", E = "ValveBiped.Bip01_L_Foot" },
- { S = "ValveBiped.Bip01_L_Foot", E = "ValveBiped.Bip01_L_Toe0" },
- { S = "ValveBiped.Bip01_Pelvis", E = "ValveBiped.Bip01_R_Thigh" },
- { S = "ValveBiped.Bip01_R_Thigh", E = "ValveBiped.Bip01_R_Calf" },
- { S = "ValveBiped.Bip01_R_Calf", E = "ValveBiped.Bip01_R_Foot" },
- { S = "ValveBiped.Bip01_R_Foot", E = "ValveBiped.Bip01_R_Toe0" },
- }
- if GetConVarNumber("Hera_ESP_Skeleton") == 1 then
- for k, v in pairs( bones ) do
- local sPos, ePos = e:GetBonePosition( e:LookupBone( v.S ) ):ToScreen(), e:GetBonePosition( e:LookupBone( v.E ) ):ToScreen()
- if e:IsPlayer() and !e:IsNPC() then
- surface.SetDrawColor(team.GetColor(e:Team()))
- end
- surface.DrawLine(sPos.x,sPos.y,ePos.x,ePos.y)
- end
- end
- -- ESP TRACER --
- if GetConVarNumber("Hera_ESP_Tracer") == 1 then
- cam.Start3D( EyePos() , EyeAngles())
- render.SetMaterial( Material( "trails/laser" ) )
- StartPos = LocalPlayer():GetActiveWeapon():GetPos()
- EndPos = e:GetBonePosition(e:LookupBone("ValveBiped.Bip01_Head1"))
- render.DrawBeam(StartPos, EndPos , 3, 0, 0, Color(0,255,0,255))
- cam.End3D()
- end
- -- ESP CROSSHAIR --
- if GetConVarNumber("Hera_ESP_Crosshair") == 1 then
- local x, y = ScrW() / 2, ScrH() / 2
- local Speed = 1
- surface.SetDrawColor(GetColorCrosshair())
- CHPosx = math.Clamp(LocalPlayer():GetEyeTrace().HitPos:ToScreen().x,0,ScrW())
- CHPosy = math.Clamp(LocalPlayer():GetEyeTrace().HitPos:ToScreen().y,0,ScrH())
- mathsin = math.sin(CurTime()*Speed)*4
- mathcos = math.cos(CurTime()*Speed)*4
- mathsin2 = math.sin(CurTime()*Speed+0.1)*4
- mathcos2 = math.cos(CurTime()*Speed+0.1)*4
- mathsin3 = math.sin(CurTime()*Speed-0.1)*4
- mathcos3 = math.cos(CurTime()*Speed-0.1)*4
- surface.DrawLine( CHPosx+mathcos*2,CHPosy+mathsin*2,CHPosx+mathcos*5,CHPosy+mathsin*5 );
- surface.DrawLine( CHPosx-mathcos*2,CHPosy-mathsin*2,CHPosx-mathcos*5,CHPosy-mathsin*5 );
- surface.DrawLine( CHPosx+mathsin*2,CHPosy-mathcos*2,CHPosx+mathsin*5,CHPosy-mathcos*5 );
- surface.DrawLine( CHPosx-mathsin*2,CHPosy+mathcos*2,CHPosx-mathsin*5,CHPosy+mathcos*5 );
- end
- end
- end
- end
- end
- end
- for _, v in ipairs( ents.GetAll() ) do
- if( v:IsValid() and IsCustomEnt( v:GetClass() )) then
- if GetConVarNumber("Hera_ESP_Ents") == 1 then
- local wepn = v:GetClass()
- local wname = string.Replace(wepn,"weapon_","")
- wname = string.Replace(wname,"_"," ")
- wname = string.upper(wname)
- local entpos = v:GetPos():ToScreen()
- draw.SimpleTextOutlined(wname, "ESPFont_Small", entpos.x + 50, entpos.y - 15, color_white, TEXT_ALIGN_CENTER, TEXT_ALIGN_LEFT, .6, black )
- surface.SetDrawColor(255,0,255,255)
- surface.DrawLine(entpos.x,entpos.y,entpos.x,entpos.y-10)
- surface.DrawLine(entpos.x,entpos.y,entpos.x+10,entpos.y)
- end
- end
- end
- end
- /************
- Radar
- NOTES: removed for now, re-making.
- ************/
- /*
- function DoChecksRadar( e )
- local ply, val = LocalPlayer(), 0
- if ( e:IsPlayer() && e:GetMoveType() == MOVETYPE_OBSERVER ) then return false end
- if ( !e:IsValid() || !e:IsPlayer() && !e:IsNPC() || e == ply ) then return false end
- if ( e:IsPlayer() && !e:Alive() ) then return false end
- if ( e:IsNPC() && e:GetMoveType() == 0 ) then return false end
- if ( e:IsWeapon() && e:GetMoveType() == 0 ) then return false end
- return true
- end
- local RRadar
- function Radar()
- if GetConVarNumber("Hera_ESP_Radar") == 1 then
- local Radar = vgui.Create( "DFrame" )
- Radar:SetSize( 250, 250 )
- local rW, rH, x, y = Radar:GetWide(), Radar:GetTall(), ScrW() / 2, ScrH() / 2
- local sW, sH = ScrW(), ScrH()
- Radar:SetPos( sW - rW - 0.1, sH - rH - ( sH - rH ) + 30 )
- Radar:SetTitle( "[Hera] Radar" )
- Radar:SetVisible( true )
- Radar:SetDraggable( true )
- Radar:ShowCloseButton( false )
- Radar:MakePopup()
- Radar.Paint = function()
- draw.RoundedBox( 2, 0, 0, rW, rH, Color( 0, 0, 0, 100 ) )
- surface.SetDrawColor( 255, 255, 255, 255 )
- local ply = LocalPlayer()
- local radar = {}
- radar.h = 250
- radar.w = 250
- radar.org = 5000
- local x, y = ScrW() / 2, ScrH() / 2
- local half = rH / 2
- local xm = half
- local ym = half
- surface.DrawLine( xm, ym - 100, xm, ym + 100 )
- surface.DrawLine( xm - 100, ym, xm + 100, ym )
- for k, e in pairs( ents.GetAll() ) do
- if ( DoChecksRadar(e) ) then
- local s = 6
- local col = SetColors(e)
- local color = Color( col.r, col.g, col.b, 255 )
- local plyfov = ply:GetFOV() / ( 70 / 1.13 )
- local zpos, npos = ply:GetPos().z - ( e:GetPos().z ), ( ply:GetPos() - e:GetPos() )
- npos:Rotate( Angle( 180, ( ply:EyeAngles().y ) * -1, -180 ) )
- local iY = npos.y * ( radar.h / ( ( radar.org * ( plyfov * ( ScrW() / ScrH() ) ) ) + zpos * ( plyfov * (ScrW() / ScrH() ) ) ) )
- local iX = npos.x * ( radar.w / ( ( radar.org * ( plyfov * ( ScrW() / ScrH() ) ) ) + zpos * ( plyfov * (ScrW() / ScrH() ) ) ) )
- local pX = ( radar.w / 2 )
- local pY = ( radar.h / 2 )
- local posX = pX - iY - ( s / 2 )
- local posY = pY - iX - ( s / 2 )
- local text = e:GetClass()
- if ( e:IsPlayer() ) then
- text = e:Nick() .. " ["..e:Health().."]"
- elseif ( e:IsNPC() ) then
- text = ""
- elseif (IsCustomEnt(e:GetClass())) then
- text = "Item"
- end
- if iX < ( radar.h / 2 ) && iY < ( radar.w / 2 ) && iX > ( -radar.h / 2 ) && iY > ( -radar.w / 2 ) then
- draw.RoundedBox( s, posX, posY, s, s, color )
- Hera.DrawText(
- text,
- "DefaultSmall",
- pX - iY - 4,
- pY - iX - 15 - ( s / 2 ),
- color,
- 1,
- TEXT_ALIGN_TOP
- )
- end
- end
- end
- end
- Radar:SetMouseInputEnabled( false )
- Radar:SetKeyboardInputEnabled( false )
- RRadar = Radar
- end
- end
- Radar()
- */
- /**************************
- NOTIFICATIONS!
- YES, Bringing them back.
- **************************/
- function Notifications()
- local NotifPos = 5
- if GetConVarNumber("Hera_MISC_ShowNotifications") == 1 then
- draw.RoundedBox( 8, -10, 0, 10000, 30, Color(0,0,0,100))
- if ShouldAim == 1 then
- draw.SimpleText("| Aimbot: ON", "Logo", 0,NotifPos, Color(0,255,0,255))
- else
- draw.SimpleText("| Aimbot: OFF", "Logo", 0, NotifPos, Color(255,0,0,255))
- end
- if GetConVarNumber("Hera_AIM_Auto") == 1 then
- draw.SimpleText("| Autoshoot: ON", "Logo", 100,NotifPos, Color(0,255,0,255))
- else
- draw.SimpleText("| Autoshoot: OFF", "Logo", 100, NotifPos, Color(255,0,0,255))
- end
- if GetConVarNumber("Hera_AIM_Trigger") == 1 then
- draw.SimpleText("| TriggerBot: ON", "Logo", 220,NotifPos, Color(0,255,0,255))
- else
- draw.SimpleText("| TriggerBot: OFF", "Logo", 220, NotifPos, Color(255,0,0,255))
- end
- if GetConVarNumber("Hera_AIM_NoRecoil") == 1 then
- draw.SimpleText("| No Recoil: ON", "Logo", 340,NotifPos, Color(0,255,0,255))
- else
- draw.SimpleText("| No Recoil: OFF", "Logo", 340,NotifPos, Color(255,0,0,255))
- end
- if GetConVarNumber("Hera_AIM_Admins") == 1 then
- draw.SimpleText("| Target Admins: ON", "Logo", 450,NotifPos, Color(0,255,0,255))
- else
- draw.SimpleText("| Target Admins: OFF", "Logo", 450,NotifPos, Color(255,0,0,255))
- end
- if GetConVarNumber("Hera_AIM_Friendly") == 1 then
- draw.SimpleText("| Friendly Fire: ON", "Logo", 590,NotifPos, Color(0,255,0,255))
- else
- draw.SimpleText("| Friendly Fire: OFF", "Logo", 590,NotifPos, Color(255,0,0,255))
- end
- if GetConVarNumber("Hera_AIM_Steam") == 1 then
- draw.SimpleText("| Target Steam Friends: ON", "Logo", 720,NotifPos, Color(0,255,0,255))
- else
- draw.SimpleText("| Target Steam Friends: OFF", "Logo", 720, NotifPos, Color(255,0,0,255))
- end
- if GetConVarNumber("host_timescale") >= 1.1 then
- draw.SimpleText("| SpeedHack: ON", "Logo", 910,NotifPos, Color(0,255,0,255))
- else
- draw.SimpleText("| SpeedHack: OFF", "Logo", 910, NotifPos, Color(255,0,0,255))
- end
- end
- end
- /*****************************************
- Name: Aimbot/Aim functions
- Purpose: Aim for you, because you suck
- Credits: isis
- *******************************************/
- local Tb = table.Copy( file )
- local Tbs = table.Copy( string )
- local Uw = {}
- local Mw = {}
- local function PlyPos( ply )
- local min = ply:OBBMins()
- local max = ply:OBBMaxs()
- local Spots = {
- Vector( min.x, min.y, min.z ),
- Vector( min.x, min.y, max.z ),
- Vector( min.x, max.y, min.z ),
- Vector( min.x, max.y, max.z ),
- Vector( max.x, min.y, min.z ),
- Vector( max.x, min.y, max.z ),
- Vector( max.x, max.y, min.z ),
- Vector( max.x, max.y, max.z )
- }
- local minX = ScrW() * 2
- local minY = ScrH() * 2
- local maxX = 0
- local maxY = 0
- for k,v in pairs( Spots ) do
- local ToScreen = ply:LocalToWorld( v ):ToScreen()
- minX = math.min( minX, ToScreen.x )
- minY = math.min( minY, ToScreen.y )
- maxX = math.max( maxX, ToScreen.x )
- maxY = math.max( maxY, ToScreen.y )
- end
- return minX, minY, maxX, maxY
- end
- AddCMD("+Hera_Aim",function()
- Aimon = 1
- end)
- AddCMD("-Hera_Aim",function()
- Aimon = 0
- IsLock = false
- end)
- local function AimSpot(targ)
- if GetConVarString("Hera_AIM_AimSpot") == "Eye" then
- local eye = targ:LookupAttachment("eyes")
- if eye then
- local pos = targ:GetAttachment(eye)
- if pos then return pos.Pos end
- end
- end
- if GetConVarString("Hera_AIM_AimSpot") == "Bone" then
- local bone = targ:LookupBone("ValveBiped.Bip01_Head1")
- if bone then
- local pos = targ:GetBonePosition(bone)
- if pos then return pos end
- end
- end
- if GetConVarString("Hera_AIM_AimSpot") == "Center" then
- local center = targ:OBBCenter()
- if center then
- local pos = targ:LocalToWorld(center)
- if pos then return pos end
- end
- end
- return targ:LocalToWorld(targ:OBBCenter())
- end
- local function Exception(ent)
- if (ent == LocalPlayer()) then return false end
- if (ent:Team() == TEAM_SPECTATOR) then return false end
- if (ent:GetMoveType() == MOVETYPE_OBSERVER) then return false end
- if (!ent:Alive() ) then return false end
- if (ent:InVehicle()) then return false end
- if (GetConVarNumber("Hera_AIM_Friendly") == 0 && ent:Team() == LocalPlayer():Team()) then return false end
- if (GetConVarNumber("Hera_AIM_Steam") == 0 && ent:GetFriendStatus() == "friend" ) then return false end
- return true
- end
- local function Visible(ply)
- local tracedata = {}
- tracedata.start = LocalPlayer():GetShootPos()
- tracedata.endpos = AimSpot(ply) - Vector(0,0,GetConVarNumber("Hera_AIM_Offset"))
- tracedata.mask = MASK_SHOT
- tracedata.filter = {ply , LocalPlayer()}
- Trace = util.TraceLine(tracedata)
- if Trace.Hit then return false else return true end
- end
- function InFov( ent )
- local fov = GetConVarNumber("Hera_AIM_Fov")
- if( fov != 180 ) then
- local lpang = LocalPlayer():GetAngles()
- local ang = ( ent:GetBonePosition( ent:LookupBone("ValveBiped.Bip01_Head1") ) - LocalPlayer():EyePos() ):Angle()
- local ady = math.abs( math.NormalizeAngle( lpang.y - ang.y ) )
- local adp = math.abs( math.NormalizeAngle( lpang.p - ang.p ) )
- if( ady > fov || adp > fov ) then return false end
- end
- return true
- end
- local LastReload = 0
- local dontreload = {"weapon_physgun" , "gmod_tool" , "weapon_gravgun"}
- function AutoReload()
- if (GetConVarNumber("Hera_AIM_Reload") == 1 and LocalPlayer():Alive() and IsValid( LocalPlayer():GetActiveWeapon() ) and !table.HasValue( dontreload, LocalPlayer():GetActiveWeapon():GetClass() ) ) then
- if( LocalPlayer():GetActiveWeapon():Clip1() <= 0 and CurTime() > ( LastReload + 5 ) ) then
- old_rcc( "+reload" )
- LastReload = CurTime()
- AddTimer( .2, 1, function()
- old_rcc( "-reload" )
- end )
- end
- end
- end
- local function Aimbot(ucmd)
- local asspeed = GetConVarNumber("Hera_AIM_AntiSnap_Speed") / 10
- if Aimon == 1 then
- local ArchAngel = Angle(0,0,0)
- local target;
- local distance = math.huge;
- for _, ply in pairs(player.GetAll()) do
- if (ply != LocalPlayer() and ply:Alive() and Visible(ply) and Exception(ply)) and InFov(ply) then
- local thedist = ply:GetPos():DistToSqr(LocalPlayer():GetPos());
- if (thedist < distance) then
- distance = thedist;
- target = ply;
- end
- end
- end
- if target != nil then
- local Aimspot = AimSpot(target) - Vector(0,0,GetConVarNumber("Hera_AIM_Offset"))
- Aimspot = Aimspot + target:GetVelocity() / 45 - LocalPlayer():GetVelocity() / 45
- Angel = (Aimspot - LocalPlayer():GetShootPos()):GetNormal():Angle()
- Angel.p = math.NormalizeAngle( Angel.p )
- Angel.y = math.NormalizeAngle( Angel.y )
- if GetConVarNumber("Hera_AIM_AntiSnap") == 1 then
- Angle1 = LocalPlayer():EyeAngles()
- local Smooth1 = math.Approach(Angle1.p, Angel.p, asspeed)
- local Smooth2 = math.Approach(Angle1.y , Angel.y, asspeed)
- ArchAngel = Angle (Smooth1, Smooth2, 0)
- else
- ArchAngel = Angle( Angel.p, Angel.y, 0 )
- end
- debug.getregistry()["CUserCmd"].SetViewAngles(ucmd, ArchAngel)
- IsLock = 1
- if GetConVarNumber("Hera_AIM_Auto") == 1 then
- ucmd:SetButtons(bit.bor(ucmd:GetButtons(),IN_ATTACK))
- end
- if GetConVarNumber("Hera_AIM_SH") == 1 then
- ucmd:SetButtons(bit.bor(ucmd:GetButtons(),IN_ATTACK2))
- end
- end
- end
- end
- /**************************
- Name: Anti-Aim
- Purpose: HVH feature
- **************************/
- AddHook("CreateMove",function(cmd, u)
- if GetConVarNumber("Hera_AIM_Anti") == 1 then
- if (LocalPlayer():KeyDown(IN_ATTACK)) then return end
- local aa = cmd:GetViewAngles()
- cmd:SetViewAngles(Angle(-181, aa.y, 180))
- end
- end)
- /*************************
- Name: SpinBot
- Purpose: Spin, dumbass
- *************************/
- /******************************
- Name: SILENT AIM
- Purpose: FAKE AIM VIEW
- ******************************/
- -- make me
- /****************************
- Name: Misc
- Purpose: Misc features
- *****************************/
- function NameChanger()
- if GetConVarNumber("Hera_MISC_Namechanger") == 1 then
- AddTimer( 1, 1, function()
- print("fuck you")
- end )
- end
- end
- function Misc()
- if GetConVarNumber("Hera_MISC_BunnyHop") == 1 then
- if input.IsKeyDown(KEY_SPACE) then
- if LocalPlayer():IsOnGround() then
- old_rcc("+Jump")
- timer.Create("Bhop",0.01, 0 ,function() old_rcc("-Jump") end)
- end
- end
- end
- if GetConVarNumber("Hera_AIM_NoRecoil") == 1 then
- if LocalPlayer():GetActiveWeapon().Primary then
- LocalPlayer():GetActiveWeapon().Primary.Recoil = 0
- end
- end
- if GetConVarNumber("Hera_MISC_ChatSpam") == 1 then
- LocalPlayer():ConCommand("say "..GetConVarString("Hera_MISC_ChatSpam_Msg").."["..math.random(1,999).."]")
- end
- if GetConVarNumber("Hera_MISC_RPGod") == 1 then
- if LocalPlayer():Health() < 100 then
- LocalPlayer():ConCommand("say /buyhealth"); -- spam buyhealth
- end
- end
- if GetConVarNumber("Hera_MISC_Flashlight") == 1 then
- old_rcc("impulse","100")
- end
- end
- AddHook("CalcView",function(ply, pos, angles, fov)
- if GetConVarNumber("Hera_MISC_Thirdperson") == 1 and LocalPlayer():Alive() then
- local view = {}
- view.origin = pos-(angles:Forward()*GetConVarNumber("Hera_MISC_Thirdperson_Dist"))
- view.angles = angles
- view.fov = fov
- return view
- end
- end)
- AddHook("ShouldDrawLocalPlayer",function()
- if GetConVarNumber("Hera_MISC_Thirdperson") == 1 then
- return true
- end
- end)
- function ShowNotifi()
- -- now spectating
- for k, v in pairs(player.GetAll()) do
- if (IsValid(v:GetObserverTarget()) and v:GetObserverTarget():IsPlayer() and v:GetObserverTarget() == LocalPlayer()) then
- if(not table.HasValue(Hera.spectators, v)) then
- table.insert(Hera.spectators, v);
- if GetConVarNumber("Hera_MISC_ShowSpec") == 1 then
- Hera.Notify(true,red,""..v:Nick().." is now spectating you!")
- surface.PlaySound("buttons/blip1.wav")
- end
- end
- end
- end
- -- no longer spectating
- for k, v in pairs(Hera.spectators) do
- if (not IsValid(v) or not IsValid(v:GetObserverTarget()) or not v:GetObserverTarget():IsPlayer() or (v:GetObserverTarget() ~= LocalPlayer())) then
- table.remove(Hera.spectators, k);
- if GetConVarNumber("Hera_MISC_ShowSpec") == 1 then
- Hera.Notify(true,green,""..v:Nick().." is no longer spectating you!")
- end
- end
- end
- -- admin join
- if GetConVarNumber("Hera_MISC_ShowAdmins") == 1 then
- for k, v in pairs(player.GetAll()) do
- if (v:IsAdmin() and not table.HasValue(Hera.admins, v)) then
- table.insert(Hera.admins, v);
- Hera.Notify(true,white,"Admin " .. v:Nick() .. " has joined!")
- surface.PlaySound("buttons/blip1.wav");
- end
- end
- end
- end
- local commands = { "forward" , "back" , "jump" , "moveleft" , "moveright", "duck" }
- function AntiAfk()
- if GetConVarNumber("Hera_MISC_AntiAFK") == 1 then
- local command1 = table.Random( commands )
- local command2 = table.Random( commands )
- AddTimer( 1, 1, function()
- old_rcc( "+"..command1 )
- old_rcc( "+"..command2 )
- end )
- AddTimer( 2, 1, function()
- old_rcc("-"..command1 )
- old_rcc("-"..command2 )
- end )
- end
- end
- AddTimer( 5 , 0 , function() AntiAfk() end )
- // Traitor finder functions
- local Traitors = {};
- local PlayerIsTraitor = false
- timer.Simple( 3, function()
- if ( gmod.GetGamemode().Name ) == "Trouble in Terrorist Town" then
- local TWeapons = { "weapon_ttt_c4", "weapon_ttt_knife", "weapon_ttt_phammer", "weapon_ttt_sipistol", "weapon_ttt_flaregun", "weapon_ttt_push", "weapon_ttt_radio", "weapon_ttt_teleport", "(Disguise)" }
- local UsedWeapons = {}
- local MapWeapons = {}
- function IsATraitor( ply )
- for k, v in pairs( Traitors ) do
- if v == ply then
- return true
- else
- return false
- end
- end
- end
- timer.Create("TTT", 0.8, 0, function()
- if GetConVarNumber("Hera_MISC_TTT") == 1 then
- if !IsATraitor( ply ) then
- for k, v in pairs( ents.FindByClass( "player" ) ) do
- if IsValid( v ) then
- if (!v:IsDetective()) then
- if v:Team() ~= TEAM_SPECTATOR then
- for wepk, wepv in pairs( TWeapons ) do
- for entk, entv in pairs( ents.FindByClass( wepv ) ) do
- if IsValid( entv ) then
- cookie.Set( entv, 100 - wepk )
- if !table.HasValue( UsedWeapons, cookie.GetNumber( entv ) ) then
- if !table.HasValue( MapWeapons, cookie.GetNumber( entv ) ) then
- local EntPos = ( entv:GetPos() - Vector(0,0,35) )
- if entv:GetClass() == wepv then
- if v:GetPos():Distance( EntPos ) <= 1 then
- table.insert( Traitors, v )
- Hera.Notify(sound,red,v:Nick() .. " has traitor weapon: " .. wepv )
- if !table.HasValue( UsedWeapons, cookie.GetNumber( entv ) ) then
- table.insert( UsedWeapons, cookie.GetNumber( entv ) )
- else
- if !table.HasValue( MapWeapons, cookie.GetNumber( entv ) ) then
- table.insert( MapWeapons, cookie.GetNumber( entv ) )
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end )
- AddHook("HUDPaint",function()
- if GetConVarNumber("Hera_MISC_TTT") == 1 then
- for k, e in pairs( Traitors ) do
- local maxX, minX, maxY, minY, maxX2, minX2, maxY2, minY2, minYhp, maxYhp = CreatePos( e )
- if IsValid( e ) then
- if e:Team() ~= TEAM_SPECTATOR then
- if ( !e:IsDetective() ) then
- PlayerIsTraitor = true
- draw.SimpleTextOutlined( "[TRAITOR]", "ESPFont", maxX2, minY2 -20, red, 4, 1, 1, black )
- end
- end
- end
- end
- end
- end )
- AddHook("TTTPrepareRound",function()
- timer.Simple( 2, function()
- for k, v in pairs( Traitors ) do
- table.remove( Traitors, k )
- Traitors = {}
- end
- for k, v in pairs( UsedWeapons ) do
- table.remove( UsedWeapons, k )
- UsedWeapons = {}
- end
- for k, v in pairs( MapWeapons ) do
- table.remove( MapWeapons, k )
- MapWeapons = {}
- end
- end )
- end )
- end
- end )
- /***************************************
- Name: PERP Hack
- Purpose: hacks and exploits for PERP
- ***************************************/
- local WeedGrowTime = 60 * 20
- function PERP_Druggy()
- local buying = GetGlobalInt("perp_druggy_buy", 0 )
- local selling = GetGlobalInt("perp_druggy_sell", 0 )
- local cantrobbank = GetGlobalBool("perp_bank_robbing_timer")
- local moneyinbank = GetGlobalInt("perp_realtor_money")
- if GetConVarNumber("Hera_PERP_Druggy") == 1 then
- local posx = 17
- local posy = 15
- DrawBox( posx, posy, 122, 60, 20 )
- draw.SimpleText("Druggy", "ESPFont", posx + 61, posy + 1, Color( 255, 255, 255, 255 ), TEXT_ALIGN_CENTER )
- local buyingtbl = {
- "Buying Weed",
- "Buying Meth",
- "Buying Shrooms",
- "Buying LSD",
- "Buying Shrooms",
- "Buying Cocaine",
- }
- buyingtbl[0] = "Not Buying"
- draw.SimpleText( buyingtbl[buying], "ESPFont", posx + 61, posy + 42, white, TEXT_ALIGN_CENTER, TEXT_ALIGN_TOP )
- local sellingtbl = {
- "Selling Seeds",
- "Selling LSD",
- --"Selling Muscle",
- "Selling Shrooms",
- "Selling Cocaine",
- }
- sellingtbl[0] = "Not Selling"
- draw.SimpleText( sellingtbl[selling], "ESPFont", posx + 61, posy + 62, white, TEXT_ALIGN_CENTER, TEXT_ALIGN_TOP)
- end
- end
- timer.Remove("DoFuel");
- timer.Create("DoFuel",5,0,function()
- if GetConVarNumber("Hera_PERP_Fuel") == 1 then
- DoFuel();
- end
- end)
- function PERP_Weed()
- if GetConVarNumber("Hera_PERP_Weed") == 1 then
- local plants = {}
- for k, ent in pairs( ents.FindByClass("ent_pot") ) do
- table.insert( plants, ent )
- end
- for k, ent in pairs( ents.FindByClass("ent_coca") ) do
- table.insert( plants, ent )
- end
- local col = nil
- for k, ent in pairs( plants ) do
- local pos = ent:GetPos() + Vector(0, 0, 10)
- local ang = ent:GetAngles()
- local drawpos = pos:ToScreen()
- local timeleft = 85564
- if( ent:GetClass() == "ent_coca" ) then col = Color( 0, 0, 255 ) else col = Color( 255, 0, 0 ) end
- if( ent.dt != nil ) then
- timeleft = ent:GetTable().GrowthTime - ( CurTime() - ent.dt.SpawnTime )
- elseif( ent:GetTable().SpawnTime != nil ) then
- timeleft = ent:GetTable().GrowthTime - (CurTime() - ent:GetTable().SpawnTime)
- end
- if( LocalPlayer():GetShootPos():Distance( pos ) <= 4000 ) then
- if( timeleft > 1 and timeleft != 85564 ) then
- draw.SimpleText( ConvertTime( timeleft ) , "ESPFont_Small", drawpos.x, drawpos.y, col, 1, 1 )
- elseif( timeleft != 85564 ) then
- draw.SimpleText( "DONE!", "ESPFont", drawpos.x, drawpos.y, green, 1, 1 )
- end
- end
- end
- end
- end
- // player info (yourself)
- function PERP_PlayerInfo()
- if GetConVarNumber("Hera_PERP_PlayerInfo") == 1 then
- draw.RoundedBox( 0, 17, 80, 175, 200, Color(0,0,0,70) )
- draw.SimpleText("PERP INFO", "Hera_ScoreboardText", 60,90, white, 1, 1 )
- draw.SimpleText("HP: "..LocalPlayer():Health(), "Hera_ScoreboardText", 55,110, white, 1, 1 )
- draw.SimpleText("Armor: "..LocalPlayer():Armor(), "Hera_ScoreboardText", 55,130, white, 1, 1 )
- draw.SimpleText("Bank: "..FormatNum( LocalPlayer():GetBank(), 2, "$" ), "Hera_ScoreboardText", 75,150, white, 1, 1 )
- end
- end
- /*************************
- MENU FUNCTIONS
- *************************/
- AddCMD("+Hera_Menu", function()
- Menu = vgui.Create("DFrame")
- Menu:SetSize(450,360)
- Menu:SetTitle(" :: Hera :: Version "..Hera.version.." ::") -- Ignore the spacing.
- Menu:Center()
- Menu:MakePopup()
- Menu.Paint = function()
- local mW, mH, x, y = Menu:GetWide(), Menu:GetTall(), ScrW() / 2, ScrH() / 2
- draw.RoundedBox( 0, 0, 0, mW, mH, Color(116,187,251,50 ) )
- surface.SetDrawColor(black);
- surface.DrawOutlinedRect( 0, 0, mW , mH )
- surface.DrawOutlinedRect( 0, 25, mW, mH )
- end
- local Sheet = vgui.Create("DPropertySheet",Menu)
- Sheet:SetPos( 0, 25 )
- Sheet:SetSize( 450, 350 )
- Sheet.Paint = function()
- draw.RoundedBox( 0, 0, 0, Sheet:GetWide(), Sheet:GetTall(), Color(0,0,0,150) )
- end
- // fuck;
- local Page1 = vgui.Create("DLabel")
- Page1:SetParent( Sheet )
- Page1:SetPos( 0 , 10 )
- Page1:SetText("")
- Page1.Paint = function()
- draw.SimpleTextOutlined("Hera v"..Hera.version.." - A Cheat By Tyler","Logo",20,3,cyan,TEXT_ALIGN_LEFT,TEXT_ALIGN_LEFT,2,black)
- draw.SimpleTextOutlined("ConVar Forces","Logo",150,60,red,TEXT_ALIGN_LEFT,TEXT_ALIGN_LEFT,2,black)
- draw.SimpleTextOutlined("Updates","Logo",170,120,lgreen,TEXT_ALIGN_LEFT,TEXT_ALIGN_LEFT,2,black)
- draw.SimpleTextOutlined("Configs","Logo",160,180,pink,TEXT_ALIGN_LEFT,TEXT_ALIGN_LEFT,2,black)
- end
- local Page2 = vgui.Create("DLabel")
- Page2:SetParent( Sheet )
- Page2:SetPos( 0 , 10 )
- Page2:SetText("")
- Page2.Paint = function()
- end
- local Page3 = vgui.Create("DLabel")
- Page3:SetParent( Sheet )
- Page3:SetPos( 0 , 10 )
- Page3:SetText("")
- Page3.Paint = function()
- end
- local Page4 = vgui.Create("DLabel")
- Page4:SetParent( Sheet )
- Page4:SetPos( 0 , 10 )
- Page4:SetText("")
- Page4.Paint = function()
- end
- local Page5 = vgui.Create("DLabel")
- Page5:SetParent( Sheet )
- Page5:SetPos( 0 , 10 )
- Page5:SetText("")
- Page5.Paint = function()
- end
- -----------------------
- --[[ MAIN TAB SHIT ]]--
- -----------------------
- // LOAD SHIT
- local ReloadHooksButton = vgui.Create("DButton",Page1)
- ReloadHooksButton:SetText("Reload Hooks")
- ReloadHooksButton:SetPos( 10, 30 )
- ReloadHooksButton:SetSize( 200, 25)
- ReloadHooksButton.DoClick = function()
- Hera.hooks:reload()
- Hera.Notify(green,"Reloaded hooks")
- end
- local UnloadCheat = vgui.Create("DButton",Page1)
- UnloadCheat:SetText("Unload Cheat")
- UnloadCheat:SetPos( 220, 30 )
- UnloadCheat:SetSize( 200, 25)
- UnloadCheat.DoClick = function()
- unload()
- Hera.Notify(red,"UNLOADED ENTIRE CHEAT!")
- end
- // CONVAR Forces
- local svcheats = vgui.Create("DButton",Page1)
- svcheats:SetText("sv_cheats")
- svcheats:SetPos( 10,90 )
- svcheats:SetSize( 200, 25)
- svcheats.DoClick = function()
- Hera.Notify(white,"Not done!")
- print("fuck you")
- end
- local allowvoice = vgui.Create("DButton",Page1)
- allowvoice:SetText("sv_allow_voice_from_file")
- allowvoice:SetPos( 220,90 )
- allowvoice:SetSize( 200, 25)
- allowvoice.DoClick = function()
- Hera.Notify(white,"Not done!")
- end
- // UPDATE SHIT
- local checkupdate = vgui.Create("DButton",Page1)
- checkupdate:SetText("Check for updates")
- checkupdate:SetPos( 10,150 )
- checkupdate:SetSize( 200, 25)
- checkupdate.DoClick = function()
- CheckUpdate()
- end
- local doupdate = vgui.Create("DButton",Page1)
- doupdate:SetText("Update the cheat")
- doupdate:SetPos( 220,150 )
- doupdate:SetSize( 200, 25)
- doupdate.DoClick = function()
- Hera.Notify(white,"Not done.")
- end
- local hvhconfig = vgui.Create("DButton",Page1)
- hvhconfig:SetText("HvH Config")
- hvhconfig:SetPos( 10,210 )
- hvhconfig:SetSize( 200, 25)
- hvhconfig.DoClick = function()
- Hera.Notify(white,"Loaded Hack VS Hack config.")
- print("WIP")
- end
- local legitconfig = vgui.Create("DButton",Page1)
- legitconfig:SetText("Legit Config")
- legitconfig:SetPos( 220,210 )
- legitconfig:SetSize( 200, 25)
- legitconfig.DoClick = function()
- Hera.Notify(white,"Loaded legit config.")
- print("WIP")
- end
- local userconfig = vgui.Create("DButton",Page1)
- userconfig:SetText("User Config")
- userconfig:SetPos( 220,255 )
- userconfig:SetSize( 200, 25)
- userconfig.DoClick = function()
- Hera.Notify(white,"Loaded user config.")
- print("WIP")
- end
- local rageconfig = vgui.Create("DButton",Page1)
- rageconfig:SetText("Rage Config")
- rageconfig:SetPos( 10,255 )
- rageconfig:SetSize( 200, 25)
- rageconfig.DoClick = function()
- Hera.Notify(white,"Loaded rage config.")
- print("WIP")
- end
- -------------------------
- --[[ AIMBOT TAB SHIT ]]--
- -------------------------
- AddCheckBox("Autoshoot","Hera_AIM_Auto",Page2,10,10,"Autoshoot when locked")
- AddCheckBox("Friendly Fire","Hera_AIM_Friendly",Page2,10,30,"Target your own team")
- AddCheckBox("Target Steam Friends","Hera_AIM_Steam",Page2,10,50,"Target Steam Friends")
- AddCheckBox("Target Admins","Hera_AIM_Admins",Page2,10,70,"Target Admins")
- AddCheckBox("No-Recoil","Hera_AIM_NoRecoil",Page2,10,90,"Remove Recoil")
- AddCheckBox("Triggerbot","Hera_AIM_Trigger",Page2,10,110,"Auto-shoots when looking at a player")
- AddCheckBox("Stronghold mode","Hera_AIM_SH",Page2,10,130,"Aims down sights when locked, to reduce spread.")
- AddCheckBox("Anti-Aim","Hera_AIM_Anti",Page2,10,150,"HvH feature, makes it 'harder' for others to aimbot you.")
- AddCheckBox("Anti Anti-Aim","Hera_AIM_AntiAA",Page2,10,170,"HvH feature, bypasses anti-aim")
- AddCheckBox("Anti-Snap","Hera_AIM_AntiSnap",Page2,200,10,"Changes the speed of the aimbot, making it look more legit")
- AddCheckBox("Auto Reload","Hera_AIM_Reload",Page2,200,30,"Reload when you run out of ammo")
- AddSlider("Field Of View","Hera_AIM_Fov",Page2,0,180,1,10,220,350,"FOV in which the aimbot will target players")
- AddSlider("Anti-Snap Speed","Hera_AIM_AntiSnap_Speed",Page2,0,50,1,10,240,350,"Changes your anti-snap speed")
- AddSlider("Aimbot Offset","Hera_AIM_Offset",Page2,-25,25,1,10,260,350,"Offsets your aimspot")
- -------------------------------------
- --[[ ESP | WALLHACK | VISUAL TAB ]]--
- -------------------------------------
- AddCheckBox("[ESP] Info","Hera_ESP_Info",Page3,10,10,"Show player's info on the ESP")
- AddCheckBox("[ESP] Chams","Hera_ESP_Chams",Page3,10,30,"Show a player's model through walls")
- AddCheckBox("[ESP] Bounding Box","Hera_ESP_Box",Page3,10,50,"Draw a box around players")
- AddCheckBox("[ESP] Show Skeleton","Hera_ESP_Skeleton",Page3,10,70,"Show player's bones")
- AddCheckBox("[ESP] Entity Finder","Hera_ESP_Ents",Page3,10,90,"Show entities on the ESP")
- AddCheckBox("[VIS] Crosshair","Hera_ESP_Crosshair",Page3,150,10,"Draw a crosshair on your screen")
- AddCheckBox("[VIS] Laser Tracer","Hera_ESP_Tracer",Page3,150,30,"Draw a laser from your feet to player's heads.")
- AddSlider("ESP Distance","Hera_ESP_Distance",Page3,0,10000,1,10,260,300,"Distance in which the ESP will render")
- local ESPList = vgui.Create( 'DComboBox', Page3 )
- ESPList:SetPos( 330, 280 )
- ESPList:SetSize( 82, 20 )
- ESPList:AddChoice( 'Wireframe' )
- ESPList:AddChoice( 'Solid' )
- ESPList.OnSelect = function( self )
- if self:GetValue() == 'Wireframe' then
- old_rcc("Hera_ESP_Chams_Material","Wireframe")
- elseif self:GetValue() == 'Solid' then
- old_rcc("Hera_ESP_Chams_Material","Solid")
- end
- end
- local ESPLabel1 = vgui.Create("DLabel")
- ESPLabel1:SetParent( Page3 )
- ESPLabel1:SetPos(335,265)
- ESPLabel1:SetText("Chams Material")
- ESPLabel1:SetTextColor(Color(255,255,255,255))
- ESPLabel1:SizeToContents()
- /**********************
- Entity Finder Stuff
- **********************/
- local OpenEnts = vgui.Create("DButton")
- OpenEnts:SetParent( Page3 )
- OpenEnts:SetPos(290,10)
- OpenEnts:SetSize( 140,50 )
- OpenEnts:SetText( "Edit Ents" )
- OpenEnts.DoClick = function()
- --EntsMenu()
- Hera.Notify(sound,white,"Due to Garry not explaining shit, and replacing useful shit with dumb shit, the Entity Finder is currently disabled.")
- end
- ---------------------------
- --[[ MISC TAB SETTINGS ]]--
- ---------------------------
- AddCheckBox("Traitor Finder","Hera_MISC_TTT",Page4,10,10,"Find traitors in TTT")
- AddCheckBox("Bunnyhop","Hera_MISC_BunnyHop",Page4,10,30,"Bunnyhop by holding 'Space'")
- AddCheckBox("Chat Spam","Hera_MISC_ChatSpam",Page4,10,50,"Spam a pre-determined message in the chat")
- AddCheckBox("Anti-AFK","Hera_MISC_AntiAFK",Page4,10,70,"Makes you move randomly to avoid AFK kickers")
- AddCheckBox("Name Changer","Hera_MISC_Namechanger",Page4,10,90,"Steal player's names")
- AddCheckBox("Show Notifications","Hera_MISC_ShowNotifications",Page4,10,110,"Draws enabled features on top of the screen")
- AddCheckBox("DarkRP Godmode","Hera_MISC_RPGod",Page4,10,130,"Spams /buyhealth when you lose HP")
- AddCheckBox("Show Spectators","Hera_MISC_ShowSpec",Page4,10,150,"Tells you in chat when someone is spectating you.")
- AddCheckBox("Show Admins","Hera_MISC_ShowAdmins",Page4,10,170,"Tells you in chat when an admin joins.")
- AddCheckBox("Thirdperson","Hera_MISC_Thirdperson",Page4,10,190,"Allows you to see your player (thirdperson).")
- AddCheckBox("Flashlight Spam","Hera_MISC_Flashlight",Page4,200,10,"Spams the flashlight.")
- AddSlider("Thirdperson Distance","Hera_MISC_Thirdperson_Dist",Page4,0,600,1,10,240,350,"Sets the distance of the thirdperson")
- AddSlider("Speedhack Speed","Hera_MISC_Speedhack_Speed",Page4,0,10,1,10,260,350,"Sets the speed of the speedhack")
- --------------------------------
- --[[ PERP HACK TAB SETTINGS]]---
- --------------------------------
- AddCheckBox("Infinite Fuel","Hera_PERP_Fuel",Page5,10,10,"Infinite fuel in cars")
- AddCheckBox("Show Druggy Stock","Hera_PERP_Druggy",Page5,10,30,"Show druggy's stock")
- AddCheckBox("Weed Timer","Hera_PERP_Weed",Page5,10,50,"Show how when weed is finished growing")
- AddCheckBox("Show RP Names","Hera_PERP_RPNames",Page5,10,70,"Show player's Roleplay names instead of Steam name")
- AddCheckBox("Show Player Info","Hera_PERP_PlayerInfo",Page5,10,90,"Show info like; Health, bank cash, armor, etc")
- // Add sheets
- Sheet:AddSheet("Main",Page1,false,false,false,"Main cheat settings")
- Sheet:AddSheet("Aimbot",Page2, false, false, false, "Aimbot Settings")
- Sheet:AddSheet("ESP | Wallhack | Visual",Page3,false,false,false,"ESP/Wallhack Settings")
- Sheet:AddSheet("Miscellaneous",Page4,false,false,false,"Miscellaneous Settings")
- Sheet:AddSheet("PERP Hack",Page5,false,false,false,"Exploits and cheats for the PERP gamemode")
- end) -- End of +Hera_Menu function
- AddCMD("-Hera_Menu",function()
- Menu:SetVisible(false)
- end)
- AddCMD("Hera_Menu_Toggle",function()
- Menu:SetVisible(true)
- end)
- /**********************
- Name: Hooks
- Purpose: Hook shit
- ***********************/
- function hooks_hudpaint()
- ESP();
- PERP_Druggy();
- PERP_PlayerInfo();
- Notifications();
- end
- function hooks_postdraw()
- Chams();
- end
- function hooks_think()
- Misc();
- NameChanger();
- ShowNotifi();
- AutoReload();
- end
- function hooks_renderscreenspaceeffects()
- end
- function hooks_calcview()
- end
- function hooks_createmove(ucmd)
- Aimbot(ucmd);
- end
- function Hera.hooks:load()
- Log("Loaded hooks");
- AddHook("HUDPaint",hooks_hudpaint);
- AddHook("PostDrawEffects",hooks_postdraw);
- AddHook("Think",hooks_think);
- AddHook("CalcView",hooks_calcview);
- AddHook("RenderScreenspaceEffects",hooks_renderscreenspaceeffects);
- AddHook("CreateMove",hooks_createmove);
- end
- Hera.hooks:load(); -- load them
- function Hera.hooks:unload()
- RemoveHook("HUDPaint",hooks_hudpaint);
- RemoveHook("CalcView",hooks_calcview);
- RemoveHook("PostDrawEffects",hooks_postdraw);
- RemoveHook("Think",hooks_think);
- RemoveHook("RenderScreenspaceEffects",hooks_renderscreenspaceeffects);
- RemoveHook("CreateMove",hooks_createmove);
- end
- function Hera.hooks:reload()
- Log("Reloaded hooks")
- Hera.hooks:unload();
- Hera.hooks:load();
- end
- function unload()
- Log("Unloaded.")
- Hera.hooks:unload()
- old_rcc("-Hera_Menu");
- RemoveCMD("+Hera_Menu");
- RemoveCMD("-Hera_Menu");
- RemoveCMD("+Hera_Aim");
- RemoveCMD("-Hera_Aim");
- RemoveCMD("+Hera_Speed");
- RemoveCMD("-Hera_Speed");
- RemoveCMD("Hera_Menu_Toggle")
- timer.Destroy("TTT")
- end
- /*******
- RUN LAST
- ********/
- Hera.Notify(dosound,white,"loaded version "..Hera.version..".")
- Log("Loaded!")
- AddCMD("skid",function()
- include("SkidCheck.lua")
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement