Results 1 to 5 of 5
  1. #1
    c0deine's Avatar
    Join Date
    Feb 2015
    Gender
    male
    Posts
    190
    Reputation
    10
    Thanks
    167
    My Mood
    Aggressive

    Smile attention cheaters! a new cheat has arrived! happy cheat

    helo every1 i have mission

    happy cheat is a new advanced cheat for cheating in garrys modification for half life 2 episode 2
    it features single and multi-player compatability with a wide variety of features these kids R MEAN DUDE
    it has a unique backstory and lore that no other cheat has

    So, this guy called LuaHax was bragging to me about how good hes code was and all. I got annoyed by him and used all the knowledge I've learned in Harvard University Of Hacking to hack through hes firewall. I have now retrieved one of hes private hacks. This hack includes a C++ Aimbot which is embedded in the LUA file, it's done by decrypting the encrypted LUA code in TrafficHack and then translating it into C++, this C++ code then gets saved as a temporary file within the Temp folder. The decryption is done by a pack of chinese orphans. LuaHax abuses and molests these orphans whenever they don't obey him. When I confronted him about this he refused to talk and ignored my messages. Dear people, please do not support this man in any way as he is a filthy pedophile which abuses orphans. I've talked to child protection services about this, it appears that in China no one cares about child abuse. Upset and depressed I try to help these children and get them away from the evil hacker LuaHax. But everytime, I fail. It seems as if... As if the world doesn't care... I'll have to solve this problem myself... I start planning how to kill LuaHax and hes evil family... Yes, yes! That's how I'm going to do it. 5/8/2014 - I park infront of LuaHax's house, I take my Mossberg 9200 out of the trunk of my car. I take a 12-gauge shell out of my pocket. I kiss it and whisper "I will free you my chinese children." Rushing to the frontdoor I bust it in, a foul smell of feces and urine immediately numbs my nose, piss bottles everywhere, feces smeared onto walls and japanese anime music playing loudly. I walk through the house with hesitation. I'm near the source of the noise, the door of the room from where this music was coming from had this door hanger on it... "Do not disturb, I'm gaming." Ignoring this I bash the door in, a putrid smell of semen violently enters my nose, a fat boy around 14 to 16 years old is masturbating furiously to a japanese anime. "Today is the last day you're going to abuse those chinese children you sick fuck." he notices me and looks at me straight in the eyes. "W-Who are you?!" he screams as he chews on a handful of cheetos. Disgusted by the semen and cheeto encrusted hands and the pungent smell I quickly aim my Mossberg at hes face. "I'm your worst nightmare baby." But suddenly everything turns white, I fell unconscious. In a deep state of sleep...
    what the fuck is aim-flex

    - - - Updated - - -

    help
    I wake up... "What is this?" My shirt is encrusted in semen and cheetos, moving any part of my body is fatiguing. I stand up, I approach a mirror which is hanging above the computer monitor. "No, no, this can't be." I am LuaHax. "This must be a dream, it must be." I start hitting myself in the face to the point where I started bleeding out of my nose. After hours pass by, I started to accept my fate as a fat autistic teenager. Watching anime while prodding my finger into my anus... Piss bottles scattered allover the room... Singing Japanese songs to my figurine friends... my life is perfect, Upon receiving my package with my shirts and making an unboxing video I found a piece of paper hidden between the pile of shirts.
    It had a Pastebin link on it which leaded me to ClothesHack. Now I am sharing it with you guys. For free! enjoy the hack

    Commands? Type in "WoodHack_" in the console and have a look.

    Code:
    //I hear this makes the hack load faster, i didn't actually check the O times but whatever. thanks demo!!!!!!!!
    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 HAppyHAcK = {}
    HAppyHAcK.Active = CreateClientConVar("HAppyHAcK_Active", 1, true, false)
    HAppyHAcK.Version = "1.5.0"
    HAppyHAcK.Ply = LocalPlayer()
    HAppyHAcK.TTT = (GAMEMODE and GAMEMODE.Name and string.find(GAMEMODE.Name, "Terror") and true) or false
    if HAppyHAcK.TTT then HAppyHAcK.TTTCORPSE = CORPSE end
    HAppyHAcK.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.
    HAppyHAcK.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
    
    HAppyHAcK.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"}
    HAppyHAcK.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(HAppyHAcK.Chars))
    		else
    			toReturn = toReturn..table.Random(HAppyHAcK.Chars)
    		end
    	end
    	return toReturn
    end
    
    HAppyHAcK.Message = function(...)
    	chat.AddText(Color(50, 255, 100), "[HAppyHAcK] ", ...)
    end
    
    HAppyHAcK.Aimbot = {}
    HAppyHAcK.Aimbot.CurTarget = nil
    HAppyHAcK.Aimbot.Vars = {}
    HAppyHAcK.Aimbot.Vars["Active"] = CreateClientConVar("HAppyHAcK_Aimbot_Active", 0, true, false)
    HAppyHAcK.Aimbot.Vars["RandomBones"] = CreateClientConVar("HAppyHAcK_Aimbot_RandomBones", 0, true, false)
    HAppyHAcK.Aimbot.Vars["AttackNPCs"] = CreateClientConVar("HAppyHAcK_Aimbot_AttackNPCs", 0, true, false)
    HAppyHAcK.Aimbot.Vars["AttackPlayers"] = CreateClientConVar("HAppyHAcK_Aimbot_AttackPlayers", 0, true, false)
    HAppyHAcK.Aimbot.Vars["Prediction"] = CreateClientConVar("HAppyHAcK_Aimbot_Prediction", 0, true, false)
    HAppyHAcK.Aimbot.Vars["AimOnKey"] = CreateClientConVar("HAppyHAcK_Aimbot_AimOnKey", 0, true, false)
    HAppyHAcK.Aimbot.Vars["AimOnKey_Key"] = CreateClientConVar("HAppyHAcK_Aimbot_AimOnKey_Key", "MOUSE_LEFT", true, false)
    HAppyHAcK.Aimbot.Vars["MaxAngle"] = CreateClientConVar("HAppyHAcK_Aimbot_MaxAngle", 180, true, false)
    HAppyHAcK.Aimbot.Vars["Preferance"] = CreateClientConVar("HAppyHAcK_Aimbot_Preferance", "Distance", true, false)
    HAppyHAcK.Aimbot.Vars["AntiSnap"] = CreateClientConVar("HAppyHAcK_Aimbot_AntiSnap", 0, true, false)
    HAppyHAcK.Aimbot.Vars["AntiSnapSpeed"] = CreateClientConVar("HAppyHAcK_Aimbot_AntiSnapSpeed", 4, true, false)
    HAppyHAcK.Aimbot.Vars["AutoShoot"] = CreateClientConVar("HAppyHAcK_Aimbot_AutoShoot", 0, true, false)
    HAppyHAcK.Aimbot.Vars["PanicMode"] = CreateClientConVar("HAppyHAcK_Aimbot_PanicMode", 0, true, false)
    HAppyHAcK.Aimbot.Vars["IgnoreTeam"] = CreateClientConVar("HAppyHAcK_Aimbot_IgnoreTeam", 0, true, false)
    
    HAppyHAcK.Friends = {}
    HAppyHAcK.Friends.List = {} //The steamIDs of everyone on your friends list
    HAppyHAcK.Friends.Vars = {}
    HAppyHAcK.Friends.Vars["Active"] = CreateClientConVar("HAppyHAcK_Friends_Active", 0, true, false)
    HAppyHAcK.Friends.Vars["Reverse"] = CreateClientConVar("HAppyHAcK_Friends_Reverse", 0, true, false)
    
    HAppyHAcK.ESP = {}
    HAppyHAcK.ESP.Vars = {}
    HAppyHAcK.ESP.Vars["Active"] = CreateClientConVar("HAppyHAcK_ESP_Active", 0, true, false)
    HAppyHAcK.ESP.Vars["Players"] = CreateClientConVar("HAppyHAcK_ESP_Players", 0, true, false)
    HAppyHAcK.ESP.Vars["NPCs"] = CreateClientConVar("HAppyHAcK_ESP_NPCs", 0, true, false)
    HAppyHAcK.ESP.Vars["Name"] = CreateClientConVar("HAppyHAcK_ESP_Name", "Off", true, false)
    HAppyHAcK.ESP.Vars["Weapons"] = CreateClientConVar("HAppyHAcK_ESP_Weapons", "Off", true, false)
    HAppyHAcK.ESP.Vars["Distance"] = CreateClientConVar("HAppyHAcK_ESP_Distance", "Off", true, false)
    HAppyHAcK.ESP.Vars["Health"] = CreateClientConVar("HAppyHAcK_ESP_Health", "Off", true, false)
    HAppyHAcK.ESP.Vars["MaxDistance"] = CreateClientConVar("HAppyHAcK_ESP_MaxDistance", 0, true, false)
    HAppyHAcK.ESP.Vars["Box"] = CreateClientConVar("HAppyHAcK_ESP_Box", 0, true, false)
    HAppyHAcK.ESP.Vars["ShowTraitors"] = CreateClientConVar("HAppyHAcK_ESP_ShowTraitors", "Off", true, false)
    HAppyHAcK.ESP.Vars["Bodies"] = CreateClientConVar("HAppyHAcK_ESP_Bodies", 0, true, false)
    HAppyHAcK.ESP.Vars["Radar"] = CreateClientConVar("HAppyHAcK_ESP_Radar", 0, true, false)
    HAppyHAcK.ESP.Vars["RadarScale"] = CreateClientConVar("HAppyHAcK_ESP_RadarScale", 20, true, false)
    HAppyHAcK.ESP.Vars["TeamBased"] = CreateClientConVar("HAppyHAcK_ESP_TeamBased", 0, true, false)
    
    HAppyHAcK.Chams = {}
    HAppyHAcK.Chams.Mat = CreateMaterial(HAppyHAcK.RandomName(math.random(10,15)), "VertexLitGeneric", { ["$basetexture"] = "models/debug/debugwhite", ["$model"] = 1, ["$ignorez"] = 1 })
    HAppyHAcK.Chams.Vars = {}
    HAppyHAcK.Chams.Vars["Active"] = CreateClientConVar("HAppyHAcK_Chams_Active", 0, true, false)
    HAppyHAcK.Chams.Vars["Players"] = CreateClientConVar("HAppyHAcK_Chams_Players", 0, true, false)
    HAppyHAcK.Chams.Vars["NPCs"] = CreateClientConVar("HAppyHAcK_Chams_NPCs", 0, true, false)
    HAppyHAcK.Chams.Vars["Weapons"] = CreateClientConVar("HAppyHAcK_Chams_Weapons", 0, true, false)
    HAppyHAcK.Chams.Vars["MaxDistance"] = CreateClientConVar("HAppyHAcK_Chams_MaxDistance", 0, true, false)
    HAppyHAcK.Chams.Vars["Bodies"] = CreateClientConVar("HAppyHAcK_Chams_Bodies", 0, true, false)
    HAppyHAcK.Chams.Vars["TeamBased"] = CreateClientConVar("HAppyHAcK_Chams_TeamBased", 0, true, false)
    
    HAppyHAcK.Entities = {}
    HAppyHAcK.Entities.List = {} //The class namse of all the entities
    HAppyHAcK.Entities.Vars = {}
    HAppyHAcK.Entities.Vars["Active"] = CreateClientConVar("HAppyHAcK_Entities_Active", 0, true, false)
    
    HAppyHAcK.Misc = {}
    HAppyHAcK.Misc.Vars = {}
    HAppyHAcK.Misc.Vars["ShowAdmins"] = CreateClientConVar("HAppyHAcK_Misc_ShowAdmins", 0, true, false)
    HAppyHAcK.Misc.Vars["Crosshair"] = CreateClientConVar("HAppyHAcK_Misc_Cross", 0, true, false)
    HAppyHAcK.Misc.Vars["CrosshairSize"] = CreateClientConVar("HAppyHAcK_Misc_CrossSize", 50, true, false)
    HAppyHAcK.Misc.Vars["NoRecoil"] = CreateClientConVar("HAppyHAcK_Misc_NoRecoil", 0, true, false)
    HAppyHAcK.Misc.Vars["ShowSpectators"] = CreateClientConVar("HAppyHAcK_Misc_ShowSpectators", 0, true, false)
    HAppyHAcK.Misc.Vars["BunnyHop"] = CreateClientConVar("HAppyHAcK_Misc_BunnyHop", 0, true, false)
    HAppyHAcK.Misc.Vars["BunnyHop_Key"] = CreateClientConVar("HAppyHAcK_Misc_BunnyHop_Key", "KEY_SPACE", true, false)
    HAppyHAcK.Misc.Vars["AutoReload"] = CreateClientConVar("HAppyHAcK_Misc_AutoReload", 0, true, false)
    HAppyHAcK.Misc.Vars["AutoPistol"] = CreateClientConVar("HAppyHAcK_Misc_AutoPistol", 0, true, false)
    HAppyHAcK.Misc.Vars["BuyHealth"] = CreateClientConVar("HAppyHAcK_Misc_BuyHealth", 0, true, false)
    HAppyHAcK.Misc.Vars["BuyHealth_Minimum"] = CreateClientConVar("HAppyHAcK_Misc_BuyHealth_Minimum", 80, true, false)
    HAppyHAcK.Misc.Vars["TraitorFinder"] = CreateClientConVar("HAppyHAcK_Misc_TraitorFinder", 0, true, false)
    HAppyHAcK.Misc.Vars["Deaths"] = CreateClientConVar("HAppyHAcK_Misc_Deaths", 0, true, false)
    HAppyHAcK.Misc.Vars["Sounds"] = CreateClientConVar("HAppyHAcK_Misc_Sounds", 0, true, false)
    
    HAppyHAcK.Style = {}
    HAppyHAcK.Style.Vars = {}
    HAppyHAcK.Style.Vars["BoundingBox"] = {}
    HAppyHAcK.Style.Vars["BoundingBox"].var = CreateClientConVar("HAppyHAcK_Style_BoundingBox", "Color(255, 0, 0, 255)", true, false)
    HAppyHAcK.Style.Vars["BoundingBox"].color = HAppyHAcK.GetColorFromString(HAppyHAcK.Style.Vars["BoundingBox"].var:GetString())
    HAppyHAcK.Style.Vars["ESPText"] = {}
    HAppyHAcK.Style.Vars["ESPText"].var = CreateClientConVar("HAppyHAcK_Style_ESPText", "Color(255, 255, 255, 255)", true, false)
    HAppyHAcK.Style.Vars["ESPText"].color = HAppyHAcK.GetColorFromString(HAppyHAcK.Style.Vars["ESPText"].var:GetString())
    HAppyHAcK.Style.Vars["Crosshair"] = {}
    HAppyHAcK.Style.Vars["Crosshair"].var = CreateClientConVar("HAppyHAcK_Style_Cross", "Color(255, 255, 255, 255)", true, false)
    HAppyHAcK.Style.Vars["Crosshair"].color = HAppyHAcK.GetColorFromString(HAppyHAcK.Style.Vars["Crosshair"].var:GetString())
    HAppyHAcK.Style.Vars["BodyText"] = {}
    HAppyHAcK.Style.Vars["BodyText"].var = CreateClientConVar("HAppyHAcK_Style_BodyText", "Color(255, 255, 255, 255)", true, false)
    HAppyHAcK.Style.Vars["BodyText"].color = HAppyHAcK.GetColorFromString(HAppyHAcK.Style.Vars["BodyText"].var:GetString())
    HAppyHAcK.Style.Vars["Chams"] = {}
    HAppyHAcK.Style.Vars["Chams"].var = CreateClientConVar("HAppyHAcK_Style_Chams", "Color(0, 255, 0, 255)", true, false)
    HAppyHAcK.Style.Vars["Chams"].color = HAppyHAcK.GetColorFromString(HAppyHAcK.Style.Vars["Chams"].var:GetString())
    HAppyHAcK.Style.Vars["BodyChams"] = {}
    HAppyHAcK.Style.Vars["BodyChams"].var = CreateClientConVar("HAppyHAcK_Style_BodyChams", "Color(0, 255, 0, 255)", true, false)
    HAppyHAcK.Style.Vars["BodyChams"].color = HAppyHAcK.GetColorFromString(HAppyHAcK.Style.Vars["BodyChams"].var:GetString())
    
    //This loads our friends list and custom entities list.
    /*HAppyHAcK.SavedData = CreateClientConVar("HAppyHAcK_SaveData", HAppyHAcK.RandomName(math.random(10, 15)), true, false)
    if file.Exists(HAppyHAcK.SavedData:GetString()..".txt", "DATA") then
    	local info = string.Explode("\n", file.Read(HAppyHAcK.SavedData:GetString()..".txt", "DATA"))
    	if type(info) == "table" and info[1] and info[2] then
    		HAppyHAcK.Friends.List = util.JSONToTable(info[1])
    		HAppyHAcK.Entities.List = util.JSONToTable(info[2])
    	end
    end
    
    HAppyHAcK.SaveData = function()
    	file.Write(HAppyHAcK.SavedData:GetString()..".txt", util.TableToJSON(HAppyHAcK.Friends.List))
    	file.Append(HAppyHAcK.SavedData:GetString()..".txt", "\n")
    	file.Append(HAppyHAcK.SavedData:GetString()..".txt", util.TableToJSON(HAppyHAcK.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.
    HAppyHAcK.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.
    HAppyHAcK.RandomBones = {
    "ValveBiped.Bip01_Head1",
    "ValveBiped.Bip01_Neck1",
    "ValveBiped.Bip01_Spine4",
    "ValveBiped.Bip01_Spine2",
    "ValveBiped.Bip01_R_UpperArm",
    "ValveBiped.Bip01_L_UpperArm"
    }
    HAppyHAcK.GetRandomBones = function()
    	local temp = {}
    	local function GetBones() //Ahh recursion, i love you.
    		if #HAppyHAcK.RandomBones > 0 then
    			local random = math.random(1, #HAppyHAcK.RandomBones)
    			table.insert(temp, HAppyHAcK.RandomBones[random])
    			table.remove(HAppyHAcK.RandomBones, random)
    			GetBones()
    		else
    			table.insert(HAppyHAcK.RandomBones, "ValveBiped.Bip01_Head1")
    			table.insert(HAppyHAcK.RandomBones, "ValveBiped.Bip01_Neck1")
    			table.insert(HAppyHAcK.RandomBones, "ValveBiped.Bip01_Spine4")
    			table.insert(HAppyHAcK.RandomBones, "ValveBiped.Bip01_Spine2")
    			table.insert(HAppyHAcK.RandomBones, "ValveBiped.Bip01_R_UpperArm")
    			table.insert(HAppyHAcK.RandomBones, "ValveBiped.Bip01_L_UpperArm")
    		end
    	end
    	GetBones()
    	return temp
    end
    
    //A list of all keyboard keys, for binding
    HAppyHAcK.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
    HAppyHAcK.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.
    HAppyHAcK.KeyPressed = function(key)
    	if HAppyHAcK.InChat then return false end
    	
    	for k = 107, 111 do
    		if key == HAppyHAcK.MouseKeys[k] then
    			if input.IsMouseDown(k) then
    				return true
    			else
    				return false
    			end
    		end
    	end
    	
    	for k = 0, 130 do
    		if key == HAppyHAcK.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.
    HAppyHAcK.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. 
    HAppyHAcK.SpotIsVisible = function(pos, ent)
    	ent = ent or HAppyHAcK.Aimbot.CurTarget
    	local tracedata = {}
    	tracedata.start = HAppyHAcK.Ply:GetShootPos()
    	tracedata.endpos = pos
    	tracedata.filter = {HAppyHAcK.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.
    HAppyHAcK.CanSee = function(ent)
    	for k = 1, #HAppyHAcK.Bones do 
    		local v = HAppyHAcK.Bones[k]
    		local bone = ent:LookupBone(v)
    		if bone != nil then
    			local pos, ang = ent:GetBonePosition(bone)
    			if HAppyHAcK.SpotIsVisible(pos, ent) then
    				return true
    			end
    		end
    	end
    	return false
    end
    
    //This returns the next entity we should attack.
    HAppyHAcK.GetTarget = function()
    	if HAppyHAcK.Aimbot.Vars["AttackNPCs"]:GetBool() or HAppyHAcK.Aimbot.Vars["AttackPlayers"]:GetBool() then
    		local targets = {}
    		local everything = ents.GetAll()
    		for k = 1, #everything do 
    			local v = everything[k]
    			if HAppyHAcK.Aimbot.Vars["AttackNPCs"]:GetBool() and v:IsNPC() then
    				if HAppyHAcK.CanSee(v) then
    					table.insert(targets, {["Target"] = v, ["Pos"] = v:LocalToWorld(v:OBBCenter())})
    				end
    			elseif HAppyHAcK.Aimbot.Vars["AttackPlayers"]:GetBool() and v:IsPlayer() and v != HAppyHAcK.Ply then
    				if HAppyHAcK.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 HAppyHAcK.Aimbot.Vars["IgnoreTeam"]:GetBool() and v:IsPlayer() then
    				if HAppyHAcK.TTT then
    					if HAppyHAcK.Ply:GetRole() == 1 and v:GetRole() == 1 then
    						shouldremove = true
    					end
    						
    					if HAppyHAcK.Ply:GetRole() != 1 and not table.HasValue(HAppyHAcK.Traitors, v) then
    						shouldremove = true
    					end
    				else
    					if v:Team() == HAppyHAcK.Ply:Team() then
    						shouldremove = true
    					end
    				end
    			end
    			
    			if HAppyHAcK.Friends.Vars["Active"]:GetBool() then
    				if HAppyHAcK.Friends.Vars["Reverse"]:GetBool() then
    					if not table.HasValue(HAppyHAcK.Friends.List, v:SteamID()) then
    						shouldremove = true
    					end
    				else
    					if table.HasValue(HAppyHAcK.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 HAppyHAcK.Aimbot.Vars["Preferance"]:GetString() == "Distance" then
    			local min = {["Distance"] = HAppyHAcK.Ply:GetPos():Distance(targets[1]["Pos"]), ["Target"] = targets[1]["Target"]}
    			for k = 1, #targets do 
    				local v = targets[k]
    				
    				local distance = HAppyHAcK.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 HAppyHAcK.Aimbot.Vars["Preferance"]:GetString() == "Angle" then		
    			local min = {["Angle"] = HAppyHAcK.AngleTo(targets[1]["Pos"]), ["Target"] = targets[1]["Target"]}
    			for k = 1, #targets do 
    				local v = targets[k]
    				
    				local angle = HAppyHAcK.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
    HAppyHAcK.AngleTo = function(pos)
    	local myAngs = HAppyHAcK.Ply:GetAngles()
    	local needed = (pos - HAppyHAcK.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.
    HAppyHAcK.ValidTarget = function()
    	if HAppyHAcK.Aimbot.CurTarget == nil then return false end
    	if not IsValid(HAppyHAcK.Aimbot.CurTarget) then return false end
    	if HAppyHAcK.Aimbot.CurTarget:IsPlayer() and (not HAppyHAcK.Aimbot.CurTarget:Alive() or HAppyHAcK.Aimbot.CurTarget:Team() == TEAM_SPECTATOR or HAppyHAcK.Aimbot.CurTarget:Health() < 1) then return false end
    	if not HAppyHAcK.Aimbot.Vars["AttackNPCs"]:GetBool() and HAppyHAcK.Aimbot.CurTarget:IsNPC() then return false end
    	if not HAppyHAcK.Aimbot.Vars["AttackPlayers"]:GetBool() and HAppyHAcK.Aimbot.CurTarget:IsPlayer() then return false end
    	if not HAppyHAcK.CanSee(HAppyHAcK.Aimbot.CurTarget) then return false end
    	if HAppyHAcK.Aimbot.Vars["IgnoreTeam"]:GetBool() and HAppyHAcK.Aimbot.CurTarget:IsPlayer() then
    		if HAppyHAcK.TTT then
    			if HAppyHAcK.Ply:GetRole() == 1 and HAppyHAcK.Aimbot.CurTarget:GetRole() == 1 then return false end				
    			if HAppyHAcK.Ply:GetRole() != 1 and not table.HasValue(HAppyHAcK.Traitors, HAppyHAcK.Aimbot.CurTarget) then return false end
    		else
    			if HAppyHAcK.Aimbot.CurTarget:Team() == HAppyHAcK.Ply:Team() then return false end
    		end
    	end
    	
    	return true
    end
    
    hook.Add("RenderScreenspaceEffects", HAppyHAcK.RandomName(math.random(10, 15)), function()
    	if HAppyHAcK.Active:GetBool() then
    		local everything = ents.GetAll()
    		for k = 1, #everything do
    			local v = everything[k]
    			
    			if HAppyHAcK.Chams.Vars["Active"]:GetBool() and v != HAppyHAcK.Ply and (HAppyHAcK.Chams.Vars["MaxDistance"]:GetInt() == 0 or v:GetPos():Distance(HAppyHAcK.Ply:GetPos()) < HAppyHAcK.Chams.Vars["MaxDistance"]:GetInt()) then
    				cam.Start3D(EyePos(), EyeAngles())
    					if (v:IsPlayer() and v:Alive() and v:Team() != TEAM_SPECTATOR and HAppyHAcK.Chams.Vars["Players"]:GetBool()) or (v:IsNPC() and v:Health() > 0 and HAppyHAcK.Chams.Vars["NPCs"]:GetBool()) then
    						local color = HAppyHAcK.Style.Vars["Chams"].color
    						if HAppyHAcK.Chams.Vars["TeamBased"]:GetBool() and v:IsPlayer() then
    							color = team.GetColor(v:Team())
    							if HAppyHAcK.TTT then
    								if v:GetRole() == 2 then
    									color = Color(0, 0, 255, 255)
    								elseif table.HasValue(HAppyHAcK.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(HAppyHAcK.Chams.Mat)
    						v:DrawModel()
    						
    						render.SetColorModulation((color.r + 150)/250, (color.g + 150)/250, (color.b + 150)/255, 1)						
    						if IsValid(v:GetActiveWeapon()) and HAppyHAcK.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 HAppyHAcK.TTT and HAppyHAcK.Chams.Vars["Bodies"]:GetBool() and v:GetClass() == "prop_ragdoll" then
    						local color = HAppyHAcK.Style.Vars["BodyChams"].color
    						render.SuppressEngineLighting(true)	
    						render.SetColorModulation(color.r/255, color.g/255, color.b/255, 1)
    						render.MaterialOverride(HAppyHAcK.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 HAppyHAcK.Entities.Vars["Active"]:GetBool() and table.HasValue(HAppyHAcK.Entities.List, v:GetClass()) then
    						local color = HAppyHAcK.Style.Vars["Chams"].color					
    						render.SuppressEngineLighting(true)	
    						render.SetColorModulation(color.r/255, color.g/255, color.b/255, 1)
    						render.MaterialOverride(HAppyHAcK.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.
    HAppyHAcK.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.
    HAppyHAcK.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
    
    HAppyHAcK.Traitors = {}
    HAppyHAcK.SuperAdmins = {}
    HAppyHAcK.Admins = {}
    HAppyHAcK.Spectators = {}
    local radarX, radarY, radarWidth, radarHeight = 100, 200, 150, 150
    hook.Add("HUDPaint", HAppyHAcK.RandomName(math.random(10, 15)), function()
    	if HAppyHAcK.Active:GetBool() then	
    		local everything = ents.GetAll()
    		
    		if HAppyHAcK.ESP.Vars["Active"]:GetBool() and HAppyHAcK.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 HAppyHAcK.ESP.Vars["TeamBased"]:GetBool() then
    				local color = team.GetColor(HAppyHAcK.Ply:Team())
    				if HAppyHAcK.TTT then
    					if HAppyHAcK.Ply:GetRole() == 2 then
    						color = Color(0, 0, 255, 255)
    					elseif HAppyHAcK.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(HAppyHAcK.Style.Vars["ESPText"].color)
    			end
    			HAppyHAcK.DrawArrow(radarX + (radarWidth / 2), radarY + (radarHeight / 2), 0)
    		end
    		
    		for k = 1, #everything do
    			local v = everything[k]
    		
    			if HAppyHAcK.ESP.Vars["Active"]:GetBool() and v != HAppyHAcK.Ply and (HAppyHAcK.ESP.Vars["MaxDistance"]:GetInt() == 0 or v:GetPos():Distance(HAppyHAcK.Ply:GetPos()) < HAppyHAcK.ESP.Vars["MaxDistance"]:GetInt()) then										
    				if (v:IsPlayer() and v:Alive() and v:Team() != TEAM_SPECTATOR and HAppyHAcK.ESP.Vars["Players"]:GetBool()) or (v:IsNPC() and v:Health() > 0 and HAppyHAcK.ESP.Vars["NPCs"]:GetBool()) then
    					local color = HAppyHAcK.Style.Vars["ESPText"].color
    					if HAppyHAcK.ESP.Vars["TeamBased"]:GetBool() and v:IsPlayer() then
    						color = team.GetColor(v:Team())
    						if HAppyHAcK.TTT then
    							if v:GetRole() == 2 then
    								color = Color(0, 0, 255, 255)
    							elseif table.HasValue(HAppyHAcK.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 HAppyHAcK.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 HAppyHAcK.ESP.Vars["TeamBased"]:GetBool() then
    							surface.SetDrawColor(color)
    						else
    							surface.SetDrawColor(HAppyHAcK.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 HAppyHAcK.ESP.Vars["ShowTraitors"]:GetString() != "Off" and table.HasValue(HAppyHAcK.Traitors, v) then
    						if HAppyHAcK.ESP.Vars["ShowTraitors"]:GetString() == "Above" then
    							DrawAbove("Traitor")
    						else
    							DrawBelow("Traitor")
    						end
    					end
    					
    					surface.SetTextColor(color)
    					if v:IsPlayer() then
    						if HAppyHAcK.ESP.Vars["Name"]:GetString() == "Above" then
    							DrawAbove("Name: "..v:Nick())
    						elseif HAppyHAcK.ESP.Vars["Name"]:GetString() == "Below" then
    							DrawBelow("Name: "..v:Nick())
    						end
    					else
    						if HAppyHAcK.ESP.Vars["Name"]:GetString() == "Above" then
    							DrawAbove("Name: "..v:GetClass())
    						elseif HAppyHAcK.ESP.Vars["Name"]:GetString() == "Below" then
    							DrawBelow("Name: "..v:GetClass())
    						end
    					end
    					
    					if HAppyHAcK.ESP.Vars["Weapons"]:GetString() == "Above" and IsValid(v:GetActiveWeapon()) then
    						DrawAbove("Weapon: "..v:GetActiveWeapon():GetClass()) 
    					elseif HAppyHAcK.ESP.Vars["Weapons"]:GetString() == "Below" and IsValid(v:GetActiveWeapon()) then
    						DrawBelow("Weapon: "..v:GetActiveWeapon():GetClass()) 
    					end		
    					
    					if HAppyHAcK.ESP.Vars["Distance"]:GetString() == "Above" then 
    						DrawAbove("Distance: "..bottom:Distance(HAppyHAcK.Ply:GetPos())) 
    					elseif HAppyHAcK.ESP.Vars["Distance"]:GetString() == "Below" then
    						DrawBelow("Distance: "..bottom:Distance(HAppyHAcK.Ply:GetPos())) 
    					end	
    					
    					if HAppyHAcK.ESP.Vars["Health"]:GetString() == "Above" then 
    						DrawAbove("HP: "..v:Health()) 
    					elseif HAppyHAcK.ESP.Vars["Health"]:GetString() == "Below" then
    						DrawBelow("HP: "..v:Health()) 
    					end
    					
    					if HAppyHAcK.ESP.Vars["Radar"]:GetBool() then
    						surface.SetDrawColor(color)
    						local myPos = HAppyHAcK.Ply:GetPos()
    						local theirPos = v:GetPos()
    						local myAngles = HAppyHAcK.Ply:GetAngles()
    						
    						local theirX = (radarX + (radarWidth / 2)) + ((theirPos.x - myPos.x) / HAppyHAcK.ESP.Vars["RadarScale"]:GetInt())
    						local theirY = (radarY + (radarHeight / 2)) + ((myPos.y - theirPos.y) / HAppyHAcK.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
    							HAppyHAcK.DrawArrow(newX, newY, v:EyeAngles().y - myAngles.y)
    						end
    					end
    				elseif HAppyHAcK.TTT and HAppyHAcK.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(HAppyHAcK.Style.Vars["BodyText"].color)
    					DrawText("Credits: "..HAppyHAcK.TTTCORPSE.GetCredits(v, 0))
    					DrawText("Name: "..HAppyHAcK.TTTCORPSE.GetPlayerNick(v, "Unknown"))
    					DrawText("Found: "..tostring(HAppyHAcK.TTTCORPSE.GetFound(v, false)))
    					
    					if HAppyHAcK.ESP.Vars["Radar"] then
    						surface.SetDrawColor(HAppyHAcK.Style.Vars["BodyText"].color)
    						local myPos = HAppyHAcK.Ply:GetPos()
    						local theirPos = v:GetPos()
    						
    						local theirX = (radarX + (radarWidth / 2)) + ((theirPos.x - myPos.x) / HAppyHAcK.ESP.Vars["RadarScale"]:GetInt())
    						local theirY = (radarY + (radarHeight / 2)) + ((myPos.y - theirPos.y) / HAppyHAcK.ESP.Vars["RadarScale"]:GetInt())
    						
    						//Now i have to rotate this
    						local myRotation = HAppyHAcK.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
    							HAppyHAcK.DrawFilledCircle(newX, newY, 2, 4)
    						end
    					end
    				elseif HAppyHAcK.Entities.Vars["Active"]:GetBool() and table.HasValue(HAppyHAcK.Entities.List, v:GetClass()) then
    					surface.SetFont("ESPFont")
    					surface.SetTextColor(HAppyHAcK.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
    			
    			surface.SetFont("default")
    			if v:IsPlayer() and v:IsSuperAdmin() then
    				if not table.HasValue(HAppyHAcK.SuperAdmins, v) then
    					table.insert(HAppyHAcK.SuperAdmins, v) 
    					HAppyHAcK.Message("Super Admin "..v:Nick().." joined the game.")
    					if HAppyHAcK.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(HAppyHAcK.Admins, v) then
    					table.insert(HAppyHAcK.Admins, v)
    					HAppyHAcK.Message("Admin "..v:Nick().." joined the game.")
    					if HAppyHAcK.Misc.Vars["Sounds"]:GetBool() then
    						surface.PlaySound("vo/npc/Alyx/watchout01.wav")
    					end	
    				end
    			end		
    			for k,v in SortedPairs(HAppyHAcK.Admins, true) do
    				if not IsValid(v) then
    					table.remove(HAppyHAcK.Admins, k)
    				end
    			end
    			for k,v in SortedPairs(HAppyHAcK.SuperAdmins, true) do
    				if not IsValid(v) then
    					table.remove(HAppyHAcK.SuperAdmins, k)
    				end
    			end
    				
    			if v:IsPlayer() and v:GetObserverTarget() == HAppyHAcK.Ply then
    				if not table.HasValue(HAppyHAcK.Spectators, v) then
    					table.insert(HAppyHAcK.Spectators, v)
    					HAppyHAcK.Message(v:Nick().." started spectating you.")
    					if HAppyHAcK.Misc.Vars["Sounds"]:GetBool() then
    						surface.PlaySound("vo/npc/female01/ohno.wav")
    					end				
    				end
    			end
    			for k,v in SortedPairs(HAppyHAcK.Spectators, true) do
    				if IsValid(v) then
    					if v:GetObserverTarget() != HAppyHAcK.Ply then
    						table.remove(HAppyHAcK.Spectators, k)
    					end
    				else
    					table.remove(HAppyHAcK.Spectators, k)
    				end
    			end
    			
    			if HAppyHAcK.TTT and HAppyHAcK.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
    						HAppyHAcK.Message(owner:Nick().." bought a traitor weapon: "..v:GetClass())
    						v.Buyer = owner
    						table.insert(HAppyHAcK.Traitors, owner)
    						if HAppyHAcK.Misc.Vars["Sounds"]:GetBool() then
    							surface.PlaySound("weapons/shotgun/shotgun_cock.wav")
    						end	
    					end
    				elseif GetRoundState() != 3 then
    					table.Empty(HAppyHAcK.Traitors)
    				end
    			end
    			
    			if HAppyHAcK.Misc.Vars["Deaths"]:GetBool() and v:IsPlayer() then
    				if v:Alive() then
    					v.IsAlive = true
    				elseif v.IsAlive then
    					HAppyHAcK.Message(3, v:Nick().." just died.")
    					v.IsAlive = false
    					if HAppyHAcK.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 HAppyHAcK.Misc.Vars["ShowAdmins"]:GetBool() then 
    			for k,v in pairs(HAppyHAcK.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(HAppyHAcK.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(HAppyHAcK.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(HAppyHAcK.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 HAppyHAcK.Misc.Vars["ShowSpectators"]:GetBool() then
    			for k,v in pairs(HAppyHAcK.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(HAppyHAcK.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 HAppyHAcK.Misc.Vars["Crosshair"]:GetBool() then
    			local size = HAppyHAcK.Misc.Vars["CrosshairSize"]:GetInt()
    			local MiddleScreen = {x = surface.ScreenWidth() / 2, y = surface.ScreenHeight() / 2}
    			surface.SetDrawColor(HAppyHAcK.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", HAppyHAcK.RandomName(math.random(10, 15)), function()
    	if HAppyHAcK.Active:GetBool() then	
    		if HAppyHAcK.Aimbot.Vars["Active"]:GetBool() and not (HAppyHAcK.Aimbot.Vars["PanicMode"]:GetBool() and #HAppyHAcK.Spectators > 0) then
    			if not HAppyHAcK.Aimbot.Vars["AimOnKey"]:GetBool() or (HAppyHAcK.Aimbot.Vars["AimOnKey"]:GetBool() and HAppyHAcK.KeyPressed(HAppyHAcK.Aimbot.Vars["AimOnKey_Key"]:GetString())) then
    				if HAppyHAcK.ValidTarget() then
    					local BoneOrder = {}
    					if HAppyHAcK.Aimbot.CurTarget.BoneToAimAt and HAppyHAcK.Aimbot.Vars["RandomBones"]:GetBool() then
    						table.insert(BoneOrder, HAppyHAcK.Aimbot.CurTarget.BoneToAimAt)
    						table.Add(BoneOrder, HAppyHAcK.GetRandomBones())
    						table.Add(BoneOrder, HAppyHAcK.Bones)
    					else
    						if HAppyHAcK.Aimbot.Vars["RandomBones"]:GetBool() then
    							table.Add(BoneOrder, HAppyHAcK.GetRandomBones())
    							table.Add(BoneOrder, HAppyHAcK.Bones)
    						else
    							table.Add(BoneOrder, HAppyHAcK.Bones)
    						end
    					end
    					for k = 1, #BoneOrder do 
    						local v = BoneOrder[k]
    						local bone = HAppyHAcK.Aimbot.CurTarget:LookupBone(v)
    						if bone != nil then
    							local pos, ang = HAppyHAcK.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 HAppyHAcK.Aimbot.Vars["Prediction"]:GetBool() then
    								local tarSpeed = HAppyHAcK.Aimbot.CurTarget:GetVelocity() * 0.013
    								local plySpeed = HAppyHAcK.Ply:GetVelocity() * 0.013
    								total, needed = HAppyHAcK.AngleTo(pos - plySpeed + tarSpeed)
    							else
    								total, needed = HAppyHAcK.AngleTo(pos)
    							end
    								
    							if HAppyHAcK.SpotIsVisible(pos) and total < HAppyHAcK.Aimbot.Vars["MaxAngle"]:GetInt() then
    								local myAngles = HAppyHAcK.Ply:GetAngles()								
    								local NewAngles = Angle(myAngles.p + needed.p, myAngles.y + needed.y, 0)
    								
    								if HAppyHAcK.Aimbot.Vars["AntiSnap"]:GetBool() then
    									local speed = HAppyHAcK.Aimbot.Vars["AntiSnapSpeed"]:GetInt()
    									NewAngles = (Angle(math.Approach(myAngles.p, NewAngles.p, speed), math.Approach(myAngles.y, NewAngles.y, speed), 0))
    								end
    								
    								HAppyHAcK.Ply:SetEyeAngles(NewAngles)
    								HAppyHAcK.Aimbot.CurTarget.BoneToAimAt = BoneOrder[k]
    								break
    							end
    						end
    					end
    				else
    					HAppyHAcK.Aimbot.CurTarget = HAppyHAcK.GetTarget()
    				end
    			else
    				HAppyHAcK.Aimbot.CurTarget = nil
    			end
    		end
    		
    		if HAppyHAcK.Misc.Vars["NoRecoil"]:GetBool() then
    			if IsValid(HAppyHAcK.Ply:GetActiveWeapon()) then
    				local weapon = HAppyHAcK.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(HAppyHAcK.Ply:GetActiveWeapon()) then
    			local weapon = HAppyHAcK.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 HAppyHAcK.DarkRP and HAppyHAcK.Misc.Vars["BuyHealth"]:GetBool() then
    			if HAppyHAcK.Ply:Alive() and HAppyHAcK.Ply:Health() < HAppyHAcK.Misc.Vars["BuyHealth_Minimum"]:GetInt() then
    				HAppyHAcK.Ply:ConCommand("say /buyhealth")
    			end
    		end
    	end
    end)
    
    HAppyHAcK.Misc.NextReload = CurTime()
    HAppyHAcK.Misc.ShootNext = true
    hook.Add("CreateMove", HAppyHAcK.RandomName(math.random(10, 15)), function(cmd)
    	if HAppyHAcK.Active:GetBool() then		
    		local DontShoot = {"gmod_tool", "gmod_camera", "weapon_physgun", "weapon_physcannon"}
    		if HAppyHAcK.Aimbot.Vars["AutoShoot"]:GetBool() and HAppyHAcK.Aimbot.Vars["Active"]:GetBool() and HAppyHAcK.Ply:GetEyeTrace().Entity == HAppyHAcK.Aimbot.CurTarget and IsValid(HAppyHAcK.Ply:GetActiveWeapon()) and not table.HasValue(DontShoot, HAppyHAcK.Ply:GetActiveWeapon():GetClass()) then
    			cmd:SetButtons(cmd:GetButtons() + IN_ATTACK)
    		end
    		
    		if HAppyHAcK.Misc.Vars["BunnyHop"]:GetBool() and cmd:KeyDown(IN_JUMP) and HAppyHAcK.KeyPressed(HAppyHAcK.Misc.Vars["BunnyHop_Key"]:GetString()) then
    			cmd:SetButtons(cmd:GetButtons() - IN_JUMP)
    		end
    		if HAppyHAcK.Misc.Vars["BunnyHop"]:GetBool() and HAppyHAcK.Ply:OnGround() and HAppyHAcK.KeyPressed(HAppyHAcK.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 HAppyHAcK.Misc.Vars["AutoReload"]:GetBool() and IsValid(HAppyHAcK.Ply:GetActiveWeapon()) and HAppyHAcK.Ply:GetActiveWeapon():Clip1() < 1 and not table.HasValue(DontReload, HAppyHAcK.Ply:GetActiveWeapon():GetClass()) and HAppyHAcK.Misc.NextReload < CurTime() then
    			cmd:SetButtons(cmd:GetButtons() + IN_RELOAD)
    		end
    		
    		if HAppyHAcK.Misc.Vars["AutoPistol"]:GetBool() and IsValid(HAppyHAcK.Ply:GetActiveWeapon()) then
    			local weapon = HAppyHAcK.Ply:GetActiveWeapon()
    			if weapon.Primary and type(weapon.Primary.Automatic) == "boolean" and not weapon.Primary.Automatic then
    				if cmd:KeyDown(IN_ATTACK) then
    					if HAppyHAcK.Misc.ShootNext then
    						HAppyHAcK.Misc.ShootNext = false
    					else
    						cmd:SetButtons(cmd:GetButtons() - IN_ATTACK)
    						HAppyHAcK.Misc.ShootNext = true
    					end
    				end					
    			elseif type(weapon.Automatic) == "boolean" and not weapon.Automatic then
    				if cmd:KeyDown(IN_ATTACK) then
    					if HAppyHAcK.Misc.ShootNext then
    						HAppyHAcK.Misc.ShootNext = false
    					else
    						cmd:SetButtons(cmd:GetButtons() - IN_ATTACK)
    						HAppyHAcK.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.
    HAppyHAcK.InChat = false
    hook.Add("StartChat", HAppyHAcK.RandomName(math.random(10, 15)), function()
    	HAppyHAcK.InChat = true
    end)
    hook.Add("FinishChat", HAppyHAcK.RandomName(math.random(10, 15)), function()
    	HAppyHAcK.InChat = false
    end) 
    
    concommand.Add("HAppyHAcK_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
    			HAppyHAcK.Ply:ConCommand("HAppyHAcK_Active 0")
    		end
    		HAppyHAcK.Ply:ConCommand("HAppyHAcK_Active 1")
    	end
    	local function Disable()
    		PanicButton:SetText("Enable")
    		PanicButton.DoClick = function()
    			PanicButton:SetText("Disable")
    			PanicButton.DoClick = Disable
    			HAppyHAcK.Ply:ConCommand("HAppyHAcK_Active 1")
    		end
    		HAppyHAcK.Ply:ConCommand("HAppyHAcK_Active 0")
    	end
    	if HAppyHAcK.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("HAppyHAcK - "..HAppyHAcK.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)
    			HAppyHAcK.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
    						HAppyHAcK.Ply:ConCommand(var.." "..HAppyHAcK.MouseKeys[k])
    						Options:SetText(HAppyHAcK.MouseKeys[k])
    						Options.Think = nil
    					end
    				end
    				
    				for k = 0, 130 do
    					if input.IsKeyDown(k) then
    						HAppyHAcK.Ply:ConCommand(var.." "..HAppyHAcK.Keys[k])
    						Options:SetText(HAppyHAcK.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)
    			HAppyHAcK.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, "HAppyHAcK_Aimbot_Active")
    	ToggleOption("Random Bones", Aimbot, "HAppyHAcK_Aimbot_RandomBones")
    	MultiOption("Preferance", Aimbot, "HAppyHAcK_Aimbot_Preferance", {"Distance", "Angle"})	
    	ToggleOption("Attack Players", Aimbot, "HAppyHAcK_Aimbot_AttackPlayers")
    	ToggleOption("Attack NPCs", Aimbot, "HAppyHAcK_Aimbot_AttackNPCs")
    	ToggleOption("Prediction", Aimbot, "HAppyHAcK_Aimbot_Prediction")
    	ToggleOption("Aim On Key", Aimbot, "HAppyHAcK_Aimbot_AimOnKey")
    	SetKeyOption("Key", Aimbot, "HAppyHAcK_Aimbot_AimOnKey_Key")
    	ToggleOption("Anti Snap", Aimbot, "HAppyHAcK_Aimbot_AntiSnap")
    	SetNumberOption("Anti Snap Speed", Aimbot, "HAppyHAcK_Aimbot_AntiSnapSpeed", 1, 5, 2)
    	SetNumberOption("Max Angle", Aimbot, "HAppyHAcK_Aimbot_MaxAngle", 0, 270, 0)
    	ToggleOption("Auto Shoot", Aimbot, "HAppyHAcK_Aimbot_AutoShoot")
    	ToggleOption("Panic Mode", Aimbot, "HAppyHAcK_Aimbot_PanicMode")
    	ToggleOption("Ignore Team", Aimbot, "HAppyHAcK_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 != HAppyHAcK.Ply then
    			if table.HasValue(HAppyHAcK.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
    		
    		HAppyHAcK.Friends.List = {}
    		for k = 1, #Friends do
    			table.insert(HAppyHAcK.Friends.List, Friends[k]:SteamID())
    		end
    		//HAppyHAcK.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
    		
    		HAppyHAcK.Friends.List = {}
    		for k = 1, #Friends do
    			table.insert(HAppyHAcK.Friends.List, Friends[k]:SteamID())
    		end
    		//HAppyHAcK.SaveData()
    	end
    	
    	y = y + EnemiesList:GetTall() + 20
    	ToggleOption("Use", FriendsPanel, "HAppyHAcK_Friends_Active")
    	ToggleOption("Reverse", FriendsPanel, "HAppyHAcK_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, "HAppyHAcK_ESP_Active")
    	ToggleOption("Player Info", ESP, "HAppyHAcK_ESP_Players")
    	ToggleOption("NPC Info", ESP, "HAppyHAcK_ESP_NPCs")
    	MultiOption("Name", ESP, "HAppyHAcK_ESP_Name", {"Off", "Above", "Below"})	
    	MultiOption("Weapon", ESP, "HAppyHAcK_ESP_Weapons", {"Off", "Above", "Below"})	
    	MultiOption("Health", ESP, "HAppyHAcK_ESP_Health", {"Off", "Above", "Below"})	
    	MultiOption("Distance", ESP, "HAppyHAcK_ESP_Distance", {"Off", "Above", "Below"})
    	MultiOption("Show Traitors", ESP, "HAppyHAcK_ESP_ShowTraitors", {"Off", "Above", "Below"})
    	ToggleOption("Bounding Box", ESP, "HAppyHAcK_ESP_Box")
    	ToggleOption("Body Info", ESP, "HAppyHAcK_ESP_Bodies")
    	ToggleOption("2D Radar", ESP, "HAppyHAcK_ESP_Radar")
    	SetNumberOption("Radar Scale", ESP, "HAppyHAcK_ESP_RadarScale", 1, 100, 0)
    	SetNumberOption("Max Distance", ESP, "HAppyHAcK_ESP_MaxDistance", 0, 8000, 0)
    	ToggleOption("Team Based", ESP, "HAppyHAcK_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, "HAppyHAcK_Chams_Active")
    	ToggleOption("Draw Players", Chams, "HAppyHAcK_Chams_Players")
    	ToggleOption("Draw NPCs", Chams, "HAppyHAcK_Chams_NPCs")
    	ToggleOption("Draw Weapons", Chams, "HAppyHAcK_Chams_Weapons")
    	ToggleOption("Draw Bodies", Chams, "HAppyHAcK_Chams_Bodies")
    	ToggleOption("Team Based", Chams, "HAppyHAcK_Chams_TeamBased")
    	SetNumberOption("Max Distance", Chams, "HAppyHAcK_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(HAppyHAcK.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, 200)
    	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
    		
    		HAppyHAcK.Entities.List = {}
    		for k = 1, #ToShow do
    			table.insert(HAppyHAcK.Entities.List, ToShow[k])
    		end
    		//HAppyHAcK.SaveData()
    	end
    	
    	IgnoreList:SetSize(150, 200)
    	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
    		
    		HAppyHAcK.Entities.List = {}
    		for k = 1, #ToShow do
    			table.insert(HAppyHAcK.Entities.List, ToShow[k])
    		end
    		//HAppyHAcK.SaveData()
    	end
    	
    	y = y + IgnoreList:GetTall() + 20
    	ToggleOption("Active", Finder, "HAppyHAcK_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, "HAppyHAcK_Misc_ShowAdmins")
    	ToggleOption("Crosshair", Misc, "HAppyHAcK_Misc_Cross")
    	SetNumberOption("Corsshair Size", Misc, "HAppyHAcK_Misc_CrossSize", 0, 1000, 0)
    	ToggleOption("No Recoil", Misc, "HAppyHAcK_Misc_NoRecoil")
    	ToggleOption("Spectators", Misc, "HAppyHAcK_Misc_ShowSpectators")
    	ToggleOption("Auto Reload", Misc, "HAppyHAcK_Misc_AutoReload")
    	ToggleOption("Bunny Hop", Misc, "HAppyHAcK_Misc_BunnyHop")
    	SetKeyOption("Key", Misc, "HAppyHAcK_Misc_BunnyHop_Key")
    	ToggleOption("Auto Pistol", Misc, "HAppyHAcK_Misc_AutoPistol")
    	ToggleOption("Buy Health", Misc, "HAppyHAcK_Misc_BuyHealth")
    	SetNumberOption("Minimum", Misc, "HAppyHAcK_Misc_BuyHealth_Minimum", 0, 100, 0)
    	ToggleOption("Traitor Finder", Misc, "HAppyHAcK_Misc_TraitorFinder")
    	ToggleOption("Show Deaths", Misc, "HAppyHAcK_Misc_Deaths")
    	ToggleOption("Sounds", Misc, "HAppyHAcK_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)//HAppyHAcK.GetColorFromString(GetConVar(var):GetString()))
    		Options:SetWangs(false)
    		Options:SetPalette(false)
    		Options.ValueChanged = function(panel, color) 
    			HAppyHAcK.Ply:ConCommand(tab.var:GetName().." ".."Color("..color.r..","..color.g..","..color.b..","..color.a..")")
    			tab.color = HAppyHAcK.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, HAppyHAcK.Style.Vars["BoundingBox"])
    	ColorOption("ESP Text", Style, HAppyHAcK.Style.Vars["ESPText"])
    	ColorOption("Crosshair", Style, HAppyHAcK.Style.Vars["Crosshair"])
    	ColorOption("TTT Body Text", Style, HAppyHAcK.Style.Vars["BodyText"])
    	ColorOption("Chams", Style, HAppyHAcK.Style.Vars["Chams"])
    	ColorOption("TTT Body Chams", Style, HAppyHAcK.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" )
    
    HAppyHAcK.Message("Hack Loaded")
    make sure to code with a playerswitchweapon predicted hook in order to predict a gac ban!

    - - - Updated - - -

    cac undetected btw thanks to demo's lua kernel driver

  2. The Following 3 Users Say Thank You to c0deine For This Useful Post:

    ganesh7 (08-24-2015),KorkiPoo (08-26-2015),Kyouko (08-26-2015)

  3. #2
    0xymoron's Avatar
    Join Date
    Jun 2015
    Gender
    male
    Posts
    8
    Reputation
    10
    Thanks
    17
    how are you not banned
    seriously you post a cheat rename every other day

    and here you are calling other people skids

    go away you're not funny

  4. #3
    snipwnage2's Avatar
    Join Date
    Mar 2015
    Gender
    male
    Posts
    191
    Reputation
    10
    Thanks
    135
    My Mood
    Tired
    Quote Originally Posted by 0xymoron View Post
    how are you not banned
    seriously you post a cheat rename every other day

    and here you are calling other people skids

    go away you're not funny
    Why are you still here? Although you are right that he is not funny.

  5. The Following User Says Thank You to snipwnage2 For This Useful Post:

    ExiledStyles (08-23-2015)

  6. #4
    c0deine's Avatar
    Join Date
    Feb 2015
    Gender
    male
    Posts
    190
    Reputation
    10
    Thanks
    167
    My Mood
    Aggressive
    Quote Originally Posted by 0xymoron View Post
    how are you not banned
    seriously you post a cheat rename every other day

    and here you are calling other people skids

    go away you're not funny
    how are you not shot
    seriously you paste a cheat & rename it every other day

    and here you are calling other people skids

    go away you're not funny


    (i dont call people skids)

  7. The Following 2 Users Say Thank You to c0deine For This Useful Post:

    Ampd (08-26-2015),ganesh7 (08-26-2015)

  8. #5
    danishboy123's Avatar
    Join Date
    Jun 2014
    Gender
    male
    Posts
    53
    Reputation
    10
    Thanks
    5
    My Mood
    Bored
    Yo i keep getting this whnei i try to load it help me someone plz im new to hacking

    [ERROR] lua/happy-cheat.lua:672: '=' expected near '*'
    1. unknown - lua/happy-cheat.lua:0

Similar Threads

  1. Hello, a new member has arrived!
    By KraftedShadow in forum Member Introduction & Return
    Replies: 17
    Last Post: 02-20-2013, 06:46 AM
  2. [Request]12 Sky 2 (has no anti cheat(e.g. punkbuster))
    By Stelthkid in forum Hack Requests
    Replies: 1
    Last Post: 02-06-2011, 05:17 AM
  3. Punkbuster Has Arrived (BYPASS)
    By DanangKid in forum WarRock - International Hacks
    Replies: 49
    Last Post: 05-09-2007, 10:15 AM
  4. Yarseh! TeH uBaR has arrived. :P
    By SadisticGrin in forum Art & Graphic Design
    Replies: 10
    Last Post: 07-31-2006, 10:05 PM