Untitled diff

Created Diff never expires
--[[
local ScrW = ScrW
local ScrH = ScrH
READ:
functions & variables were made local because the cheat was NEVER supposed to run with JiT.
now gmod uses JiT and these "optimizations" are not optimizing anymore but only make shit WORSE, so REMOVE them
aimbot here sucks ass compared to bandsox2k14.lua so don't expect to find anything useful here
]]
local pcall = pcall
local pcall = pcall
local require = require
local unpack = unpack
local ScrW, ScrH = ScrW, ScrH
local Color = Color
local Color = Color
local Angle = Angle
local Angle = Angle
local Vector = Vector
local Vector = Vector
local EyePos = EyePos
local EyePos = EyePos
local unpack = unpack
local require = require
local IsValid = IsValid
local IsValid = IsValid
local CurTime = CurTime
local CurTime = CurTime
local Material = Material
local GetConVar = GetConVar
local GetConVar = GetConVar
local EyeAngles = EyeAngles
local EyeAngles = EyeAngles
local LerpVector = LerpVector
local LocalPlayer = LocalPlayer
local LocalPlayer = LocalPlayer
local CreateMaterial = CreateMaterial
local RealFrameTime = RealFrameTime
local SetStencilCompareFunction = render.SetStencilCompareFunction
local SetStencilReferenceValue = render.SetStencilReferenceValue
local SetStencilZFailOperation = render.SetStencilZFailOperation
local SetStencilFailOperation = render.SetStencilFailOperation
local SetStencilPassOperation = render.SetStencilPassOperation
local SuppressEngineLighting = render.SuppressEngineLighting
local SuppressEngineLighting = render.SuppressEngineLighting
local SetColorModulation = render.SetColorModulation
local MaterialOverride = render.MaterialOverride
local SetStencilEnable = render.SetStencilEnable
local ClearStencil = render.ClearStencil
local SetViewPort = render.SetViewPort
local SetMaterial = render.SetMaterial
local SetMaterial = render.SetMaterial
local RenderView = render.RenderView
local DrawBeam = render.DrawBeam
local DrawBeam = render.DrawBeam
local SetBlend = render.SetBlend
local pi = math.pi
local pi = math.pi
local abs = math.abs
local abs = math.abs
local min = math.min
local min = math.min
local max = math.max
local fmod = math.fmod
local floor = math.floor
local floor = math.floor
local Clamp = math.Clamp
local Clamp = math.Clamp
local Round = math.Round
local round = math.Round
local random = math.random
local random = math.random
local Approach = math.Approach
local NormalizeAngle = math.NormalizeAngle
local NormalizeAngle = math.NormalizeAngle
local HasValue = table.HasValue
local insert = table.insert
local insert = table.insert
local remove = table.remove
local remove = table.remove
local Random = table.Random
local Empty = table.Empty
local Empty = table.Empty
local Random = table.Random
local HasValue = table.HasValue
local IgnoreZ = cam.IgnoreZ
local Start3D = cam.Start3D
local Start3D = cam.Start3D
local End3D = cam.End3D
local End3D = cam.End3D
local IsMouseDown = input.IsMouseDown
local IsKeyDown = input.IsKeyDown
local IsKeyDown = input.IsKeyDown
local IsMouseDown = input.IsMouseDown
local RoundedBox = draw.RoundedBox
local DrawOutlinedRect = surface.DrawOutlinedRect
local SetFont = surface.SetFont
local SetTextPos = surface.SetTextPos
local GetTextSize = surface.GetTextSize
local SetTextColor = surface.SetTextColor
local SetTextColor = surface.SetTextColor
local DrawText = surface.DrawText
local SetDrawColor = surface.SetDrawColor
local SetDrawColor = surface.SetDrawColor
local DrawOutlinedRect = surface.DrawOutlinedRect
local GetTextSize = surface.GetTextSize
local RoundedBoxEx = draw.RoundedBoxEx
local SetTextPos = surface.SetTextPos
local DrawCircle = surface.DrawCircle
local RoundedBox = draw.RoundedBox
local DrawText = surface.DrawText
local DrawRect = surface.DrawRect
local DrawRect = surface.DrawRect
local DrawLine = surface.DrawLine
local DrawLine = surface.DrawLine
local SetFont = surface.SetFont
local bor = bit.bor
local band = bit.band
local band = bit.band
local bor = bit.bor
local bnot = bit.bnot
local bnot = bit.bnot
local format = string.format
local strstr = string.find
local strstr = string.find
local gsub = string.gsub
local gsub = string.gsub
local MousePos = gui.MousePos
local vgui_Create = vgui.Create
local vgui_Create = vgui.Create
local chat_AddText = chat.AddText
local chat_AddText = chat.AddText
local MousePos = gui.MousePos
local GetAllPlayers = player.GetAll
local GetAllPlayers = player.GetAll
local GetAllEnts = ents.GetAll
local GetAllEnts = ents.GetAll
local HealthToString = util.HealthToString
local GetPlayerTrace = util.GetPlayerTrace
local TraceLine = util.TraceLine
local TraceLine = util.TraceLine
local JSONToTable = util.JSONToTable
local JSONToTable = util.JSONToTable
local TableToJSON = util.TableToJSON
local TableToJSON = util.TableToJSON
local HealthToString = util.HealthToString
local GetPlayerTrace = util.GetPlayerTrace
local Exists = file.Exists
local Exists = file.Exists
local MkDir = file.CreateDir
local Write = file.Write
local IsDir = file.IsDir
local Read = file.Read
local Read = file.Read
local Write = file.Write
local Dir = file.Find
local Dir = file.Find
local MkDir = file.CreateDir
local IsDir = file.IsDir
local MOUSE_LEFT, MOUSE_MIDDLE, MOUSE_RIGHT = MOUSE_LEFT, MOUSE_MIDDLE, MOUSE_RIGHT
local MOUSE_LEFT, MOUSE_MIDDLE, MOUSE_RIGHT =
local KEY_W, KEY_A, KEY_S, KEY_D, KEY_E, KEY_N, KEY_SPACE, KEY_F1 = KEY_W, KEY_A, KEY_S, KEY_D, KEY_E, KEY_N, KEY_SPACE, KEY_F1
MOUSE_LEFT, MOUSE_MIDDLE, MOUSE_RIGHT
local IN_ATTACK, IN_ATTACK2, IN_RELOAD, IN_JUMP = IN_ATTACK, IN_ATTACK2, IN_RELOAD, IN_JUMP
local STENCILOPERATION_KEEP, STENCILOPERATION_REPLACE, STENCILCOMPARISONFUNCTION_ALWAYS, STENCILCOMPARISONFUNCTION_EQUAL = STENCILOPERATION_KEEP, STENCILOPERATION_REPLACE, STENCILCOMPARISONFUNCTION_ALWAYS, STENCILCOMPARISONFUNCTION_EQUAL
local KEY_W, KEY_A, KEY_S, KEY_D, KEY_E, KEY_N, KEY_SPACE, KEY_INSERT =
local color_white, color_black, color_red, color_yellow, color_green, color_blue, color_dark, color_orange = Color( 255, 255, 255 ), Color( 0, 0, 0 ), Color( 255, 0, 0 ), Color( 255, 255, 0 ), Color( 0, 255, 0 ), Color( 0, 0, 255 ), Color( 0, 0, 0, 160 ), Color( 255, 120, 0, 255 )
KEY_W, KEY_A, KEY_S, KEY_D, KEY_E, KEY_N, KEY_SPACE, KEY_INSERT
local STENCILOPERATION_KEEP, STENCILOPERATION_REPLACE, STENCILCOMPARISONFUNCTION_ALWAYS, STENCILCOMPARISONFUNCTION_EQUAL =
STENCILOPERATION_KEEP, STENCILOPERATION_REPLACE, STENCILCOMPARISONFUNCTION_ALWAYS, STENCILCOMPARISONFUNCTION_EQUAL
local IN_ATTACK, IN_ATTACK2, IN_RELOAD, IN_JUMP =
IN_ATTACK, IN_ATTACK2, IN_RELOAD, IN_JUMP
local color_white, color_black, color_red, color_yellow, color_green, color_blue, color_dark, color_orange =
Color( 255, 255, 255 ), Color( 0, 0, 0 ), Color( 255, 0, 0 ), Color( 255, 255, 0 ), Color( 0, 255, 0 ), Color( 0, 0, 255 ), Color( 0, 0, 0, 128 ), Color( 255, 120, 0, 255 )
local NH =
local NH =
{
{
ESP = false,
ESP = false,
NICK = false,
NICK = false,
INFO = false,
INFO = false,
CHAMS = false,
LASER = false,
LASER = false,
TRACE = false,
TRACE = false,
RADAR = false,
RADAR = false,
FREECAM = false,
NOSKY = false,
WEPESP = false,
WEPESP = false,
ESPDST = false,
ESPDST = false,
BARREL = false,
BARREL = false,
ESPBAR = false,
ESPBAR = false,
SPYCAM = false,
NOHANDS = false,
FREECAM = false,
DRAWBOX = false,
DRAWBOX = false,
TRIGGER = false,
TRIGGER = false,
POSPRED = false,
POSPRED = false,
RADAR_N = false,
CROWBAR = false,
CROWBAR = false,
FAKEVIEW = false,
IGNORE_T = false,
IGNORE_T = false,
NORECOIL = false,
NORECOIL = false,
WALLHACK = false,
WALLHACK = false,
BONESCAN = false,
BONESCAN = false,
AUTOSHOT = false,
AUTOSHOT = false,
BUNNYHOP = false,
BUNNYHOP = false,
SVCHEATS = false,
SVCHEATS = false,
SPECLIST = false,
SPECLIST = false,
DRAWRING = false,
NOSPREAD = false,
NOSPREAD = false,
CROSSHAIR = false,
AUTOWALL = false,
ENTWEPESP = false,
TRIGGERAIM = false,
RADAR_NICK = false,
RADAR_NICK = false,
AIMENABLED = false,
AIMENABLED = false,
AUTOPISTOL = false,
AUTOPISTOL = false,
DETECTSPEC = false,
DETECTSPEC = false,
AUTORELOAD = false,
AUTORELOAD = false,
AUTOSURFACE = false,
THIRDPERSON = false,
NAMESTEALER = false,
NAMESTEALER = false,
IGNORE_TEAM = false,
IGNORE_TEAM = false,
IGNORE_STEAM = false,
IGNORE_STEAM = false,
DETECTRAITOR = false,
DETECTRAITOR = false,
ANTIAIMPROXY = false,
ESPINCLUDENPCS = false,
RADINCLUDENPCS = false,
ESPINCLUDEPLAYERS = false,
RADINCLUDEPLAYERS = false,
BUTTON = 0,
BUTTON = 0,
AIMMODE = 0,
AIMMODE = 0,
ANTIAIM = 0,
ANTIAIM = 0,
BOXMODE = 1,
AIMRANGE = 0,
AIMRANGE = 0,
CROSSMODE = 0,
SPEEDHACK = 1,
SPEEDHACK = 1,
RADAR_SIZE = 128,
RADAR_SIZE = 128,
RADAR_SCALE = 2048,
RADAR_SCALE = 2048,
FSTR = 'default',
FSTR = 'default',
LOOKUPBONE = 'Neck',
LOOKUPBONE = 'Head',
MENU_POS = { ScrW() / 2 - 240, ScrH() / 2 - 180 },
SPEC_POS = { ScrW() * 0.1, ScrH() / 2 },
SPEC_POS = { ScrW() * 0.1, ScrH() / 2 },
RADAR_POS = { ScrW() * 0.1, ScrH() / 2 }
DRONE_POS = { 10, 10 },
RADAR_POS = { ScrW() * 0.1, ScrH() / 2 },
LASERCOLOR = { r = 255, g = 255, b = 255, a = 255 },
CROSSCOLOR = { r = 255, g = 255, b = 255, a = 255 }
}
}
local nh_menu
local nh_menu
local nh_lpdc
local nh_lpdc
local nh_campos
local nh_campos
local nh_camang
local nh_target
local nh_target
local nh_lpress
local nh_lastpos
local nh_lastpos
local nh_nickorig
local nh_nickorig
local nh_bonescanodd
local nh_gx, nh_gy
local nh_dx, nh_dy
local nh_dx, nh_dy
local nh_sx, nh_sy
local nh_sx, nh_sy
local nh_down_l, nh_down_r
local nh_down_l, nh_down_r
local nh_aimbot = false
local nh_aimbot = false
local nh_keydown = false
local nh_keydown = false
local nh_freecam = false
local nh_freecam = false
local nh_spec_grab = false
local nh_spec_grab = false
local nh_radar_grab = false
local nh_radar_grab = false
local nh_drone_grab = false
local nh_self = LocalPlayer()
local nh_self = LocalPlayer()
local nh_laser = Material( 'cable/redlaser' )
local nh_stencil = CreateMaterial( 'NH', 'Wireframe', { [ '$basetexture' ] = 'models/wireframe', [ '$ignorez' ] = 1 } )
local nh_oldpunch = Angle()
local nh_oldpunch = Angle()
local nh_slf = { nh_self }
local nh_filter = { nh_self }
local nh_buttons = { MOUSE_LEFT, MOUSE_MIDDLE, MOUSE_RIGHT }
local nh_buttons = { MOUSE_LEFT, MOUSE_MIDDLE, MOUSE_RIGHT }
local nh_bones =
local nh_bones =
{
{
Head = 'ValveBiped.Bip01_Head1',
Head = 'ValveBiped.Bip01_Head1',
Neck = 'ValveBiped.Bip01_Neck1',
Neck = 'ValveBiped.Bip01_Neck1',
Spine = 'ValveBiped.Bip01_Spine',
Spine = 'ValveBiped.Bip01_Spine',
Spine1 = 'ValveBiped.Bip01_Spine1',
Spine1 = 'ValveBiped.Bip01_Spine1',
Spine2 = 'ValveBiped.Bip01_Spine2',
Spine2 = 'ValveBiped.Bip01_Spine2',
Spine3 = 'ValveBiped.Bip01_Spine3',
Spine3 = 'ValveBiped.Bip01_Spine3',
Spine4 = 'ValveBiped.Bip01_Spine4',
Spine4 = 'ValveBiped.Bip01_Spine4',
[ 'R Hand' ] = 'ValveBiped.Bip01_R_Hand',
[ 'R Hand' ] = 'ValveBiped.Bip01_R_Hand',
[ 'L Hand' ] = 'ValveBiped.Bip01_L_Hand',
[ 'L Hand' ] = 'ValveBiped.Bip01_L_Hand',
[ 'R Calf' ] = 'ValveBiped.Bip01_R_Calf',
[ 'R Calf' ] = 'ValveBiped.Bip01_R_Calf',
[ 'R Foot' ] = 'ValveBiped.Bip01_R_Foot',
[ 'R Foot' ] = 'ValveBiped.Bip01_R_Foot',
[ 'R Toes' ] = 'ValveBiped.Bip01_R_Toe0',
[ 'R Toes' ] = 'ValveBiped.Bip01_R_Toe0',
[ 'L Calf' ] = 'ValveBiped.Bip01_L_Calf',
[ 'L Calf' ] = 'ValveBiped.Bip01_L_Calf',
[ 'L Foot' ] = 'ValveBiped.Bip01_L_Foot',
[ 'L Foot' ] = 'ValveBiped.Bip01_L_Foot',
[ 'L Toes' ] = 'ValveBiped.Bip01_L_Toe0',
[ 'L Toes' ] = 'ValveBiped.Bip01_L_Toe0',
[ 'L Thigh' ] = 'ValveBiped.Bip01_L_Thigh',
[ 'L Thigh' ] = 'ValveBiped.Bip01_L_Thigh',
[ 'R Thigh' ] = 'ValveBiped.Bip01_R_Thigh',
[ 'R Thigh' ] = 'ValveBiped.Bip01_R_Thigh',
[ 'L Forearm' ] = 'ValveBiped.Bip01_L_Forearm',
[ 'L Forearm' ] = 'ValveBiped.Bip01_L_Forearm',
[ 'R Forearm' ] = 'ValveBiped.Bip01_R_Forearm',
[ 'R Forearm' ] = 'ValveBiped.Bip01_R_Forearm',
[ 'L Upperarm' ] = 'ValveBiped.Bip01_L_UpperArm',
[ 'L Upperarm' ] = 'ValveBiped.Bip01_L_UpperArm',
[ 'R Upperarm' ] = 'ValveBiped.Bip01_R_UpperArm'
[ 'R Upperarm' ] = 'ValveBiped.Bip01_R_UpperArm'
}
}
local nh_spectators = {}
local nh_spectators = {}
local nh_rayt_buff = {}
local nh_rayt_buff = {}
local nh_namebuff = {}
local nh_namebuff = {}
local nh_targets = {}
local nh_targets = {}
local nh_cc_buff = {}
local nh_keypads = {}
local nh_keypads = {}
local nh_hooks = {}
local nh_next = 0
local nh_next = 0
local nh_p = 0
local nh_item = 1
local nh_y = 0
local nh_p = nh_self:EyeAngles().p
local nh_y = nh_self:EyeAngles().y
local function NH_REGISTERHOOK( str, func )
local function NH_REGISTERHOOK( str, func )
hook.Add( str, '', func )
hook.Add( str, '', func )
end
end
local function NH_FILTER( ent )
if IsValid( ent ) and not ent:IsPlayer() and not ent:IsNPC() and ent.GetModel and strstr( ent:GetModel(), 'fence' ) then
insert( nh_filter, ent )
for k in pairs( nh_filter ) do
if not IsValid( nh_filter[ k ] ) then nh_filter[ k ] = nil end
end
end
end
local function NH_BUILDTRACE()
local function NH_BUILDTRACE()
local tr = GetPlayerTrace( nh_self )
local tr = GetPlayerTrace( nh_self )
tr.filter = nh_filter
tr.mask = NH.AUTOWALL and 1174421507 or nil
if NH.ANTIAIM ~= 0 then
if NH.ANTIAIM ~= 0 then
local vec = Vector( 16384, 0, 0 )
local vec = Vector( 16384, 0, 0 )
vec:Rotate( Angle( nh_p, nh_y, 0 ) )
vec:Rotate( Angle( nh_p, nh_y, 0 ) )
local src = nh_self:GetShootPos()
local src = nh_self:GetShootPos()
tr.endpos = src + vec
tr.endpos = src + vec
end
end
local tr = TraceLine( tr )
local tr = TraceLine( tr )
NH_FILTER( tr.Entity )
return tr
return tr
end
end
local plr = GetAllPlayers()
local function NH_TARGETS()
local function NH_TARGETS( rad, esp, func )
Empty( nh_targets )
Empty( nh_targets )
local plr = GetAllPlayers()
local plr = GetAllPlayers()
if rad or esp then
if NH.AIMMODE == 0 or NH.AIMMODE == 1 or NH.AIMMODE == 2 then
local ent = GetAllEnts()
for i = 1, #plr do
for i = 1, #ent do
local pl = plr[ i ]
local pl = ent[ i ]
if pl:Health() > 0 and pl ~= nh_self then
if pl ~= nh_self and ( ( rad and NH.RADINCLUDENPCS or esp and NH.ESPINCLUDENPCS ) and pl:IsNPC() and pl:GetMoveType() ~= 0 and pl:GetClass() ~= 'npc_turret_floor' and pl:GetClass() ~= 'npc_grenade_frag' or ( rad and NH.RADINCLUDEPLAYERS or esp and NH.ESPINCLUDEPLAYERS ) and pl:IsPlayer() and pl:GetMoveType() ~= MOVETYPE_OBSERVER and pl:Health() > 0 ) then
insert( nh_targets, pl )
insert( nh_targets, pl )
end
end
end
end
end
else
if NH.AIMMODE == 0 or NH.AIMMODE == 2 or NH.AIMMODE == 3 then
local ent = GetAllEnts()
local ent = GetAllEnts()
for i = 1, #ent do
for i = 1, #ent do
local npc = ent[i]
local pl = ent[ i ]
if IsValid( npc ) and npc:IsNPC() and npc:GetMoveType() ~= 0 and npc:GetClass() ~= 'npc_turret_floor' then
if pl ~= nh_self and ( ( NH.AIMMODE == 0 or NH.AIMMODE == 2 ) and pl:IsNPC() and pl:GetMoveType() ~= 0 and pl:GetClass() ~= 'npc_turret_floor' and pl:GetClass() ~= 'npc_grenade_frag' or ( NH.AIMMODE == 0 or NH.AIMMODE == 1 ) and pl:IsPlayer() and pl:GetMoveType() ~= MOVETYPE_OBSERVER and pl:Health() > 0 ) then
insert( nh_targets, npc )
insert( nh_targets, pl )
end
end
end
end
end
end
end
end
local function NH_GETDIST( vec )
local function NH_GETDIST( vec )
local a = ( vec - nh_self:GetShootPos() ):Angle() - ( NH.ANTIAIM ~= 0 and Angle( nh_p, nh_y, 0 ) or nh_self:EyeAngles() )
local a = ( vec - nh_self:GetShootPos() ):Angle() - Angle( nh_p, nh_y, 0 )
return abs( abs( a.p - 180 ) + abs( a.y - 180 ) - 360 )
return abs( abs( a.p - 180 ) + abs( a.y - 180 ) - 360 )
end
end
local function NH_CANTARGET( ply, comp )
local function NH_CANTARGET( ply, comp )
if not ply:IsNPC() and not ply:IsPlayer() then return false end
if not ply:IsNPC() and not ply:IsPlayer() then return false end
if ply:GetClass() == 'npc_grenade_frag' then return false end
if ply:IsPlayer() and NH.AIMMODE == 2 then return false end
if ply:IsNPC() and NH.AIMMODE == 1 then return false end
if NH.IGNORE_T and nh_self.GetRole and ply.GetRole and nh_self:GetRole() ~= ROLE_INNOCENT and nh_self:GetRole() == ply:GetRole() then return false end
if NH.IGNORE_T and nh_self.GetRole and ply.GetRole and nh_self:GetRole() ~= ROLE_INNOCENT and nh_self:GetRole() == ply:GetRole() then return false end
if comp and NH.AIMRANGE ~= 0 and NH_GETDIST( ply:GetPos() + ply:OBBCenter() ) > NH.AIMRANGE then return false end
if comp and NH.AIMRANGE ~= 0 and NH_GETDIST( ply:GetPos() + ply:OBBCenter() ) > NH.AIMRANGE then return false end
if comp and ply:IsPlayer() and ply:InVehicle() then return false end
if ply:IsPlayer() and NH.AIMMODE == 0 or NH.AIMMODE == 1 then
if ply:IsPlayer() and NH.AIMMODE == 0 or NH.AIMMODE == 1 then
if NH.IGNORE_TEAM and ply:Team() == nh_self:Team() then return false end
if NH.IGNORE_TEAM and ply:Team() == nh_self:Team() then return false end
if NH.IGNORE_STEAM then
if NH.IGNORE_STEAM then
if not ply.GetFriendSt then ply.GetFriendSt = ply:GetFriendStatus() == 'friend' end
if not ply.GetFriendSt then ply.GetFriendSt = ply:GetFriendStatus() == 'friend' end
if ply.GetFriendSt then return false end
if ply.GetFriendSt then return false end
else
else
if ply.GetFriendSt then
if ply.GetFriendSt then
ply.GetFriendSt = nil
ply.GetFriendSt = nil
end
end
end
end
end
end
if NH.AIMMODE == 0 then return true end
return true
if NH.AIMMODE == 1 and ply:IsPlayer() then return true end
if NH.AIMMODE == 2 and ply:IsNPC() then return true end
if NH.AIMMODE == 2 and ply:IsPlayer() then return false end
if NH.AIMMODE == 3 and ply:IsNPC() then return true end
end
end
local function NH_GETPLAYERCOLOR( ply )
local function NH_GETPLAYERCOLOR( ply )
if NH_CANTARGET( ply ) then return color_red else return color_green end
if NH_CANTARGET( ply ) then return color_red else return color_green end
end
end
--[[
local function NH_PREDICTPOS( pl, pos )
local function NH_PREDICTPOS( pl, pos )
return pos + pl:GetVelocity() * 0.02 + nh_self:GetVelocity() * 0.02
local rft = RealFrameTime()
end
return pos + nh_self:GetVelocity() * rft / 45 - pl:GetVelocity() * rft / 65
]]
local function NH_PREDICTPOS( pl, pos )
if nh_lastpos then
local l = nh_lastpos
nh_lastpos = pos
pos = LerpVector( 0.5, l, pos )
end
pos = pos + pl:GetVelocity() * 0.02 + nh_self:GetVelocity() * 0.02 -- ( pos - ( pl:GetVelocity():GetNormal() / 7.8 ) - ( nh_self:GetVelocity():GetNormal() * 0.8 ) ) - Vector( 0, -1, 0 )
return pos
end
end
local function NH_GETBONEPOS( pl )
local function NH_GETBONEPOS( pl )
local flt = NH.AUTOSURFACE and nh_filter or nh_slf
local pos = nh_self:GetShootPos()
local pos = nh_self:GetShootPos()
nh_rayt_buff.filter = nh_self
nh_rayt_buff.mask = NH.AUTOWALL and 1174421507 or nil
if pl:GetBoneCount() < 2 then
if pl:GetBoneCount() < 2 then
local over = pl:GetPos() + Vector( 0, 0, pl:OBBMaxs()[3] - 25 )
local over = pl:GetPos() + Vector( 0, 0, pl:OBBMaxs()[3] - ( pl:Crouching() and 45 or 25 ) )
nh_rayt_buff.start = pos
nh_rayt_buff.start = pos
nh_rayt_buff.endpos = over
nh_rayt_buff.endpos = over
nh_rayt_buff.filter = flt
local tr = TraceLine( nh_rayt_buff )
local tr = TraceLine( nh_rayt_buff )
NH_FILTER( tr.Entity )
if tr.Entity == pl then
if tr.Entity == pl then
return over
return over
end
end
end
end
local mpos
local bone = NH.LOOKUPBONE
local aaproxy = NH.ANTIAIMPROXY and ( pl:EyeAngles().p < -89 or pl:EyeAngles().p > 89 )
if aaproxy and ( bone == 'Head' or bone == 'Neck' ) then
mpos = pl:GetPos() + pl:OBBCenter()
end
local NH_BONE
local NH_BONE
local bone = pl:LookupBone( nh_bones[ NH.LOOKUPBONE ] )
if not aaproxy then
if bone then
NH_BONE = pl:LookupBone( nh_bones[ bone ] )
NH_BONE = bone
end
end
if NH_BONE then
if NH_BONE then
local endp = pl:GetBonePosition( NH_BONE )
local endp = aaproxy and mpos or pl:GetBonePosition( NH_BONE )
nh_rayt_buff.start = pos
nh_rayt_buff.start = pos
nh_rayt_buff.endpos = endp
nh_rayt_buff.endpos = endp
nh_rayt_buff.filter = flt
local tr = TraceLine( nh_rayt_buff )
local tr = TraceLine( nh_rayt_buff )
NH_FILTER( tr.Entity )
if tr.Entity == pl then
if tr.Entity == pl then
return endp
return endp
end
end
end
end
if NH.BONESCAN then
if NH.BONESCAN then
nh_bonescanodd = not nh_bonescanodd
for bone = 0, pl:GetBoneCount() - 1 do
for bone = ( nh_bonescanodd and 0 or 1 ), pl:GetBoneCount() - 1, 2 do
local endp = pl:GetBonePosition( bone )
local endp = pl:GetBonePosition( bone )
nh_rayt_buff.start = pos
nh_rayt_buff.start = pos
nh_rayt_buff.endpos = endp
nh_rayt_buff.endpos = endp
nh_rayt_buff.filter = flt
local tr = TraceLine( nh_rayt_buff )
local tr = TraceLine( nh_rayt_buff )
NH_FILTER( tr.Entity )
if tr.Entity == pl then
if tr.Entity == pl then
return endp
return endp
end
end
end
end
end
end
end
end
local title =
local title =
{
{
'Because Lua is undetected',
'Because Lua is undetected',
'That\'s why you should use an anti-cheat',
'That\'s why you should use an anti-cheat',
'Show them how cool you are',
'Show them how cool you are',
'Sword from the hell forge',
'This is it! Awesome!',
'This is it! Awesome!',
'Shoot them all bullets you got!'
'Shoot them all bullets you got!'
}
}
local function NH_OPENMENU()
local function NH_OPENMENU() end
nh_menu = vgui_Create( 'DFrame' )
local function NH_CLOSEMENU()
nh_menu:SetSize( 335, 370 )
if nh_menu and not nh_menu.Block and ( nh_menu.Hold or 0 ) < 15 then
nh_menu:Center()
nh_menu.Block = true
nh_menu:SetTitle( 'NanoHack - ' .. Random( title ) )
nh_menu:ShowCloseButton( true )
nh_menu:SetDraggable( false )
end
nh_menu:ShowCloseButton( false )
nh_menu:MakePopup()
if not nh_menu or nh_menu.Block then return end
local cs = vgui_Create( 'DColumnSheet', nh_menu )
nh_menu:Close()
cs:SetPos( 5, 25 )
nh_menu = nil
cs:SetSize( 325, 340 )
end
local function NH__ABOT( panel )
panel.Paint = nil
panel:SetSize( 360, 335 )
local y = 11
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetPos( 5, y )
ch:SetText( 'Enable aimbot' )
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.AIMENABLED )
end
local aimbot = vgui_Create( 'DPanel' )
ch.OnChange = function( self )
aimbot:SetSize( 205, ( { cs:GetSize() } )[2] )
NH.AIMENABLED = self:GetChecked()
aimbot.Paint = nil
end
local y = 10
local ch = vgui_Create( 'DCheckBoxLabel', aimbot )
ch:SetPos( 2.5, y )
ch:SetText( 'Enable aimbot' )
ch:SizeToContents()
ch:SetChecked( NH.AIMENABLED )
ch.OnChange = function( self ) NH.AIMENABLED = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', aimbot )
ch:SetPos( 2.5, y )
ch:SetText( 'Autoshot' )
ch:SizeToContents()
ch:SetChecked( NH.AUTOSHOT )
ch.OnChange = function( self ) NH.AUTOSHOT = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', aimbot )
ch:SetPos( 2.5, y )
ch:SetText( 'TriggerBot' )
ch:SizeToContents()
ch:SetChecked( NH.TRIGGER )
ch.OnChange = function( self ) NH.TRIGGER = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', aimbot )
ch:SetPos( 2.5, y )
ch:SetText( 'AutoPistol' )
ch:SizeToContents()
ch:SetChecked( NH.AUTOPISTOL )
ch.OnChange = function( self ) NH.AUTOPISTOL = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', aimbot )
ch:SetPos( 2.5, y )
ch:SetText( 'Auto- Crowbar, Knife (recommended)' )
ch:SizeToContents()
ch:SetChecked( NH.CROWBAR )
ch.OnChange = function( self ) NH.CROWBAR = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', aimbot )
ch:SetPos( 2.5, y )
ch:SetText( 'Auto reload' )
ch:SizeToContents()
ch:SetChecked( NH.AUTORELOAD )
ch.OnChange = function( self ) NH.AUTORELOAD = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', aimbot )
ch:SetPos( 2.5, y )
ch:SetText( 'BoneScan (recommended)' )
ch:SizeToContents()
ch:SetChecked( NH.BONESCAN )
ch.OnChange = function( self ) NH.BONESCAN = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', aimbot )
ch:SetPos( 2.5, y )
ch:SetText( 'Ignore teammates' )
ch:SizeToContents()
ch:SetChecked( NH.IGNORE_TEAM )
ch.OnChange = function( self ) NH.IGNORE_TEAM = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', aimbot )
ch:SetPos( 2.5, y )
ch:SetText( 'Ignore Steam friends' )
ch:SizeToContents()
ch:SetChecked( NH.IGNORE_STEAM )
ch.OnChange = function( self ) NH.IGNORE_STEAM = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', aimbot )
ch:SetPos( 2.5, y )
ch:SetText( '[TTT] Ignore mates' )
ch:SizeToContents()
ch:SetChecked( NH.IGNORE_T )
ch.OnChange = function( self ) NH.IGNORE_T = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', aimbot )
ch:SetPos( 2.5, y )
ch:SetText( 'Auto surface (recommended)' )
ch:SizeToContents()
ch:SetChecked( NH.AUTOSURFACE )
ch.OnChange = function( self ) NH.AUTOSURFACE = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', aimbot )
ch:SetPos( 2.5, y )
ch:SetText( 'Aim prediction (recommended)' )
ch:SizeToContents()
ch:SetChecked( NH.POSPRED )
ch.OnChange = function( self ) NH.POSPRED = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', aimbot )
ch:SetPos( 2.5, y )
ch:SetText( 'NoSpread' )
ch:SizeToContents()
ch:SetChecked( NH.NOSPREAD )
ch.OnChange = function( self ) NH.NOSPREAD = self:GetChecked() end
y = y + 20
y = y + 17.5
local lbl = vgui_Create( 'DLabel', aimbot )
local ch = vgui_Create( 'DCheckBoxLabel', panel )
lbl:SetPos( 2.5, y )
ch:SetPos( 5, y )
lbl:SetText( 'Target mode: ' )
ch:SetText( 'AutoShot' )
lbl:SizeToContents()
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.AUTOSHOT )
end
ch.OnChange = function( self )
NH.AUTOSHOT = self:GetChecked()
end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetPos( 5, y )
ch:SetText( 'FakeView' )
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.FAKEVIEW )
end
ch.OnChange = function( self )
NH.FAKEVIEW = self:GetChecked()
end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetPos( 5, y )
ch:SetText( 'BoneScan' )
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.BONESCAN )
end
ch.OnChange = function( self )
NH.BONESCAN = self:GetChecked()
end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetPos( 5, y )
ch:SetText( 'Crowbar/Knife/Axe bot' )
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.CROWBAR )
end
ch.OnChange = function( self )
NH.CROWBAR = self:GetChecked()
end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetPos( 5, y )
ch:SetText( 'AutoWall' )
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.AUTOWALL )
end
ch.OnChange = function( self )
NH.AUTOWALL = self:GetChecked()
end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetPos( 5, y )
ch:SetText( '[TTT] Ignore role mates' )
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.IGNORE_T )
end
ch.OnChange = function( self )
NH.IGNORE_T = self:GetChecked()
end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetPos( 5, y )
ch:SetText( 'Ignore team mates' )
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.IGNORE_TEAM )
end
ch.OnChange = function( self )
NH.IGNORE_TEAM = self:GetChecked()
end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetPos( 5, y )
ch:SetText( 'Ignore Steam friends' )
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.IGNORE_STEAM )
end
ch.OnChange = function( self )
NH.IGNORE_STEAM = self:GetChecked()
end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetPos( 5, y )
ch:SetText( 'Aim prediction' )
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.POSPRED )
end
ch.OnChange = function( self )
NH.POSPRED = self:GetChecked()
end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetPos( 5, y )
ch:SetText( 'NoSpread' )
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.NOSPREAD )
end
ch.OnChange = function( self )
NH.NOSPREAD = self:GetChecked()
end
local label = vgui_Create( 'DLabel', panel )
label:SetPos( 245, 2 )
label:SetText( 'Aimbot settings' )
label:SizeToContents()
local clk = Color( 255, 0, 0, 180 )
local maus = vgui_Create( 'DPanel', panel )
maus:SetPos( 300, 18 )
maus:SetSize( 48, 64 )
maus.Paint = function()
local x, y = MousePos()
local rx, ry = nh_menu:GetPos()
x, y = x - rx - 425, y - ry - 41
local tm = vgui_Create( 'DButton', aimbot )
RoundedBox( 10, 0, 0, 48, 64, color_white )
tm:SetPos( ( { lbl:GetSize() } )[1] + 2.5, y - 2 )
tm:SetSize( 50, 18 )
if x > 0 and x < 48 and y > 24 and y < 64 or NH.BUTTON == 0 then
tm.DoClick = function( self )
RoundedBoxEx( 10, 0, 24, 48, 40, clk, false, false, true, true )
NH.AIMMODE = NH.AIMMODE + 1
if NH.AIMMODE > 3 then
if IsMouseDown( MOUSE_LEFT ) and NH.BUTTON ~= 0 then
NH.AIMMODE = 0
NH.BUTTON = 0
end
end
local str
if NH.AIMMODE == 0 then str = 'any' end
if NH.AIMMODE == 1 then str = 'players' end
if NH.AIMMODE == 2 then str = 'NPC*' end
if NH.AIMMODE == 3 then str = 'NPC' end
self:SetText( str )
end
end
local str
if x > 0 and x < 22 and y > 0 and y < 24 or NH.BUTTON == 1 then
if NH.AIMMODE == 0 then str = 'any' end
RoundedBoxEx( 10, 0, 0, 24, 24, clk, true, false, false, false )
if NH.AIMMODE == 1 then str = 'players' end
if NH.AIMMODE == 2 then str = 'NPC*' end
if NH.AIMMODE == 3 then str = 'NPC' end
tm:SetText( str )
y = y + 20
local lbl = vgui_Create( 'DLabel', aimbot )
lbl:SetPos( 2.5, y )
lbl:SetText( 'Aimbot trigger: ' )
lbl:SizeToContents()
local at = vgui_Create( 'DButton', aimbot )
at:SetPos( ( { lbl:GetSize() } )[1] + 2.5, y - 2 )
at:SetSize( 50, 18 )
at.DoClick = function( self )
NH.BUTTON = NH.BUTTON + 1
if NH.BUTTON > 3 then
if IsMouseDown( MOUSE_LEFT ) and NH.BUTTON ~= 1 then
NH.BUTTON = 0
NH.BUTTON = 1
end
end
local str
if NH.BUTTON == 0 then str = 'auto' end
if NH.BUTTON == 1 then str = 'LMB' end
if NH.BUTTON == 2 then str = 'MMB' end
if NH.BUTTON == 3 then str = 'RMB' end
self:SetText( str )
end
end
local str
if x > 27 and x < 48 and y > 0 and y < 24 or NH.BUTTON == 3 then
if NH.BUTTON == 0 then str = 'auto' end
RoundedBoxEx( 10, 24, 0, 24, 24, clk, false, true, false, false )
if NH.BUTTON == 1 then str = 'LMB' end
if NH.BUTTON == 2 then str = 'MMB' end
if IsMouseDown( MOUSE_LEFT ) and NH.BUTTON ~= 3 then
if NH.BUTTON == 3 then str = 'RMB' end
NH.BUTTON = 3
at:SetText( str )
y = y + 22
local lbl = vgui_Create( 'DLabel', aimbot )
lbl:SetPos( 2.5, y )
lbl:SetText( 'Aim bone: ' )
lbl:SizeToContents()
local ab = vgui_Create( 'DComboBox', aimbot )
ab:SetPos( ( { lbl:GetSize() } )[1] + 2.5, y - 2.5 )
ab:SetSize( 82, 20 )
for bone in pairs( nh_bones ) do
local id = ab:AddChoice( bone )
if bone == NH.LOOKUPBONE then
ab:ChooseOptionID( id )
end
end
end
end
ab.OnSelect = function( self )
if x > 22 and x < 27 and y > 0 and y < 24 and IsMouseDown( MOUSE_LEFT ) then
NH.LOOKUPBONE = self:GetValue()
NH.BUTTON = 2
end
end
y = y + 10
SetDrawColor( color_black )
local ch = vgui_Create( 'DNumSlider', aimbot )
DrawLine( 0, 24, 48, 24 )
ch:SetPos( 2.5, y )
DrawLine( 24, 0, 24, 24 )
ch:SetWide( 255 )
ch:SetText( 'Aim FOV (' .. NH.AIMRANGE .. ')' )
ch:SetMin( 0 )
ch:SetMax( 180 )
ch:SetDecimals( 0 )
ch:SetValue( NH.AIMRANGE )
ch.OnValueChanged = function( self )
NH.AIMRANGE = floor( self:GetValue() )
self:SetText( 'Aim FOV (' .. NH.AIMRANGE .. ')' )
end
cs:AddSheet( 'Aimbot', aimbot, 'icon16/gun.png' )
SetDrawColor( ( NH.BUTTON == 2 or x > 22 and x < 27 and y > 0 and y < 24 ) and clk or color_black )
DrawRect( 22, 2, 5, 20 )
end
local vis = vgui_Create( 'DPanel' )
local label = vgui_Create( 'DLabel', panel )
vis:SetSize( 205, ( { cs:GetSize() } )[2] )
label:SetPos( 220, 88 )
vis.Paint = nil
label:SetText( 'Target bone:' )
label:SizeToContents()
y = 10
local ch = vgui_Create( 'DCheckBoxLabel', vis )
local bone = vgui_Create( 'DComboBox', panel )
ch:SetPos( 2.5, y )
bone:SetPos( 220, 106 )
ch:SetText( 'Wallhack' )
bone:SetWide( 128 )
ch:SizeToContents()
for k in pairs( nh_bones ) do
ch:SetChecked( NH.WALLHACK )
bone:AddChoice( k )
ch.OnChange = function( self ) NH.WALLHACK = self:GetChecked() end
end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', vis )
ch:SetPos( 2.5, y )
ch:SetText( 'Draw 3D boxes' )
ch:SizeToContents()
ch:SetChecked( NH.DRAWBOX )
ch.OnChange = function( self ) NH.DRAWBOX = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', vis )
ch:SetPos( 2.5, y )
ch:SetText( 'Draw 2D boxes' )
ch:SizeToContents()
ch:SetChecked( NH.ESP )
ch.OnChange = function( self ) NH.ESP = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', vis )
ch:SetPos( 2.5, y )
ch:SetText( 'Barrel ESP' )
ch:SizeToContents()
ch:SetChecked( NH.BARREL )
ch.OnChange = function( self ) NH.BARREL = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', vis )
ch:SetPos( 2.5, y )
ch:SetText( 'Trace lines' )
ch:SizeToContents()
ch:SetChecked( NH.TRACE )
ch.OnChange = function( self ) NH.TRACE = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', vis )
ch:SetPos( 2.5, y )
ch:SetText( 'Nick/class -name ESP' )
ch:SizeToContents()
ch:SetChecked( NH.NICK )
ch.OnChange = function( self ) NH.NICK = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', vis )
ch:SetPos( 2.5, y )
ch:SetText( 'Health and armor ESP' )
ch:SizeToContents()
ch:SetChecked( NH.INFO )
ch.OnChange = function( self ) NH.INFO = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', vis )
ch:SetPos( 2.5, y )
ch:SetText( 'Weapon ESP' )
ch:SizeToContents()
ch:SetChecked( NH.WEPESP )
ch.OnChange = function( self ) NH.WEPESP = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', vis )
ch:SetPos( 2.5, y )
ch:SetText( 'Health and armor bars' )
ch:SizeToContents()
ch:SetChecked( NH.ESPBAR )
ch.OnChange = function( self ) NH.ESPBAR = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', vis )
ch:SetPos( 2.5, y )
ch:SetText( 'Distance ESP' )
ch:SizeToContents()
ch:SetChecked( NH.ESPDST )
ch.OnChange = function( self ) NH.ESPDST = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', vis )
ch:SetPos( 2.5, y )
ch:SetText( 'Draw laser' )
ch:SizeToContents()
ch:SetChecked( NH.LASER )
ch.OnChange = function( self ) NH.LASER = self:GetChecked() end
cs:AddSheet( 'Visuals', vis, 'icon16/magnifier.png' )
bone.Color = color_black
bone.OnCursorEntered = function( self )
self.Color = color_red
end
local radar = vgui_Create( 'DPanel' )
bone.OnCursorExited = function( self )
radar:SetSize( 205, ( { cs:GetSize() } )[2] )
self.Color = color_black
radar.Paint = nil
end
y = 10
bone:ChooseOption( NH.LOOKUPBONE )
local ch = vgui_Create( 'DCheckBoxLabel', radar )
ch:SetPos( 2.5, y )
bone.OnSelect = function( self )
ch:SetText( 'Crosshair' )
NH.LOOKUPBONE = self:GetValue()
ch:SizeToContents()
end
ch:SetChecked( NH.CROSSHAIR )
ch.OnChange = function( self ) NH.CROSSHAIR = self:GetChecked() end
bone.Paint = function( self )
SetDrawColor( self.Color )
y = y + 17.5
DrawOutlinedRect( 0, 0, self:GetSize() )
local ch = vgui_Create( 'DCheckBoxLabel', radar )
end
ch:SetPos( 2.5, y )
ch:SetText( 'Radar' )
bone.PaintOver = function( self )
ch:SizeToContents()
SetFont( 'DermaDefault' )
ch:SetChecked( NH.RADAR )
SetTextColor( color_white )
ch.OnChange = function( self ) NH.RADAR = self:GetChecked() end
SetTextPos( 8, 4 )
DrawText( self:GetValue() )
end
local label = vgui_Create( 'DLabel', panel )
label:SetPos( 220, 138 )
label:SetText( 'Aim mode:' )
label:SizeToContents()
local aimm = vgui_Create( 'DComboBox', panel )
aimm:SetPos( 220, 156 )
aimm:SetWide( 128 )
aimm:AddChoice( 'Players and NPCs' )
aimm:AddChoice( 'Players' )
aimm:AddChoice( 'NPCs' )
aimm.Color = color_black
aimm.OnCursorEntered = function( self )
self.Color = color_red
end
aimm.OnCursorExited = function( self )
self.Color = color_black
end
aimm:ChooseOptionID( NH.AIMMODE + 1 )
aimm.OnSelect = function( self, index )
NH.AIMMODE = index - 1
end
aimm.Paint = function( self )
SetDrawColor( self.Color )
DrawOutlinedRect( 0, 0, self:GetSize() )
end
aimm.PaintOver = function( self )
SetFont( 'DermaDefault' )
SetTextColor( color_white )
SetTextPos( 8, 4 )
DrawText( self:GetValue() )
end
local label = vgui_Create( 'DLabel', panel )
label:SetPos( 220, 188 )
label.Think = function()
label:SetText( 'Aimbot range ' .. ( NH.AIMRANGE == 0 and 'unlimited' or 'limit: ' .. NH.AIMRANGE .. 'd' ) )
label:SizeToContents()
end
local rad = vgui_Create( 'DSlider', panel )
rad:SetPos( 220, 200 )
rad:SetWide( 128 )
rad:SetSlideX( NH.AIMRANGE / 180 )
rad.Paint = function()
SetDrawColor( color_black )
DrawRect( 0, 9, 128, 3 )
end
rad.Think = function()
NH.AIMRANGE = round( rad:GetSlideX() * 180 )
end
end
local function NH__AUTO( panel )
panel.Paint = nil
panel:SetSize( 360, 335 )
local y = 11
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetPos( 5, y )
ch:SetText( 'TriggerBot' )
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.TRIGGER )
end
ch.OnChange = function( self )
NH.TRIGGER = self:GetChecked()
y = y + 10
if not NH.TRIGGER then
local ch = vgui_Create( 'DNumSlider', radar )
NH.TRIGGERAIM = false
ch:SetPos( 2.5, y )
ch:SetWide( 255 )
ch:SetText( 'Radar size (' .. NH.RADAR_SIZE .. ')' )
ch:SetMin( 0 )
ch:SetMax( min( ScrW(), ScrH() ) / 2 )
ch:SetDecimals( 0 )
ch:SetValue( NH.RADAR_SIZE )
ch.OnValueChanged = function( self )
NH.RADAR_SIZE = floor( self:GetValue() )
self:SetText( 'Radar size (' .. NH.RADAR_SIZE .. ')' )
end
end
end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetPos( 5, y )
ch:SetText( 'TriggerAim' )
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.TRIGGERAIM )
end
ch.OnChange = function( self )
NH.TRIGGERAIM = self:GetChecked()
y = y + 20
if NH.TRIGGERAIM then
local ch = vgui_Create( 'DNumSlider', radar )
NH.TRIGGER = true
ch:SetPos( 2.5, y )
ch:SetWide( 255 )
ch:SetText( 'Radar radius (' .. NH.RADAR_SCALE .. ')' )
ch:SetMin( 512 )
ch:SetMax( 16384 )
ch:SetDecimals( 0 )
ch:SetValue( NH.RADAR_SCALE )
ch.OnValueChanged = function( self )
NH.RADAR_SCALE = floor( self:GetValue() )
self:SetText( 'Radar radius (' .. NH.RADAR_SCALE .. ')' )
end
end
end
y = y + 27.5
local ch = vgui_Create( 'DCheckBoxLabel', radar )
ch:SetPos( 2.5, y )
ch:SetText( 'Draw "N" sign' )
ch:SizeToContents()
ch:SetChecked( NH.RADAR_N )
ch.OnChange = function( self ) NH.RADAR_N = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', radar )
ch:SetPos( 2.5, y )
ch:SetText( 'Draw nicknames' )
ch:SizeToContents()
ch:SetChecked( NH.RADAR_NICK )
ch.OnChange = function( self ) NH.RADAR_NICK = self:GetChecked() end
y = y + 17.5
local ch = vgui_Create( 'DLabel', radar )
ch:SetText( 'Use mouse to drag radar' )
ch:SizeToContents()
ch:SetPos( 200 - ( { ch:GetSize() } )[1], y )
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', radar )
ch:SetPos( 2.5, y )
ch:SetText( 'Draw spectators list' )
ch:SizeToContents()
ch:SetChecked( NH.SPECLIST )
ch.OnChange = function( self ) NH.SPECLIST = self:GetChecked() end
--[[
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', radar )
ch:SetPos( 2.5, y )
ch:SetText( '[RP] KeypadSpy' )
ch:SizeToContents()
ch:SetChecked( NH.KEYPADSPY )
ch.OnChange = function( self ) NH.KEYPADSPY = self:GetChecked() end
]]
y = y + 17.5
local ch = vgui_Create( 'DLabel', radar )
ch:SetText( 'Use mouse to drag spectators list' )
ch:SizeToContents()
ch:SetPos( 200 - ( { ch:GetSize() } )[1], y )
cs:AddSheet( 'Radar', radar, 'icon16/picture.png' )
local misc = vgui_Create( 'DPanel' )
y = y + 17.5
misc:SetSize( 205, ( { cs:GetSize() } )[2] )
local ch = vgui_Create( 'DCheckBoxLabel', panel )
misc.Paint = nil
ch:SetPos( 5, y )
ch:SetText( 'AutoPistol' )
y = 10
ch:SizeToContents()
local ch = vgui_Create( 'DCheckBoxLabel', misc )
ch.Think = function()
ch:SetPos( 2.5, y )
ch:SetValue( NH.AUTOPISTOL )
ch:SetText( 'Free camera (N)' )
end
ch:SizeToContents()
ch:SetChecked( NH.FREECAM )
ch.OnChange = function( self )
ch.OnChange = function( self ) NH.FREECAM = self:GetChecked() end
NH.AUTOPISTOL = self:GetChecked()
end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', misc )
y = y + 17.5
ch:SetPos( 2.5, y )
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetText( 'NameStealer' )
ch:SetPos( 5, y )
ch:SizeToContents()
ch:SetText( 'AutoReload' )
ch:SetChecked( NH.NAMESTEALER )
ch:SizeToContents()
ch.OnChange = function( self ) NH.NAMESTEALER = self:GetChecked() end
ch.Think = function()
ch:SetValue( NH.AUTORELOAD )
y = y + 17.5
end
local ch = vgui_Create( 'DCheckBoxLabel', misc )
ch:SetPos( 2.5, y )
ch.OnChange = function( self )
ch:SetText( 'NoVisualRecoil' )
NH.AUTORELOAD = self:GetChecked()
ch:SizeToContents()
end
ch:SetChecked( NH.NORECOIL )
end
ch.OnChange = function( self ) NH.NORECOIL = self:GetChecked() end
local function NH__VIS( panel )
y = y + 22
panel.Paint = nil
local lbl = vgui_Create( 'DLabel', misc )
panel:SetSize( 360, 335 )
lbl:SetPos( 2.5, y )
lbl:SetText( 'AntiAim: ' )
local y = 11
lbl:SizeToContents()
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetPos( 5, y )
ch:SetText( 'Wallhack' )
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.WALLHACK )
end
ch.OnChange = function( self )
NH.WALLHACK = self:GetChecked()
local aa = vgui_Create( 'DComboBox', misc )
if not NH.WALLHACK then
aa:SetPos( ( { lbl:GetSize() } )[1] + 2.5, y - 2.5 )
NH.CHAMS = false
aa:SetSize( 82, 20 )
end
aa:AddChoice( 'Off' )
end
aa:AddChoice( 'Invert' )
aa:AddChoice( 'Shake' )
y = y + 17.5
aa:AddChoice( 'SpinBot' )
local ch = vgui_Create( 'DCheckBoxLabel', panel )
aa:ChooseOptionID( NH.ANTIAIM + 1 )
ch:SetPos( 5, y )
ch:SetText( 'Visuals: Include players' )
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.ESPINCLUDEPLAYERS )
end
ch.OnChange = function( self )
NH.ESPINCLUDEPLAYERS = self:GetChecked()
end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetPos( 5, y )
ch:SetText( 'Visuals: Include NPCs' )
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.ESPINCLUDENPCS )
end
ch.OnChange = function( self )
NH.ESPINCLUDENPCS = self:GetChecked()
end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetPos( 5, y )
ch:SetText( 'Chams' )
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.CHAMS )
end
ch.OnChange = function( self )
NH.CHAMS = self:GetChecked()
aa.OnSelect = function( _, index )
if NH.CHAMS then
NH.ANTIAIM = index - 1
NH.WALLHACK = true
end
end
end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetPos( 5, y )
ch:SetText( 'NoSky' )
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.NOSKY )
end
ch.OnChange = function( self )
NH.NOSKY = self:GetChecked()
end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetPos( 5, y )
ch:SetText( 'NoHands' )
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.NOHANDS )
end
ch.OnChange = function( self )
NH.NOHANDS = self:GetChecked()
end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetPos( 5, y )
ch:SetText( 'NoVisualRecoil' )
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.NORECOIL )
end
ch.OnChange = function( self )
NH.NORECOIL = self:GetChecked()
end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetPos( 5, y )
ch:SetText( 'Full bright' )
ch:SizeToContents()
ch.ConVar = GetConVar( 'mat_fullbright' )
ch.Think = function()
ch:SetValue( ch.ConVar:GetInt() ~= 0 )
end
ch.OnChange = function( self )
y = y + 17
end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetPos( 5, y )
ch:SetText( 'Draw beam' )
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.LASER )
end
ch.OnChange = function( self )
NH.LASER = self:GetChecked()
end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetPos( 5, y )
ch:SetText( 'Drone camera [N]' )
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.FREECAM )
end
ch.OnChange = function( self )
NH.FREECAM = self:GetChecked()
end
y = y + 17.5
local ch = vgui_Create( 'DCheckBoxLabel', panel )
ch:SetPos( 5, y )
ch:SetText( 'Spy camera' )
ch:SizeToContents()
ch.Think = function()
ch:SetValue( NH.SPYCAM )
end
ch.OnChange = function( self )
NH.SPYCAM = self:GetChecked()
end
local label = vgui_Create( 'DLabel', panel )
label:SetPos( 260, 2 )
label:SetText( 'Beam color' )
label:SizeToContents()
local rgb = vgui_Create( 'DLabel', panel )
rgb:SetPos( 221, 20 )
rgb:SetText( 'R: 255\nG: 255\nB: 255' )
rgb:SizeToContents()
rgb.Think = function()
rgb:SetText( format( 'R: %i\nG: %i\nB: %i', NH.LASERCOLOR.r, NH.LASERCOLOR.g, NH.LASERCOLOR.b ) )
end
local ind = vgui_Create( 'DPanel', panel )
ind:SetPos( 310, 20 )
ind:SetSize( 40, 40 )
ind.Paint = function()
SetDrawColor( NH.LASERCOLOR )
DrawRect( 0, 0, ind:GetSize() )
SetDrawColor( color_black )
DrawOutlinedRect( 0, 0, ind:GetSize() )
end
local r = vgui_Create( 'DSlider', panel )
r:SetPos( 220, 60 )
r:SetWide( 128 )
r:SetSlideX( NH.LASERCOLOR.r / 255 )
r.Paint = function()
SetDrawColor( color_black )
DrawRect( 0, 9, 128, 3 )
end
r.Think = function()
NH.LASERCOLOR.r = r:GetSlideX() * 255
end
local g = vgui_Create( 'DSlider', panel )
g:SetPos( 220, 80 )
g:SetWide( 128 )
g:SetSlideX( NH.LASERCOLOR.g / 255 )
g.Paint = function()
SetDrawC