Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- HHHHHHHHH HHHHHHHHH 555555555555555555
- H:::::::H H:::::::H 5::::::::::::::::5
- H:::::::H H:::::::H 5::::::::::::::::5
- HH::::::H H::::::HH 5:::::555555555555
- H:::::H H:::::H eeeeeeeeeeee rrrrr rrrrrrrrr aaaaaaaaaaaaa vvvvvvv vvvvvvv5:::::5
- H:::::H H:::::H ee::::::::::::ee r::::rrr:::::::::r a::::::::::::a v:::::v v:::::v 5:::::5
- H::::::HHHHH::::::H e::::::eeeee:::::eer:::::::::::::::::r aaaaaaaaa:::::a v:::::v v:::::v 5:::::5555555555
- H:::::::::::::::::H e::::::e e:::::err::::::rrrrr::::::r a::::a v:::::v v:::::v 5:::::::::::::::5
- H:::::::::::::::::H e:::::::eeeee::::::e r:::::r r:::::r aaaaaaa:::::a v:::::v v:::::v 555555555555:::::5
- H::::::HHHHH::::::H e:::::::::::::::::e r:::::r rrrrrrraa::::::::::::a v:::::v v:::::v 5:::::5
- H:::::H H:::::H e::::::eeeeeeeeeee r:::::r a::::aaaa::::::a v:::::v:::::v 5:::::5
- H:::::H H:::::H e:::::::e r:::::r a::::a a:::::a v:::::::::v 5555555 5:::::5
- HH::::::H H::::::HHe::::::::e r:::::r a::::a a:::::a v:::::::v 5::::::55555::::::5
- H:::::::H H:::::::H e::::::::eeeeeeee r:::::r a:::::aaaa::::::a v:::::v 55:::::::::::::55
- H:::::::H H:::::::H ee:::::::::::::e r:::::r a::::::::::aa:::a v:::v 55:::::::::55
- HHHHHHHHH HHHHHHHHH eeeeeeeeeeeeee rrrrrrr aaaaaaaaaa aaaa vvv 555555555
- ]]--
- /************************************
- Name: Localizing
- Purpose: Make the cheat run faster
- ************************************/
- //if ( Hera ) then _G.Hera = nil end -- noob/gay !!
- local g = table.Copy(_G)
- local Hera = {}
- Hera.hooks = {}
- Hera.concommands = {}
- Hera.convars = {}
- Hera.timers = {}
- Hera.spectators = {}
- Hera.admins = {}
- Hera.version = "5.0"
- Hera.log = {}
- Hera.files = {"Hera.lua","log.txt","gmcl_cvar3_win32.dll","gmcl_hera_win32.dll"}
- Hera.traitors = {}
- Hera.bones = {
- {"Head", "ValveBiped.Bip01_Head1"},
- {"Neck", "ValveBiped.Bip01_Neck1"},
- {"Spine", "ValveBiped.Bip01_Spine"},
- {"Spine1", "ValveBiped.Bip01_Spine1"},
- {"Spine2", "ValveBiped.Bip01_Spine2"},
- {"Spine4", "ValveBiped.Bip01_Spine4"},
- {"Pelvis", "ValveBiped.Bip01_Pelvis"},
- {"R Upperarm", "ValveBiped.Bip01_R_UpperArm"},
- {"R Forearm", "ValveBiped.Bip01_R_Forearm"},
- {"R Hand", "ValveBiped.Bip01_R_Hand"},
- {"L Upperarm", "ValveBiped.Bip01_L_UpperArm"},
- {"L Forearm", "ValveBiped.Bip01_L_Forearm"},
- {"L Hand", "ValveBiped.Bip01_L_Hand"},
- {"R Thigh", "ValveBiped.Bip01_R_Thigh"},
- {"R Calf", "ValveBiped.Bip01_R_Calf"},
- {"R Foot", "ValveBiped.Bip01_R_Foot"},
- {"R Toes", "ValveBiped.Bip01_R_Toe0"},
- {"L Thigh", "ValveBiped.Bip01_L_Thigh"},
- {"L Calf", "ValveBiped.Bip01_L_Calf"},
- {"L Foot", "ValveBiped.Bip01_L_Foot"},
- {"L Toes", "ValveBiped.Bip01_L_Toe0"},
- }
- Hera.espbones = {
- { 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" },
- }
- Hera.aimmodels = {
- ["models/combine_scanner.mdl"] = "Scanner.Body",
- ["models/hunter.mdl"] = "MiniStrider.body_joint",
- ["models/combine_turrets/floor_turret.mdl"] = "Barrel",
- ["models/dog.mdl"] = "Dog_Model.Eye",
- ["models/antlion.mdl"] = "Antlion.Body_Bone",
- ["models/antlion_guard.mdl"] = "Antlion_Guard.Body",
- ["models/antlion_worker.mdl"] = "Antlion.Head_Bone",
- ["models/zombie/fast_torso.mdl"] = "ValveBiped.HC_BodyCube",
- ["models/zombie/fast.mdl"] = "ValveBiped.HC_BodyCube",
- ["models/headcrabclassic.mdl"] = "HeadcrabClassic.SpineControl",
- ["models/headcrabblack.mdl"] = "HCBlack.body",
- ["models/headcrab.mdl"] = "HCFast.body",
- ["models/zombie/poison.mdl"] = "ValveBiped.Headcrab_Cube1",
- ["models/zombie/classic.mdl"] = "ValveBiped.HC_Body_Bone",
- ["models/zombie/classic_torso.mdl"] = "ValveBiped.HC_Body_Bone",
- ["models/zombie/zombie_soldier.mdl"] = "ValveBiped.HC_Body_Bone",
- ["models/combine_strider.mdl"] = "Combine_Strider.Body_Bone",
- ["models/lamarr.mdl"] = "HeadcrabClassic.SpineControl",
- }
- Hera.prediction = {
- ["weapon_crossbow"] = 3485,
- ["weapon_pistol"] = 40000,
- ["weapon_357"] = 20500,
- ["weapon_smg"] = 39000,
- ["weapon_ar2"] = 39000,
- ["weapon_shotgun"] = 35000,
- ["weapon_rpg"] = 0,
- }
- Hera.props = {
- "models/props/de_tides/gate_large.mdl",
- "models/props_c17/FurnitureCouch001a.mdl",
- "models/props_c17/furnitureStove001a.mdl",
- "models/props_junk/sawblade001a.mdl",
- "models/props_junk/TrashDumpster01a.mdl",
- "models/props_combine/breendesk.mdl",
- "models/props_c17/Lockers001a.mdl",
- "models/props/de_train/lockers001a.mdl",
- "models/props/de_train/lockers_long.mdl",
- "models/props_canal/canal_bars004.mdl",
- "models/props_c17/FurnitureCouch001a.mdl",
- };
- Hera.laser = {
- "weapon_pocket",
- "weapon_crowbar",
- "keys",
- "pocket",
- "weapon_toolgun",
- "weapon_physgun",
- "weapon_camera",
- "camera",
- }
- Hera.dev = { -- for module shit
- "STEAM_0:0:40143824",
- "STEAM_0:1:58058392",
- }
- 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 COLOR_VISIBLE = Color(0,255,0,150)
- local COLOR_NONVISIBLE = Color(255,0,0,150)
- local COLOR_FROZEN = Color(0,0,255,150)
- local COLOR_FROZEN_NV = Color(255,255,0,150)
- local _G = table.Copy( _G )
- local _R = _G.debug.getregistry()
- local math = _G.math
- local string = _G.string
- local hook = _G.hook
- local table = _G.table
- local timer = _G.timer
- local surface = _G.surface
- local concommand = _G.concommand
- local cvars = _G.cvars
- local ents = _G.ents
- local player = _G.player
- local team = _G.team
- local util = _G.util
- local draw = _G.draw
- local usermessage = _G.usermessage
- local vgui = _G.vgui
- local http = _G.http
- local cam = _G.cam
- local render = _G.render
- local MsgN = _G.MsgN
- local Msg = _G.Msg
- local Vector = _G.Vector
- local Angle = _G.Angle
- local pairs = _G.pairs
- local ipairs = _G.ipairs
- local CreateSound = _G.CreateSound
- local setmetatable = _G.setmetatable
- local Sound = _G.Sound
- local print = _G.print
- local pcall = _G.pcall
- local type = _G.type
- local LocalPlayer = _G.LocalPlayer
- local KeyValuesToTable = _G.KeyValuesToTable
- local TableToKeyValues = _G.TableToKeyValues
- local Color = _G.Color
- local CreateClientConVar = _G.CreateClientConVar
- local ErrorNoHalt = _G.ErrorNoHalt
- local IsValid = _G.IsValid
- local CreateMaterial = _G.CreateMaterial
- local tonumber = _G.tonumber
- local tostring = _G.tostring
- local CurTime = _G.CurTime
- local FrameTime = _G.FrameTime
- local ScrW = _G.ScrW
- local ScrH = _G.ScrH
- local SetClipboardText = _G.SetClipboardText
- local GetHostName = _G.GetHostName
- local unpack = _G.unpack
- local AddConsoleCommand = _G.AddConsoleCommand
- local require = _G.require
- local include = _G.include
- local MOVETYPE_OBSERVER = _G.MOVETYPE_OBSERVER
- local MOVETYPE_NONE = _G.MOVETYPE_NONE
- local TEXT_ALIGN_LEFT = _G.TEXT_ALIGN_LEFT
- local TEXT_ALIGN_TOP = _G.TEXT_ALIGN_TOP
- local TEXT_ALIGN_RIGHT = _G.TEXT_ALIGN_RIGHT
- local TEXT_ALIGN_BOTTOM = _G.TEXT_ALIGN_BOTTOM
- local IN_JUMP = _G.IN_JUMP
- local IN_FORWARD = _G.IN_FORWARD
- local IN_BACK = _G.IN_BACK
- local IN_MOVERIGHT = _G.IN_MOVERIGHT
- local IN_MOVELEFT = _G.IN_MOVELEFT
- local IN_SPEED = _G.IN_SPEED
- local IN_DUCK = _G.IN_DUCK
- local TEAM_SPECTATOR = 1002
- -- old [copy]
- 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_timerc = timer.Create;
- 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;
- local old_rs = RunString;
- local old_ccmd = _R.Player.ConCommand;
- local old_include = include;
- local old_usermsginc = usermessage.IncomingMessage;
- --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})
- surface.CreateFont("Hera_coolvetica2",{font = "coolvetica", size = 20, weight = 500, antialias = 1})
- ----------------
- require('cvar3') -- CVar 3
- require("spreadthebutter")
- surface.CreateFont("sh_font",{font = "ScoreboardText", size = 20, weight = 500, antialias = 1})
- surface.CreateFont("sh_menu",{font = "ScoreboardText", size = 20, weight = 500, antialias = 1})
- ----------------
- --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
- /*****
- Hera:IsDev
- *****/
- function Hera:IsDev(ply)
- if table.HasValue(Hera.dev,ply:SteamID()) then
- return true
- else
- return false
- end
- end
- /*******************************************
- 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: Logger
- Purpose: Logs functions and shit
- **************************************/ -- ..string.char(92).."Hera"
- if !old_fileexist("Hera","DATA") then
- old_filecdir("Hera");
- Hera.Notify(false,lgreen,"Created directory data/Hera/")
- end
- function Hera:Log(msg)
- if !old_fileexist("Hera/log.txt","DATA") then
- Hera.Notify(false,lblue,"Started log in data/Hera/log.txt")
- old_filewrite("Hera/log.txt","Log started "..os.date().." \n")
- end
- table.insert(Hera.log,"["..os.date("%H:%M:%S").."]: "..msg)
- file.Append("Hera/log.txt","["..os.date().."]: "..msg.."\n")
- end
- /***********************************************
- Name: Hook functions
- Purpose: Add hooks and protect from anticheats
- ************************************************/
- -- Hera:RegisterHook
- function Hera:RegisterHook(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.."")
- table.insert(Hera.hooks,Name)
- return old_hookadd(Type,Name,Function)
- end
- -- Hera:RemoveHook
- function Hera:RemoveHook(Type,Function)
- Hera.Print("[REMOVED] Hook: ["..Type.."]")
- return old_hookrem(Type,Function)
- end
- /**************
- Random String
- **************/
- function Hera: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 Hera:AddTimer( sec, rep, func )
- local index = Hera:RandomString( 10 )
- Hera.timers[ index ] = sec
- old_timerc( index, sec, rep, func )
- end
- /******************************************
- Name: ConCommand Shit
- Purpose: Anything related to concommands
- ********************************************/
- function Hera:AddCMD(Name,Function)
- table.insert(Hera.concommands,Name)
- Hera.Print("[ADDED] ConCommand: "..Name)
- return old_ccadd(Name,Function)
- end
- function Hera:RemoveCMD(Name)
- table.Empty(Hera.concommands)
- Hera.Print("[REMOVED] ConCommand: "..Name)
- return old_ccrem(Name)
- end
- /*******************************************
- Name: ConVars
- Purpose: Anything with ConVars
- ********************************************/
- function Hera:CreateConVar(convar,str,save,data)
- table.insert(Hera.convars,"Hera_"..convar)
- return CreateClientConVar("Hera_"..convar,str,true,false), Hera.Print("[ADDED] ConVar: Hera_"..convar.." ["..str.."]")
- end
- /***************************************
- Name: RunConsoleCommand shit
- Purpose: Detours, Loggers, blockers
- ****************************************/
- Hera.dontlog = {
- "+jump",
- "-jump",
- "+attack",
- "-attack",
- "impulse"
- }
- Hera.badcmds = {
- "__ac",
- "__imacheater",
- "gm_possess",
- "__uc_", -- RIOT
- "_____b__c",
- "___m",
- "sc",
- "bg",
- "bm",
- "kickme",
- "gw_iamacheater",
- "imafaggot",
- "birdcage_browse",
- "reportmod",
- "_fuckme",
- "st_openmenu",
- "_NOPENOPE",
- "__ping",
- "ar_check",
- "GForceRecoil", -- Fake cmd, but fuck you RIOT servers
- "~__ac_auth",
- "blade_client_check",
- "blade_client_detected_message",
- "disconnect",
- "exit",
- "retry",
- "kill",
- "dac_imcheating", -- fuck u bich
- "dac_pleasebanme", -- fuck u bich
- "excl_banme", -- fuck u bitch
- }
- /*========================================
- Detours, logggers, and other shit
- ==========================================*/
- -- RunConsoleCommand log
- function RunConsoleCommand(cmd,...)
- if !table.HasValue(Hera.dontlog, cmd) and !table.HasValue(Hera.convars,cmd) then
- Hera.Print("RunConsoleCommand: "..cmd.." ["..debug.getinfo(2).short_src.."]")
- --Hera:Log("RunConsoleCommand: "..cmd.." ["..debug.getinfo(2).short_src.."]")
- table.insert(Hera.log,"["..os.date("%H:%M:%S").."]: RunConsoleCommand: "..cmd.." ["..debug.getinfo(2).short_src.."]")
- end
- if !table.HasValue(Hera.badcmds,cmd) then
- return old_rcc(cmd,...)
- else
- Hera.Notify(sound,red,"Blocked command: "..cmd.." ["..debug.getinfo(2).short_src.."]")
- Hera:Log("BLOCKED COMMAND: "..cmd.." ["..debug.getinfo(2).short_src.."]")
- return
- end
- end
- // ConCommand log
- function _R.Player.ConCommand(pl,cmd)
- if !table.HasValue(Hera.dontlog, cmd) and !table.HasValue(Hera.concommands,cmd) and !table.HasValue(Hera.badcmds, cmd) then
- Hera.Print("ConCommand: "..cmd.." ["..debug.getinfo(2).short_src.."]")
- Hera:Log("ConCommand: "..cmd.." ["..debug.getinfo(2).short_src.."]")
- return old_ccmd(pl, cmd)
- else
- Hera.Notify(sound, red, "Blocked ConCommand: "..cmd.." ["..debug.getinfo(2).short_src.."]")
- Hera:Log("BLOCKED ConCommand: "..cmd.." ["..debug.getinfo(2).short_src.."]")
- return
- end
- end
- // concommand.Add log
- function concommand.Add(cmd)
- if !table.HasValue(Hera.concommands, cmd) then
- Hera.Print("concommand.Add: "..cmd.." ["..debug.getinfo(2).short_src.."]")
- Hera:Log("concommand.Add: "..cmd.." ["..debug.getinfo(2).short_src.."]")
- end
- return old_ccadd(cmd)
- end
- // concommand.Remove log
- function concommand.Remove(cmd)
- if !table.HasValue(Hera.concommands, cmd) then
- Hera.Print("concommand.Remove: "..cmd.." ["..debug.getinfo(2).short_src.."]")
- Hera:Log("concommand.Remove: "..cmd.." ["..debug.getinfo(2).short_src.."]")
- end
- return old_ccrem(cmd)
- end
- // RunString log
- function RunString(s)
- Hera.Print("RunString: "..tostring(s).." ["..debug.getinfo(2).short_src.."]")
- Hera:Log("RunString: "..tostring(s).." ["..debug.getinfo(2).short_src.."]")
- return old_rs(s)
- end
- // include log
- /*
- function include(fn)
- if !table.HasValue(Hera.files, fn) then
- Hera.Print("Include: "..fn.." ["..debug.getinfo(2).short_src.."]")
- Hera:Log("Include: "..fn.." ["..debug.getinfo(2).short_src.."]")
- return old_include(fn)
- else
- Hera.Print("BLOCKED Include: "..fn.." ["..debug.getinfo(2).short_src.."]")
- Hera:Log("BLOCKED Include: "..fn.." ["..debug.getinfo(2).short_src.."]")
- return;
- end
- end
- */
- // file.Delete log
- function file.Delete(fn)
- if !table.HasValue(Hera.files, fn) then
- Hera.Print("file.Delete: "..fn.." ["..debug.getinfo(2).short_src.."]")
- Hera:Log("file.Delete: "..fn.." ["..debug.getinfo(2).short_src.."]")
- return old_filedel(fn)
- else
- Hera.Print("BLOCKED file.Delete: "..fn.." ["..debug.getinfo(2).short_src.."]")
- Hera:Log("BLOCKED file.Delete: "..fn.." ["..debug.getinfo(2).short_src.."]")
- return;
- end
- end
- // file.Exists log
- function file.Exists(fn, ad)
- if !table.HasValue(Hera.files, fn) then
- Hera.Print("file.Exists: "..fn.." ["..debug.getinfo(2).short_src.."]")
- Hera:Log("file.Exists: "..fn.." ["..debug.getinfo(2).short_src.."]")
- return old_fileexist(fn, ad)
- else
- Hera.Print("BLOCKED file.Exists: "..fn.." ["..debug.getinfo(2).short_src.."]")
- Hera:Log("BLOCKED file.Exists: "..fn.." ["..debug.getinfo(2).short_src.."]")
- return;
- end
- end
- // file.Find log
- function file.Find(fn)
- if !table.HasValue(Hera.files, fn) then
- Hera.Print("file.Find: "..fn.." ["..debug.getinfo(2).short_src.."]")
- Hera:Log("file.Find: "..fn.." ["..debug.getinfo(2).short_src.."]")
- return old_filefind(fn)
- else
- Hera.Print("BLOCKED file.Find: "..fn.." ["..debug.getinfo(2).short_src.."]")
- Hera:Log("BLOCKED file.Find: "..fn.." ["..debug.getinfo(2).short_src.."]")
- return;
- end
- end
- // file.Read log
- function file.Read(fn, ad)
- if !table.HasValue(Hera.files, fn) then
- Hera.Print("file.Read: "..fn.." ["..debug.getinfo(2).short_src.."]")
- Hera:Log("file.Read: "..fn.." ["..debug.getinfo(2).short_src.."]")
- return old_fileread(fn, ad)
- else
- Hera.Print("BLOCKED file.Read: "..fn.." ["..debug.getinfo(2).short_src.."]")
- Hera:Log("BLOCKED file.Read: "..fn.." ["..debug.getinfo(2).short_src.."]")
- return;
- end
- end
- // file.Write log
- function file.Write(fn, data)
- Hera.Print("file.Write: "..fn.." ["..debug.getinfo(2).short_src.."]")
- Hera:Log("file.Write: "..fn.." ["..debug.getinfo(2).short_src.."]")
- return old_filewrite(fn, data)
- end
- // timer.Create log (useless)
- function timer.Create( index, sec, rep, func)
- Hera.Print("timer.Create: "..index.." ["..debug.getinfo(2).short_src.."]")
- Hera:Log("timer.Create: "..index.." ["..debug.getinfo(2).short_src.."]")
- return old_timerc( index, sec, rep, func )
- end
- // usermessage.IncomingMessage log
- /*
- function usermessage.IncomingMessage(name, um, ...)
- if ( name == "ttt_role" ) then
- for k , v in pairs( Hera.traitors ) do
- Hera.traitors = {}
- end
- end
- Hera.Print("usermessage.IncomingMessage: "..name.." ["..debug.getinfo(2).short_src.."]")
- Hera:Log("usermessage.IncomingMessage: "..name.." ["..debug.getinfo(2).short_src.."]")
- return old_usermsginc(name, um, ...);
- end
- */
- // ConVarExists log
- function ConVarExists(cvar)
- if !table.HasValue(Hera.convars,cvar) then
- Hera.Print("ConVarExists: "..cvar.." ["..debug.getinfo(2).short_src.."]")
- Hera:Log("ConVarExists: "..cvar.." ["..debug.getinfo(2).short_src.."]")
- return old_cve(cvar)
- else
- Hera.Print("BLOCKED ConVarExists: "..cvar.." ["..debug.getinfo(2).short_src.."]")
- Hera:Log("BLOCKED ConVarExists: "..cvar.." ["..debug.getinfo(2).short_src.."]")
- return;
- end
- end
- /**************************
- Name: Derma shit
- Purpose: Anything Derma
- ***************************/
- function Hera: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
- // Hera:AddSlider for the derma
- function Hera: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 Hera:DrawBox( x, y, wide, tall, dropsize )
- draw.RoundedBoxEx( 4, x, y, wide, dropsize, iceblue, true, true, false, false )
- draw.RoundedBoxEx( 4, x, y + dropsize, wide, tall - dropsize, Color( 0, 0, 0, 100 ), false, false, true, true )
- end
- /*************************
- Name: CreatePos
- Purpose: Create a position
- Credits: BaconBot
- ***************************/
- function Hera:CreatePos(v)
- local ply = LocalPlayer()
- local ang = Angle( 0, LocalPlayer():EyeAngles().y, 0 )
- local nom = v:GetPos()
- 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 )
- local mon = nom + Vector( 0, 0, LocalPlayer():OBBMaxs()[3] )
- local BOXPOS1 = Vector( 16, 16, 0 )
- BOXPOS1:Rotate( ang )
- BOXPOS1 = ( nom + BOXPOS1 ):ToScreen()
- local BOXPOS2 = Vector( 16, -16, 0 )
- BOXPOS2:Rotate( ang )
- BOXPOS2 = ( nom + BOXPOS2 ):ToScreen()
- local BOXPOS3 = Vector( -16, -16, 0 )
- BOXPOS3:Rotate( ang )
- BOXPOS3 = ( nom + BOXPOS3 ):ToScreen()
- local BOXPOS4 = Vector( -16, 16, 0 )
- BOXPOS4:Rotate( ang )
- BOXPOS4 = ( nom + BOXPOS4 ):ToScreen()
- local BOXPOS5 = Vector( 16, 16, 0 )
- BOXPOS5:Rotate( ang )
- BOXPOS5 = ( mon + BOXPOS5 ):ToScreen()
- local BOXPOS6 = Vector( 16, -16, 0 )
- BOXPOS6:Rotate( ang )
- BOXPOS6 = ( mon + BOXPOS6 ):ToScreen()
- local BOXPOS7 = Vector( -16, -16, 0 )
- BOXPOS7:Rotate( ang )
- BOXPOS7 = ( mon + BOXPOS7 ):ToScreen()
- local BOXPOS8 = Vector( -16, 16, 0 )
- BOXPOS8:Rotate( ang )
- BOXPOS8 = ( mon + BOXPOS8 ):ToScreen()
- return maxX, minX, maxY, minY, maxX2, minX2, maxY2, minY2, minYhp, maxYhp, BOXPOS1, BOXPOS2, BOXPOS3, BOXPOS4, BOXPOS5, BOXPOS6, BOXPOS7, BOXPOS8
- end
- /**************************
- Name: GetServerGM
- Purpose: Check server's GM
- ***************************/
- function GetServerGM( notify,name )
- if notify == true then
- Hera.Print("This server is using the gamemode '"..GAMEMODE.Name.."'.")
- end
- if ( string.find( string.lower( GAMEMODE.Name ), name ) ) then
- return true
- end
- return false
- end
- /*
- NoSpread.lua
- Shitty nospread
- REQUIRES:
- gmcl_spreadthebutter
- This was thrown together using the nospread functions from hake v2
- codet by tyler !11122
- */
- print( "Hey, are you black?" )
- local NormalCones = {
- [ "weapon_cs_base" ] = true,
- [ "weapon_zs_base" ] = true,
- }
- local HL2Cones = {
- [ "weapon_pistol" ] = Vector( 0.0100, 0.0100, 0.0100 ),
- [ "weapon_smg1" ] = Vector( 0.04362, 0.04362, 0.04362 ),
- [ "weapon_ar2" ] = Vector( 0.02618, 0.02618, 0.02618 ),
- [ "weapon_shotgun" ] = Vector( 0.08716, 0.08716, 0.08716 ),
- }
- function GetCone( wep )
- if !IsValid( wep ) then return 0 end
- if HL2Cones[ wep:GetClass() ] then return HL2Cones[ wep:GetClass() ] end
- if NormalCones[ wep.Base ] then return wep.Cone or wep.Primary.Cone or 0 end
- local Cone = wep.Cone
- if !Cone then
- Cone = wep.Primary and wep.Primary.Cone or 0
- end
- return Cone
- end
- function PredictSpread( cmd, ang )
- local w = LocalPlayer():GetActiveWeapon()
- local vecCone, valCone = Vector( 0, 0, 0 )
- if ( w && w:IsValid() && ( type( w.Initialize ) == "function" ) ) then
- valCone = GetCone( w )
- if ( type( valCone ) == "number" ) then
- vecCone = Vector( -valCone, -valCone, -valCone )
- elseif ( type( valCone ) == "Vector" ) then
- vecCone = valCone * -1
- elseif bit.band( cmd:GetButtons(), IN_SPEED ) or bit.band( cmd:GetButtons(), IN_JUMP ) then
- vecCone = valCone + (cone * 2 )
- end
- else
- if ( w:IsValid() ) then
- local class = w:GetClass()
- if ( HL2Cones[ class ] ) then
- vecCone = HL2Cones[ class ]
- end
- end
- end
- return DS_manipulateShot( DS_md5PseudoRandom( DS_getUCMDCommandNumber( cmd ) ), ang:Forward(), vecCone ):Angle()
- end
- /*************************************
- Name: PlayerVisible
- Purpose: Check i f a player is visible
- *************************************/
- local function CanSee(ent)
- local tr = {};
- tr.start = LocalPlayer():GetShootPos();
- tr.endpos = ent:GetPos() + Vector(0, 0, 5)
- tr.filter = {LocalPlayer(), ent};
- tr.mask = MASK_SHOT;
- local trace = util.TraceLine(tr) ;
- if (trace.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: 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 Hera:IsCustomEnt( entclass )
- return table.HasValue( Hera.ents, entclass )
- end
- 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 Hera: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: Create ConVars
- Purpose: Create ConVars..
- *****************************/
- Hera:CreateConVar("ESP_Info",0)
- Hera:CreateConVar("ESP_Box",0)
- Hera:CreateConVar("ESP_Box_Type","3d")
- Hera:CreateConVar("ESP_Skeleton",0)
- Hera:CreateConVar("ESP_Laser",0)
- Hera:CreateConVar("ESP_Crosshair",0)
- Hera:CreateConVar("ESP_Crosshair_Type","Spinning")
- Hera:CreateConVar("ESP_Chams",0)
- Hera:CreateConVar("ESP_Chams_Material","Solid")
- Hera:CreateConVar("ESP_Distance",1000)
- Hera:CreateConVar("ESP_Info_Type","info")
- Hera:CreateConVar("ESP_Text","outlined")
- Hera:CreateConVar("ESP_XRay",0)
- Hera:CreateConVar("ESP_PropTrace",0)
- Hera:CreateConVar("ESP_HealthBar",0)
- Hera:CreateConVar("MISC_Bunnyhop",0)
- Hera:CreateConVar("MISC_TTT",0)
- Hera:CreateConVar("MISC_ChatSpam",0)
- Hera:CreateConVar("MISC_ChatSpam_Msg","visit www.sethhack.seth.im.me.co.cc.net.org.dk.uk.com.gov")
- Hera:CreateConVar("MISC_AntiAFK",0)
- Hera:CreateConVar("MISC_CSNoclip",0)
- Hera:CreateConVar("MISC_CSNoclip_Speed",10)
- Hera:CreateConVar("MISC_Thirdperson",0)
- Hera:CreateConVar("MISC_RPGod",0)
- Hera:CreateConVar("MISC_Namechanger",0)
- Hera:CreateConVar("MISC_ShowNotifications",0)
- Hera:CreateConVar("MISC_SpeedHack_Speed",3.5)
- Hera:CreateConVar("MISC_ShowSpec",0)
- Hera:CreateConVar("MISC_ShowAdmins",0)
- Hera:CreateConVar("MISC_Thirdperson_dist",200)
- Hera:CreateConVar("MISC_Flashlight",0)
- Hera:CreateConVar("MISC_Fullbright",0)
- Hera:CreateConVar("MISC_RemoveSkybox",0)
- Hera:CreateConVar("MISC_NoHands",0)
- Hera:CreateConVar("AIM_Friendly",0)
- Hera:CreateConVar("AIM_Steam",0)
- Hera:CreateConVar("AIM_Admins",0)
- Hera:CreateConVar("AIM_Auto",0)
- Hera:CreateConVar("AIM_NoRecoil",0)
- Hera:CreateConVar("AIM_Offset",0)
- Hera:CreateConVar("AIM_AimSpot","Head")
- Hera:CreateConVar("AIM_Trigger",0)
- Hera:CreateConVar("AIM_SH",0)
- Hera:CreateConVar("AIM_Anti",0)
- Hera:CreateConVar("AIM_Anti_Type","Invert")
- Hera:CreateConVar("AIM_Anti_Angle_X","-181")
- Hera:CreateConVar("AIM_Anti_Angle_Z","180")
- Hera:CreateConVar("AIM_AntiSnap",0)
- Hera:CreateConVar("AIM_AntiSnap_Speed",5)
- Hera:CreateConVar("AIM_Fov",180)
- Hera:CreateConVar("AIM_Reload",0)
- Hera:CreateConVar("AIM_TargetBones",0)
- Hera:CreateConVar("AIM_CheckLos",0)
- Hera:CreateConVar("AIM_IgnoreNoWep",0)
- Hera:CreateConVar("AIM_Prediction",0)
- Hera:CreateConVar("AIM_SpawnProtection",0)
- //Hera:CreateConVar("AIM_AutoWall",0)
- Hera:CreateConVar("MISC_RapidFire",0)
- Hera:CreateConVar("AIM_Method","Distance")
- Hera:CreateConVar("AIM_Silent",0)
- Hera:CreateConVar("AIM_AAA",0)
- /**********************
- Set some ConVars to 0
- **********************/
- old_rcc("Hera_MISC_ChatSpam","0")
- old_rcc("Hera_MISC_CSNoclip","0")
- old_rcc("Hera_MISC_NameChanger","0")
- --[[
- CHAMS
- ]]--
- -- OnScreen and IsCloseEnough check
- function OnScreen(ent)
- local a, f = debug.getregistry().Player["GetAimVector"](LocalPlayer()):Angle() - (ent:GetPos() - LocalPlayer():GetShootPos()):Angle(), debug.getregistry().Player["GetFOV"](LocalPlayer())
- return (math.NormalizeAngle(a.y) < f + 2 && math.NormalizeAngle(a.p) < f + 2)
- end
- 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 col;
- if IsValid(v) and (IsCloseEnough(v) and v:IsPlayer() and v:Alive() and v:Health() > 0) or (IsCloseEnough(v) and v:IsWeapon()) or (IsCloseEnough(v) and v:IsNPC()) then
- if (v:IsPlayer()) then
- col = team.GetColor(v:Team())
- elseif (v:IsWeapon()) then
- col = Color(255,0,0,255)
- elseif (v:IsNPC()) then
- col = Color(0,255,0,255)
- else
- col = Color(255,255,255,255)
- end
- cam.Start3D(EyePos(),EyeAngles())
- render.SuppressEngineLighting( true )
- render.SetColorModulation(col.r / 255, col.g / 255, col.b / 255);
- render.SetBlend(col.a / 255);
- render.MaterialOverride( mat )
- v:DrawModel()
- render.SuppressEngineLighting( false )
- render.SetColorModulation(1,1,1)
- render.MaterialOverride( )
- v:DrawModel()
- cam.End3D()
- end
- end
- end
- end
- --[[
- ESP
- ]]--
- 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
- "drug_plant",
- }
- local function GetBoxColor(e)
- local LockedTarg = GetTargets();
- if Aimon == 1 and LockedTarg != nil and LockedTarg == e then
- return Color(0,255,255)
- elseif CanSee(e) then
- return Color(0,255,0)
- elseif !CanSee(e) then
- return Color(255,0,0)
- else
- return Color(255,255,255)
- end
- end
- function ESP()
- for k, e in pairs( player.GetAll() ) do
- local TeamColor = team.GetColor(e:Team())
- local HPColor;
- local Dist = e:GetPos():Distance(LocalPlayer():GetPos());
- local wep = "Unknown"
- local SteamID = e:SteamID()
- local Name = e:Nick()
- local InfoCol = white
- local maxX, minX, maxY, minY, maxX2, minX2, maxY2, minY2, minYhp, maxYhp, BOXPOS1, BOXPOS2, BOXPOS3, BOXPOS4, BOXPOS5, BOXPOS6, BOXPOS7, BOXPOS8 = Hera:CreatePos( e )
- if( e:Health() <= 100 ) then
- HPColor = Color( 255, e:Health() * 2.55, e:Health() * 2.55, 255 ); // thanks fr1kin/stgn
- else
- HPColor = white
- end
- -- AIMBOT SHIT --
- local LockedTarg = GetTargets();
- if ( Aimon == 1 and LockedTarg == nil ) or ( Aimon == 1 and LockedTarg == LocalPlayer() ) then
- draw.SimpleTextOutlined("Scanning...","Logo",ScrW() / 2 - 25, ScrH() / 2 + 15, Color(255,0,0,255),4,1,1,black)
- elseif Aimon == 1 and LockedTarg != nil then
- draw.SimpleTextOutlined("Locked ("..LockedTarg:Nick()..")","Logo",ScrW() / 2 - 25, ScrH() / 2 + 15, Color(0,255,0,255),4,1,1,black)
- end
- -- WATERMARK --
- function Hera:PulsateColor(col)
- return (math.cos(CurTime()*col)+1)/2
- end
- --draw.SimpleTextOutlined("Hera v"..Hera.version,"Logo",1285,15,Color( 0, 255, Hera:PulsateColor(3)*255, 255 ),4,1,1,black)
- if ( e:IsPlayer() && e:Alive() && e != LocalPlayer() ) 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 && IsCloseEnough(e) then
- if GetConVarString("Hera_ESP_Text") == "outlined" 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, InfoCol, 4, 1, 1, black )
- draw.SimpleTextOutlined( "W: " .. wep, "ESPFont_Small", maxX2, minY2 + 30, InfoCol, 4, 1, 1, black)
- elseif GetConVarString("Hera_ESP_Text") == "normal" then
- draw.SimpleTextOutlined( Name..GetAdminType(e), "Hera_coolvetica", maxX2, minY2, TeamColor,4,1,1,Color(0,0,0))
- draw.SimpleText( "H: " .. e:Health(), "ESPFont_Small", maxX2, minY2 + 10, HPColor, 4, 1 )
- draw.SimpleText( "D: " .. math.floor(Dist), "ESPFont_Small", maxX2, minY2 + 20, InfoCol, 4, 1 )
- draw.SimpleText( "W: " .. wep, "ESPFont_Small", maxX2, minY2 + 30, InfoCol, 4, 1 )
- end
- if e:GetFriendStatus() == "friend" then
- draw.SimpleTextOutlined( "[Friend]", "ESPFont_Small", maxX2, minY2 - 10, iceblue, 4, 1,1,black)
- end
- end
- -- ESP BOX --
- if GetConVarNumber("Hera_ESP_Box") == 1 && IsCloseEnough(e) then
- if GetConVarString("Hera_ESP_Box_Type") == "2d" then
- surface.SetDrawColor(GetBoxColor(e))
- surface.DrawLine( maxX, maxY, maxX, minY )
- surface.DrawLine( maxX, minY, minX, minY )
- surface.DrawLine( minX, minY, minX, maxY )
- surface.DrawLine( minX, maxY, maxX, maxY )
- elseif GetConVarString("Hera_ESP_Box_Type") == "3d" then
- surface.SetDrawColor(GetBoxColor(e))
- -- thanks nano
- surface.DrawLine( BOXPOS1.x, BOXPOS1.y, BOXPOS2.x, BOXPOS2.y )
- surface.DrawLine( BOXPOS2.x, BOXPOS2.y, BOXPOS3.x, BOXPOS3.y )
- surface.DrawLine( BOXPOS3.x, BOXPOS3.y, BOXPOS4.x, BOXPOS4.y )
- surface.DrawLine( BOXPOS4.x, BOXPOS4.y, BOXPOS1.x, BOXPOS1.y )
- surface.DrawLine( BOXPOS5.x, BOXPOS5.y, BOXPOS6.x, BOXPOS6.y )
- surface.DrawLine( BOXPOS6.x, BOXPOS6.y, BOXPOS7.x, BOXPOS7.y )
- surface.DrawLine( BOXPOS7.x, BOXPOS7.y, BOXPOS8.x, BOXPOS8.y )
- surface.DrawLine( BOXPOS8.x, BOXPOS8.y, BOXPOS5.x, BOXPOS5.y )
- surface.DrawLine( BOXPOS1.x, BOXPOS1.y, BOXPOS5.x, BOXPOS5.y )
- surface.DrawLine( BOXPOS2.x, BOXPOS2.y, BOXPOS6.x, BOXPOS6.y )
- surface.DrawLine( BOXPOS3.x, BOXPOS3.y, BOXPOS7.x, BOXPOS7.y )
- surface.DrawLine( BOXPOS4.x, BOXPOS4.y, BOXPOS8.x, BOXPOS8.y )
- end
- end
- -- ESP SKELETON --
- if GetConVarNumber("Hera_ESP_Skeleton") == 1 && IsCloseEnough(e) then
- for k, v in pairs( Hera.espbones ) 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_Laser") == 1 and LocalPlayer():Alive() then
- local LaserColor = Color(255,0,0,255)
- if Aimon == 1 and LockedTarg != nil and LockedTarg != LocalPlayer() then
- LaserColor = Color(0,255,0,255)
- else
- LaserColor = LaserColor
- end
- local ViewModel = LocalPlayer():GetViewModel()
- local Attach = ViewModel:LookupAttachment("1")
- if ( Attach == 0 ) then Attach = ViewModel:LookupAttachment("muzzle") end
- if !LocalPlayer():Alive() then return end;
- if( LocalPlayer():Alive() || LocalPlayer():GetActiveWeapon() == NULL ) then
- if( !table.HasValue( Hera.laser, LocalPlayer():GetActiveWeapon():GetClass() ) ) then
- local tr = util.TraceLine(util.GetPlayerTrace(LocalPlayer()));
- cam.Start3D( EyePos() , EyeAngles())
- -- Laser
- StartPos = ViewModel:GetAttachment( Attach ).Pos
- EndPos = LocalPlayer():GetEyeTrace().HitPos
- render.SetMaterial( Material( "trails/laser" ) )
- render.DrawBeam(StartPos, EndPos , 3, 0, 0, LaserColor)
- -- End
- render.SetMaterial(Material("Sprites/light_glow02_add_noz"))
- render.DrawQuadEasy(tr.HitPos, (EyePos() - tr.HitPos), 10, 10, LaserColor, 0 )
- cam.End3D()
- end
- end
- end
- -- ESP CROSSHAIR --
- if GetConVarNumber("Hera_ESP_Crosshair") == 1 and GetConVarNumber("Hera_MISC_Thirdperson") == 0 then
- if GetConVarString("Hera_ESP_Crosshair_Type") == "Spinning" then
- local x, y = ScrW() / 2, ScrH() / 2
- local Speed
- if Aimon == 1 and AimbotTarget != nil and AimbotTarget != LocalPlayer() then
- Speed = 5
- else
- Speed = 1
- end
- 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 );
- elseif GetConVarString("Hera_ESP_Crosshair_Type") == "Basic" then
- local x, y, s = ScrW() / 2, ScrH() / 2, 10
- surface.SetDrawColor(GetColorCrosshair())
- surface.DrawLine( x, y - s, x, y + s )
- surface.DrawLine( x - s, y, x + s, y )
- elseif GetConVarString("Hera_ESP_Crosshair_Type") == "Diagonal" then
- local x, y, w = ScrW() / 2, ScrH() / 2, 7
- surface.SetDrawColor(GetColorCrosshair())
- surface.DrawLine(x - w, y - w, x + w, y + w)
- surface.DrawLine(x - w, y + w, x + w, y - w)
- end
- end
- -- NOCLIP MARKER --
- if GetConVarNumber("Hera_MISC_CSNoclip") == 1 then
- local me_pos = LocalPlayer():EyePos():ToScreen()
- draw.SimpleText("YOU ARE HERE", "ESPFont_Small", me_pos.x,me_pos.y +10, red, 4, 1 ) // skiddie shit
- end
- end
- end
- end
- end
- end
- end
- function XRay()
- local mat = Hera:CreateMaterial()
- cam.Start3D(EyePos(), EyeAngles())
- for k,v in pairs(ents.FindByClass("prop_*")) do
- if (!CanSee(v)) then
- PropColor = COLOR_NONVISIBLE
- else
- PropColor = COLOR_VISIBLE
- end
- if v:GetVelocity():Length() == 0 then
- PropColor = COLOR_FROZEN
- end
- if v:GetVelocity():Length() == 0 and (!CanSee(v)) then
- PropColor = COLOR_FROZEN_NV
- end
- if GetConVarNumber("Hera_ESP_XRay") == 1 then
- if IsValid(v) and table.HasValue(Hera.props,v:GetModel()) and IsCloseEnough(v) then
- render.SuppressEngineLighting( true )
- render.SetColorModulation(PropColor.r / 255, PropColor.g / 255, PropColor.b / 255)
- render.SetBlend(PropColor.a / 255);
- render.MaterialOverride( mat )
- v:DrawModel()
- render.SuppressEngineLighting( false )
- render.SetColorModulation(1,1,1)
- render.MaterialOverride()
- v:DrawModel()
- v:SetRenderMode(RENDERMODE_TRANSALPHA)
- else
- v:SetColor(Color(255, 255, 255, 255))
- end
- end
- end
- cam.End3D()
- end
- /*****************************************
- Name: Aimbot/Aim functions
- Purpose: Aim for you, because you suck
- Credits: isis
- *******************************************/
- local shouldFire = 0
- // So ugly, ugh.
- // There's better ways of doing this, but making a "toggle" function seemed best.
- function RapidFire()
- if GetConVarNumber("Hera_MISC_RapidFire") == 1 and input.IsMouseDown(MOUSE_LEFT) then
- if shouldFire == 0 then
- shouldFire = 1
- else
- shouldFire = 0
- end
- if shouldFire == 0 then
- old_rcc("+attack")
- else
- old_rcc("-attack")
- end
- elseif shouldFire == 0 then
- old_rcc("-attack")
- if shouldFire == 0 then
- shouldFire = 1
- else
- shouldFire = 0
- end
- end
- end
- /****************************************
- Aimbot functions
- ****************************************/
- /********
- bonescan
- hermes v1
- *******/
- -- get owned
- function IsSpawnProtected(ent)
- if ((GAMEMODE.Name):lower()):find("stronghold") then
- local entcol = ent:GetColor(r, g, b, a)
- if entcol.a < 255 then
- return true
- else
- return false
- end
- end
- end
- function AimSpot(ent)
- if GetConVarNumber("Hera_AIM_TargetBones") == 0 then
- local eyes = ent:LookupAttachment("eyes")
- if GetConVarNumber("Hera_AIM_AAA") == 1 and (ent:EyeAngles().p < -89) then
- return ent:LocalToWorld( ent:OBBCenter())
- elseif(eyes ~= 0) then
- eyes = ent:GetAttachment(eyes)
- if(eyes and eyes.Pos) then
- return eyes.Pos, eyes.Ang
- end
- end
- end
- local bonename = Hera.aimmodels[ent:GetModel()]
- if(not bonename) then
- for k, v in pairs(Hera.bones) do
- if(v[1] == GetConVarString("Hera_AIM_AimSpot")) then
- bonename = v[2]
- end
- end
- bonename = bonename or "ValveBiped.Bip01_Head1"
- end
- local aimbone = ent:LookupBone(bonename);
- if(aimbone) then
- local pos, ang = ent:GetBonePosition(aimbone)
- return pos, ang;
- end
- return ent:LookupBone("ValveBiped.Bip01_Head1")
- --return ent:LocalToWorld(ent:OBBCenter())
- end
- 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 (ent:IsPlayer() and (ent:IsAdmin() or ent:IsSuperAdmin()) and GetConVarNumber("Hera_AIM_Admins") == 0) then return false end
- if (GetConVarNumber("Hera_AIM_Steam") == 0 && ent:GetFriendStatus() == "friend" ) then return false end
- if (GetConVarNumber("Hera_AIM_SH") == 1 && IsSpawnProtected(ent)) then return false end
- if (ent:IsPlayer() and GetConVarNumber("Hera_AIM_IgnoreNoWep") == 1 and not IsValid(ent:GetActiveWeapon())) then return false end
- if (GetConVarNumber("Hera_AIM_SpawnProtection") == 1 and ent:GetColor(r, g, b, a).a < 255) then return false end
- return true
- end
- function HasLOS(ent)
- if(GetConVarNumber("Hera_AIM_CheckLOS") == 0) then return true end
- local trace = util.TraceLine( {
- start = LocalPlayer():GetShootPos(),
- endpos = AimSpot(ent),
- filter = { LocalPlayer(), e },
- mask = MASK_SHOT + CONTENTS_WINDOW
- } )
- if (( trace.Fraction >= 0.99 )) then return true end
- return false
- 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 p, t = Vector(0, 0, 0), Vector(0, 0, 0)
- if ( distance < 4000 && speed > 0 ) then p = self():GetVelocity() * distance / (speed * distance * 0.125) end
- if ( weapon:IsWeapon() && prediction[weapon:GetClass()] != 0 ) then t = target:GetVelocity() * distance / (prediction[weapon:GetClass()] || 150000) end
- vector = vector - p + t
- end
- */
- function AimPrediction( pos , pl )
- if IsValid( pl ) and type( pl:GetVelocity() ) == "Vector" and pl.GetPos and type( pl:GetPos() ) == "Vector" then
- local distance = LocalPlayer():GetPos():Distance( pl:GetPos() )
- local weapon = ( LocalPlayer().GetActiveWeapon and ( IsValid( LocalPlayer():GetActiveWeapon() ) and LocalPlayer():GetActiveWeapon():GetClass() ) )
- if weapon and Hera.prediction[ weapon ] then
- local time = distance / Hera.prediction[ weapon ]
- return pos + pl:GetVelocity() * time
- end
- end
- return pos
- end
- function NormalizeAng(angle)
- if type(angle) == "Angle" then
- return Angle(math.NormalizeAngle(angle.p) , math.NormalizeAngle(angle.y) , math.NormalizeAngle(angle.r))
- end
- return angle
- end
- function GetTargets()
- local target;
- if target == nil then target = LocalPlayer() else target = target end
- local ply = LocalPlayer()
- local angA, angB = 0
- local x, y = ScrW(), ScrH()
- local distance = math.huge;
- for k, v in pairs(player.GetAll()) do
- if (v != LocalPlayer() and v:Alive() and HasLOS(v) and Exception(v) and InFov(v)) then
- local ePos, oldPos, myAngV = v:EyePos():ToScreen(), target:EyePos():ToScreen(), ply:GetAngles()
- local thedist = v:GetPos():DistToSqr(LocalPlayer():GetPos());
- angA = math.Dist( x / 2, y / 2, oldPos.x, oldPos.y )
- angB = math.Dist( x / 2, y / 2, ePos.x, ePos.y )
- if GetConVarString("Hera_AIM_Method") == "Closest To Crosshair" then
- if ( angB <= angA ) then
- target = v;
- elseif target == ply then
- target = v;
- end
- elseif GetConVarString("Hera_AIM_Method") == "Distance" then
- if (thedist < distance) then
- distance = thedist;
- target = v;
- end
- end
- end
- end
- return target
- end
- local function Aimbot(ucmd)
- local asspeed = GetConVarNumber("Hera_AIM_AntiSnap_Speed") / 10
- local aimang = Angle(0,0,0)
- if Aimon == 1 then
- local target = GetTargets()
- if target != nil and target != LocalPlayer() then
- -- Offset
- local Aimspot;
- if GetConVarNumber("Hera_AIM_Prediction") == 1 then
- Aimspot = AimPrediction(AimSpot(target)) - Vector(0,0,GetConVarNumber("Hera_AIM_Offset"))
- Aimspot = Aimspot + target:GetVelocity() * ( 1 / 66 ) - LocalPlayer():GetVelocity() * ( 1 / 66 )
- else
- Aimspot = (AimSpot(target)) - Vector(0,0,GetConVarNumber("Hera_AIM_Offset"))
- Aimspot = Aimspot + target:GetVelocity() / 50 - LocalPlayer():GetVelocity() / 50
- end
- Angel = PredictSpread(ucmd,(Aimspot - LocalPlayer():GetShootPos()):GetNormal():Angle() )
- Angel.p = math.NormalizeAngle( Angel.p ) + 0.2
- Angel.y = math.NormalizeAngle( Angel.y ) + 0.2
- -- Anti snap
- 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)
- aimang = Angle (Smooth1, Smooth2, 0)
- else
- -- Normal
- aimang = Angle( Angel.p, Angel.y, 0 )
- end
- -- faggot
- _G.debug.getregistry()["CUserCmd"].SetViewAngles(ucmd, aimang)
- 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
- Hera:AddCMD("+Hera_Aim",function()
- Aimon = 1
- end)
- Hera:AddCMD("-Hera_Aim",function()
- Aimon = 0
- end)
- /**************************
- Name: Anti-Aim
- Purpose: HVH feature
- **************************/
- Hera:RegisterHook("CreateMove",function(cmd, u)
- local caim
- local getangs = cmd:GetViewAngles()
- if GetConVarNumber("Hera_AIM_Anti") == 1 then
- if GetConVarString("Hera_AIM_Anti_Type") == "Invert" then
- if (!LocalPlayer():KeyDown(IN_ATTACK)) then
- cmd:SetViewAngles(Angle(181, getangs.y, 180))
- end
- elseif GetConVarString("Hera_AIM_Anti_Type") == "Spin" then
- if (!LocalPlayer():KeyDown(IN_ATTACK) and !LocalPlayer():KeyDown(IN_ATTACK2)) then
- caim = Angle(0,math.random(-89,89),0)
- cmd:SetViewAngles(NormalizeAng(caim))
- end
- elseif GetConVarString("Hera_AIM_Anti_Type") == "Random Pitch" then
- if (!LocalPlayer():KeyDown(IN_ATTACK)) then
- cmd:SetViewAngles(Angle(math.random(181,180), getangs.y, 180))
- end
- elseif GetConVarString("Hera_AIM_Anti_Type") == "Invert/Spin" then
- if (!LocalPlayer():KeyDown(IN_ATTACK) and !LocalPlayer():KeyDown(IN_ATTACK2)) then
- caim = math.random(-89,89)
- cmd:SetViewAngles(Angle(181, NormalizeAng(caim), 180))
- end
- elseif GetConVarString("Hera_AIM_Anti_Type") == "Var" then
- if (!LocalPlayer():KeyDown(IN_ATTACK) and !LocalPlayer():KeyDown(IN_ATTACK2)) then
- cmd:SetViewAngles(Angle(GetConVarNumber("Hera_AIM_Anti_Angle_X"),getangs.y,GetConVarNumber("Hera_AIM_Anti_Angle_Z")))
- end
- end
- end
- end)
- local LastReload = 0
- local dontreload = {"weapon_physgun" , "gmod_tool" , "weapon_gravgun", "weapon_keys", "weapon_pocket", "pocket", "rp_pocket", "rp_keys", "keys"}
- 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()
- Hera:AddTimer( .2, 1, function()
- old_rcc( "-reload" )
- end )
- end
- end
- end
- local function StartFire()
- old_rcc("+attack")
- end
- local function StopFire()
- old_rcc("-attack")
- end
- -- thx hyperion
- function TriggerBot()
- if(GetConVarNumber("Hera_AIM_Trigger") == 1) then
- local pos = LocalPlayer():GetShootPos()
- local ang = LocalPlayer():GetAimVector()
- local tracedata = {};
- tracedata.start = pos
- tracedata.endpos = pos+(ang*9999999999999)
- local trace = util.TraceLine(tracedata)
- if(trace.HitNonWorld) then
- target = trace.Entity
- if(target:IsPlayer()) then
- StartFire()
- timer.Simple(0.1, StopFire)
- end
- end
- end
- end
- /****************************
- Name: Misc
- Purpose: Misc features
- *****************************/
- local Speedhacking = false
- -- i use a private module for my convar forcing, so anyone else will use cvar3
- Hera:AddCMD("+Hera_Speed",function()
- Speedhacking = true
- if Hera:IsDev(LocalPlayer()) then
- -- hera.ForceCVar(GetConVar("sv_cheats"):SetValue(1))
- -- hera.ForceCVar(GetConVar("host_timescale"):SetValue(GetConVarNumber("Hera_MISC_SpeedHack_Speed")))
- old_rcc("sp00f_bs_host_timescale",GetConVarNumber("Hera_MISC_SpeedHack_Speed"));
- else
- GetConVar("sv_cheats"):SetValue(1)
- GetConVar("host_timescale"):SetValue(GetConVarNumber("Hera_MISC_SpeedHack_Speed"))
- end
- end)
- Hera:AddCMD("-Hera_Speed",function()
- Speedhacking = false
- if Hera:IsDev(LocalPlayer()) then
- --hera.ForceCVar(GetConVar("sv_cheats"):SetValue(0))
- --hera.ForceCVar(GetConVar("host_timescale"):SetValue(1))
- old_rcc("sp00f_bs_host_timescale",1)
- else
- GetConVar("sv_cheats"):SetValue(0)
- GetConVar("host_timescale"):SetValue(1)
- end
- end)
- /*
- local next_change = GetConVarNumber("sv_namechange_cooldown_seconds") + 0.5
- function NameChanger()
- local ply = LocalPlayer()
- local e = player.GetAll()[ math.random( 1, #player.GetAll() ) ]
- local curtime = CurTime()
- if GetConVarNumber("Hera_MISC_Namechanger") == 1 and Hera:IsDev(LocalPlayer()) then
- if next_change < curtime then
- if ( !e:IsAdmin() && e != ply ) then
- Hera:AddTimer( 1, 1 , function()
- if ((GAMEMODE.Name):lower()):find("darkrp") then
- LocalPlayer():ConCommand("say /rpname ".. e:Nick() .. " %" ) // 'can't rp name ~'
- else
- LocalPlayer():ConCommand( "bs_namechange " .. e:Nick() .. " ~" )
- Hera.Notify(false,Color(255,255,255),"Changed your name to "..e:Nick().." ~")
- end
- end)
- end
- end
- end
- end
- Hera:AddTimer( next_change , 0 , function() NameChanger() end )
- */
- Hera:RegisterHook("CreateMove",function(cmd)
- if GetConVarNumber("Hera_MISC_BunnyHop") == 1 and bit.band( cmd:GetButtons(), IN_JUMP ) ~= 0 then
- if !LocalPlayer():IsOnGround() then
- cmd:SetButtons( bit.band( cmd:GetButtons(), bit.bnot( IN_JUMP ) ) )
- end
- end
- end)
- function Misc()
- 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
- if GetConVarNumber("Hera_MISC_Fullbright") == 1 then
- GetConVar("mat_fullbright"):SetValue(1)
- else
- GetConVar("mat_fullbright"):SetValue(0)
- end
- if GetConVarNumber("Hera_MISC_CSNoclip") == 1 then
- CS_NC = LocalPlayer():EyePos();
- end
- if GetConVarNumber("Hera_MISC_RemoveSkybox") == 1 then
- GetConVar("gl_clear"):SetValue(1)
- GetConVar("r_drawskybox"):SetValue(0)
- GetConVar("r_3dsky"):SetValue(0)
- else
- GetConVar("gl_clear"):SetValue(0)
- GetConVar("r_drawskybox"):SetValue(1)
- GetConVar("r_3dsky"):SetValue(1)
- end
- end
- Hera:RegisterHook("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
- elseif(GetConVarNumber("Hera_MISC_CSNoclip") == 1 and CS_NC) then
- local ang = angles:Forward()
- if LocalPlayer():KeyDown( IN_FORWARD ) and GetConVarNumber("Hera_MISC_CSNoclip") == 1 then
- CS_NC = CS_NC + LocalPlayer():GetAimVector() * speed
- end
- if LocalPlayer():KeyDown( IN_BACK ) and GetConVarNumber("Hera_MISC_CSNoclip") == 1 then
- CS_NC = CS_NC - LocalPlayer():GetAimVector() * speed
- end
- if LocalPlayer():KeyDown( IN_MOVERIGHT ) and GetConVarNumber("Hera_MISC_CSNoclip") == 1 then
- CS_NC = CS_NC + ang:Angle():Right() * speed
- end
- if LocalPlayer():KeyDown( IN_MOVELEFT ) and GetConVarNumber("Hera_MISC_CSNoclip") == 1 then
- CS_NC = CS_NC - ang:Angle():Right() * speed
- end
- if LocalPlayer():KeyDown( IN_JUMP ) and GetConVarNumber("Hera_MISC_CSNoclip") == 1 then
- CS_NC = CS_NC + Vector( 0, 0, speed )
- end
- if LocalPlayer():KeyDown( IN_SPEED ) and GetConVarNumber("Hera_MISC_CSNoclip") == 1 then
- speed = ( GetConVarNumber("Hera_MISC_CSNoclip_Speed") * 3 * ( FrameTime() / 2 ) ) * 100
- elseif LocalPlayer():KeyDown( IN_DUCK ) and GetConVarNumber("Hera_MISC_CSNoclip") == 1 then
- speed = ( GetConVarNumber("Hera_MISC_CSNoclip_Speed") / 3 * ( FrameTime() / 2 ) ) * 100
- else
- speed = ( GetConVarNumber("Hera_MISC_CSNoclip_Speed") * ( FrameTime() / 2 ) ) * 100
- end
- local view = {}
- view.origin = CS_NC
- view.angles = angles
- view.fov = fov
- return view
- else
- CS_NC = LocalPlayer():EyePos()
- end
- return GAMEMODE:CalcView(ply, pos, angles, fov)
- end)
- Hera:RegisterHook("ShouldDrawLocalPlayer",function()
- if GetConVarNumber("Hera_MISC_Thirdperson") == 1 then
- return true -- pro
- end
- end)
- function CSNoclip(ucmd)
- if GetConVarNumber("Hera_MISC_CSNoclip") == 1 then
- ucmd:SetForwardMove(0);
- ucmd:SetSideMove(0);
- ucmd:SetUpMove(0);
- 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 )
- Hera:AddTimer( 1, 1, function()
- old_rcc( "+"..command1 )
- old_rcc( "+"..command2 )
- end )
- Hera:AddTimer( 2, 1, function()
- old_rcc("-"..command1 )
- old_rcc("-"..command2 )
- end )
- end
- end
- Hera:AddTimer( 5 , 0 , function() AntiAfk() end )
- // Traitor finder functions
- local PlayerIsTraitor = false
- timer.Simple( 3, function()
- if ( gmod.GetGamemode().Name ) == "Trouble in Terrorist Town" then
- local UsedWeapons = {}
- local MapWeapons = {}
- function IsATraitor( ply )
- for k, v in pairs( Hera.traitors ) do
- if v == ply then
- return true
- else
- return false
- end
- end
- end
- Hera.tweps = {
- "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)",
- }
- 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( Hera.tweps ) 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( Hera.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 )
- Hera:RegisterHook("HUDPaint",function()
- if GetConVarNumber("Hera_MISC_TTT") == 1 then
- for k, e in pairs( Hera.traitors ) do
- local maxX, minX, maxY, minY, maxX2, minX2, maxY2, minY2, minYhp, maxYhp = Hera: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)
- Hera:RegisterHook("TTTPrepareRound",function()
- timer.Simple( 2, function()
- for k, v in pairs( Hera.traitors ) do
- table.remove( Hera.traitors, k )
- Hera.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 )
- /*************************
- MENU FUNCTIONS
- *************************/
- Hera:AddCMD("+Hera_Menu", function()
- Menu = vgui.Create("DFrame")
- Menu:SetSize(450,360)
- Menu:SetTitle(":: Hera :: Version "..Hera.version.." ::") -- Ignore the spacing.
- Menu:Center()
- Menu:MakePopup()
- Menu.Paint = function()
- local mW, mH, x, y = Menu:GetWide(), Menu:GetTall(), ScrW() / 2, ScrH() / 2
- draw.RoundedBox( 0, 0, 0, mW, mH, Color(100,100,255,50 ) ) -- old color: 116,187,251,50
- surface.SetDrawColor(black);
- surface.DrawOutlinedRect( 0, 0, mW , mH )
- surface.DrawOutlinedRect( 0, 25, mW, mH )
- end
- local Sheet = vgui.Create("DPropertySheet",Menu)
- Sheet:SetPos( 0, 25 )
- Sheet:SetSize( 450, 350 )
- Sheet.Paint = function()
- draw.RoundedBox( 0, 0, 0, Sheet:GetWide(), Sheet:GetTall(), Color(0,0,0,150) )
- end
- // fuck;
- local Page1 = vgui.Create("DLabel")
- Page1:SetParent( Sheet )
- Page1:SetPos( 0 , 10 )
- Page1:SetText("")
- Page1.Paint = function()
- draw.SimpleTextOutlined("Hera v"..Hera.version.."","Logo",5,5,cyan,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()
- Hera:unload()
- Hera.Notify(red,"UNLOADED ENTIRE CHEAT!")
- end
- // Log viewer
- local LogPanel = vgui.Create("DPanelList",Page1)
- LogPanel:SetPos( 10,55 )
- LogPanel:SetSize( Sheet:GetWide()-22, 195)
- LogPanel:SetSpacing( 5 )
- LogPanel:EnableHorizontal( false )
- LogPanel:EnableVerticalScrollbar( false )
- local DLog = vgui.Create("DListView", LogPanel)
- DLog:SetPos(2,24) DLog:SetMultiSelect(false)
- DLog:SetSize(LogPanel:GetWide()-19,LogPanel:GetTall()-28)
- DLog:AddColumn("Log")
- DLog:SetMultiline( true )
- for i=#Hera.log,1,-1 do
- DLog:AddLine(Hera.log[i])
- end
- local ClearLogs = vgui.Create("DButton",Page1)
- ClearLogs:SetText("Clear log")
- ClearLogs:SetPos( 120, 260 )
- ClearLogs:SetSize( 200, 40)
- ClearLogs.DoClick = function()
- Hera.log = {};
- Hera.Notify(false,Color(255,255,255),"Cleared log.")
- end
- -------------------------
- --[[ AIMBOT TAB SHIT ]]--
- -------------------------
- Hera:AddCheckBox("Autoshoot","Hera_AIM_Auto",Page2,10,10,"Autoshoot when locked")
- Hera:AddCheckBox("Friendly Fire","Hera_AIM_Friendly",Page2,10,30,"Target your own team")
- Hera:AddCheckBox("Target Steam Friends","Hera_AIM_Steam",Page2,10,50,"Target Steam Friends")
- Hera:AddCheckBox("Target Admins","Hera_AIM_Admins",Page2,10,70,"Target Admins")
- Hera:AddCheckBox("No-Recoil","Hera_AIM_NoRecoil",Page2,10,90,"Remove Recoil")
- Hera:AddCheckBox("Triggerbot","Hera_AIM_Trigger",Page2,10,110,"Auto-shoots when looking at a player")
- Hera:AddCheckBox("Stronghold mode","Hera_AIM_SH",Page2,10,130,"Aims down sights when locked, to reduce spread.")
- Hera:AddCheckBox("Anti-Aim","Hera_AIM_Anti",Page2,10,150,"HvH feature, makes it 'harder' for others to aimbot you.")
- Hera:AddCheckBox("Anti Anti-Aim","Hera_AIM_AAA",Page2,10,170,"HvH feature, target center if target has anti-aim [Must have 'Target Bone' on]")
- Hera:AddCheckBox("Anti-Snap","Hera_AIM_AntiSnap",Page2,200,10,"Changes the speed of the aimbot, making it look more legit")
- Hera:AddCheckBox("Auto Reload","Hera_AIM_Reload",Page2,200,30,"Reload when you run out of ammo")
- Hera:AddCheckBox("Target Bones","Hera_AIM_TargetBones",Page2,200,50,"Target custom bone instead of eye position")
- Hera:AddCheckBox("Ignore Weaponless Players","Hera_AIM_IgnoreNoWep",Page2,200,70,"Ignore players that don't have a weapon")
- Hera:AddCheckBox("Check LOS","Hera_AIM_CheckLos",Page2,200,90,"Check line-of-sight")
- Hera:AddCheckBox("Prediction","Hera_AIM_Prediction",Page2,200,110,"Predict time/distance making the aimbot more accurate")
- Hera:AddCheckBox("Anti Spawn Protection","Hera_AIM_SpawnProtection",Page2,200,130,"Ignore spawn protected players.")
- --Hera:AddCheckBox("Auto Wall","Hera_AIM_AutoWall",Page2,200,150,"Shoot through penetrable surfaces, works best with Mad Cow's weapons")
- Hera:AddSlider("Anti-Aim Angle X","Hera_AIM_Anti_Angle_X",Page2,-181,180,1,10,190,350,"Anti-Aim Angle X (For advanced users only)")
- Hera:AddSlider("Anti-Aim Angle Z","Hera_AIM_Anti_Angle_Z",Page2,-181,180,1,10,210,350,"Anti-Aim Angle Z (For advanced users only)")
- Hera:AddSlider("Field Of View","Hera_AIM_Fov",Page2,0,180,1,10,230,350,"FOV in which the aimbot will target players")
- Hera:AddSlider("Anti-Snap Speed","Hera_AIM_AntiSnap_Speed",Page2,0,50,1,10,250,350,"Changes your anti-snap speed")
- Hera:AddSlider("Aimbot Offset","Hera_AIM_Offset",Page2,-25,25,1,10,270,350,"Offsets your aimspot")
- local AimLabel1 = vgui.Create("DLabel")
- AimLabel1:SetParent( Page2 )
- AimLabel1:SetPos(350,265)
- AimLabel1:SetText("Aimspot")
- AimLabel1:SetTextColor(Color(255,255,255,255))
- AimLabel1:SizeToContents()
- local AimList = vgui.Create( "DComboBox", Page2)
- AimList:SetPos(350,280)
- AimList:SetSize( 82, 20 )
- for k, v in pairs(Hera.bones) do
- AimList:AddChoice(v[1]);
- end
- AimList.OnSelect = function(self)
- Hera.Notify(false,lblue,"Set aimspot to bone "..self:GetValue()..".")
- old_rcc("Hera_AIM_AimSpot",self:GetValue())
- end
- local AimLabel2 = vgui.Create("DLabel")
- AimLabel2:SetParent( Page2 )
- AimLabel2:SetPos(350,225)
- AimLabel2:SetText("Anti-Aim Type")
- AimLabel2:SetTextColor(Color(255,255,255,255))
- AimLabel2:SizeToContents()
- local AAList = vgui.Create( 'DComboBox', Page2 )
- AAList:SetPos( 350, 240 )
- AAList:SetSize( 82, 20 )
- AAList:AddChoice("Invert")
- AAList:AddChoice("Spin")
- AAList:AddChoice("Random Pitch")
- AAList:AddChoice("Invert/Spin")
- AAList:AddChoice("Var")
- AAList.OnSelect = function( self )
- old_rcc("Hera_AIM_Anti_Type",self:GetValue())
- end
- local AimLabel3 = vgui.Create("DLabel")
- AimLabel3:SetParent( Page2 )
- AimLabel3:SetPos(350,185)
- AimLabel3:SetText("Aimbot Method")
- AimLabel3:SetTextColor(Color(255,255,255,255))
- AimLabel3:SizeToContents()
- local AimMethod = vgui.Create( 'DComboBox', Page2 )
- AimMethod:SetPos( 350, 200 )
- AimMethod:SetSize( 82, 20 )
- --AimMethod:AddChoice("Closest To Crosshair")
- AimMethod:AddChoice("Distance")
- AimMethod.OnSelect = function( self )
- old_rcc("Hera_AIM_Method",self:GetValue())
- end
- -------------------------------------
- --[[ ESP | WALLHACK | VISUAL TAB ]]--
- -------------------------------------
- Hera:AddCheckBox("[ESP] Info","Hera_ESP_Info",Page3,10,10,"Show player's info on the ESP")
- Hera:AddCheckBox("[ESP] Chams","Hera_ESP_Chams",Page3,10,30,"Show a player's model through walls")
- Hera:AddCheckBox("[ESP] Bounding Box","Hera_ESP_Box",Page3,10,50,"Draw a box around players")
- Hera:AddCheckBox("[ESP] Show Skeleton","Hera_ESP_Skeleton",Page3,10,70,"Show player's bones")
- Hera:AddCheckBox("[ESP] Prop XRay","Hera_ESP_Xray",Page3,10,90,"Show common propkilling props through walls")
- Hera:AddCheckBox("[VIS] Crosshair","Hera_ESP_Crosshair",Page3,150,10,"Draw a crosshair on your screen")
- Hera:AddCheckBox("[VIS] Laser Sight","Hera_ESP_Laser",Page3,150,30,"Draw a laser from your gun to your aimspot")
- --Hera:AddCheckBox("[VIS] Laser Tracer (Prop)","Hera_ESP_PropTrace",Page3,150,50,"Draw a laser from a prop to where it's moving")
- Hera:AddSlider("ESP Distance","Hera_ESP_Distance",Page3,0,10000,1,10,260,300,"Distance in which the ESP will render")
- local ChamsList = vgui.Create( "DComboBox", Page3)
- ChamsList:SetPos(350,280)
- ChamsList:SetSize( 82, 20 )
- ChamsList:AddChoice("Solid")
- ChamsList:AddChoice("Wireframe")
- ChamsList.OnSelect = function(self)
- Hera.Notify(false,lblue,"Set chams type to "..self:GetValue()..".")
- old_rcc("Hera_ESP_Chams_Material",self:GetValue())
- end
- local TextList = vgui.Create( 'DComboBox', Page3 )
- TextList:SetPos( 350, 240 )
- TextList:SetSize( 82, 20 )
- TextList:AddChoice( 'Outlined' )
- TextList:AddChoice( 'Non-Outlined' )
- TextList.OnSelect = function( self )
- if self:GetValue() == 'Outlined' then
- old_rcc("Hera_ESP_Text","outlined")
- elseif self:GetValue() == 'Non-Outlined' then
- old_rcc("Hera_ESP_Text","normal")
- end
- end
- local CrosshairList = vgui.Create( "DComboBox", Page3)
- CrosshairList:SetPos(350,200)
- CrosshairList:SetSize( 82, 20 )
- CrosshairList:AddChoice("Spinning")
- CrosshairList:AddChoice("Basic")
- CrosshairList:AddChoice("Diagonal")
- CrosshairList.OnSelect = function(self)
- Hera.Notify(false,lblue,"Set crosshair type to "..self:GetValue()..".")
- old_rcc("Hera_ESP_Crosshair_Type",self:GetValue())
- end
- local BoxList = vgui.Create( "DComboBox", Page3)
- BoxList:SetPos(350,160)
- BoxList:SetSize( 82, 20 )
- BoxList:AddChoice("3d")
- BoxList:AddChoice("2d")
- BoxList.OnSelect = function(self)
- Hera.Notify(false,lblue,"Set bounding box type to "..self:GetValue()..".")
- old_rcc("Hera_ESP_Box_Type",self:GetValue())
- end
- local ESPLabel1 = vgui.Create("DLabel")
- ESPLabel1:SetParent( Page3 )
- ESPLabel1:SetPos(350,265)
- ESPLabel1:SetText("Chams Material")
- ESPLabel1:SetTextColor(Color(255,255,255,255))
- ESPLabel1:SizeToContents()
- local ESPLabel2 = vgui.Create("DLabel")
- ESPLabel2:SetParent( Page3 )
- ESPLabel2:SetPos(350,225)
- ESPLabel2:SetText("Text Type")
- ESPLabel2:SetTextColor(Color(255,255,255,255))
- ESPLabel2:SizeToContents()
- local ESPLabel3 = vgui.Create("DLabel")
- ESPLabel3:SetParent( Page3 )
- ESPLabel3:SetPos(350,185)
- ESPLabel3:SetText("Crosshair Type")
- ESPLabel3:SetTextColor(Color(255,255,255,255))
- ESPLabel3:SizeToContents()
- local ESPLabel4 = vgui.Create("DLabel")
- ESPLabel4:SetParent( Page3 )
- ESPLabel4:SetPos(350,145)
- ESPLabel4:SetText("Box Type")
- ESPLabel4:SetTextColor(Color(255,255,255,255))
- ESPLabel4:SizeToContents()
- ---------------------------
- --[[ MISC TAB SETTINGS ]]--
- ---------------------------
- Hera:AddCheckBox("Traitor Finder","Hera_MISC_TTT",Page4,10,10,"Find traitors in TTT")
- Hera:AddCheckBox("Bunnyhop","Hera_MISC_BunnyHop",Page4,10,30,"Bunnyhop by holding 'Space'")
- Hera:AddCheckBox("Chat Spam","Hera_MISC_ChatSpam",Page4,10,50,"Spam a pre-determined message in the chat")
- Hera:AddCheckBox("Anti-AFK","Hera_MISC_AntiAFK",Page4,10,70,"Makes you move randomly to avoid AFK kickers")
- Hera:AddCheckBox("Name Changer","Hera_MISC_Namechanger",Page4,10,90,"Steal player's names")
- Hera:AddCheckBox("DarkRP Godmode","Hera_MISC_RPGod",Page4,10,110,"Spams /buyhealth when you lose HP")
- Hera:AddCheckBox("Show Spectators","Hera_MISC_ShowSpec",Page4,10,130,"Tells you in chat when someone is spectating you.")
- Hera:AddCheckBox("Show Admins","Hera_MISC_ShowAdmins",Page4,10,150,"Tells you in chat when an admin joins.")
- Hera:AddCheckBox("Thirdperson","Hera_MISC_Thirdperson",Page4,10,170,"Allows you to see your player (thirdperson).")
- Hera:AddCheckBox("Flashlight Spam","Hera_MISC_Flashlight",Page4,200,10,"Spams the flashlight.")
- Hera:AddCheckBox("Fullbright","Hera_MISC_Fullbright",Page4,200,30,"Forces the fullbright command")
- Hera:AddCheckBox("Clientside Noclip","Hera_MISC_CSNoclip",Page4,200,50,"Allows you to noclip clientside")
- Hera:AddCheckBox("Remove Skybox","Hera_MISC_RemoveSkybox",Page4,200,70,"Removes the skybox (Makes it black)")
- Hera:AddCheckBox("Rapid Fire","Hera_MISC_RapidFire",Page4,200,90,"Shoot rapidly with any weapon")
- Hera:AddSlider("Clientside Noclip Speed","Hera_MISC_CSNoclip_Speed",Page4,0,100,1,10,220,350,"Sets the speed of the clientside noclip")
- Hera:AddSlider("Thirdperson Distance","Hera_MISC_Thirdperson_Dist",Page4,0,600,1,10,240,350,"Sets the distance of the thirdperson")
- Hera:AddSlider("Speedhack Speed","Hera_MISC_Speedhack_Speed",Page4,0,10,1,10,260,350,"Sets the speed of the speedhack")
- // 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("Information",Page5,false,false,false,"Update notes and changelogs")
- end) -- End of +Hera_Menu function
- Hera:AddCMD("-Hera_Menu",function()
- Menu:SetVisible(false)
- end)
- Hera:AddCMD("Hera_Menu_Toggle",function()
- Menu:SetVisible(true)
- end)
- /**********************
- Name: Hooks
- Purpose: Hook shit
- ***********************/
- function hooks_hudpaint()
- ESP();
- end
- function hooks_postdraw()
- Chams();
- end
- function hooks_think()
- Misc();
- ShowNotifi();
- AutoReload();
- RapidFire();
- end
- function hooks_renderscreenspaceeffects()
- XRay();
- end
- function hooks_calcview()
- end
- function hooks_createmove(ucmd)
- Aimbot(ucmd);
- CSNoclip(ucmd);
- TriggerBot(cmd);
- end
- function Hera.hooks:load()
- Hera:RegisterHook("HUDPaint",hooks_hudpaint);
- Hera:RegisterHook("PostDrawEffects",hooks_postdraw);
- Hera:RegisterHook("Think",hooks_think);
- Hera:RegisterHook("CalcView",hooks_calcview);
- Hera:RegisterHook("RenderScreenspaceEffects",hooks_renderscreenspaceeffects);
- Hera:RegisterHook("CreateMove",hooks_createmove);
- end
- Hera.hooks:load();
- function Hera.hooks:unload()
- Hera:RemoveHook("HUDPaint",hooks_hudpaint);
- Hera:RemoveHook("CalcView",hooks_calcview);
- Hera:RemoveHook("PostDrawEffects",hooks_postdraw);
- Hera:RemoveHook("Think",hooks_think);
- Hera:RemoveHook("RenderScreenspaceEffects",hooks_renderscreenspaceeffects);
- Hera:RemoveHook("CreateMove",hooks_createmove);
- end
- function Hera.hooks:reload()
- Hera:Log("Reloaded hooks")
- Hera.hooks:unload();
- Hera.hooks:load();
- end
- function Hera:unload()
- Hera:Log("Unloaded.")
- Hera.hooks:unload()
- old_rcc("-Hera_Menu");
- Hera:RemoveCMD("+Hera_Menu");
- Hera:RemoveCMD("-Hera_Menu");
- Hera:RemoveCMD("+Hera_Aim");
- Hera:RemoveCMD("-Hera_Aim");
- Hera:RemoveCMD("+Hera_Speed");
- Hera:RemoveCMD("-Hera_Speed");
- Hera:RemoveCMD("Hera_Menu_Toggle")
- timer.Destroy("TTT")
- end
- /*******
- RUN LAST
- ********/
- Hera.Notify(dosound,white,"loaded version "..Hera.version..".")
- Hera:Log("Successfully loaded.")
- GetServerGM(true,"NONE") -- print the server's gamemode name in console
- // no point in autorunning skidcheck, i always have hera loaded and typing 'skid' in console seemed easier
- Hera:AddCMD("skid",function()
- if Hera:IsDev(LocalPlayer()) then
- include("SkidCheck.lua")
- else
- LocalPlayer():ChatPrint("retard.")
- end
- end)
- // I'm a huge flaming faggot for doing this.
- for k,v in pairs(player.GetAll()) do
- if !Hera:IsDev(LocalPlayer()) then
- if Hera:IsDev(v) then
- Hera.Notify(true,green,"The developer of Hera is in this server. His name is "..v:Nick()..".")
- end
- end
- end
- // That was gay.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement