Did someone design no recoil for Garry's Mod, that doesn't inject into the game? Like the universial no recoiler in the CS GO section.
Any idea?
Printable View
Did someone design no recoil for Garry's Mod, that doesn't inject into the game? Like the universial no recoiler in the CS GO section.
Any idea?
If you download a bypass for GMOD, such as Abyss or GSMB from this forum, then go find HERA or look around the other varius multi hacks for gmod on here, its not technically injecting into the game as you won't get detected for using it, its just running scripts through bypassing the clientside lua script disabler on servers...
Won't get you banned even if you use one that injects into Gmod as there is no VAC as its broken for some reason...but then again it is Garry so he probably broke it.
Look around, I'm sure you'll find what you're looking for!
That sounds so good!
I hope I won't get VAC banned, and if I do, we should have a thread where the latest updates are on Garry's Mod updates, and VAC bans etc.
Question: How do I disable the sound Hera makes everytime it blocks something, it is really annoyhing
Edit the lua, if you get lazy, here...
Code:--[[
-================================-
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
Her*****ncommands = {} -- Store concommands in a table
Her*****nvars = {} -- Store the ConVars in a table
Hera.timers = {} -- Store Timers in a table
Her*****nes = { 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",
"ima******",
"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
Her*****nfig = {} -- 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****ui
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
/***********************************************
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
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****undedBoxEx( 4, x, y, wide, dropsize, iceblue, true, true, false, false )
draw****undedBoxEx( 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)
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.******.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****undedBox( 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****undedBox( 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****undedBox( 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!")
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!")
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****undedBox( 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****undedBox( 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****undedBox( 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)
Now hopefully it doesn't play that blip noise when its blocked!
did you do it for me? WIll it only remove the sound? Cause I think the blocking is good enough
Yeah, just copy the code I pasted up there ^^^^
and replace the code in your Herav4.lua with it.
Blocking still comes up, just removed the sound.
*Nevermind, just tested and it spams you with errors bear with me
**And Fixed here!
Code:--[[
-================================-
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
Her*****ncommands = {} -- Store concommands in a table
Her*****nvars = {} -- Store the ConVars in a table
Hera.timers = {} -- Store Timers in a table
Her*****nes = { 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",
"ima******",
"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
Her*****nfig = {} -- 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****ui
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
/***********************************************
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
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****undedBoxEx( 4, x, y, wide, dropsize, iceblue, true, true, false, false )
draw****undedBoxEx( 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
/*******************************************
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.******.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****undedBox( 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****undedBox( 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****undedBox( 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!")
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!")
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****undedBox( 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****undedBox( 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****undedBox( 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
********/
Log("Loaded!")
AddCMD("skid",function()
include("SkidCheck.lua")
end)
So, does it work now? did you test it? :D
---------- Post added at 05:53 AM ---------- Previous post was at 05:37 AM ----------
[ERROR] lua/herav4.lua:134: unexpected symbol near '*'
1. unknown - lua/herav4.lua:0
---------- Post added at 06:03 AM ---------- Previous post was at 05:53 AM ----------
Can you post the working version? :3
Sure you copied it correctly?
I did quite a few things wrong last time, here a fixed versions, 0 errors for me on this one
Code:--[[
-================================-
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
Her*****ncommands = {} -- Store concommands in a table
Her*****nvars = {} -- Store the ConVars in a table
Hera.timers = {} -- Store Timers in a table
Her*****nes = { 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",
"ima******",
"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
Her*****nfig = {} -- 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****ui
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(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****undedBoxEx( 4, x, y, wide, dropsize, iceblue, true, true, false, false )
draw****undedBoxEx( 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.******.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****undedBox( 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****undedBox( 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****undedBox( 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****undedBox( 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****undedBox( 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****undedBox( 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)
Yes, I'm sure.
Can you try to upload yours? So I can download it.
He wants the blip noise to be removed.
and it takes a while for for it to get approved and it'd be pointless, the latest one I posted should work.
He wants it removed for when it blocks a certain command, which I have done and there are no errors like in my first post.
I don't want to mute the game, because I need the sound, the only thing that bugs me is that beeping sound, it really pisses me off.
I don't know why I get script errors with the one you gave me, it just sucks :/
Are you using the one in my third post? or in my second?
You shouldn't get any errors with the third one, I'll go test it a bunch of times again but I'm sure you shouldn't get any problems...