PedoHack (Sponsored by PedoPackets)

Posts 114 of 14 · Page 1 of 1
PedoHack (Sponsored by PedoPackets)
Hey what's up guys just thought I'd release a little neat CHEAT made by my cool minge troll friend rootie freaking patootie, I'd like to say that this ****** is inspired by our Imaginative God Kittonium, creator of PedoPackets, make sure to check out his profile where he used to advertise his cheat (Wow didn't know you could RP on steam as a 15 year old girl): STEAM_0:0:258964

anyway, thanks for reading retards, enjoy your short-lived aimbot sessions on columbine RP, now you can have ******menu for all your shootie shooter needs
Code:
--[[
Angry Aryan Co.
Made By
Rootie Patootie, Icarusfeather
--]]

//I hear this makes the hack load faster, i didn't actually check the O times but whatever.
local hook = hook
local derma = derma
local surface = surface
local vgui = vgui
local input = input
local util = util
local cam = cam
local render = render
local math = math
local draw = draw
local team = team

local ******menu = {}
******menu.Active = CreateClientConVar("******menu_Active", 1, true, false)
******menu.Version = "0.0.2"
******menu.Ply = LocalPlayer()
******menu.TTT = (GAMEMODE and GAMEMODE.Name and string.find(GAMEMODE.Name, "Terror") and true) or false
if ******menu.TTT then ******menu.TTTCORPSE = CORPSE end
******menu.DarkRP = (GAMEMODE and GAMEMODE.Name and string.find(GAMEMODE.Name, "DarkRP") and true) or false

//Converts a string of a color (ex. "Color(255, 255, 255, 255)") into an actual color, and returns the color.
******menu.GetColorFromString = function(words)
	//I probably shouldve just used string.explode...well.......
	if type(words) != "string" then return Color(255, 255, 255, 255) end
	words = "return "..words
	local func = CompileString(words, "GettingColors", true)
	local good, color = pcall(func)
	if good and type(color) == "table" and color.r and color.g and color.b and color.a then
		return color
	else
		return Color(255, 255, 255, 255)
	end
end

******menu.Chars = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}
******menu.RandomName = function(amount)
	local toReturn = ""
	local amount = amount or 10
	for i = 1, amount do
		if math.random(0, 1) == 0 then
			toReturn = toReturn..string.lower(table.Random(******menu.Chars))
		else
			toReturn = toReturn..table.Random(******menu.Chars)
		end
	end
	return toReturn
end

******menu.Message = function(...)
	chat.AddText(Color(50, 255, 100), "[******menu] ", ...)
end

******menu.Aimbot = {}
******menu.Aimbot.CurTarget = nil
******menu.Aimbot.Vars = {}
******menu.Aimbot.Vars["Active"] = CreateClientConVar("******menu_Aimbot_Active", 0, true, false)
******menu.Aimbot.Vars["RandomBones"] = CreateClientConVar("******menu_Aimbot_RandomBones", 0, true, false)
******menu.Aimbot.Vars["AttackNPCs"] = CreateClientConVar("******menu_Aimbot_AttackNPCs", 0, true, false)
******menu.Aimbot.Vars["AttackPlayers"] = CreateClientConVar("******menu_Aimbot_AttackPlayers", 0, true, false)
******menu.Aimbot.Vars["Prediction"] = CreateClientConVar("******menu_Aimbot_Prediction", 0, true, false)
******menu.Aimbot.Vars["AimOnKey"] = CreateClientConVar("******menu_Aimbot_AimOnKey", 0, true, false)
******menu.Aimbot.Vars["AimOnKey_Key"] = CreateClientConVar("******menu_Aimbot_AimOnKey_Key", "MOUSE_LEFT", true, false)
******menu.Aimbot.Vars["MaxAngle"] = CreateClientConVar("******menu_Aimbot_MaxAngle", 180, true, false)
******menu.Aimbot.Vars["Preferance"] = CreateClientConVar("******menu_Aimbot_Preferance", "Distance", true, false)
******menu.Aimbot.Vars["AntiSnap"] = CreateClientConVar("******menu_Aimbot_AntiSnap", 0, true, false)
******menu.Aimbot.Vars["AntiSnapSpeed"] = CreateClientConVar("******menu_Aimbot_AntiSnapSpeed", 4, true, false)
******menu.Aimbot.Vars["AutoShoot"] = CreateClientConVar("******menu_Aimbot_AutoShoot", 0, true, false)
******menu.Aimbot.Vars["PanicMode"] = CreateClientConVar("******menu_Aimbot_PanicMode", 0, true, false)
******menu.Aimbot.Vars["IgnoreTeam"] = CreateClientConVar("******menu_Aimbot_IgnoreTeam", 0, true, false)

******menu.Friends = {}
******menu.Friends.List = {} //The steamIDs of everyone on your friends list
******menu.Friends.Vars = {}
******menu.Friends.Vars["Active"] = CreateClientConVar("******menu_Friends_Active", 0, true, false)
******menu.Friends.Vars["Reverse"] = CreateClientConVar("******menu_Friends_Reverse", 0, true, false)

******menu.ESP = {}
******menu.ESP.Vars = {}
******menu.ESP.Vars["Active"] = CreateClientConVar("******menu_ESP_Active", 0, true, false)
******menu.ESP.Vars["Players"] = CreateClientConVar("******menu_ESP_Players", 0, true, false)
******menu.ESP.Vars["NPCs"] = CreateClientConVar("******menu_ESP_NPCs", 0, true, false)
******menu.ESP.Vars["Name"] = CreateClientConVar("******menu_ESP_Name", "Off", true, false)
******menu.ESP.Vars["Weapons"] = CreateClientConVar("******menu_ESP_Weapons", "Off", true, false)
******menu.ESP.Vars["Distance"] = CreateClientConVar("******menu_ESP_Distance", "Off", true, false)
******menu.ESP.Vars["Health"] = CreateClientConVar("******menu_ESP_Health", "Off", true, false)
******menu.ESP.Vars["MaxDistance"] = CreateClientConVar("******menu_ESP_MaxDistance", 0, true, false)
******menu.ESP.Vars["Box"] = CreateClientConVar("******menu_ESP_Box", 0, true, false)
******menu.ESP.Vars["ShowTraitors"] = CreateClientConVar("******menu_ESP_ShowTraitors", "Off", true, false)
******menu.ESP.Vars["Bodies"] = CreateClientConVar("******menu_ESP_Bodies", 0, true, false)
******menu.ESP.Vars["Radar"] = CreateClientConVar("******menu_ESP_Radar", 0, true, false)
******menu.ESP.Vars["RadarScale"] = CreateClientConVar("******menu_ESP_RadarScale", 20, true, false)
******menu.ESP.Vars["TeamBased"] = CreateClientConVar("******menu_ESP_TeamBased", 0, true, false)

******menu.Chams = {}
******menu.Chams.Mat = CreateMaterial(******menu.RandomName(math.random(10,15)), "VertexLitGeneric", { ["$basetexture"] = "models/debug/debugwhite", ["$model"] = 1, ["$ignorez"] = 1 })
******menu.Chams.Vars = {}
******menu.Chams.Vars["Active"] = CreateClientConVar("******menu_Chams_Active", 0, true, false)
******menu.Chams.Vars["Players"] = CreateClientConVar("******menu_Chams_Players", 0, true, false)
******menu.Chams.Vars["NPCs"] = CreateClientConVar("******menu_Chams_NPCs", 0, true, false)
******menu.Chams.Vars["Weapons"] = CreateClientConVar("******menu_Chams_Weapons", 0, true, false)
******menu.Chams.Vars["MaxDistance"] = CreateClientConVar("******menu_Chams_MaxDistance", 0, true, false)
******menu.Chams.Vars["Bodies"] = CreateClientConVar("******menu_Chams_Bodies", 0, true, false)
******menu.Chams.Vars["TeamBased"] = CreateClientConVar("******menu_Chams_TeamBased", 0, true, false)

******menu.Entities = {}
******menu.Entities.List = {} //The class namse of all the entities
******menu.Entities.Vars = {}
******menu.Entities.Vars["Active"] = CreateClientConVar("******menu_Entities_Active", 0, true, false)

******menu.Misc = {}
******menu.Misc.Vars = {}
******menu.Misc.Vars["ShowAdmins"] = CreateClientConVar("******menu_Misc_ShowAdmins", 0, true, false)
******menu.Misc.Vars["Crosshair"] = CreateClientConVar("******menu_Misc_Cross", 0, true, false)
******menu.Misc.Vars["CrosshairSize"] = CreateClientConVar("******menu_Misc_CrossSize", 50, true, false)
******menu.Misc.Vars["NoRecoil"] = CreateClientConVar("******menu_Misc_NoRecoil", 0, true, false)
******menu.Misc.Vars["ShowSpectators"] = CreateClientConVar("******menu_Misc_ShowSpectators", 0, true, false)
******menu.Misc.Vars["BunnyHop"] = CreateClientConVar("******menu_Misc_BunnyHop", 0, true, false)
******menu.Misc.Vars["BunnyHop_Key"] = CreateClientConVar("******menu_Misc_BunnyHop_Key", "KEY_SPACE", true, false)
******menu.Misc.Vars["AutoReload"] = CreateClientConVar("******menu_Misc_AutoReload", 0, true, false)
******menu.Misc.Vars["AutoPistol"] = CreateClientConVar("******menu_Misc_AutoPistol", 0, true, false)
******menu.Misc.Vars["BuyHealth"] = CreateClientConVar("******menu_Misc_BuyHealth", 0, true, false)
******menu.Misc.Vars["BuyHealth_Minimum"] = CreateClientConVar("******menu_Misc_BuyHealth_Minimum", 80, true, false)
******menu.Misc.Vars["TraitorFinder"] = CreateClientConVar("******menu_Misc_TraitorFinder", 0, true, false)
******menu.Misc.Vars["Deaths"] = CreateClientConVar("******menu_Misc_Deaths", 0, true, false)
******menu.Misc.Vars["Sounds"] = CreateClientConVar("******menu_Misc_Sounds", 0, true, false)

******menu.Style = {}
******menu.Style.Vars = {}
******menu.Style.Vars["BoundingBox"] = {}
******menu.Style.Vars["BoundingBox"].var = CreateClientConVar("******menu_Style_BoundingBox", "Color(255, 0, 0, 255)", true, false)
******menu.Style.Vars["BoundingBox"].color = ******menu.GetColorFromString(******menu.Style.Vars["BoundingBox"].var:GetString())
******menu.Style.Vars["ESPText"] = {}
******menu.Style.Vars["ESPText"].var = CreateClientConVar("******menu_Style_ESPText", "Color(255, 255, 255, 255)", true, false)
******menu.Style.Vars["ESPText"].color = ******menu.GetColorFromString(******menu.Style.Vars["ESPText"].var:GetString())
******menu.Style.Vars["Crosshair"] = {}
******menu.Style.Vars["Crosshair"].var = CreateClientConVar("******menu_Style_Cross", "Color(255, 255, 255, 255)", true, false)
******menu.Style.Vars["Crosshair"].color = ******menu.GetColorFromString(******menu.Style.Vars["Crosshair"].var:GetString())
******menu.Style.Vars["BodyText"] = {}
******menu.Style.Vars["BodyText"].var = CreateClientConVar("******menu_Style_BodyText", "Color(255, 255, 255, 255)", true, false)
******menu.Style.Vars["BodyText"].color = ******menu.GetColorFromString(******menu.Style.Vars["BodyText"].var:GetString())
******menu.Style.Vars["Chams"] = {}
******menu.Style.Vars["Chams"].var = CreateClientConVar("******menu_Style_Chams", "Color(0, 255, 0, 255)", true, false)
******menu.Style.Vars["Chams"].color = ******menu.GetColorFromString(******menu.Style.Vars["Chams"].var:GetString())
******menu.Style.Vars["BodyChams"] = {}
******menu.Style.Vars["BodyChams"].var = CreateClientConVar("******menu_Style_BodyChams", "Color(0, 255, 0, 255)", true, false)
******menu.Style.Vars["BodyChams"].color = ******menu.GetColorFromString(******menu.Style.Vars["BodyChams"].var:GetString())

//This loads our friends list and custom entities list.
/*******menu.SavedData = CreateClientConVar("******menu_SaveData", ******menu.RandomName(math.random(10, 15)), true, false)
if file.Exists(******menu.SavedData:GetString()..".txt", "DATA") then
	local info = string.Explode("\n", file.Read(******menu.SavedData:GetString()..".txt", "DATA"))
	if type(info) == "table" and info[1] and info[2] then
		******menu.Friends.List = util.JSONToTable(info[1])
		******menu.Entities.List = util.JSONToTable(info[2])
	end
end

******menu.SaveData = function()
	file.Write(******menu.SavedData:GetString()..".txt", util.TableToJSON(******menu.Friends.List))
	file.Append(******menu.SavedData:GetString()..".txt", "\n")
	file.Append(******menu.SavedData:GetString()..".txt", util.TableToJSON(******menu.Entities.List))
end*/

//This is all the bones i look for in the order im looking for them. Feel free to change the order if you want to attack the foot before the head or something like that.
******menu.Bones = {
"ValveBiped.Bip01_Head1",
"ValveBiped.Bip01_Neck1",
"ValveBiped.Bip01_Spine4",
"ValveBiped.Bip01_Spine2",
"ValveBiped.Bip01_Spine1",
"ValveBiped.Bip01_Spine",
"ValveBiped.Bip01_R_UpperArm",
"ValveBiped.Bip01_R_Forearm",
"ValveBiped.Bip01_R_Hand",
"ValveBiped.Bip01_L_UpperArm",
"ValveBiped.Bip01_L_Forearm",
"ValveBiped.Bip01_L_Hand",
"ValveBiped.Bip01_R_Thigh",
"ValveBiped.Bip01_R_Calf",
"ValveBiped.Bip01_R_Foot",
"ValveBiped.Bip01_R_Toe0",
"ValveBiped.Bip01_L_Thigh",
"ValveBiped.Bip01_L_Calf",
"ValveBiped.Bip01_L_Foot",
"ValveBiped.Bip01_L_Toe0"
}

//If random bones is enabled this list is gone through, randomly, and if none of the bones on this list are found the entire list (above) is gone through.
//If you edit this be sure to edit the function below it.
******menu.RandomBones = {
"ValveBiped.Bip01_Head1",
"ValveBiped.Bip01_Neck1",
"ValveBiped.Bip01_Spine4",
"ValveBiped.Bip01_Spine2",
"ValveBiped.Bip01_R_UpperArm",
"ValveBiped.Bip01_L_UpperArm"
}
******menu.GetRandomBones = function()
	local temp = {}
	local function GetBones() //Ahh recursion, i love you.
		if #******menu.RandomBones > 0 then
			local random = math.random(1, #******menu.RandomBones)
			table.insert(temp, ******menu.RandomBones[random])
			table.remove(******menu.RandomBones, random)
			GetBones()
		else
			table.insert(******menu.RandomBones, "ValveBiped.Bip01_Head1")
			table.insert(******menu.RandomBones, "ValveBiped.Bip01_Neck1")
			table.insert(******menu.RandomBones, "ValveBiped.Bip01_Spine4")
			table.insert(******menu.RandomBones, "ValveBiped.Bip01_Spine2")
			table.insert(******menu.RandomBones, "ValveBiped.Bip01_R_UpperArm")
			table.insert(******menu.RandomBones, "ValveBiped.Bip01_L_UpperArm")
		end
	end
	GetBones()
	return temp
end

//A list of all keyboard keys, for binding
******menu.Keys = {
[0] = "KEY_NONE",
[1] = "KEY_0",
[2] = "KEY_1",
[3] = "KEY_2",
[4] = "KEY_3",
[5] = "KEY_4",
[6] = "KEY_5",
[7] = "KEY_6",
[8] = "KEY_7",
[9] = "KEY_8",
[10] = "KEY_9",
[11] = "KEY_A",
[12] = "KEY_B",
[13] = "KEY_C",
[14] = "KEY_D",
[15] = "KEY_E",
[16] = "KEY_F",
[17] = "KEY_G",
[18] = "KEY_H",
[19] = "KEY_I",
[20] = "KEY_J",
[21] = "KEY_K",
[22] = "KEY_L",
[23] = "KEY_M",
[24] = "KEY_N",
[25] = "KEY_O",
[26] = "KEY_P",
[27] = "KEY_Q",
[28] = "KEY_R",
[29] = "KEY_S",
[30] = "KEY_T",
[31] = "KEY_U",
[32] = "KEY_V",
[33] = "KEY_W",
[34] = "KEY_X",
[35] = "KEY_Y",
[36] = "KEY_Z",
[37] = "KEY_PAD_0",
[38] = "KEY_PAD_1",
[39] = "KEY_PAD_2",
[40] = "KEY_PAD_3",
[41] = "KEY_PAD_4",
[42] = "KEY_PAD_5",
[43] = "KEY_PAD_6",
[44] = "KEY_PAD_7",
[45] = "KEY_PAD_8",
[46] = "KEY_PAD_9",
[47] = "KEY_PAD_DIVIDE",
[48] = "KEY_PAD_MULTIPLY",
[49] = "KEY_PAD_MINUS",
[50] = "KEY_PAD_PLUS",
[51] = "KEY_PAD_ENTER",
[52] = "KEY_PAD_DECIMAL",
[53] = "KEY_LBRACKET",
[54] = "KEY_RBRACKET",
[55] = "KEY_SEMICOLON",
[56] = "KEY_APOSTROPHE",
[57] = "KEY_BACKQUOTE",
[58] = "KEY_COMMA",
[59] = "KEY_PERIOD",
[60] = "KEY_SLASH",
[61] = "KEY_BACKSLASH",
[62] = "KEY_MINUS",
[63] = "KEY_EQUAL",
[64] = "KEY_ENTER",
[65] = "KEY_SPACE",
[66] = "KEY_BACKSPACE",
[67] = "KEY_TAB",
[68] = "KEY_CAPSLOCK",
[69] = "KEY_NUMLOCK",
[70] = "KEY_ESCAPE",
[71] = "KEY_SCROLLLOCK",
[72] = "KEY_INSERT",
[73] = "KEY_DELETE",
[74] = "KEY_HOME",
[75] = "KEY_END",
[76] = "KEY_PAGEUP",
[77] = "KEY_PAGEDOWN",
[78] = "KEY_BREAK",
[79] = "KEY_LSHIFT",
[80] = "KEY_RSHIFT",
[81] = "KEY_LALT",
[82] = "KEY_RALT",
[83] = "KEY_LCONTROL",
[84] = "KEY_RCONTROL",
[85] = "KEY_LWIN",
[86] = "KEY_RWIN",
[87] = "KEY_APP",
[88] = "KEY_UP",
[89] = "KEY_LEFT",
[90] = "KEY_DOWN",
[91] = "KEY_RIGHT",
[92] = "KEY_F1",
[93] = "KEY_F2",
[94] = "KEY_F3",
[95] = "KEY_F4",
[96] = "KEY_F5",
[97] = "KEY_F6",
[98] = "KEY_F7",
[99] = "KEY_F8",
[100] = "KEY_F9",
[101] = "KEY_F10",
[102] = "KEY_F11",
[103] = "KEY_F12",
//[104] = "KEY_CAPSLOCKTOGGLE", //THESE
//[105] = "KEY_NUMLOCKTOGGLE", //MOFOS
//[106] = "KEY_SCROLLLOCKTOGGLE", //SHOULD DIE
[107] = "KEY_XBUTTON_UP",
[108] = "KEY_XBUTTON_DOWN",
[109] = "KEY_XBUTTON_LEFT",
[110] = "KEY_XBUTTON_RIGHT",
[111] = "KEY_XBUTTON_START",
[112] = "KEY_XBUTTON_BACK",
[113] = "KEY_XBUTTON_STICK1",
[114] = "KEY_XBUTTON_STICK2",
[115] = "KEY_XBUTTON_A",
[116] = "KEY_XBUTTON_B",
[117] = "KEY_XBUTTON_X",
[118] = "KEY_XBUTTON_Y",
[119] = "KEY_XBUTTON_BLACK",
[120] = "KEY_XBUTTON_WHITE",
[121] = "KEY_XBUTTON_LTRIGGER",
[122] = "KEY_XBUTTON_RTRIGGER",
[123] = "KEY_XSTICK1_UP",
[124] = "KEY_XSTICK1_DOWN",
[125] = "KEY_XSTICK1_LEFT",
[126] = "KEY_XSTICK1_RIGHT",
[127] = "KEY_XSTICK2_UP",
[128] = "KEY_XSTICK2_DOWN",
[129] = "KEY_XSTICK2_LEFT",
[130] = "KEY_XSTICK2_RIGHT"
}
//A list of all mouse keys, for binding
******menu.MouseKeys = {
[107] = "MOUSE_LEFT",
[108] = "MOUSE_RIGHT",
[109] = "MOUSE_MIDDLE",
[110] = "MOUSE_4",
[111] = "MOUSE_5"
}
//Tells me if a specific key is pressed. Loops through both tables.
******menu.KeyPressed = function(key)
	if ******menu.InChat then return false end
	
	for k = 107, 111 do
		if key == ******menu.MouseKeys[k] then
			if input.IsMouseDown(k) then
				return true
			else
				return false
			end
		end
	end
	
	for k = 0, 130 do
		if key == ******menu.Keys[k] then
			if input.IsKeyDown(k) then
				return true
			else
				return false
			end
		end
	end
	
	return false
end

//Very simple. If the boolean is true it returns 1. If the boolean is false then it returns 0. I dont think i ended up using this anywhere, but whatever, ill leave it here.
******menu.BoolToInt = function(bool)
	if bool then 
		return 1
	else
		return 0
	end
end

//Checking if a bone is visible, pos is the position of the bone and ent is the entity whos bone were looking for. 
******menu.SpotIsVisible = function(pos, ent)
	ent = ent or ******menu.Aimbot.CurTarget
	local tracedata = {}
	tracedata.start = ******menu.Ply:GetShootPos()
	tracedata.endpos = pos
	tracedata.filter = {******menu.Ply, ent}
	
	local trace = util.TraceLine(tracedata)
	if trace.HitPos:Distance(pos) < 0.005 then
		return true
	else
		return false
	end
end

//Checks all of the entities bones to find if we can see this entity or not.
******menu.CanSee = function(ent)
	for k = 1, #******menu.Bones do 
		local v = ******menu.Bones[k]
		local bone = ent:LookupBone(v)
		if bone != nil then
			local pos, ang = ent:GetBonePosition(bone)
			if ******menu.SpotIsVisible(pos, ent) then
				return true
			end
		end
	end
	return false
end

//This returns the next entity we should attack.
******menu.GetTarget = function()
	if ******menu.Aimbot.Vars["AttackNPCs"]:GetBool() or ******menu.Aimbot.Vars["AttackPlayers"]:GetBool() then
		local targets = {}
		local everything = ents.GetAll()
		for k = 1, #everything do 
			local v = everything[k]
			if ******menu.Aimbot.Vars["AttackNPCs"]:GetBool() and v:IsNPC() then
				if ******menu.CanSee(v) then
					table.insert(targets, {["Target"] = v, ["Pos"] = v:LocalToWorld(v:OBBCenter())})
				end
			elseif ******menu.Aimbot.Vars["AttackPlayers"]:GetBool() and v:IsPlayer() and v != ******menu.Ply then
				if ******menu.CanSee(v) then
					table.insert(targets, {["Target"] = v, ["Pos"] = v:LocalToWorld(v:OBBCenter())})
				end
			end
		end
		
		for k,v in SortedPairs(targets, true) do //It will already be sorted so this shouldn't be too resource heavy, the main point of this is to loop through the table backwards
			local v = v["Target"]
			local shouldremove = false
			if ******menu.Aimbot.Vars["IgnoreTeam"]:GetBool() and v:IsPlayer() then
				if ******menu.TTT then
					if ******menu.Ply:GetRole() == 1 and v:GetRole() == 1 then
						shouldremove = true
					end
						
					if ******menu.Ply:GetRole() != 1 and not table.HasValue(******menu.Traitors, v) then
						shouldremove = true
					end
				else
					if v:Team() == ******menu.Ply:Team() then
						shouldremove = true
					end
				end
			end
			
			if ******menu.Friends.Vars["Active"]:GetBool() then
				if ******menu.Friends.Vars["Reverse"]:GetBool() then
					if not table.HasValue(******menu.Friends.List, v:SteamID()) then
						shouldremove = true
					end
				else
					if table.HasValue(******menu.Friends.List, v:SteamID()) then
						shouldremove = true		
					end
				end
			end
			
			if shouldremove then
				table.remove(targets, k)
			end
		end
		
		if #targets == 0 then 
			return nil
		elseif #targets == 1 then
			targets[1]["Target"].BoneToAimAt = nil
			return targets[1]["Target"]
		end
		
		if ******menu.Aimbot.Vars["Preferance"]:GetString() == "Distance" then
			local min = {["Distance"] = ******menu.Ply:GetPos():Distance(targets[1]["Pos"]), ["Target"] = targets[1]["Target"]}
			for k = 1, #targets do 
				local v = targets[k]
				
				local distance = ******menu.Ply:GetPos():Distance(v["Pos"])
				if distance < min["Distance"] then
					min = {["Distance"] = distance, ["Target"] = v["Target"]}
				end
			end
			min["Target"].BoneToAimAt = nil
			return min["Target"]
		elseif ******menu.Aimbot.Vars["Preferance"]:GetString() == "Angle" then		
			local min = {["Angle"] = ******menu.AngleTo(targets[1]["Pos"]), ["Target"] = targets[1]["Target"]}
			for k = 1, #targets do 
				local v = targets[k]
				
				local angle = ******menu.AngleTo(v["Pos"])
				if angle < min["Angle"] then
					min = {["Angle"] = angle, ["Target"] = v["Target"]}
				end
			end
			min["Target"].BoneToAimAt = nil
			return min["Target"]
		end
	else
		return nil
	end
end

//This returns the total angle away from the target we are, and then the pitch and yaw seperately
******menu.AngleTo = function(pos)
	local myAngs = ******menu.Ply:GetAngles()
	local needed = (pos - ******menu.Ply:GetShootPos()):Angle()
	
	myAngs.p = math.NormalizeAngle(myAngs.p)
	needed.p = math.NormalizeAngle(needed.p)
	
	myAngs.y = math.NormalizeAngle(myAngs.y)
	needed.y = math.NormalizeAngle(needed.y)
	
	local p = math.NormalizeAngle(needed.p - myAngs.p)
	local y = math.NormalizeAngle(needed.y - myAngs.y)
	
	return math.abs(p) + math.abs(y), {p = p, y = y}
end

//Returns true if our target meets our preferances.
******menu.ValidTarget = function()
	if ******menu.Aimbot.CurTarget == nil then return false end
	if not IsValid(******menu.Aimbot.CurTarget) then return false end
	if ******menu.Aimbot.CurTarget:IsPlayer() and (not ******menu.Aimbot.CurTarget:Alive() or ******menu.Aimbot.CurTarget:Team() == TEAM_SPECTATOR or ******menu.Aimbot.CurTarget:Health() < 1) then return false end
	if not ******menu.Aimbot.Vars["AttackNPCs"]:GetBool() and ******menu.Aimbot.CurTarget:IsNPC() then return false end
	if not ******menu.Aimbot.Vars["AttackPlayers"]:GetBool() and ******menu.Aimbot.CurTarget:IsPlayer() then return false end
	if not ******menu.CanSee(******menu.Aimbot.CurTarget) then return false end
	if ******menu.Aimbot.Vars["IgnoreTeam"]:GetBool() and ******menu.Aimbot.CurTarget:IsPlayer() then
		if ******menu.TTT then
			if ******menu.Ply:GetRole() == 1 and ******menu.Aimbot.CurTarget:GetRole() == 1 then return false end				
			if ******menu.Ply:GetRole() != 1 and not table.HasValue(******menu.Traitors, ******menu.Aimbot.CurTarget) then return false end
		else
			if ******menu.Aimbot.CurTarget:Team() == ******menu.Ply:Team() then return false end
		end
	end
	
	return true
end

hook.Add("RenderScreenspaceEffects", ******menu.RandomName(math.random(10, 15)), function()
	if ******menu.Active:GetBool() then
		local everything = ents.GetAll()
		for k = 1, #everything do
			local v = everything[k]
			
			if ******menu.Chams.Vars["Active"]:GetBool() and v != ******menu.Ply and (******menu.Chams.Vars["MaxDistance"]:GetInt() == 0 or v:GetPos():Distance(******menu.Ply:GetPos()) < ******menu.Chams.Vars["MaxDistance"]:GetInt()) then
				cam.Start3D(EyePos(), EyeAngles())
					if (v:IsPlayer() and v:Alive() and v:Team() != TEAM_SPECTATOR and ******menu.Chams.Vars["Players"]:GetBool()) or (v:IsNPC() and v:Health() > 0 and ******menu.Chams.Vars["NPCs"]:GetBool()) then
						local color = ******menu.Style.Vars["Chams"].color
						if ******menu.Chams.Vars["TeamBased"]:GetBool() and v:IsPlayer() then
							color = team.GetColor(v:Team())
							if ******menu.TTT then
								if v:GetRole() == 2 then
									color = Color(0, 0, 255, 255)
								elseif table.HasValue(******menu.Traitors, v) then
									color = Color(255, 0, 0, 255)
								else
									color = Color(0, 255, 0, 255)
								end
							end
						end
						render.SuppressEngineLighting(true)
						render.SetColorModulation(color.r/255, color.g/255, color.b/255, 1)
						render.MaterialOverride(******menu.Chams.Mat)
						v:DrawModel()
						
						render.SetColorModulation((color.r + 150)/250, (color.g + 150)/250, (color.b + 150)/255, 1)						
						if IsValid(v:GetActiveWeapon()) and ******menu.Chams.Vars["Weapons"]:GetBool() then
							v:GetActiveWeapon():DrawModel() 
						end
						
						render.SetColorModulation(1, 1, 1, 1)
						render.MaterialOverride()
						render.SetModelLighting(4, color.r/255, color.g/255, color.b/255)
						v:DrawModel()
						render.SuppressEngineLighting(false)
					elseif ******menu.TTT and ******menu.Chams.Vars["Bodies"]:GetBool() and v:GetClass() == "prop_ragdoll" then
						local color = ******menu.Style.Vars["BodyChams"].color
						render.SuppressEngineLighting(true)	
						render.SetColorModulation(color.r/255, color.g/255, color.b/255, 1)
						render.MaterialOverride(******menu.Chams.Mat)
						v:DrawModel()	
						render.SetColorModulation(1, 1, 1, 1)
						render.MaterialOverride()
						render.SetModelLighting(4, color.r/255, color.g/255, color.b/255)
						v:DrawModel()
						render.SuppressEngineLighting(false)
					elseif ******menu.Entities.Vars["Active"]:GetBool() and table.HasValue(******menu.Entities.List, v:GetClass()) then
						local color = ******menu.Style.Vars["Chams"].color					
						render.SuppressEngineLighting(true)	
						render.SetColorModulation(color.r/255, color.g/255, color.b/255, 1)
						render.MaterialOverride(******menu.Chams.Mat)
						v:DrawModel()	
						render.SetColorModulation(1, 1, 1, 1)
						render.MaterialOverride()
						render.SetModelLighting(4, color.r/255, color.g/255, color.b/255)
						v:DrawModel()
						render.SuppressEngineLighting(false)
					end
				cam.End3D()
			end
		end
	end
end)

//Helper function on radar. I just copied this one from the wiki.
******menu.DrawFilledCircle = function(x, y, radius, quality)
	local circle = {}
    local tmp = 0
    for i = 1, quality do
        tmp = math.rad(i * 360) / quality 
        circle[i] = {x = x + math.cos(tmp) * radius, y = y + math.sin(tmp) * radius}
    end
	surface.DrawPoly(circle)
end

//Another helper fuction on the radar.
******menu.DrawArrow = function(x, y, myRotation)
	local arrow = {}	
	arrow[1] = {x = x, y = y}
	arrow[2] = {x = x + 4, y = y + 7.5}
	arrow[3] = {x = x, y = y + 5}
	arrow[4] = {x = x - 4, y = y + 7.5}
	
	//Now that i have the arrow determined, i have to rotate it to match the targets angle
	myRotation = myRotation * -1
	myRotation = math.rad(myRotation)
	for i = 1, 4 do
		local theirX = arrow[i].x
		local theirY = arrow[i].y
		
		theirX = theirX - x
		theirY = theirY - y
		
		arrow[i].x = theirX * math.cos(myRotation) - theirY * math.sin(myRotation)
		arrow[i].y = theirX * math.sin(myRotation) + theirY * math.cos(myRotation)
		
		arrow[i].x = arrow[i].x + x
		arrow[i].y = arrow[i].y + y
	end

	surface.DrawPoly(arrow)
end

******menu.Traitors = {}
******menu.SuperAdmins = {}
******menu.Admins = {}
******menu.Spectators = {}
local radarX, radarY, radarWidth, radarHeight = 100, 200, 150, 150
hook.Add("HUDPaint", ******menu.RandomName(math.random(10, 15)), function()
	if ******menu.Active:GetBool() then	
		local everything = ents.GetAll()
		
		if ******menu.ESP.Vars["Active"]:GetBool() and ******menu.ESP.Vars["Radar"]:GetBool() then //Setting up the background here. And since the ESP doesnt draw you 
			draw****undedBox(0, radarX, radarY, radarWidth, radarHeight, Color(100, 100, 100, 255 ))
			draw.NoTexture()
			if ******menu.ESP.Vars["TeamBased"]:GetBool() then
				local color = team.GetColor(******menu.Ply:Team())
				if ******menu.TTT then
					if ******menu.Ply:GetRole() == 2 then
						color = Color(0, 0, 255, 255)
					elseif ******menu.Ply:GetRole() == 1 then
						color = Color(255, 0, 0, 255)
					else
						color = Color(0, 255, 0, 255)
					end
				end
				surface.SetDrawColor(color)
			else
				surface.SetDrawColor(******menu.Style.Vars["ESPText"].color)
			end
			******menu.DrawArrow(radarX + (radarWidth / 2), radarY + (radarHeight / 2), 0)
		end
		
		for k = 1, #everything do
			local v = everything[k]
		
			if ******menu.ESP.Vars["Active"]:GetBool() and v != ******menu.Ply and (******menu.ESP.Vars["MaxDistance"]:GetInt() == 0 or v:GetPos():Distance(******menu.Ply:GetPos()) < ******menu.ESP.Vars["MaxDistance"]:GetInt()) then										
				if (v:IsPlayer() and v:Alive() and v:Team() != TEAM_SPECTATOR and ******menu.ESP.Vars["Players"]:GetBool()) or (v:IsNPC() and v:Health() > 0 and ******menu.ESP.Vars["NPCs"]:GetBool()) then
					local color = ******menu.Style.Vars["ESPText"].color
					if ******menu.ESP.Vars["TeamBased"]:GetBool() and v:IsPlayer() then
						color = team.GetColor(v:Team())
						if ******menu.TTT then
							if v:GetRole() == 2 then
								color = Color(0, 0, 255, 255)
							elseif table.HasValue(******menu.Traitors, v) then
								color = Color(255, 0, 0, 255)
							else
								color = Color(0, 255, 0, 255)
							end
						end
					end
					
					local Min, Max = v:GetCollisionBounds()
					if ******menu.ESP.Vars["Box"]:GetBool() then
						local one = v:LocalToWorld(Min):ToScreen()
						local two = v:LocalToWorld(Vector(Min.x, Min.y, Max.z)):ToScreen()
						local three = v:LocalToWorld(Vector(Min.x, Min.y + (Max.y * 2), Min.z)):ToScreen()
						local four = v:LocalToWorld(Vector(Min.x + (Max.x * 2), Min.y, Min.z)):ToScreen()
						local five = v:LocalToWorld(Max):ToScreen()
						local six = v:LocalToWorld(Vector(Max.x, Max.y, Min.z)):ToScreen()
						local seven = v:LocalToWorld(Vector(Max.x, Max.y + (Min.y * 2), Max.z)):ToScreen()
						local eight = v:LocalToWorld(Vector(Max.x + (Min.x * 2), Max.y, Max.z)):ToScreen()				
						
						if ******menu.ESP.Vars["TeamBased"]:GetBool() then
							surface.SetDrawColor(color)
						else
							surface.SetDrawColor(******menu.Style.Vars["BoundingBox"].color)
						end
						local function connect(tabone, tabtwo)
							surface.DrawLine(tabone.x, tabone.y, tabtwo.x, tabtwo.y)
						end
						
						connect(one, two)
						connect(three, eight)
						connect(four, seven)
						connect(six, five)
						connect(four, six)
						connect(four, one)
						connect(one, three)
						connect(three, six)
						connect(five, eight)
						connect(eight, two)
						connect(two, seven)
						connect(seven, five)
					end
					
					surface.SetFont("ESPFont")
					local top = v:GetPos() + Vector(0, 0, Max.z + 10) // A little above their head so its not constantly covering their face.
					local topscreen = top:ToScreen()
					local topy = topscreen.y
					
					local bottom = v:GetPos()
					local bottomscreen = bottom:ToScreen()
					local bottomy = bottomscreen.y
					
					local function DrawAbove(text)
						local W, H = surface.GetTextSize(text)
						surface.SetTextPos(topscreen.x - W / 2, topy) 
						surface.DrawText(text)
						
						topy = topy + H
					end
					
					local function DrawBelow(text)
						local W, H = surface.GetTextSize(text)
						surface.SetTextPos(bottomscreen.x - W / 2, bottomy) 
						surface.DrawText(text)
						
						bottomy = bottomy + H
					end
					
					surface.SetTextColor(Color(255, 0, 0, 255))
					if ******menu.ESP.Vars["ShowTraitors"]:GetString() != "Off" and table.HasValue(******menu.Traitors, v) then
						if ******menu.ESP.Vars["ShowTraitors"]:GetString() == "Above" then
							DrawAbove("Traitor")
						else
							DrawBelow("Traitor")
						end
					end
					
					surface.SetTextColor(color)
					if v:IsPlayer() then
						if ******menu.ESP.Vars["Name"]:GetString() == "Above" then
							if v:IsSuperAdmin() then	
								DrawAbove("[SA] "..v:Nick().. " [SA]")
							elseif v:IsAdmin() then
								DrawAbove("[A] "..v:Nick().." [A]")
							elseif v:IsUserGroup("moderator") or v:IsUserGroup("mod") or v:IsUserGroup("operator") or v:IsUserGroup("op")then
								DrawAbove("[OP] "..v:Nick().." [OP]")
							elseif v:IsUserGroup("vip") or v:IsUserGroup("donator") then
								DrawAbove("[$$] "..v:Nick().." [$$]")
							else
								DrawAbove(v:Nick())
							end
						elseif ******menu.ESP.Vars["Name"]:GetString() == "Below" then
							if v:IsSuperAdmin() then	
								DrawBelow("[SA] "..v:Nick().. " [SA]")
							elseif v:IsAdmin() then
								DrawBelow("[A] "..v:Nick().." [A]")
							elseif v:IsUserGroup("moderator") or v:IsUserGroup("mod") or v:IsUserGroup("operator") or v:IsUserGroup("op")then
								DrawBelow("[OP] "..v:Nick().." [OP]")
							elseif v:IsUserGroup("vip") or v:IsUserGroup("donator") then
								DrawBelow("[$$] "..v:Nick().." [$$]")
							else
								DrawAbove(v:Nick())
							end
						end
					else
						if ******menu.ESP.Vars["Name"]:GetString() == "Above" then
							DrawAbove("NPC: "..v:GetClass())
						elseif ******menu.ESP.Vars["Name"]:GetString() == "Below" then
							DrawBelow("NPC: "..v:GetClass())
						end
					end
					
					if ******menu.ESP.Vars["Weapons"]:GetString() == "Above" and IsValid(v:GetActiveWeapon()) then
						DrawAbove("Weapon: "..v:GetActiveWeapon():GetClass()) 
					elseif ******menu.ESP.Vars["Weapons"]:GetString() == "Below" and IsValid(v:GetActiveWeapon()) then
						DrawBelow("Weapon: "..v:GetActiveWeapon():GetClass()) 
					end		
					
					if ******menu.ESP.Vars["Distance"]:GetString() == "Above" then 
						DrawAbove(""..bottom:Distance(******menu.Ply:GetPos())) 
					elseif ******menu.ESP.Vars["Distance"]:GetString() == "Below" then
						DrawBelow(""..bottom:Distance(******menu.Ply:GetPos())) 
					end	
					
					if ******menu.ESP.Vars["Health"]:GetString() == "Above" then 
						if v:IsPlayer()then
							DrawAbove(v:Health().. "H - "..v:Armor().."A")
						else 
							DrawAbove(v:Health().. "H")
						end
					elseif ******menu.ESP.Vars["Health"]:GetString() == "Below" then
						if v:IsPlayer()then
							DrawBelow(v:Health().. "H - "..v:Armor().."A")
						else 
							DrawBelow(v:Health().. "H")
						end
					end
					
					if ******menu.ESP.Vars["Radar"]:GetBool() then
						surface.SetDrawColor(color)
						local myPos = ******menu.Ply:GetPos()
						local theirPos = v:GetPos()
						local myAngles = ******menu.Ply:GetAngles()
						
						local theirX = (radarX + (radarWidth / 2)) + ((theirPos.x - myPos.x) / ******menu.ESP.Vars["RadarScale"]:GetInt())
						local theirY = (radarY + (radarHeight / 2)) + ((myPos.y - theirPos.y) / ******menu.ESP.Vars["RadarScale"]:GetInt())
						
						//Now i have to rotate this
						local myRotation = myAngles.y - 90
						myRotation = math.rad(myRotation)
						
						theirX = theirX - (radarX + (radarWidth / 2))
						theirY = theirY - (radarY + (radarHeight / 2))
						local newX = theirX * math.cos(myRotation) - theirY * math.sin(myRotation)
						local newY = theirX * math.sin(myRotation) + theirY * math.cos(myRotation)
						newX = newX + (radarX + (radarWidth / 2))
						newY = newY + (radarY + (radarHeight / 2))
						
						//And now that its rotated i can check if its within our radars bounds and draw it
						if newX < (radarX + radarWidth) and newX > radarX and newY < (radarY + radarHeight) and newY > radarY then
							******menu.DrawArrow(newX, newY, v:EyeAngles().y - myAngles.y)
						end
					end
				elseif ******menu.TTT and ******menu.ESP.Vars["Bodies"]:GetBool() and v:GetClass() == "prop_ragdoll" then
					surface.SetFont("ESPFont")
					
					//Im just going to position this info at the center of the player, if i get any complaints ill change it
					local pos = v:LocalToWorld(v:OBBCenter())
					local poscreen = pos:ToScreen()
					local W, H = surface.GetTextSize("Sample") //It doesnt have to be perfect but this will help center the text more.
					local y = poscreen.y - (H * 1.5)
					
					local function DrawText(text)
						local W, H = surface.GetTextSize(text)
						surface.SetTextPos(poscreen.x - W / 2, y) 
						surface.DrawText(text)
						
						y = y + H
					end
					
					surface.SetTextColor(******menu.Style.Vars["BodyText"].color)
					DrawText("Credits: "..******menu.TTTCORPSE.GetCredits(v, 0))
					DrawText("Name: "..******menu.TTTCORPSE.GetPlayerNick(v, "Unknown"))
					DrawText("Found: "..tostring(******menu.TTTCORPSE.GetFound(v, false)))
					
					if ******menu.ESP.Vars["Radar"] then
						surface.SetDrawColor(******menu.Style.Vars["BodyText"].color)
						local myPos = ******menu.Ply:GetPos()
						local theirPos = v:GetPos()
						
						local theirX = (radarX + (radarWidth / 2)) + ((theirPos.x - myPos.x) / ******menu.ESP.Vars["RadarScale"]:GetInt())
						local theirY = (radarY + (radarHeight / 2)) + ((myPos.y - theirPos.y) / ******menu.ESP.Vars["RadarScale"]:GetInt())
						
						//Now i have to rotate this
						local myRotation = ******menu.Ply:GetAngles().y - 90
						myRotation = math.rad(myRotation)
						
						theirX = theirX - (radarX + (radarWidth / 2))
						theirY = theirY - (radarY + (radarHeight / 2))
						local newX = theirX * math.cos(myRotation) - theirY * math.sin(myRotation)
						local newY = theirX * math.sin(myRotation) + theirY * math.cos(myRotation)
						newX = newX + (radarX + (radarWidth / 2))
						newY = newY + (radarY + (radarHeight / 2))
						
						//And now that its rotated i can check if its within our radars bounds and draw it
						if newX < (radarX + radarWidth) and newX > radarX and newY < (radarY + radarHeight) and newY > radarY then
							******menu.DrawFilledCircle(newX, newY, 2, 4)
						end
					end
				elseif ******menu.Entities.Vars["Active"]:GetBool() and table.HasValue(******menu.Entities.List, v:GetClass()) then
					if v:GetClass() == "cw_item" then -- Dingus ESP
                        local itemTable = v.cwItemTable;
                        local text
                        if itemTable then
							text = itemTable("name")
						else
							text = v:GetModel()
						end
						surface.SetFont("ESPFont")
						surface.SetTextColor(******menu.Style.Vars["ESPText"].color)
						
						local W, H = surface.GetTextSize(text)
						local PosScreen = v:GetPos():ToScreen()
						surface.SetTextPos(PosScreen.x - W / 2, PosScreen.y) 
						surface.DrawText(text)
					else
						surface.SetFont("ESPFont")
						surface.SetTextColor(******menu.Style.Vars["ESPText"].color)
					
						local text = v:GetClass()
						local W, H = surface.GetTextSize(text)
					
						local PosScreen = v:GetPos():ToScreen()
						surface.SetTextPos(PosScreen.x - W / 2, PosScreen.y) 
						surface.DrawText(text)
					end
				end
			end
			
			surface.SetFont("default")
			if v:IsPlayer() and v:IsSuperAdmin() then
				if not table.HasValue(******menu.SuperAdmins, v) then
					table.insert(******menu.SuperAdmins, v) 
					******menu.Message("Sarge, Super Admin "..v:Nick().." has connected to the server!")
					if ******menu.Misc.Vars["Sounds"]:GetBool() then
						surface.PlaySound("vo/npc/Alyx/watchout02.wav")
					end	
				end
			end			
			if v:IsPlayer() and v:IsAdmin() and not v:IsSuperAdmin() then
				if not table.HasValue(******menu.Admins, v) then
					table.insert(******menu.Admins, v)
					******menu.Message("Sarge, Admin "..v:Nick().." has connected to the server!")
					if ******menu.Misc.Vars["Sounds"]:GetBool() then
						surface.PlaySound("vo/npc/Alyx/watchout01.wav")
					end	
				end
			end		
			for k,v in SortedPairs(******menu.Admins, true) do
				if not IsValid(v) then
					table.remove(******menu.Admins, k)
				end
			end
			for k,v in SortedPairs(******menu.SuperAdmins, true) do
				if not IsValid(v) then
					table.remove(******menu.SuperAdmins, k)
				end
			end
				
			if v:IsPlayer() and v:GetObserverTarget() == ******menu.Ply then
				if not table.HasValue(******menu.Spectators, v) then
					table.insert(******menu.Spectators, v)
					******menu.Message(v:Nick().." is spectating you.")
					if ******menu.Misc.Vars["Sounds"]:GetBool() then
						surface.PlaySound("vo/npc/female01/ohno.wav")
					end				
				end
			end
			for k,v in SortedPairs(******menu.Spectators, true) do
				if IsValid(v) then
					if v:GetObserverTarget() != ******menu.Ply then
						table.remove(******menu.Spectators, k)
					end
				else
					table.remove(******menu.Spectators, k)
				end
			end
			
			if ******menu.TTT and ******menu.Misc.Vars["TraitorFinder"]:GetBool() then
				if GetRoundState() == 3 and v:IsWeapon() and type(v:GetOwner()) == "Player" and v.Buyer == nil and v.CanBuy and table.HasValue(v.CanBuy, 1) then
					local owner = v:GetOwner()
					if owner:GetRole() == 2 then
						v.Buyer = owner
					else
						******menu.Message(owner:Nick().." got a new toy: "..v:GetClass())
						v.Buyer = owner
						table.insert(******menu.Traitors, owner)
						if ******menu.Misc.Vars["Sounds"]:GetBool() then
							surface.PlaySound("weapons/shotgun/shotgun_cock.wav")
						end	
					end
				elseif GetRoundState() != 3 then
					table.Empty(******menu.Traitors)
				end
			end
			
			if ******menu.Misc.Vars["Deaths"]:GetBool() and v:IsPlayer() then
				if v:Alive() then
					v.IsAlive = true
				elseif v.IsAlive then
					******menu.Message(3, v:Nick().." just got naturally selected. Fuckin' Jock.")
					v.IsAlive = false
					if ******menu.Misc.Vars["Sounds"]:GetBool() then
						surface.PlaySound("npc/combine_soldier/vo/onedown.wav")
					end	
				end				
			end
		end
		
		surface.SetFont("default")
		surface.SetTextColor(Color(255, 255, 255, 255))	
		local AdminWidest = 0
		local Admin******eight = 0
		local AdminHeight = 20
		if ******menu.Misc.Vars["ShowAdmins"]:GetBool() then 
			for k,v in pairs(******menu.SuperAdmins) do
				local W, H = surface.GetTextSize(v:Nick().." - Super Admin")
				if W > AdminWidest then
					AdminWidest = W
				end
				Admin******eight = Admin******eight + H
			end
			for k,v in pairs(******menu.Admins) do
				local W, H = surface.GetTextSize(v:Nick().." - Admin")
				if W > AdminWidest then
					AdminWidest = W
				end
				Admin******eight = Admin******eight + H
			end
			draw****undedBox(8, ScrW() - AdminWidest - 30, 10, AdminWidest + 20, Admin******eight + 20, Color(0, 0, 0, 150 ))
			for k,v in pairs(******menu.SuperAdmins) do
				local text = v:Nick().." - Super Admin"
				local W, H = surface.GetTextSize(text)
				surface.SetTextPos(ScrW() - 20 - AdminWidest, AdminHeight)
				surface.DrawText(text)
				AdminHeight = AdminHeight + H
			end
			for k,v in pairs(******menu.Admins) do
				local text = v:Nick().." - Admin"
				local W, H = surface.GetTextSize(text)
				surface.SetTextPos(ScrW() - 20 - AdminWidest, AdminHeight)
				surface.DrawText(text)
				AdminHeight = AdminHeight + H
			end
		end
		
		local SpecWidest = 0
		local Spec******eight = 0
		local SpecHeight = Admin******eight + 50
		if ******menu.Misc.Vars["ShowSpectators"]:GetBool() then
			for k,v in pairs(******menu.Spectators) do
				local W, H = surface.GetTextSize(v:Nick())
				if W > SpecWidest then
					SpecWidest = W
				end
				Spec******eight = Spec******eight + H
			end
			draw****undedBox(8, ScrW() - SpecWidest - 30, 40 + Admin******eight, SpecWidest + 20, Spec******eight + 20, Color(0, 0, 0, 150 ))
			for k,v in pairs(******menu.Spectators) do
				local text = v:Nick()
				local W, H = surface.GetTextSize(text)
				surface.SetTextPos(ScrW() - 20 - SpecWidest, SpecHeight)
				surface.DrawText(text)
				SpecHeight = SpecHeight + H
			end
		end
		
		if ******menu.Misc.Vars["Crosshair"]:GetBool() then
			local size = ******menu.Misc.Vars["CrosshairSize"]:GetInt()
			local MiddleScreen = {x = surface.ScreenWidth() / 2, y = surface.ScreenHeight() / 2}
			surface.SetDrawColor(******menu.Style.Vars["Crosshair"].color)
			surface.DrawLine(MiddleScreen.x, MiddleScreen.y, MiddleScreen.x - size, MiddleScreen.y)
			surface.DrawLine(MiddleScreen.x, MiddleScreen.y, MiddleScreen.x, MiddleScreen.y - size)
			surface.DrawLine(MiddleScreen.x, MiddleScreen.y, MiddleScreen.x + size, MiddleScreen.y)
			surface.DrawLine(MiddleScreen.x, MiddleScreen.y, MiddleScreen.x, MiddleScreen.y + size)
		end
	end
end)

hook.Add("Think", ******menu.RandomName(math.random(10, 15)), function()
	if ******menu.Active:GetBool() then	
		if ******menu.Aimbot.Vars["Active"]:GetBool() and not (******menu.Aimbot.Vars["PanicMode"]:GetBool() and #******menu.Spectators > 0) then
			if not ******menu.Aimbot.Vars["AimOnKey"]:GetBool() or (******menu.Aimbot.Vars["AimOnKey"]:GetBool() and ******menu.KeyPressed(******menu.Aimbot.Vars["AimOnKey_Key"]:GetString())) then
				if ******menu.ValidTarget() then
					local BoneOrder = {}
					if ******menu.Aimbot.CurTarget.BoneToAimAt and ******menu.Aimbot.Vars["RandomBones"]:GetBool() then
						table.insert(BoneOrder, ******menu.Aimbot.CurTarget.BoneToAimAt)
						table.Add(BoneOrder, ******menu.GetRandomBones())
						table.Add(BoneOrder, ******menu.Bones)
					else
						if ******menu.Aimbot.Vars["RandomBones"]:GetBool() then
							table.Add(BoneOrder, ******menu.GetRandomBones())
							table.Add(BoneOrder, ******menu.Bones)
						else
							table.Add(BoneOrder, ******menu.Bones)
						end
					end
					for k = 1, #BoneOrder do 
						local v = BoneOrder[k]
						local bone = ******menu.Aimbot.CurTarget:LookupBone(v)
						if bone != nil then
							local pos, ang = ******menu.Aimbot.CurTarget:GetBonePosition(bone)
							if v == "ValveBiped.Bip01_Head1" then
								pos = pos + Vector(0, 0, 3) //Aiming a little higher for the head
							end
							local total, needed = 300, {300, 300}
							
							if ******menu.Aimbot.Vars["Prediction"]:GetBool() then
								local tarSpeed = ******menu.Aimbot.CurTarget:GetVelocity() * 0.013
								local plySpeed = ******menu.Ply:GetVelocity() * 0.013
								total, needed = ******menu.AngleTo(pos - plySpeed + tarSpeed)
							else
								total, needed = ******menu.AngleTo(pos)
							end
								
							if ******menu.SpotIsVisible(pos) and total < ******menu.Aimbot.Vars["MaxAngle"]:GetInt() then
								local myAngles = ******menu.Ply:GetAngles()								
								local NewAngles = Angle(myAngles.p + needed.p, myAngles.y + needed.y, 0)
								
								if ******menu.Aimbot.Vars["AntiSnap"]:GetBool() then
									local speed = ******menu.Aimbot.Vars["AntiSnapSpeed"]:GetInt()
									NewAngles = (Angle(math.Approach(myAngles.p, NewAngles.p, speed), math.Approach(myAngles.y, NewAngles.y, speed), 0))
								end
								
								******menu.Ply:SetEyeAngles(NewAngles)
								******menu.Aimbot.CurTarget.BoneToAimAt = BoneOrder[k]
								break
							end
						end
					end
				else
					******menu.Aimbot.CurTarget = ******menu.GetTarget()
				end
			else
				******menu.Aimbot.CurTarget = nil
			end
		end
		
		if ******menu.Misc.Vars["NoRecoil"]:GetBool() then
			if IsValid(******menu.Ply:GetActiveWeapon()) then
				local weapon = ******menu.Ply:GetActiveWeapon()
				if weapon.Primary then
					weapon.OldRecoil = weapon.OldRecoil or weapon.Primary.Recoil or weapon.Recoil
					weapon.Primary.Recoil = 0
					weapon.Recoil = 0
				else
					weapon.OldRecoil = weapon.OldRecoil or weapon.Recoil
					weapon.Recoil = 0
				end
			end
		elseif IsValid(******menu.Ply:GetActiveWeapon()) then
			local weapon = ******menu.Ply:GetActiveWeapon()
			if weapon.Primary then
				weapon.Primary.Recoil = weapon.OldRecoil or weapon.Primary.Recoil or weapon.Recoil
				weapon.Recoil = weapon.OldRecoil or weapon.Recoil or weapon.Primary.Recoil
			else
				weapon.Recoil = weapon.OldRecoil or weapon.Recoil
			end
		end
		
		if ******menu.DarkRP and ******menu.Misc.Vars["BuyHealth"]:GetBool() then
			if ******menu.Ply:Alive() and ******menu.Ply:Health() < ******menu.Misc.Vars["BuyHealth_Minimum"]:GetInt() then
				******menu.Ply:ConCommand("say /buyhealth")
			end
		end
	end
end)

******menu.Misc.NextReload = CurTime()
******menu.Misc.ShootNext = true
hook.Add("CreateMove", ******menu.RandomName(math.random(10, 15)), function(cmd)
	if ******menu.Active:GetBool() then		
		local DontShoot = {"gmod_tool", "gmod_camera", "weapon_physgun", "weapon_physcannon"}
		if ******menu.Aimbot.Vars["AutoShoot"]:GetBool() and ******menu.Aimbot.Vars["Active"]:GetBool() and ******menu.Ply:GetEyeTrace().Entity == ******menu.Aimbot.CurTarget and IsValid(******menu.Ply:GetActiveWeapon()) and not table.HasValue(DontShoot, ******menu.Ply:GetActiveWeapon():GetClass()) then
			cmd:SetButtons(cmd:GetButtons() + IN_ATTACK)
		end
		
		if ******menu.Misc.Vars["BunnyHop"]:GetBool() and cmd:KeyDown(IN_JUMP) and ******menu.KeyPressed(******menu.Misc.Vars["BunnyHop_Key"]:GetString()) then
			cmd:SetButtons(cmd:GetButtons() - IN_JUMP)
		end
		if ******menu.Misc.Vars["BunnyHop"]:GetBool() and ******menu.Ply:OnGround() and ******menu.KeyPressed(******menu.Misc.Vars["BunnyHop_Key"]:GetString()) then
			cmd:SetButtons(cmd:GetButtons() + IN_JUMP)
		end
		
		local DontReload = {"gmod_tool", "gmod_camera", "weapon_physgun", "weapon_physcannon", "weapon_crowbar"}
		if ******menu.Misc.Vars["AutoReload"]:GetBool() and IsValid(******menu.Ply:GetActiveWeapon()) and ******menu.Ply:GetActiveWeapon():Clip1() < 1 and not table.HasValue(DontReload, ******menu.Ply:GetActiveWeapon():GetClass()) and ******menu.Misc.NextReload < CurTime() then
			cmd:SetButtons(cmd:GetButtons() + IN_RELOAD)
		end
		
		if ******menu.Misc.Vars["AutoPistol"]:GetBool() and IsValid(******menu.Ply:GetActiveWeapon()) then
			local weapon = ******menu.Ply:GetActiveWeapon()
			if weapon.Primary and type(weapon.Primary.Automatic) == "boolean" and not weapon.Primary.Automatic then
				if cmd:KeyDown(IN_ATTACK) then
					if ******menu.Misc.ShootNext then
						******menu.Misc.ShootNext = false
					else
						cmd:SetButtons(cmd:GetButtons() - IN_ATTACK)
						******menu.Misc.ShootNext = true
					end
				end					
			elseif type(weapon.Automatic) == "boolean" and not weapon.Automatic then
				if cmd:KeyDown(IN_ATTACK) then
					if ******menu.Misc.ShootNext then
						******menu.Misc.ShootNext = false
					else
						cmd:SetButtons(cmd:GetButtons() - IN_ATTACK)
						******menu.Misc.ShootNext = true
					end
				end
			end
		end
	end
end)

//Used to see if the player is typing in chat or not. Binds arent called when you're in chat.
******menu.InChat = false
hook.Add("StartChat", ******menu.RandomName(math.random(10, 15)), function()
	******menu.InChat = true
end)
hook.Add("FinishChat", ******menu.RandomName(math.random(10, 15)), function()
	******menu.InChat = false
end) 

concommand.Add("******menu_Menu", function()
	//Im only using DColumnSheet because everyone used DPropertySheet. I just want to be different
	local main = vgui.Create("DFrame")
	main:SetSize(500,496)
	main:Center()
	main:SetTitle("")
	main:MakePopup()
	main:ShowCloseButton(false)
	main.Paint = function()
		draw****undedBox( 0, 0, 0, main:GetWide(), main:GetTall(), Color( 0, 0, 0, 150 ) )
	end
	
	local PanicButton = vgui.Create("DButton", main)
	PanicButton:SetSize(50, 20)
	PanicButton:SetPos(415, 3)
	local function Enable()
		PanicButton:SetText("Disable")
		PanicButton.DoClick = function()
			PanicButton:SetText("Enable")
			PanicButton.DoClick = Enable
			******menu.Ply:ConCommand("******menu_Active 0")
		end
		******menu.Ply:ConCommand("******menu_Active 1")
	end
	local function Disable()
		PanicButton:SetText("Enable")
		PanicButton.DoClick = function()
			PanicButton:SetText("Disable")
			PanicButton.DoClick = Disable
			******menu.Ply:ConCommand("******menu_Active 1")
		end
		******menu.Ply:ConCommand("******menu_Active 0")
	end
	if ******menu.Active:GetBool() then
		PanicButton:SetText("Disable")
		PanicButton.DoClick = Disable
	else
		PanicButton:SetText("Enable")
		PanicButton.DoClick = Enable
	end
	
	local CloseButton = vgui.Create("DButton", main)
	CloseButton:SetSize(30, 20)
	CloseButton:SetPos(465, 3)
	CloseButton:SetText("X")
	CloseButton.DoClick = function()
		main:Close()
	end
	
	local title = vgui.Create("DLabel", main)
	title:SetColor(Color(255, 255, 255, 255))
	title:SetFont("TitleFont")
	title:SetText("******menu - "..******menu.Version)
	title:SizeToContents()
	title:SetPos(main:GetWide() / 2 - title:GetWide() / 2,3)	
	
	ColumnSheet = vgui.Create("DColumnSheet",main)
	ColumnSheet:SetPos(5, 25)
	ColumnSheet:SetSize(500 ,465)
	
	local y = 40
	local function ToggleOption(name, parent, var)
		local Options = vgui.Create("DComboBox", parent)
		Options:SetSize(100, 20)
		Options:SetPos(parent:GetWide() * 0.75 - Options:GetWide() / 2, y)
		Options:AddChoice("Off", 0)
		Options:AddChoice("On", 1)
		Options.OnSelect = function(panel,index,value,data)
			******menu.Ply:ConCommand(var.." "..data)
		end
		Options:SetText(Options:GetOptionText(GetConVar(var):GetInt() + 1))
		
		local text = vgui.Create("DLabel", parent)
		text:SetColor(Color(0, 0, 0, 255))
		text:SetFont("CatagoryText")
		text:SetText(name)
		text:SizeToContents()
		text:SetPos(parent:GetWide() / 4 - text:GetWide() / 2, y + Options:GetTall() / 2 - text:GetTall() / 2)
		
		y = y + Options:GetTall() + 20
	end
	
	local function SetKeyOption(name, parent, var)		
		local Options = vgui.Create("DButton", parent)
		Options:SetSize(100, 20)
		Options:SetPos(parent:GetWide() * 0.75 - Options:GetWide() / 2, y)
		Options:SetText(GetConVar(var):GetString())
		Options.DoClick = function()
			Options:SetText("Press a key...")
			Options.Think = function()
				for k = 107, 111 do
					if input.IsMouseDown(k) then
						******menu.Ply:ConCommand(var.." "..******menu.MouseKeys[k])
						Options:SetText(******menu.MouseKeys[k])
						Options.Think = nil
					end
				end
				
				for k = 0, 130 do
					if input.IsKeyDown(k) then
						******menu.Ply:ConCommand(var.." "..******menu.Keys[k])
						Options:SetText(******menu.Keys[k])
						Options.Think = nil
					end
				end 
			end
		end
		
		local text = vgui.Create("DLabel", parent)
		text:SetColor(Color(0, 0, 0, 255))
		text:SetFont("CatagoryText")
		text:SetText(name)
		text:SizeToContents()
		text:SetPos(parent:GetWide() / 4 - text:GetWide() / 2, y + Options:GetTall() / 2 - text:GetTall() / 2)
		
		y = y + Options:GetTall() + 20
	end
	
	local function SetNumberOption(name, parent, var, min, max, decimals)		
		local Options = vgui.Create("DNumberWang", parent)
		Options:SetSize(100, 20)
		Options:SetPos(parent:GetWide() * 0.75 - Options:GetWide() / 2, y)
		Options:SetMin(min)
		Options:SetMax(max)
		Options:SetDecimals(decimals)
		Options:SetConVar(var)
		
		local text = vgui.Create("DLabel", parent)
		text:SetColor(Color(0, 0, 0, 255))
		text:SetFont("CatagoryText")
		text:SetText(name)
		text:SizeToContents()
		text:SetPos(parent:GetWide() / 4 - text:GetWide() / 2, y + Options:GetTall() / 2 - text:GetTall() / 2)
		
		y = y + Options:GetTall() + 20
	end
	
	local function MultiOption(name, parent, var, tab)		
		local Options = vgui.Create("DComboBox", parent)
		Options:SetSize(100, 20)
		Options:SetPos(parent:GetWide() * 0.75 - Options:GetWide() / 2, y)
		for i = 1, #tab do
			Options:AddChoice(tab[i])
		end
		Options.OnSelect = function(panel,index,value,data)
			******menu.Ply:ConCommand(var.." "..value)
		end
		Options:SetText(GetConVar(var):GetString())
		
		local text = vgui.Create("DLabel", parent)
		text:SetColor(Color(0, 0, 0, 255))
		text:SetFont("CatagoryText")
		text:SetText(name)
		text:SizeToContents()
		text:SetPos(parent:GetWide() / 4 - text:GetWide() / 2, y + Options:GetTall() / 2 - text:GetTall() / 2)
		
		y = y + Options:GetTall() + 20
	end
	
	//Starting the Aimbot panel
	local Aimbot = vgui.Create("DPanel")
	Aimbot:SetSize(379, 465)
	Aimbot.Paint = function()
		draw****undedBox( 0, 0, 0, Aimbot:GetWide(), Aimbot:GetTall(), Color( 240, 240, 240, 255 ) )
	end
	
	local title = vgui.Create("DLabel", Aimbot)
	title:SetColor(Color(0, 0, 0, 255))
	title:SetFont("CatagoryHeader")
	title:SetText("Aimbot")
	title:SizeToContents()
	title:SetPos(Aimbot:GetWide() / 2 - title:GetWide() / 2, 0)
	
	ToggleOption("Active", Aimbot, "******menu_Aimbot_Active")
	ToggleOption("Random Bones", Aimbot, "******menu_Aimbot_RandomBones")
	MultiOption("Preferance", Aimbot, "******menu_Aimbot_Preferance", {"Distance", "Angle"})	
	ToggleOption("Attack Players", Aimbot, "******menu_Aimbot_AttackPlayers")
	ToggleOption("Attack NPCs", Aimbot, "******menu_Aimbot_AttackNPCs")
	ToggleOption("Prediction", Aimbot, "******menu_Aimbot_Prediction")
	ToggleOption("Aim On Key", Aimbot, "******menu_Aimbot_AimOnKey")
	SetKeyOption("Key", Aimbot, "******menu_Aimbot_AimOnKey_Key")
	ToggleOption("Anti Snap", Aimbot, "******menu_Aimbot_AntiSnap")
	SetNumberOption("Anti Snap Speed", Aimbot, "******menu_Aimbot_AntiSnapSpeed", 1, 5, 2)
	SetNumberOption("Max Angle", Aimbot, "******menu_Aimbot_MaxAngle", 0, 270, 0)
	ToggleOption("Auto Shoot", Aimbot, "******menu_Aimbot_AutoShoot")
	ToggleOption("Panic Mode", Aimbot, "******menu_Aimbot_PanicMode")
	ToggleOption("Ignore Team", Aimbot, "******menu_Aimbot_IgnoreTeam")
	
	if y > 465 then
		Aimbot:SetTall(y)
	end
	
	//This is the best way i can find to add a scrollbar to the menu...
	AimbotList = vgui.Create( "DPanelList" )
	AimbotList:SetSize(379, 465)
	AimbotList:SetSpacing(0)
	AimbotList:EnableHorizontal(false)
	AimbotList:EnableVerticalScrollbar(true)
	AimbotList:AddItem(Aimbot)
	
	ColumnSheet:AddSheet("Aimbot", AimbotList, "icon16/application_xp_terminal.png")
	
	//Starting the Friends panel
	local FriendsPanel = vgui.Create("DPanel")
	FriendsPanel:SetSize(379, 465)
	FriendsPanel.Paint = function()
		draw****undedBox( 0, 0, 0, FriendsPanel:GetWide(), FriendsPanel:GetTall(), Color( 240, 240, 240, 255 ) )
	end
	
	local title = vgui.Create("DLabel", FriendsPanel)
	title:SetColor(Color(0, 0, 0, 255))
	title:SetFont("CatagoryHeader")
	title:SetText("Friends")
	title:SizeToContents()
	title:SetPos(FriendsPanel:GetWide() / 2 - title:GetWide() / 2, 3)
	
	local Friends = {}
	local Enemies = {}
	
	local players = player.GetAll()
	for k = 1, #players do
		local v = players[k]
		if v != ******menu.Ply then
			if table.HasValue(******menu.Friends.List, v:SteamID()) then
				table.insert(Friends, v)
			else
				table.insert(Enemies, v)
			end
		end
	end
	
	y = 40
	local EnemiesList = vgui.Create("DListView", FriendsPanel) //Need this up here so FriendsList can reference it.	
	local FriendsList = vgui.Create("DListView", FriendsPanel)
	FriendsList:SetSize(150, 200)
	FriendsList:SetPos(FriendsPanel:GetWide() * 0.25 - FriendsList:GetWide() / 2, y)
	FriendsList:SetMultiSelect(false)
	FriendsList:AddColumn("Friends")
	for k = 1, #Friends do
		FriendsList:AddLine(Friends[k]:Nick())
	end
	FriendsList.DoDoubleClick = function(panel, index, line)
		table.insert(Enemies, Friends[index])
		table.remove(Friends, index)
		
		FriendsList:Clear()
		EnemiesList:Clear()
		for k = 1, #Friends do
			FriendsList:AddLine(Friends[k]:Nick())
		end
		for k = 1, #Enemies do
			EnemiesList:AddLine(Enemies[k]:Nick())
		end
		
		******menu.Friends.List = {}
		for k = 1, #Friends do
			table.insert(******menu.Friends.List, Friends[k]:SteamID())
		end
		//******menu.SaveData()
	end
	
	EnemiesList:SetSize(150, 200)
	EnemiesList:SetPos(FriendsPanel:GetWide() * 0.75 - EnemiesList:GetWide() / 2, y)
	EnemiesList:SetMultiSelect(false)
	EnemiesList:AddColumn("Enemies")
	for k = 1, #Enemies do
		EnemiesList:AddLine(Enemies[k]:Nick())
	end
	EnemiesList.DoDoubleClick = function(panel, index, line)
		table.insert(Friends, Enemies[index])
		table.remove(Enemies, index)
		
		FriendsList:Clear()
		EnemiesList:Clear()
		for k = 1, #Friends do
			FriendsList:AddLine(Friends[k]:Nick())
		end
		for k = 1, #Enemies do
			EnemiesList:AddLine(Enemies[k]:Nick())
		end
		
		******menu.Friends.List = {}
		for k = 1, #Friends do
			table.insert(******menu.Friends.List, Friends[k]:SteamID())
		end
		//******menu.SaveData()
	end
	
	y = y + EnemiesList:GetTall() + 20
	ToggleOption("Use", FriendsPanel, "******menu_Friends_Active")
	ToggleOption("Reverse", FriendsPanel, "******menu_Friends_Reverse")
	
	if y > 465 then
		FriendsPanel:SetTall(y)
	end
	
	local FriendsPanelList = vgui.Create( "DPanelList" )
	FriendsPanelList:SetSize(379, 465)
	FriendsPanelList:SetSpacing(0)
	FriendsPanelList:EnableHorizontal(false)
	FriendsPanelList:EnableVerticalScrollbar(true)
	FriendsPanelList:AddItem(FriendsPanel)
	
	ColumnSheet:AddSheet("Friends", FriendsPanelList, "icon16/group.png")

	//Starting the ESP panel
	local ESP = vgui.Create("DPanel")
	ESP:SetSize(379, 465)
	ESP.Paint = function()
		draw****undedBox( 0, 0, 0, ESP:GetWide(), ESP:GetTall(), Color( 240, 240, 240, 255 ) )
	end
	
	local title = vgui.Create("DLabel", ESP)
	title:SetColor(Color(0, 0, 0, 255))
	title:SetFont("CatagoryHeader")
	title:SetText("ESP")
	title:SizeToContents()
	title:SetPos(ESP:GetWide() / 2 - title:GetWide() / 2, 3)
	
	y = 40
	ToggleOption("Active", ESP, "******menu_ESP_Active")
	ToggleOption("Player Info", ESP, "******menu_ESP_Players")
	ToggleOption("NPC Info", ESP, "******menu_ESP_NPCs")
	MultiOption("Name", ESP, "******menu_ESP_Name", {"Off", "Above", "Below"})	
	MultiOption("Weapon", ESP, "******menu_ESP_Weapons", {"Off", "Above", "Below"})	
	MultiOption("Health", ESP, "******menu_ESP_Health", {"Off", "Above", "Below"})	
	MultiOption("Distance", ESP, "******menu_ESP_Distance", {"Off", "Above", "Below"})
	MultiOption("Show Traitors", ESP, "******menu_ESP_ShowTraitors", {"Off", "Above", "Below"})
	ToggleOption("Bounding Box", ESP, "******menu_ESP_Box")
	ToggleOption("Body Info", ESP, "******menu_ESP_Bodies")
	ToggleOption("2D Radar", ESP, "******menu_ESP_Radar")
	SetNumberOption("Radar Scale", ESP, "******menu_ESP_RadarScale", 1, 100, 0)
	SetNumberOption("Max Distance", ESP, "******menu_ESP_MaxDistance", 0, 8000, 0)
	ToggleOption("Team Based", ESP, "******menu_ESP_TeamBased")
	
	if y > 465 then
		ESP:SetTall(y)
	end
	
	ESPList = vgui.Create( "DPanelList" )
	ESPList:SetSize(379, 465)
	ESPList:SetSpacing(0)
	ESPList:EnableHorizontal(false)
	ESPList:EnableVerticalScrollbar(true)
	ESPList:AddItem(ESP)
	
	ColumnSheet:AddSheet("ESP", ESPList, "icon16/pencil.png")
	
	//Starting the Chams panel
	local Chams = vgui.Create("DPanel")
	Chams:SetSize(379, 465)
	Chams.Paint = function()
		draw****undedBox( 0, 0, 0, Chams:GetWide(), Chams:GetTall(), Color( 240, 240, 240, 255 ) )
	end
	
	local title = vgui.Create("DLabel", Chams)
	title:SetColor(Color(0, 0, 0, 255))
	title:SetFont("CatagoryHeader")
	title:SetText("Chams")
	title:SizeToContents()
	title:SetPos(Chams:GetWide() / 2 - title:GetWide() / 2, 3)
	
	y = 40
	ToggleOption("Active", Chams, "******menu_Chams_Active")
	ToggleOption("Draw Players", Chams, "******menu_Chams_Players")
	ToggleOption("Draw NPCs", Chams, "******menu_Chams_NPCs")
	ToggleOption("Draw Weapons", Chams, "******menu_Chams_Weapons")
	ToggleOption("Draw Bodies", Chams, "******menu_Chams_Bodies")
	ToggleOption("Team Based", Chams, "******menu_Chams_TeamBased")
	SetNumberOption("Max Distance", Chams, "******menu_Chams_MaxDistance", 0, 8000, 0)
	
	if y > 465 then
		Chams:SetTall(y)
	end
	
	ChamsList = vgui.Create( "DPanelList" )
	ChamsList:SetSize(379, 465)
	ChamsList:SetSpacing(0)
	ChamsList:EnableHorizontal(false)
	ChamsList:EnableVerticalScrollbar(true)
	ChamsList:AddItem(Chams)
	
	ColumnSheet:AddSheet("Chams", ChamsList, "icon16/eye.png")
	
	//Starting the Finder panel
	local Finder = vgui.Create("DPanel")
	Finder:SetSize(379, 465)
	Finder.Paint = function()
		draw****undedBox( 0, 0, 0, Finder:GetWide(), Finder:GetTall(), Color( 240, 240, 240, 255 ) )
	end
	
	local title = vgui.Create("DLabel", Finder)
	title:SetColor(Color(0, 0, 0, 255))
	title:SetFont("CatagoryHeader")
	title:SetText("Entity Finder")
	title:SizeToContents()
	title:SetPos(Finder:GetWide() / 2 - title:GetWide() / 2, 3)
	
	local ToShow = {}
	local Others = {}
	
	local All = ents.GetAll()
	for k = 1, #All do
		local v = All[k]
		if table.HasValue(******menu.Entities.List, v:GetClass()) then
			if not table.HasValue(ToShow, v:GetClass()) then
				table.insert(ToShow, v:GetClass())
			end
		elseif not table.HasValue(Others, v:GetClass()) then
			table.insert(Others, v:GetClass())
		end
	end
	
	y = 40
	local IgnoreList = vgui.Create("DListView", Finder) //Need this up here so ToShowList can reference it.	
	local ToShowList = vgui.Create("DListView", Finder)
	ToShowList:SetSize(150, 350)
	ToShowList:SetPos(Finder:GetWide() * 0.25 - ToShowList:GetWide() / 2, y)
	ToShowList:SetMultiSelect(false)
	ToShowList:AddColumn("To Show")
	for k = 1, #ToShow do
		ToShowList:AddLine(ToShow[k])
	end
	ToShowList.DoDoubleClick = function(panel, index, line)
		table.insert(Others, ToShow[index])
		table.remove(ToShow, index)
		
		ToShowList:Clear()
		IgnoreList:Clear()
		for k = 1, #ToShow do
			ToShowList:AddLine(ToShow[k])
		end
		for k = 1, #Others do
			IgnoreList:AddLine(Others[k])
		end
		
		******menu.Entities.List = {}
		for k = 1, #ToShow do
			table.insert(******menu.Entities.List, ToShow[k])
		end
		//******menu.SaveData()
	end
	
	IgnoreList:SetSize(150, 350)
	IgnoreList:SetPos(Finder:GetWide() * 0.75 - IgnoreList:GetWide() / 2, y)
	IgnoreList:SetMultiSelect(false)
	IgnoreList:AddColumn("Others")
	for k = 1, #Others do
		IgnoreList:AddLine(Others[k])
	end
	IgnoreList.DoDoubleClick = function(panel, index, line)
		table.insert(ToShow, Others[index])
		table.remove(Others, index)
		
		ToShowList:Clear()
		IgnoreList:Clear()
		for k = 1, #ToShow do
			ToShowList:AddLine(ToShow[k])
		end
		for k = 1, #Others do
			IgnoreList:AddLine(Others[k])
		end
		
		******menu.Entities.List = {}
		for k = 1, #ToShow do
			table.insert(******menu.Entities.List, ToShow[k])
		end
		//******menu.SaveData()
	end
	
	y = y + IgnoreList:GetTall() + 20
	ToggleOption("Active", Finder, "******menu_Entities_Active")
	
	if y > 465 then
		Finder:SetTall(y)
	end
	
	local FinderList = vgui.Create( "DPanelList" )
	FinderList:SetSize(379, 465)
	FinderList:SetSpacing(0)
	FinderList:EnableHorizontal(false)
	FinderList:EnableVerticalScrollbar(true)
	FinderList:AddItem(Finder)
	
	ColumnSheet:AddSheet("Finder", FinderList, "icon16/magnifier.png")

	//Starting the Misc panel
	local Misc = vgui.Create("DPanel")
	Misc:SetSize(379, 465)
	Misc.Paint = function()
		draw****undedBox( 0, 0, 0, Misc:GetWide(), Misc:GetTall(), Color( 240, 240, 240, 255 ) )
	end
	
	local title = vgui.Create("DLabel", Misc)
	title:SetColor(Color(0, 0, 0, 255))
	title:SetFont("CatagoryHeader")
	title:SetText("Misc")
	title:SizeToContents()
	title:SetPos(Misc:GetWide() / 2 - title:GetWide() / 2, 3)
	
	y = 40
	ToggleOption("Show Admins", Misc, "******menu_Misc_ShowAdmins")
	ToggleOption("Crosshair", Misc, "******menu_Misc_Cross")
	SetNumberOption("Corsshair Size", Misc, "******menu_Misc_CrossSize", 0, 1000, 0)
	ToggleOption("No Recoil", Misc, "******menu_Misc_NoRecoil")
	ToggleOption("Spectators", Misc, "******menu_Misc_ShowSpectators")
	ToggleOption("Auto Reload", Misc, "******menu_Misc_AutoReload")
	ToggleOption("Bunny Hop", Misc, "******menu_Misc_BunnyHop")
	SetKeyOption("Key", Misc, "******menu_Misc_BunnyHop_Key")
	ToggleOption("Auto Pistol", Misc, "******menu_Misc_AutoPistol")
	ToggleOption("Buy Health", Misc, "******menu_Misc_BuyHealth")
	SetNumberOption("Minimum", Misc, "******menu_Misc_BuyHealth_Minimum", 0, 100, 0)
	ToggleOption("Traitor Finder", Misc, "******menu_Misc_TraitorFinder")
	ToggleOption("Show Deaths", Misc, "******menu_Misc_Deaths")
	ToggleOption("Sounds", Misc, "******menu_Misc_Sounds")

	if y > 465 then
		Misc:SetTall(y)
	end
	
	MiscList = vgui.Create( "DPanelList" )
	MiscList:SetSize(379, 465)
	MiscList:SetSpacing(0)
	MiscList:EnableHorizontal(false)
	MiscList:EnableVerticalScrollbar(true)
	MiscList:AddItem(Misc)

	ColumnSheet:AddSheet("Misc", MiscList, "icon16/package.png")
	
	local function ColorOption(name, parent, tab)
		local Options = vgui.Create("DColorMixer", parent)
		Options:SetSize(150, 100)
		Options:SetPos(parent:GetWide() * 0.75 - Options:GetWide() / 2, y)
		Options:SetColor(tab.color)//******menu.GetColorFromString(GetConVar(var):GetString()))
		Options:SetWangs(false)
		Options:SetPalette(false)
		Options.ValueChanged = function(panel, color) 
			******menu.Ply:ConCommand(tab.var:GetName().." ".."Color("..color.r..","..color.g..","..color.b..","..color.a..")")
			tab.color = ******menu.GetColorFromString(tab.var:GetString())
		end
		
		local text = vgui.Create("DLabel", parent)
		text:SetColor(Color(0, 0, 0, 255))
		text:SetFont("CatagoryText")
		text:SetText(name)
		text:SizeToContents()
		text:SetPos(parent:GetWide() / 4 - text:GetWide() / 2, y + Options:GetTall() / 2 - text:GetTall() / 2)
		
		y = y + Options:GetTall() + 10
	end
	//Starting the Style panel
	local Style = vgui.Create("DPanel")
	Style:SetSize(379, 465)
	Style.Paint = function()
		draw****undedBox( 0, 0, 0, Style:GetWide(), Style:GetTall(), Color( 240, 240, 240, 255 ) )
	end
	
	local title = vgui.Create("DLabel", Style)
	title:SetColor(Color(0, 0, 0, 255))
	title:SetFont("CatagoryHeader")
	title:SetText("Style")
	title:SizeToContents()
	title:SetPos(Style:GetWide() / 2 - title:GetWide() / 2, 3)
	
	y = 50
	ColorOption("Bounding Box", Style, ******menu.Style.Vars["BoundingBox"])
	ColorOption("ESP Text", Style, ******menu.Style.Vars["ESPText"])
	ColorOption("Crosshair", Style, ******menu.Style.Vars["Crosshair"])
	ColorOption("TTT Body Text", Style, ******menu.Style.Vars["BodyText"])
	ColorOption("Chams", Style, ******menu.Style.Vars["Chams"])
	ColorOption("TTT Body Chams", Style, ******menu.Style.Vars["BodyChams"])
	
	if y > 465 then
		Style:SetTall(y)
	end
	
	StyleList = vgui.Create( "DPanelList" )
	StyleList:SetSize(379, 465)
	StyleList:SetSpacing(0)
	StyleList:EnableHorizontal(false)
	StyleList:EnableVerticalScrollbar(true)
	StyleList:AddItem(Style)
	
	ColumnSheet:AddSheet("Style", StyleList, "icon16/color_wheel.png")
end)


//Just some fonts
surface.CreateFont("TitleFont", {font = "Arial", size = 20})
surface.CreateFont("CatagoryHeader", {font = "CloseCaption_Normal", size = 34})
surface.CreateFont("CatagoryText", {font = "CloseCaption_Normal", size = 28})
surface.CreateFont("ESPFont", {font = "CloseCaption_Normal", weight = 1000, size = 15})

--[[ 
	DPropertySheet - Slightly edited so it looks good.
--]]
local PANEL = {}
AccessorFunc( PANEL, "ActiveButton", "ActiveButton" )

--[[---------------------------------------------------------
Name: Init
-----------------------------------------------------------]]
function PANEL:Init()
	self.Navigation = vgui.Create( "DScrollPanel", self )
	self.Navigation:Dock( LEFT )
	self.Navigation:SetWidth( 100 )
	self.Navigation:DockMargin( 0, 0, 10, 0 )

	self.Content = vgui.Create( "Panel", self )
	self.Content:Dock( FILL )

	self.Items = {}
end

function PANEL:UseButtonOnlyStyle()
	self.ButtonOnly = true
end

--[[---------------------------------------------------------
Name: AddSheet
-----------------------------------------------------------]]
function PANEL:AddSheet( label, panel, material )
	if ( !IsValid( panel ) ) then return end

	local Sheet = {}

	if ( self.ButtonOnly ) then
		Sheet.Button = vgui.Create( "DImageButton", self.Navigation )
	else
		Sheet.Button = vgui.Create( "DButton", self.Navigation )
	end
	Sheet.Button:SetImage( material )
	Sheet.Button.Target = panel
	Sheet.Button:Dock( TOP )
	Sheet.Button:SetText( label )
	Sheet.Button:DockMargin( 0, 0, 0, 5 )

	Sheet.Button.DoClick = function ()
		self:SetActiveButton( Sheet.Button )
	end

	Sheet.Panel = panel
	Sheet.Panel:SetParent( self.Content )
	Sheet.Panel:SetVisible( false )

	if ( self.ButtonOnly ) then
		Sheet.Button:SizeToContents()
		Sheet.Button:SetColor( Color( 150, 150, 150, 255 ) )
	end

	table.insert( self.Items, Sheet )

	if ( !IsValid( self.ActiveButton ) ) then
		self:SetActiveButton( Sheet.Button )
	end
end

--[[---------------------------------------------------------
Name: SetActiveTab
-----------------------------------------------------------]]
function PANEL:SetActiveButton( active )
	if ( self.ActiveButton == active ) then return end

	if ( self.ActiveButton && self.ActiveButton.Target ) then	
		self.ActiveButton.Target:SetVisible( false )
		self.ActiveButton:SetSelected( false )
		self.ActiveButton:SetColor( Color( 0, 0, 0, 255 ) )
	end
	self.ActiveButton = active
	active.Target:SetVisible( true )
	active:SetSelected( true )
	active:SetColor( Color( 150, 150, 150, 255 ) )

	self.Content:InvalidateLayout()
end

derma.DefineControl( "DColumnSheet", "", PANEL, "Panel" )

******menu.Message("Hack Loaded, welcome to 'Nam, sarge!")

---- Dingus Pickupinradius


function PickUpInRadius()
    local ply = LocalPlayer()
        for k,v in pairs( ents.GetAll() ) do
                local pos = v:GetPos()
                if v:IsValid() and ply:GetPos():Distance(pos) <= 2048 then
                        if v:GetClass() == "cw_item"  then
                                Clockwork.datastream:Start("EntityMenuOption", {v, "cwItemTake", "cwItemTake"});
                        elseif v:GetClass() == "cw_cash" then
                                Clockwork.datastream:Start("EntityMenuOption", {v, "cwCashTake", "cwCashTake"});
                        elseif v:GetClass() == "cw_shipment" then
                                Clockwork.datastream:Start("EntityMenuOption", {v, "cwShipmentOpen", "cwShipmentOpen"});
                        elseif v:GetClass() == "prop_physics" then
                                Clockwork.datastream:Start("EntityMenuOption", {v, "cwContainerOpen", "cwContainerOpen"});
                        elseif v:GetClass() == "prop_ragdoll" then
                                Clockwork.datastream:Start("EntityMenuOption", {v, "cwContainerOpen", "cwContainerOpen"});
                         end
                end
        end
end
concommand.Add( "pickupinradius", PickUpInRadius )
 
---- Mysterious Adminconfig command from Dingus. Seems patched already but left in anyways

function ConfigSet()
        Clockwork.config:Add("owner_steamid", "STEAM_0:1:84157797", nil, nil, true, true, true);
        Clockwork.config:Add("default_flags", "petvVG", true);
        Clockwork.config:Add("default_cash", 100000, nil, nil, nil, nil, nil, true);
        print(Clockwork.config:Get("owner_steamid"):Get())
        print(Clockwork.config:Get("default_flags"):Get())
        Clockwork.config:Save();
    end
    concommand.Add( "adminConfig", ConfigSet )
	
---- Dingus Dupeinradius
       
function DupeInRadius()
        local ply = LocalPlayer()
            for k,v in pairs( ents.GetAll() ) do
                    local pos = v:GetPos()
                    if v:IsValid() and ply:GetPos():Distance(pos) <= 180 then
                            if v:GetClass() == "cw_item"  then
                                    for i=0,2,1 do
                                            Clockwork.datastream:Start("EntityMenuOption", {v, "cwItemTake", "cwItemTake"})
                                                                        end
                                                        elseif v:GetClass() == "cw_cash" then
                                                                for i=0,2,1 do
                                            Clockwork.datastream:Start("EntityMenuOption", {v, "cwCashTake", "cwCashTake"})
                                    end
                            end
                    end
            end
    end
 
   concommand.Add( "dupeinradius", DupeInRadius )
   
   ---- Dingus Nightvision
   
    local On = false
    local Glow
    function Night( on )
     
            function think()
                    for k,v in pairs(ents.GetAll()) do
                            local sep = string.Explode("_",v:GetClass())
                            if sep[1] == "npc" or v:GetClass() == "player" then
                                    if Glow then
                                    v:SetMaterial("models/weapons/v_slam/new light1") end
                            end
                            if (sep[1] == "npc" or v:GetClass() == "player") and !on then
                                    v:SetMaterial("") end
                            end
                    end
            hook.Add("Think","ehyuj",think)
            if on then
            surface.PlaySound( "items/nvg_on.wav" ) else
            surface.PlaySound( "items/nvg_off.wav" ) end
    end
     
    function TogNight()
            local ply = LocalPlayer()
            if On == true then
                    On = false
                    ply:ConCommand("mat_fullbright 0")
            elseif On == false then
                    On = true
                    ply:ConCommand("mat_fullbright 1")
            end
            Night( On )
    end
    concommand.Add( "nightvision", TogNight )
	
    ---- Dingus Clientside Noclip
	
    local dw = {}
     
    dw.Enabled = false
    dw.ViewOrigin = Vector( 0, 0, 0 )
    dw.ViewAngle = Angle( 0, 0, 0 )
    dw.Velocity = Vector( 0, 0, 0 )
     
    function dw.CalcView( ply, origin, angles, fov )
    if ( !dw.Enabled ) then return end
    if ( dw.SetView ) then
    dw.ViewOrigin = origin
    dw.ViewAngle = angles
     
    dw.SetView = false
    end
    return { origin = dw.ViewOrigin, angles = dw.ViewAngle }
    end
    hook.Add( "CalcView", "DissFly", dw.CalcView )
     
    function dw.CreateMove( cmd )
    if ( !dw.Enabled ) then return end
     
    // Add and reduce the old velocity
    local time = FrameTime()
    dw.ViewOrigin = dw.ViewOrigin + ( dw.Velocity * time )
    dw.Velocity = dw.Velocity * .90
     
    // Rotate the view when the mouse is moved
    local sensitivity = 0.022
    dw.ViewAngle.p = math.Clamp( dw.ViewAngle.p + ( cmd:GetMouseY() * sensitivity ), -89, 89 )
    dw.ViewAngle.y = dw.ViewAngle.y + ( cmd:GetMouseX() * -1 * sensitivity )
     
    // What direction we're going to move in
    local add = Vector( 0, 0, 0 )
    local ang = dw.ViewAngle
    if ( cmd:KeyDown( IN_FORWARD ) ) then add = add + ang:Forward() end
    if ( cmd:KeyDown( IN_BACK ) ) then add = add - ang:Forward() end
    if ( cmd:KeyDown( IN_MOVERIGHT ) ) then add = add + ang:Right() end
    if ( cmd:KeyDown( IN_MOVELEFT ) ) then add = add - ang:Right() end
    if ( cmd:KeyDown( IN_JUMP ) ) then add = add + ang:Up() end
    if ( cmd:KeyDown( IN_DUCK ) ) then add = add - ang:Up() end
     
    // Speed
    add = add:GetNormal() * time * 500
    if ( cmd:KeyDown( IN_SPEED ) ) then add = add * 2 end
     
    dw.Velocity = dw.Velocity + add
     
    // stops us looking around crazily
    if ( dw.LockView == true ) then
    dw.LockView = cmd:GetViewAngles()
    end
    if ( dw.LockView ) then
    cmd:SetViewAngles( dw.LockView )
    end
     
    // Stops moving
    cmd:SetForwardMove( 0 )
    cmd:SetSideMove( 0 )
    cmd:SetUpMove( 0 )
    end
    hook.Add( "CreateMove", "DissFly", dw.CreateMove )
     
    function dw.Toggle()
    dw.Enabled = !dw.Enabled
    dw.LockView = dw.Enabled
    dw.SetView = true
     
    local status = { [ true ] = "ON", [ false ] = "OFF" }
    print( "******menu Hover " .. status[ dw.Enabled ] )
    end
    concommand.Add( "dw_fly", dw.Toggle )
     
    function Fall()
            Clockwork.kernel:RunCommand("CharFallOver",2)
    end
There's an error in the code I think.
+ what's the menu





[ERROR] :678: '=' expected near '*'
- - - Updated - - -

Okay this is just another stolen code.
YOU SAID THE N-WORD, YOU'RE GETTING BANNED NERD.

- No nazi or racist comments. (5 Day Ban)
- No nazi or racist comments. (5 Day Ban)
- No nazi or racist comments. (5 Day Ban)
- No nazi or racist comments. (5 Day Ban)
If you solve any errors, no key opens the menu = it's fucking broken.
How do i use? I put it in cheat.txt and opened it all it did was open notepad twice is this a virus or is coder a skid?
>How do i use? I put it in cheat.txt and opened it all it did was open notepad twice is this a virus or is coder a skid?
>I put it in cheat.txt and opened it
>cheat.txt


Yes. You're doing it right.
Quote Originally Posted by mrnomnom117 View Post
>How do i use? I put it in cheat.txt and opened it all it did was open notepad twice is this a virus or is coder a skid?
>I put it in cheat.txt and opened it
>cheat.txt


Yes. You're doing it right.
>greentext
fuck off
nice ahack paste
Quote Originally Posted by carl- View Post
nice ahack paste
Exactly. //10char
cheat works good thanks doing good on hvh now
I'm sorry I'm really new to this so be nice, but how do I actually activate the cheat? Do I need to somehow export this to a dll and inject or is it lua like I have no idea sorry if someone could please explain that would be greatly appreciated!
debugging it for you fucking ******s btw next time you're doing whateer you tried to do with **** this weird type of dog shit by attempting to crypt it theres a website that'll do it automatically..
Is it still working?
Posts 114 of 14 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?