chat.AddText(Color(35,125,255), "Anatrax.Hook", Color( 255,255,255 ), " LOADED!") chat.AddText(Color(255,255,255), "Time To Rekt Some Scrubs!", Color(  35,125,255 )," Coded By Anatrax")   MsgC( Color( 0,125,255 ), [[   Anatrax HOOK - Coded By Anatrax  leaked by lonelywolf   ]])   -- Everything Works Btw (: -- MsgC( Color( 0,125,255 ), [[         Changelog/Updates - Added a shit ton of angles - Anatrax - Added AAA - Anatrax - Added More angles - Anatrax - New Bhop and Autostrafe - Anatrax - Added more to aaa - Anatrax - Added Fake Lag - Anatrax - Added Fake Lag Prediction - Anatrax - Added Prediction - Anatrax - Added T Finder - Anatrax - Minor Menu changes - Anatrax - Huge Menu changes - Anatrax - Added WireFrame Viewmodel - Anatrax - Minor Menu changes - Anatrax - Added Crosshair - Anatrax - Added Watermark - Anatrax - Added "p100 Prediction" - Anatrax - Nice Menu fix's - Anatrax - --] ^ All Updates ^ [--   ]])     --] Changelog/Updates [-- -- Added a shit ton of angles - Anatrax -- Added AAA - Anatrax -- Added More angles - Anatrax -- New Bhop and Autostrafe - Anatrax -- Added more to aaa - Anatrax -- Added Fake Lag - Anatrax -- Added Fake Lag Prediction - Anatrax -- Added Prediction - Anatrax -- Added T Finder - Anatrax -- Minor Menu changes - Anatrax -- Huge Menu changes - Anatrax -- Added WireFrame Viewmodel - Anatrax -- Menu Changes - Anatrax -- Added Crosshair - Anatrax -- Added Watermark - Anatrax -- Menu Fix's - Anatrax --] Updates are nice [--   --] To do list ]-- -- No Visual Recoil -- No Hands -- Viewmodel Chams -- A Better Prediction -- Upgrading AAA -- Better Fakelag Prediction -- Improving Aimbot -- -- -- -- -- -- -- -- --] Everything I wanted done is done! ]--   MsgC(Color(200,200,200), "Anatrax.Hook", Color( 255, 255, 255), " Loaded") MsgN("")     local type = type; local next = next;   local function Copy(tt, lt)     local copy = {}     if lt then         if type(tt) == "table" then             for k,v in next, tt do                 copy[k] = Copy(k, v)             end         else             copy = lt         end         return copy     end     if type(tt) != "table" then         copy = tt     else         for k,v in next, tt do             copy[k] = Copy(k, v)         end     end     return copy end   local surface = Copy(surface); local vgui = Copy(vgui); local input = Copy(input); local Color = Color; local ScrW, ScrH = ScrW, ScrH; local gui = Copy(gui); local math = Copy(math); local file = Copy(file); local util = Copy(util);   surface.CreateFont("WATERMARK", {font = "Trebuchet", size = 25, weight = 550}) surface.CreateFont("WATERMARK2", {font = "Trebuchet", size =  25, weight = 550}) surface.CreateFont("WATERMARK3", {font = "Razer Regular", size = 25, weight = 550})   surface.CreateFont("Cloudyou", {     font = "Console",     size = 13,     weight = 900,     shadow = true,     antialias = false, });   surface.CreateFont("Cloudyou2", {     font = "Console",     size = 13,     weight = 900,     shadow = false,     antialias = false, });   local options = {     ["HVH"] = {         {             {"Aimbot", 20, 20, 350, 270, 200},             {"Enabled", "Checkbox", false, 0},             {"Silent", "Checkbox", false, 0},             {"Autofire", "Checkbox", false, 0},             {"Autosnap", "Checkbox", false, 0},             {"AutoPistol", "Checkbox", false, 0},             {"Non-Sticky", "Checkbox", false, 0},             {"Bullettime", "Checkbox", false, 0},             {"AutoWall", "Checkbox", false, 0},             {"Fakelag Prediction", "Checkbox", false, 0},             {"AAA", "Checkbox", false, 0},         },         {             {"Target", 20, 300, 350, 180, 210},             {"Selection", "Selection", "Distance", {"Distance", "Health", "Nextshot"}, 100 },             {"Bodyaim", "Checkbox", false, 0},             {"Ignore Bots", "Checkbox", false, 0},             {"Ignore Team", "Checkbox", false, 0},             {"Ignore Friends", "Checkbox", false, 0},             {"Snapline", "Checkbox", false, 0},         },         {             {"Accuracy", 380, 310, 350, 170, 200},             {"Ignore Anatrax.Hook", "Checkbox", false, 0},             {"Anti Spread", "Checkbox", false, 0},             {"Anti Recoil", "Checkbox", false, 0},         },         {             {"Anti-Aim", 380, 20, 350, 280, 140},             {"Enabled", "Checkbox", false, 0},             {"X", "Selection", "Emotion", {"Not", "Slick", "NEX", "Demolisher", "Anti p$ilent", "Aftermath", "Cloud", "Squad", "Dank", "Up", "Down", "Jitter", "Emotion"}, 150},             {"Y", "Selection", "Emotion", {"Not", "Sly", "NEX", "Aftermath", "God", "Anti Spine", "Rand0m", "Forward", "Backwards", "Jitter", "TJitter", "Sideways", "Emotion", "Static", "Towards Players"}, 150},             {"Max Y", "Slider", 50, 360, 150},             {"Min Y", "Slider", 0, 360, 150},             {"Emotion Randomcoin X", "Slider", 50, 100, 150},             {"Emotion Randomcoin Y", "Slider", 20, 100, 150},             {"FakeLag", "Checkbox", false, 0},             {"FakeLag Choke", "Slider", 0, 14, 150},             {"FakeLag Send", "Slider", 0, 14, 150},                             },     },     ["Visuals"] = {         {             {"ESP", 20, 20, 350, 240, 220},             {"Enabled", "Checkbox", false, 54},             {"Box", "Checkbox", false, 54},             {"Box Type", "Selection", "2D Box", {"2D Box", "3D Box"}, 68},             {"Name", "Checkbox", false, 54},             {"Health", "Checkbox", false, 54},             {"Weapon", "Checkbox", false, 54},             {"XQZ", "Checkbox", false, 54},             {"Chams", "Checkbox", false, 54},             {"Skeleton", "Checkbox", false, 54},         },         {             {"Filter", 20, 280, 350, 180, 220},             {"Enemies only", "Checkbox", false, 54},             {"Distance", "Checkbox", false, 54},             {"Max Distance", "Slider", 0, 10000, 68},         },         {             {"Misc", 380, 20, 350, 190, 220},             {"Thirdperson", "Checkbox", false, 54},             {"Watermark", "Checkbox", false, 54},             {"Crosshair", "Checkbox", false, 54},         },     },     ["Misc"] = {         {             {"Misc", 10, 20, 350, 190, 220},             {"Bunnyhop", "Checkbox", false, 54},             {"Autostrafe", "Checkbox", false, 54},             {"Kill Spam", "Checkbox", false, 54},             {"DisconnectSpam", "Checkbox", false, 54},             {"Wireframe Viewmodel", "Checkbox", false, 54},                   },         {             {"TTT", 10, 219, 350, 190, 220},             {"T Finder", "Checkbox", false, 54},             },     },     ["Colors"] = {         {             {"Box - Team", 20, 20, 250, 175, 130},             {"R", "Slider", 255, 255, 88},             {"G", "Slider", 255, 255, 88},             {"B", "Slider", 0, 255, 88},         },         {             {"Box - Enemy", 20, 205, 250, 175, 130},             {"R", "Slider", 180, 255, 88},             {"G", "Slider", 200, 255, 88},             {"B", "Slider", 0, 255, 88},         },         {             {"Chams - Team", 290, 20, 250, 175, 130},             {"Visible R", "Slider", 0, 255, 88},             {"Visible G", "Slider", 255, 255, 88},             {"Visible B", "Slider", 0, 255, 88},             {"Not Visible R", "Slider", 0, 255, 88},             {"Not Visible G", "Slider", 0, 255, 88},             {"Not Visible B", "Slider", 255, 255, 88},         },                 {             {"Chams - Enemy", 290, 205, 250, 175, 130},             {"Visible R", "Slider", 255, 255, 88},             {"Visible G", "Slider", 0, 255, 88},             {"Visible B", "Slider", 0, 255, 88},             {"Not Visible R", "Slider", 180, 255, 88},             {"Not Visible G", "Slider", 200, 255, 88},             {"Not Visible B", "Slider", 0, 255, 88},         },     }, };   local order = {     "HVH",     "Visuals",     "Misc",     "Colors", };   local function updatevar( men, sub, lookup, new )     for aa,aaa in next, options[men] do         for key, val in next, aaa do             if(aaa[1][1] != sub) then continue; end             if(val[1] == lookup) then                 val[3] = new;             end         end     end end   local function loadconfig()     if(!file.Exists("Cloud.Hack.txt", "DATA")) then return; end     local tab = util.JSONToTable( file.Read("Cloud.Hack.txt", "DATA") );     local cursub;     for k,v in next, tab do         if(!options[k]) then continue; end         for men, subtab in next, v do             for key, val in next, subtab do                 if(key == 1) then cursub = val[1]; continue; end                 updatevar(k, cursub, val[1], val[3]);             end         end     end end   local function gBool(men, sub, lookup)     if(!options[men]) then return; end     for aa,aaa in next, options[men] do         for key, val in next, aaa do             if(aaa[1][1] != sub) then continue; end             if(val[1] == lookup) then                 return val[3];             end         end     end end   local function gOption(men, sub, lookup)     if(!options[men]) then return ""; end     for aa,aaa in next, options[men] do         for key, val in next, aaa do             if(aaa[1][1] != sub) then continue; end             if(val[1] == lookup) then                 return val[3];             end         end     end     return ""; end   local function gInt(men, sub, lookup)     if(!options[men]) then return 0; end     for aa,aaa in next, options[men] do         for key, val in next, aaa do             if(aaa[1][1] != sub) then continue; end             if(val[1] == lookup) then                 return val[3];             end         end     end     return 0; end   local function saveconfig()     file.Write("Cloud.Hack.txt", util.TableToJSON(options)); end   local mousedown; local candoslider; local drawlast;   local visible = {};   for k,v in next, order do     visible[v] = false; end   local function DrawBackground(w, h)     surface.SetDrawColor(0, 0, 0, 90);     surface.DrawRect(0, 0, w, h);         local curcol = Color(35,125,255);         for i = 0, 30 do         surface.SetDrawColor(curcol);         curcol.r = curcol.r - 1;         surface.DrawLine(0, i, w, i);     end         surface.SetDrawColor(curcol);         surface.SetFont("Cloudyou");         local tw, th = surface.GetTextSize("Anatrax.Hook for Garry's Mod");         surface.SetTextPos(5, 15 - th / 2);         surface.SetTextColor(255, 255, 255);         surface.DrawText("Anatrax.Hook for Garry's Mod");         surface.DrawRect(0, 31, 5, h - 31);     surface.DrawRect(0, h - 5, w, h);     surface.DrawRect(w - 5, 31, 5, h); end   local function MouseInArea(minx, miny, maxx, maxy)     local mousex, mousey = gui.MousePos();     return(mousex < maxx && mousex > minx && mousey < maxy && mousey > miny); end   local function DrawOptions(self, w, h)     local mx, my = self:GetPos();         local sizeper = (w - 10) / #order;         local maxx = 0;         for k,v in next, order do         local bMouse = MouseInArea(mx + 5 + maxx, my + 31, mx + 5 + maxx + sizeper, my + 31 + 30);         if(visible[v]) then             local curcol = Color(255, 255, 255, 90);             for i = 0, 30 do                 surface.SetDrawColor(curcol);                 curcol.r, curcol.g, curcol.b = curcol.r + 3, curcol.g + 3, curcol.b + 3;                 surface.DrawLine( 5 + maxx, 31 + i, 5 + maxx + sizeper, 31 + i);             end         elseif(bMouse) then             local curcol = Color(255, 255, 255, 90);             for i = 0, 30 do                 surface.SetDrawColor(curcol);                 curcol.r, curcol.g, curcol.b = curcol.r - 1.7, curcol.g - 1.7, curcol.b - 1.7;                 surface.DrawLine( 5 + maxx, 31 + i, 5 + maxx + sizeper, 31 + i);             end         else             local curcol = Color(235, 235, 235);             for i = 0, 30 do                 surface.SetDrawColor(curcol);                 curcol.r, curcol.g, curcol.b = curcol.r - 1.7, curcol.g - 1.7, curcol.b - 1.7;                 surface.DrawLine( 5 + maxx, 31 + i, 5 + maxx + sizeper, 31 + i);             end         end         if(bMouse && input.IsMouseDown(MOUSE_LEFT) && !mousedown && !visible[v]) then             local nb = visible[v];             for key,val in next, visible do                 visible[key] = false;             end             visible[v] = !nb;         end         surface.SetFont("Cloudyou2");         surface.SetTextColor(255, 255, 255);         local tw, th = surface.GetTextSize(v);         surface.SetTextPos( 5 + maxx + sizeper / 2 - tw / 2, 31 + 15 - th / 2 );         surface.DrawText(v);         maxx = maxx + sizeper;     end end   local function DrawCheckbox(self, w, h, var, maxy, posx, posy, dist)     surface.SetFont("Cloudyou2");     surface.SetTextColor(255, 255, 255);     surface.SetTextPos( 5 + posx + 15 + 5, 61 + posy + maxy );     local tw, th = surface.GetTextSize(var[1]);     surface.DrawText(var[1]);         surface.SetDrawColor(255, 255, 255);         surface.DrawOutlinedRect( 5 + posx + 15 + 5 + dist + var[4], 61 + posy + maxy + 2, 14, 14);         local mx, my = self:GetPos();         local bMouse = MouseInArea(mx + 5 + posx + 15 + 5, my + 61 + posy + maxy, mx + 5 + posx + 15 + 5 + dist + 14 + var[4], my + 61 + posy + maxy + 16);         if(bMouse) then         surface.DrawRect( 5 + posx + 15 + 5 + dist + 2 + var[4], 61 + posy + maxy + 4, 10, 10);     end         if(var[3]) then         surface.SetDrawColor(200, 200, 200);         surface.DrawRect( 5 + posx + 15 + 5 + dist + 2 + var[4], 61 + posy + maxy + 4, 10, 10);         surface.SetDrawColor(93, 0, 0);         surface.DrawOutlinedRect( 5 + posx + 15 + 5 + dist + 2 + var[4], 61 + posy + maxy + 4, 10, 10);     end         if(bMouse && input.IsMouseDown(MOUSE_LEFT) && !mousedown && !drawlast) then         var[3] = !var[3];     end end   local function DrawSlider(self, w, h, var, maxy, posx, posy, dist)     local curnum = var[3];     local max = var[4];     local size = var[5];     surface.SetFont("Cloudyou2");     surface.SetTextColor(255, 255, 255);     surface.SetTextPos( 5 + posx + 15 + 5, 61 + posy + maxy );     surface.DrawText(var[1]);         local tw, th = surface.GetTextSize(var[1]);         surface.SetDrawColor(255, 255, 255);         surface.DrawRect( 5 + posx + 15 + 5 + dist, 61 + posy + maxy + 9, size, 2);         local ww = math.ceil(curnum * size / max);         surface.SetDrawColor(255, 255, 255);         surface.DrawRect( 3 + posx + 15 + 5 + dist + ww, 61 + posy + maxy + 9 - 5, 4, 12);         surface.SetDrawColor(0, 0, 0);         local tw, th = surface.GetTextSize(curnum..".00");         surface.DrawOutlinedRect( 3 + posx + 15 + 5 + dist + ww, 61 + posy + maxy + 4, 4, 12);         surface.SetTextPos( 5 + posx + 15 + 5 + dist + (size / 2) - tw / 2, 61 + posy + maxy + 16);         surface.DrawText(curnum..".00");         local mx, my = self:GetPos();         local bMouse = MouseInArea(5 + posx + 15 + 5 + dist + mx, 61 + posy + maxy + 9 - 5 + my, 5 + posx + 15 + 5 + dist + mx + size, 61 + posy + maxy + 9 - 5 + my + 12);         if(bMouse && input.IsMouseDown(MOUSE_LEFT) && !drawlast && !candoslider) then         local mw, mh = gui.MousePos();             local new = math.ceil( ((mw - (mx + posx + 25 + dist - size)) - (size + 1)) / (size - 2) * max);         var[3] = new;     end end   local notyetselected;   local function DrawSelect(self, w, h, var, maxy, posx, posy, dist)       local size = var[5];     local curopt = var[3];         surface.SetFont("Cloudyou2");     surface.SetTextColor(255, 255, 255);     surface.SetTextPos( 5 + posx + 15 + 5, 61 + posy + maxy );     local tw, th = surface.GetTextSize(var[1]);     surface.DrawText(var[1]);         surface.SetDrawColor(163, 163, 163);         surface.DrawOutlinedRect( 25 + posx + dist, 61 + posy + maxy, size, 16);         local mx, my = self:GetPos();         local bMouse = MouseInArea( mx + 25 + posx + dist, my + 61 + posy + maxy, mx + 25 + posx + dist + size, my + 61 + posy + maxy + 16)         local check = dist..posy..posx..w..h..maxy;         if(bMouse || notyetselected == check) then                 surface.DrawRect(25 + posx + dist + 2, 61 + posy + maxy + 2, size - 4, 12);             end         local tw, th = surface.GetTextSize(curopt);         surface.SetTextPos( 25 + posx + dist + 5, 61 + posy + maxy + 6 - th / 2 + 2);         surface.DrawText(curopt);         if(bMouse && input.IsMouseDown(MOUSE_LEFT) && !drawlast && !mousedown || notyetselected == check) then         notyetselected = check;         drawlast = function()             local maxy2 = 16;             for k,v in next, var[4] do                 surface.SetDrawColor(163, 163, 163);                 surface.DrawRect( 25 + posx + dist, 61 + posy + maxy + maxy2, size, 16);                 local bMouse2 = MouseInArea( mx + 25 + posx + dist, my + 61 + posy + maxy + maxy2, mx + 25 + posx + dist + size, my + 61 + posy + maxy + 16 + maxy2)                 if(bMouse2) then                     surface.SetDrawColor(255, 255,255);                     surface.DrawRect( 25 + posx + dist, 61 + posy + maxy + maxy2, size, 16);                 end                 local tw, th = surface.GetTextSize(v);                 surface.SetTextPos( 25 + posx + dist + 5, 61 + posy + maxy + 6 - th / 2 + 2 + maxy2);                 surface.DrawText(v);                 maxy2 = maxy2 + 16;                 if(bMouse2 && input.IsMouseDown(MOUSE_LEFT) && !mousedown) then                     var[3] = v;                     notyetselected = nil;                     drawlast = nil;                     return;                 end             end             local bbMouse = MouseInArea( mx + 25 + posx + dist, my + 61 + posy + maxy, mx + 25 + posx + dist + size, my + 61 + posy + maxy + maxy2);             if(!bbMouse && input.IsMouseDown(MOUSE_LEFT) && !mousedown) then                  notyetselected = nil;                  drawlast = nil;                  return;             end         end     end         end   local function DrawSubSub(self, w, h, k, var)     local opt, posx, posy, sizex, sizey, dist = var[1][1], var[1][2], var[1][3], var[1][4], var[1][5], var[1][6];         surface.SetDrawColor(163, 163, 163);         local startpos = 61 + posy;         surface.SetTextColor(255, 255,255);         surface.SetFont("Cloudyou2");         local tw, th = surface.GetTextSize(opt);         surface.DrawLine( 5 + posx, startpos, 5 + posx + 15, startpos);         surface.SetTextPos( 5 + posx + 15 + 5, startpos - th / 2 );         surface.DrawLine( 5 + posx + 15 + 5 + tw + 5, startpos, 5 + posx + sizex, startpos);         surface.DrawLine( 5 + posx, startpos, 5 + posx, startpos + sizey);         surface.DrawLine(5 + posx, startpos + sizey, 5 + posx + sizex, startpos + sizey );         surface.DrawLine( 5 + posx + sizex, startpos, 5 + posx + sizex, startpos + sizey);         surface.DrawText(opt);         local maxy = 15;         for k,v in next, var do         if(k == 1) then continue; end         if(v[2] == "Checkbox") then             DrawCheckbox(self, w, h, v, maxy, posx, posy, dist);         elseif(v[2] == "Slider") then             DrawSlider(self, w, h, v, maxy, posx, posy, dist);         elseif(v[2] == "Selection") then             DrawSelect(self, w, h, v, maxy, posx, posy, dist);         end         maxy = maxy + 25;     end end   local function DrawSub(self, w, h)     for k, v in next, visible do         if(!v) then continue; end         for _, var in next, options[k] do             DrawSubSub(self, w, h, k, var);         end     end end   local function DrawSaveButton(self, w, h)     local curcol = Color(235, 235, 235);     local mx, my = self:GetPos();     local bMouse = MouseInArea(mx + 30, my + h - 50, mx + 30 + 200, my + h - 50 + 30);     if(bMouse) then         curcol = Color(255, 255,255);     end     for i = 0, 30 do         surface.SetDrawColor(curcol);         surface.DrawLine( 30, h - 50 + i, 30 + 200, h - 50 + i );         for k,v in next, curcol do             curcol[k] = curcol[k] - 2;         end     end     surface.SetFont("Cloudyou2");     surface.SetTextColor(255, 255, 255);     local tw, th = surface.GetTextSize("Save Configuration");     surface.SetTextPos( 30 + 100 - tw / 2, h - 50 + 15 - th / 2 );     surface.DrawText("Save Configuration");     if(bMouse && input.IsMouseDown(MOUSE_LEFT)) then         saveconfig();     end end   local function DrawLoadButton(self, w, h)     local curcol = Color(235, 235, 235);     local mx, my = self:GetPos();     local bMouse = MouseInArea(mx + 250, my + h - 50, mx + 250 + 200, my + h - 50 + 30);     if(bMouse) then         curcol = Color(200,200,200);     end     for i = 0, 30 do         surface.SetDrawColor(curcol);         surface.DrawLine( 250, h - 50 + i, 250 + 200, h - 50 + i );         for k,v in next, curcol do             curcol[k] = curcol[k] - 2;         end     end     surface.SetFont("Cloudyou2");     surface.SetTextColor(255, 255, 255);     local tw, th = surface.GetTextSize("Load Configuration");     surface.SetTextPos( 300 + 50 - tw / 2, h - 50 + 15 - th / 2 );     surface.DrawText("Load Configuration");     if(bMouse && input.IsMouseDown(MOUSE_LEFT)) then         loadconfig();     end end   loadconfig();   local insertdown2, insertdown, menuopen;   local function menu()     local frame = vgui.Create("DFrame");     frame:SetSize(900, 600);     frame:Center();     frame:SetTitle("");     frame:MakePopup();     frame:ShowCloseButton(false);         frame.Paint = function(self, w, h)         if(candoslider && !mousedown && !drawlast && !input.IsMouseDown(MOUSE_LEFT)) then             candoslider = false;         end         DrawBackground(w, h);         DrawOptions(self, w, h);         DrawSub(self, w, h);         DrawSaveButton(self, w, h);         DrawLoadButton(self, w, h);         if(drawlast) then             drawlast();             candoslider = true;         end         mousedown = input.IsMouseDown(MOUSE_LEFT);     end         frame.Think = function()         if (input.IsKeyDown(KEY_INSERT) && !insertdown2) then             frame:Remove();             menuopen = false;             candoslider = false;             drawlast = nil;         end     end end   local function Think()     if (input.IsKeyDown(KEY_INSERT) && !menuopen && !insertdown) then         menuopen = true;         insertdown = true;         menu();     elseif (!input.IsKeyDown(KEY_INSERT) && !menuopen) then         insertdown = false;     end     if (input.IsKeyDown(KEY_INSERT) && insertdown && menuopen) then         insertdown2 = true;     else         insertdown2 = false;     end end   hook.Add("Think", "", Think);   --[[ Actual codens ]]   local FindMetaTable = FindMetaTable;   local em = FindMetaTable"Entity"; local pm = FindMetaTable"Player"; local cm = FindMetaTable"CUserCmd"; local wm = FindMetaTable"Weapon"; local am = FindMetaTable"Angle"; local vm = FindMetaTable"Vector";   local Vector = Vector; local player = Copy(player); local Angle = Angle; local me = LocalPlayer(); local render = Copy(render); local cma = Copy(cam); local Material = Material; local CreateMaterial = CreateMaterial;   --[[ esp ]]   local function Filter(v)     local enemy = gBool("Visuals", "Filter", "Enemies only");     local dist = gBool("Visuals", "Filter", "Distance")     if(enemy) then         if(pm.Team(v) == pm.Team(me)) then return false; end     end     if(dist) then         local maxdist = gBool("Visuals", "Filter", "Max Distance");         if( vm.Distance( em.GetPos(v), em.GetPos(me) ) > (maxdist * 5) ) then return false; end     end     return true; end     local chamsmat = CreateMaterial("a", "VertexLitGeneric", {     ["$ignorez"] = 1,     ["$model"] = 1,     ["$basetexture"] = "models/debug/debugwhite", });   local chamsmat2 = CreateMaterial("@", "vertexlitgeneric", {     ["$ignorez"] = 0,     ["$model"] = 1,     ["$basetexture"] = "models/debug/debugwhite", });   local function GetChamsColor(v, vis)     local pre = "Chams - Enemy";     if(pm.Team(v) == pm.Team(me)) then         pre = "Chams - Team";     end     if(vis) then         local r = gInt("Colors", pre, "Visible R") / 255;         local g = gInt("Colors", pre, "Visible G") / 255;         local b = gInt("Colors", pre, "Visible B") / 255;         return r,g,b;     end     local r = gInt("Colors", pre, "Not Visible R") / 255;     local g = gInt("Colors", pre, "Not Visible G") / 255;     local b = gInt("Colors", pre, "Not Visible B") / 255;     return r,g,b; end   local function Chams(v)     if(gBool("Visuals", "ESP", "XQZ")) then         cam.Start3D();             cam.IgnoreZ(true);             em.DrawModel(v);             cam.IgnoreZ(false);         cam.End3D();     end     if(gBool("Visuals", "ESP", "Chams")) then         cam.Start3D();                         render.MaterialOverride(chamsmat);             render.SetColorModulation(GetChamsColor(v));                             em.DrawModel(v);                             render.SetColorModulation(GetChamsColor(v, true));             render.MaterialOverride(chamsmat2);                             em.DrawModel(v);                     cam.End3D();     end end   local function GetColor(v)     if(pm.Team(v) == pm.Team(me)) then         local r = gInt("Colors", "Box - Team", "R");         local g = gInt("Colors", "Box - Team", "G");         local b = gInt("Colors", "Box - Team", "B");         return(Color(r, g, b, 220));     end     local r = gInt("Colors", "Box - Enemy", "R");     local g = gInt("Colors", "Box - Enemy", "G");     local b = gInt("Colors", "Box - Enemy", "B");     return(Color(r, g, b, 220)); end   local function ESP(v)     local pos = em.GetPos(v);     local pos, pos2 = vm.ToScreen(pos - Vector(0, 0, 5)), vm.ToScreen( pos + Vector(0, 0, 70 ) );     local h = pos.y - pos2.y;     local w = h / 2.2;     if(gBool("Visuals", "ESP", "Box") && gOption("Visuals", "ESP", "Box Type") == "2D Box") then                   surface.SetDrawColor(GetColor(v));         surface.DrawOutlinedRect( pos.x - w / 2, pos.y - h, w, h);         surface.SetDrawColor(0, 0, 0, 220);         surface.DrawOutlinedRect( pos.x - w / 2 - 1, pos.y - h - 1, w + 2, h + 2);         surface.DrawOutlinedRect( pos.x - w / 2 + 1, pos.y - h + 1, w - 2, h - 2);             end         if(gBool("Visuals", "ESP", "Health")) then         local hp = em.Health(v) * h / 100;         if(hp > h) then hp = h; end         local diff = h - hp;         surface.SetDrawColor(0, 0, 0, 255);         surface.DrawRect(pos.x - w / 2 - 5, pos.y - h - 1, 3, h + 2);         surface.SetDrawColor( ( 100 - em.Health(v) ) * 2.55, em.Health(v) * 2.55, 0, 255);         surface.DrawRect(pos.x - w / 2 - 4, pos.y - h + diff, 1, hp);     end                   surface.SetFont("BudgetLabel");         surface.SetTextColor(39,214,65, 200);         if(gBool("Visuals", "ESP", "Name")) then             local tw, th = surface.GetTextSize(pm.Name(v));                 surface.SetTextPos( pos.x - tw / 2, pos.y - h + 2 - th );                 surface.DrawText(pm.Name(v));             end         if(gBool("Visuals", "ESP", "Weapon")) then                 local w = pm.GetActiveWeapon(v);         if(w && em.IsValid(w)) then             local tw,  th = surface.GetTextSize(em.GetClass(w));             surface.SetTextPos( pos.x - tw / 2, pos.y - th / 2 + 5 );             surface.DrawText(em.GetClass(w));         end             end         if(gBool("Visuals", "ESP", "Skeleton")) then         local origin = em.GetPos(v);         for i = 1, em.GetBoneCount(v) do             local parent = em.GetBoneParent(v, i);             if(!parent) then continue; end             local bonepos, parentpos = em.GetBonePosition(v, i), em.GetBonePosition(v, parent);             if(!bonepos || !parentpos || bonepos == origin) then continue; end             local bs, ps = vm.ToScreen(bonepos), vm.ToScreen(parentpos);             surface.SetDrawColor(0,0,0,150);             surface.DrawLine(bs.x, bs.y, ps.x, ps.y);         end     end     end   local aimtarget;     hook.Add("HUDPaint", "", function()     if(aimtarget && gBool("HVH", "Target", "Snapline")) then         local pos = vm.ToScreen(em.LocalToWorld(aimtarget, em.OBBCenter(aimtarget)));         surface.SetDrawColor(0,0,0,150);         surface.DrawLine(ScrW() / 2, ScrH() / 2, pos.x, pos.y);     end     if(!gBool("Visuals", "ESP", "Enabled")) then return; end     for k,v in next, player.GetAll() do         if(!em.IsValid(v) || em.Health(v) < 1 || v == me || em.IsDormant(v)) then continue; end         if(!Filter(v)) then continue; end         ESP(v);     end end);   hook.Add("RenderScreenspaceEffects", "", function()     if(!gBool("Visuals", "ESP", "Enabled")) then return; end     for k,v in next, player.GetAll() do         if(!em.IsValid(v) || em.Health(v) < 1 || v == me || em.IsDormant(v)) then continue; end         if(!Filter(v)) then continue; end         Chams(v);     end end);   saveconfig();   --[[ Clouds ]]   local fa; local aa;   local function FixMovement(ucmd, aaaaa)     --local move = Vector(cm.GetForwardMove(ucmd), cm.GetSideMove(ucmd), 0);     --local move = am.Forward( vm.Angle(move) + ( cm.GetViewAngles(ucmd) - fa ) ) * vm.Length(move);     local move = Vector(cm.GetForwardMove(ucmd), cm.GetSideMove(ucmd), cm.GetUpMove(ucmd));     local speed = math.sqrt(move.x * move.x + move.y * move.y);     local ang = vm.Angle(move);     local yaw = math.rad(cm.GetViewAngles(ucmd).y - fa.y + ang.y);     cm.SetForwardMove(ucmd, (math.cos(yaw) * speed) * ( aaaaa && -1 || 1 ));     cm.SetSideMove(ucmd, math.sin(yaw) * speed);     --cm.SetForwardMove(ucmd, move.x);     --cm.SetSideMove(ucmd, (aaaaa && move.y * -1 || move.y)); end   local function Clamp(val, min, max)     if(val < min) then         return min;     elseif(val > max) then         return max;     end     return val; end   local function NormalizeAngle(ang)     ang.x = math.NormalizeAngle(ang.x);     ang.p = math.Clamp(ang.p, -89, 89); end   --[[ aimer ]]   local table = Copy(table); local dists = {};   local function GetPos(v)       if(gBool("HVH", "Target", "Bodyaim")) then return( em.LocalToWorld(v, em.OBBCenter(v)) ); end       local eyes = em.LookupAttachment(v, "eyes");         if(!eyes) then return( em.LocalToWorld(v, em.OBBCenter(v)) ); end         local pos = em.GetAttachment(v, eyes);         if(!pos) then return( em.LocalToWorld(v, em.OBBCenter(v)) ); end         return(pos.Pos); end   local aimignore;   local function Valid(v)     if(!v || !em.IsValid(v) || v == me || em.Health(v) < 1 || em.IsDormant(v) || pm.Team(v) == 1002 || (v == aimignore && gOption("HVH", "Target", "Selection") == "Nextshot")) then return false; end     if(gBool("HVH", "Target", "Ignore Bots")) then         if(pm.IsBot(v)) then return false; end     end     if(gBool("HVH", "Target", "Ignore Team")) then         if(pm.Team(v) == pm.Team(me)) then return false; end     end     if(gBool("HVH", "Target", "Ignore Friends")) then         if(pm.GetFriendStatus(v) == "friend") then return false; end     end     local tr = {         start = em.EyePos(me),         endpos = GetPos(v),         mask = MASK_SHOT,         filter = {me, v},     };     return(util.TraceLine(tr).Fraction == 1); end   local function fakelagPredict(v)     if(!gBool("HvH", "Fakelag Prediction")) then return; end     if(!fakelagBucket[v]) then         fakelagBucket[v] = {             EntM.GetVelocity(v),             EntM.GetPos(v),             0,         };     end       local oldVel = fakelagBucket[v][1];     local oldPos = fakelagBucket[v][2];       fakelagBucket[v][1] = EntM.GetVelocity(v);     fakelagBucket[v][2] = EntM.GetPos(v);       if(oldVel == nullVel) then         fakelagBucket[v][3] = 0;         return;     end       if(fakelagBucket[v][1] == oldVel && oldPos == fakelagBucket[v][2]) then         fakelagBucket[v][3] = fakelagBucket[v][3] + 1;           return(oldVel + (oldVel * (engine.TickInterval() * fakelagBucket[v][3])));     else         fakelagBucket[v][3] = 0;     end end   local fakeLag_Tbl = {}; local FakeLagPrediction = function(v,vec)                   local newVec = vec;                   if(!fakeLag_Tbl[v:SteamID()]) then                         fakeLag_Tbl[v:SteamID()] = {};                         fakeLag_Tbl[v:SteamID()]["pos"] = v:GetPos();                         fakeLag_Tbl[v:SteamID()]["opos"] = v:GetPos();                         fakeLag_Tbl[v:SteamID()]["correct"] = 0;                         else                         fakeLag_Tbl[v:SteamID()]["opos"] = fakeLag_Tbl[v:SteamID()]["pos"];                         fakeLag_Tbl[v:SteamID()]["pos"] = v:GetPos();                 end                   if( v:GetVelocity()[1] != 0 && fakeLag_Tbl[v:SteamID()]["opos"][1] == fakeLag_Tbl[v:SteamID()]["pos"][1]) then                         fakeLag_Tbl[v:SteamID()]["correct"] = fakeLag_Tbl[v:SteamID()]["correct"] + 1 + engine.TickInterval();                         newVec.x = newVec.x + fakeLag_Tbl[v:SteamID()]["correct"];                         notification.AddLegacy( "Fakelag Corrected", NOTIFY_GENERIC        , 0.7 )                         return newVec;                 else                         fakeLag_Tbl[v:SteamID()]["correct"] = 0;                 end                 return vec; end   function predict(cmd,target, predPos)   predPos = predPos + (ply:GetVelocity() * engine.TickInterval() * RealFrameTime() ) - (me:GetVelocity(me) * engine.TickInterval() * RealFrameTime() )   return predPos end   local function gettarget()       local opt = gOption("HVH", "Target", "Selection");         local sticky = gOption("HVH", "Aimbot", "Non-Sticky");         if(opt == "Distance") then           if( !sticky && Valid(aimtarget) ) then return; end           dists = {};                 for k,v in next, player.GetAll() do             if(!Valid(v)) then continue; end             dists[#dists + 1] = { vm.Distance( em.GetPos(v), em.GetPos(me) ), v };         end                 table.sort(dists, function(a, b)             return(a[1] < b[1]);         end);                 aimtarget = dists[1] && dists[1][2] || nil;             elseif(opt == "Health") then                 if( !sticky && Valid(aimtarget) ) then return; end           dists = {};                 for k,v in next, player.GetAll() do             if(!Valid(v)) then continue; end             dists[#dists + 1] = { em.Health(v), v };         end                 table.sort(dists, function(a, b)             return(a[1] < b[1]);         end);                 aimtarget = dists[1] && dists[1][2] || nil;             elseif(opt == "Nextshot") then         if( !sticky && Valid(aimtarget) ) then return; end         aimtarget = nil;         local allplys = player.GetAll();         local avaib = {};         for k,v in next,allplys do             avaib[math.random(100)] = v;         end                 for k,v in next, avaib do             if(Valid(v)) then                 aimtarget = v;             end         end     end         end     local cones = {};   local pcall = pcall; local require = require;   local nullvec = Vector() * -1;   local IsFirstTimePredicted = IsFirstTimePredicted; local CurTime = CurTime; local servertime=0; local bit = Copy(bit); pcall(require, "dickwrap"); pcall(require, "aaa"); pcall(require, "name_enabler" ); pcall(require, "bsendpacket" );   hook.Add("Move", "", function()     if(!IsFirstTimePredicted()) then return; end     servertime = CurTime(); end);     GAMEMODE["EntityFireBullets"] = function(self, p, data)     aimignore = aimtarget;     local w = pm.GetActiveWeapon(me);     local Spread = data.Spread * -1;     if(!w || !em.IsValid(w) || cones[em.GetClass(w)] == Spread || Spread == nullvec) then return; end     cones[em.GetClass(w)] = Spread; end   local function PredictSpread(ucmd, ang)     local w = pm.GetActiveWeapon(me);     if(!w || !em.IsValid(w) || !cones[em.GetClass(w)] || !gBool("HVH", "Accuracy", "Anti Spread")) then return am.Forward(ang); end     return(dickwrap.Predict(ucmd, am.Forward(ang), cones[em.GetClass(w)])); end   local function Autofire(ucmd)     if(pm.KeyDown(me, 1) && gBool("HVH", "Aimbot", "AutoPistol")) then         cm.SetButtons(ucmd, bit.band( cm.GetButtons(ucmd), bit.bnot( 1 ) ) );     else         cm.SetButtons(ucmd, bit.bor( cm.GetButtons(ucmd), 1 ) );     end end   local function fasAutowall(wep, startPos, aimPos, ply)     if(!autowall:GetBool()) then return false; end     local traces = {};     local me = me;     local traceResults = {};     local dir = (aimPos - startPos):GetNormalized();     traces[1] = { start = startPos, filter = me, mask = trace_normal, endpos = aimPos, };     traceResults[1] = util.TraceLine(traces[1]);     if(NoPenetration[traceResults[1].MatType]) then return false; end     if((-dir):DotProduct(traceResults[1].HitNormal) <= .26) then return false; end     traces[2] = { start = traceResults[1].HitPos, endpos = traceResults[1].HitPos + dir * wep.PenStr * (PenMod[traceResults[1].MatType] || 1) * wep.PenMod, filter = me, mask = trace_walls, };     traceResults[2] = util.TraceLine(traces[2]);     traces[3] = { start = traceResults[2].HitPos, endpos = traceResults[2].HitPos + dir * .1, filter = me, mask = trace_normal, };     traceResults [3] = util.TraceLine(traces[3]);     traces[4] = { start = traceResults[2].HitPos, endpos = aimPos, filter = me, mask = MASK_SHOT, };     traceResults[4] = util.TraceLine(traces[4]);     if(traceResults[4].Entity != ply) then return false; end     return(!traceResults[3].Hit); end   local function IsVisible(ply, pos)     local trace = {         start = me:EyePos(),         endpos = pos,         filter = {ply, me},         mask = MASK_SHOT,     };       if (util.TraceLine(trace).Fraction == 1 ) then         return true;     else         local wep = me:GetActiveWeapon();         if(wep && wep:IsValid() && wep.PenStr) then             return fasAutowall(wep, trace.start, trace.endpos, ply);         end     end       return false; end     /* AAA */ local function AAA()     for k,v in next, player.GetAll() do         if(v == me) then continue; end         local correctedpitch = v:EyeAngles().x;         local correctedyaw = v:EyeAngles().y;           local sid = v:SteamID();         if(!aaaTable[sid]) then             aaaTable[sid] = {["friend"] = false, ["pitch"] = 0, ["yaw"] = 0};         end           local tab = aaaTable[sid];           if(tab["pitch"] == 0) then //auto             if(correctedpitch >= 89 && correctedpitch < 180) then                 correctedpitch = 89;             elseif(correctedpitch >= 180 && correctedpitch < 290) then                 correctedpitch = -89;             end         elseif(tab["pitch"] == 1) then //down             correctedpitch = 89;         elseif(tab["pitch"] == -22.001) then //Aden             correctedpitch = 180;         elseif(tab["pitch"] == -541) then //AntiKaliCheat                 if(correctedpitch >= 360 && correctedpitch < 180 && correctedpitch != 181 && correctedpitch ) then                 correctedpitch = 89;         elseif(correctedpitch >= 181) then                 correctedpitch = -89;                 end         elseif(tab["pitch"] == -629) then //AntiKaliCheat2                 if(correctedpitch >= 360 && correctedpitch < 180 && correctedpitch != 181 && correctedpitch ) then                 correctedpitch = 89;                 elseif(correctedpitch >= 181) then                 correctedpitch = -89;                 end         elseif(tab["pitch"] == -541) then //Dank Angle -- FUCKED RED take it up the ass             correctedpitch = 360;         elseif(tab["pitch"] == 629) then //SS/Aftermat         if(correctedpitch >= 360 && correctedpitch < -360 && correctedpitch != 360 && correctedpitch ) then                     correctedpitch = -360;         correctedpitch = -360;                 end         elseif(tab["pitch"] == 6) then // up             correctedpitch = -89;         end           if(tab["yaw"] == 0) then //auto         elseif(tab["yaw"] == -541) then -- idk             correctedyaw = correctedyaw - 90;         elseif(tab["yaw"] == -333.0001) then -- lol             correctedyaw = correctedyaw - 90;         elseif(tab["yaw"] == -23.001) then -- kek ily Not             correctedyaw = -correctedyaw - 90;         elseif(tab["yaw"] == -630) then -- Rip Older Aftermath             correctedyaw = correctedyaw - 90;         elseif(tab["yaw"] == -540) then -- Rip Red             correctedyaw = correctedyaw - 90;         elseif(tab["yaw"] == 373) then -- Seems like a good yaw             correctedyaw = correctedyaw - 90;         elseif(tab["yaw"] == 180) then             correctedyaw = correctedyaw + 90;         else             correctedyaw = correctedyaw - 180;         end           pitcharray[v:EntIndex()] = correctedpitch;           v:SetPoseParameter("aim_pitch", correctedpitch);         v:SetPoseParameter("body_yaw", 0);         v:SetPoseParameter("aim_yaw", 0);         v:InvalidateBoneCache();         v:SetRenderAngles(Angle(0, math.NormalizeAngle(correctedyaw), 0));     end end   local function WeaponCanFire()     local w = pm.GetActiveWeapon(me);     if(!w || !em.IsValid(w) || !gBool("HVH", "Aimbot", "Bullettime")) then return true; end     return( servertime >= wm.GetNextPrimaryFire(w) ); end   local steamIds = {     ["STEAM_0:1:162853159"] = true, -- Not     ["STEAM_0:0:98867301"] = true, -- NEX     ["STEAM_0:0:70544428"] = true, -- Rexxor     ["STEAM_0:0:94897427"] = true, -- Anatrax     ["STEAM_0:1:33821779"] = true, -- akaBlades };   local function Valid(v)     if(!EntM.IsValid(v)) then return false; end     if(v == me) then return false; end     if(EntM.Health(v) < 1) then return false; end     if(EntM.IsDormant(v)) then return false; end       if(PlyM.Team(v) == TEAM_SPECTATOR) then return false; end     if(PlyM.Team(v) == TEAM_CONNECTING) then return false; end     if(gBool("Aimbot", "Accuracy", "Ignore Anatrax.Hook") && steamIds[PlyM.SteamID(v)]) then return false; end end   local function bunnyHop(cmd)     if(!gBool("Misc", "Bunnyhop")) then return; end     if(CmdM.KeyDown(cmd, 2) && !EntM.IsOnGround(me)) then         CmdM.RemoveKey(cmd, 2);     end end   local fakeLagSwitch; local sendCount, chokeCount = 0, 0;   local function fakelag()     if(!gBool("HvH", "Fakelag")) then         sendCount = 0;         chokeCount = 0;         fakeLagSwitch = false;         return;     end       local send = gBool("HvH", "Fakelag Send");     local choke = gBool("HvH", "Fakelag Choke");       if(fakeLagSwitch) then         if(sendCount >= send) then             fakeLagSwitch = false;             sendCount = 0;             chokeCount = 0;         else             sendCount = sendCount + 1;         end     else         if(chokeCount >= choke) then             fakeLagSwitch = true;             sendCount = 0;             chokeCount = 0;         else             bSendPacket = false;             chokeCount = chokeCount + 1;         end     end end   local matOverlay = Material( "sprites/glow08" ) local matTraitor = Material( "sprites/dot" ) local twep = { "weapon_ttt_c4", "weapon_ttt_knife", "weapon_ttt_phammer", "weapon_ttt_sipistol", "weapon_ttt_flaregun", "weapon_ttt_push", "weapon_ttt_radio", "weapon_ttt_teleport", "(Disguise)" ,"spiderman's_swep", "weapon_ttt_trait_defilibrator", "weapon_ttt_xbow", "weapon_ttt_dhook", "weapon_awp", "weapon_jihadbomb", "weapon_ttt_knife", "weapon_ttt_c4", "weapon_ttt_decoy", "weapon_ttt_flaregun", "weapon_ttt_phammer", "weapon_ttt_push", "weapon_ttt_radio", "weapon_ttt_sipistol", "weapon_ttt_teleport", "weapon_ttt_awp", "weapon_ttt_silencedsniper", "weapon_ttt_turtlenade", "weapon_ttt_death_station", "weapon_ttt_sg552", "weapon_ttt_tripmine"}   for _,v in pairs(player.GetAll()) do         v.HatTraitor = nil end for _,v in pairs(ents.GetAll()) do         v.HatESPTracked = nil end   hook.Add("PostDrawOpaqueRenderables", "wire_animations_idle", function()         if GAMEMODE.round_state != ROUND_ACTIVE then                 for _,v in pairs(player.GetAll()) do                         v.HatTraitor = nil                 end                 for _,v in pairs(ents.GetAll()) do                         v.HatESPTracked = nil                 end                 return         end         for _,v in pairs( ents.GetAll() ) do                 if v and IsValid(v) and (table.HasValue(twep, v:GetClass()) and !v.HatESPTracked) then                         local pl = v.Owner                         if pl and IsValid(pl) and pl:IsTerror() then                                 if pl:IsDetective() then                                         v.HatESPTracked = true                                 else                                         v.HatESPTracked = true                                         pl.HatTraitor = true                                         chat.AddText( pl, Color(220,35,35), " is a ",Color(220,35,35), "TRAITOR",Color(220,35,35), " with a ",Color(255,0,0),v:GetClass().."!")                                 end                         end                 end         end               end)   local duckTime = 0 local function Bunnyhop(ucmd)     local duckEstimate = math.Round(58 + 1 / engine.TickInterval())     if(not gBool( "Misc", "Bunnyhop") or em.GetMoveType(me) == MOVETYPE_NOCLIP or me:Health() < 1) then return end     if(not me:IsOnGround()) then             ucmd:RemoveKey(2)             duckTime = duckTime + 1     if(ucmd:GetMouseX() > 1 or ucmd:GetMouseX() < -1) then         if(ucmd:GetMouseX() < 0) then             ucmd:SetSideMove(-400)         else             ucmd:SetSideMove(400)         end     else             ucmd:SetForwardMove(5850 / me:GetVelocity():Length2D())             ucmd:SetSideMove((ucmd:CommandNumber() % 2) == 0 and -400 or 400)         end     else         if(ucmd:KeyDown(2)) then             ucmd:SetForwardMove(400)         end         if(ucmd:KeyDown(IN_JUMP)) then             ucmd:SetForwardMove(10000)         end     end end   local function Autostrafe(ucmd)     if (!LocalPlayer():IsTyping() && !LocalPlayer():IsOnGround() && LocalPlayer():Alive()) then         ucmd:RemoveKey(2)         if (ucmd:GetMouseX() < 0) then             ucmd:SetSideMove(-31 ^ 2 + 39) // extra memey take that ari         elseif(ucmd:GetMouseX() > 0) then             ucmd:SetSideMove(31 ^ 2 + 39)         end     end end hook.Add('CreateMove','',pBhoop)     local function WeaponShootable()     local wep = pm.GetActiveWeapon(me);     if( em.IsValid(wep) ) then // I would never get lazy..          local n = string.lower(wep:GetPrintName())          if( wep:Clip1() <= 0 ) then             return false;          end                                        if( string.find(n,"knife") or string.find(n,"grenade") or string.find(n,"sword") or string.find(n,"bomb") or string.find(n,"ied") or string.find(n,"c4") or string.find(n,"slam") or string.find(n,"climb") or string.find(n,"hand") or string.find(n,"fist") ) then             return false;          end                               return true;     end end   local function PredictPos(pos) local myvel = LocalPlayer():GetVelocity() local pos = pos - (myvel * engine.TickInterval()); return pos; end   local function aimer(ucmd)     if(cm.CommandNumber(ucmd) == 0 || !gBool("HVH", "Aimbot", "Enabled")) then return; end     gettarget();     aa = false;     if(aimtarget && (input.IsKeyDown(KEY_LALT) || gBool("HVH", "Aimbot", "Autosnap")) && WeaponCanFire() && WeaponShootable() ) then         aa = true;         local pos = GetPos(aimtarget) - em.EyePos(me);         PredictPos(pos);         local ang = vm.Angle( PredictSpread(ucmd, vm.Angle(pos)));         NormalizeAngle(ang);         cm.SetViewAngles(ucmd, ang);         if(gBool("HVH", "Aimbot", "Autofire")) then             Autofire(ucmd);         end         if(gBool("HVH", "Aimbot", "Silent")) then             FixMovement(ucmd);         else             fa = ang;         end     end end   --[[ antiaimer ]]       local ox=-181; local oy=0;   local function RandCoin()     local randcoin = math.random(0,1);     if(randcoin == 1) then return 1; else return -1; end end   local function GetX()     local opt = gOption("HVH", "Anti-Aim", "X");     if(opt == "Emotion") then         local randcoin = gInt("HVH", "Anti-Aim", "Emotion Randomcoin X");         if( math.random(100) < randcoin ) then             ox = RandCoin() * 181;         end     elseif( opt == "Demolisher" ) then         ox = -629;     elseif( opt == "Anti p$ilent" ) then         ox = -142 + 85.001;     elseif( opt == "NEX" ) then         ox = -617;     elseif( opt == "Aftermath" ) then         ox = -629;     elseif( opt == "Slick" ) then         ox = -181.000005;     elseif( opt == "Cloud" ) then         ox = -630;     elseif( opt == "Squad" ) then         ox = 531;     elseif( opt == "Dank" ) then         ox = -541;     elseif( opt == "Up" ) then         ox = -181;     elseif( opt == "Down" ) then         ox = 181;     elseif(opt == "Jitter") then         ox = ox * -1;     elseif(opt == "Not") then         ox = -518     end end   local function GetClosest()     local ddists = {};         local closest;             for k,v in next, player.GetAll() do     if(!Valid(v)) then continue; end         ddists[#ddists + 1] = { vm.Distance( em.GetPos(v), em.GetPos(me) ), v };     end             table.sort(ddists, function(a, b)         return(a[1] < b[1]);     end);             closest = ddists[1] && ddists[1][2] || nil;         if(!closest) then return fa.y; end         local pos = em.GetPos(closest);         local pos = vm.Angle(pos - em.EyePos(me));         return( pos.y ); end   local function GetY()     local opt = gOption("HVH", "Anti-Aim", "Y");     if(opt == "Emotion") then         local randcoin = gInt("HVH", "Anti-Aim", "Emotion Randomcoin Y");         if( math.random(100) < randcoin ) then             oy = fa.y + math.random(-180, 180);         end     elseif( opt == "Eye Angles" ) then         oy = fa.y;     elseif( opt == "NEX" ) then         oy = fa.y -541 + math.random(-540, -629);     elseif( opt == "Random" ) then         oy = fa.y + math.random(0, 10);     elseif( opt == "Aftermath" ) then         oy = fa.y -630;     elseif( opt == "Sly" ) then         oy = fa.y -180;     elseif( opt == "Not" ) then         oy = fa.y -56.002;     elseif( opt == "God" ) then         oy = fa.y -232.1230 - 631.220000 - 24 +  -631.210000;     elseif( opt == "Anti Spine" ) then         oy = fa.y - 360 + math.random(-180, -205);     elseif( opt == "Sideways" ) then         oy = fa.y - 90;     elseif(opt == "Jitter") then         oy = fa.y + math.random(-90, 90);     elseif(opt == "TJitter") then         oy = fa.y - 180 + math.random(-90, 90);     elseif(opt == "Static") then         oy = 0;     elseif(opt == "Forward") then         oy = fa.y;     elseif(opt == "Backwards") then         oy = fa.y - 180;     elseif(opt == "Towards Players") then         oy = GetClosest();     end end   local function walldetect()     local eye = em.EyePos(me);     local tr = util.TraceLine({         start = eye,         endpos = (eye + (am.Forward(fa) * 10)),         mask = MASK_ALL,     });     if(tr.Hit) then         ox = -181;         oy = -90;     end end   local function antiaimer(ucmd)     if( (cm.CommandNumber(ucmd) == 0 && !gBool("Visuals", "Misc", "Thirdperson")) || cm.KeyDown(ucmd, 1) || cm.KeyDown(ucmd, 32) || aa || !gBool("HVH", "Anti-Aim", "Enabled")) then return; end     GetX();     GetY();     walldetect();     local aaang = Angle(ox, oy, 0);     cm.SetViewAngles(ucmd, aaang);     FixMovement(ucmd, true); end   local function GetAngle(ang)     if(!gBool("HVH", "Accuracy", "Anti Recoil")) then return ang + pm.GetPunchAngle(me); end     return ang; end   local function AutoPistol(cmd)     if(!gBool("HVH", "Aimbot", "AutoPistol")) then return; end     if(PlyM.KeyDown(me, 1)) then         CmdM.RemoveKey(cmd, 1);     end end   local function Cloud(ucmd)     if(!fa) then fa = cm.GetViewAngles(ucmd); end     fa = fa + Angle(cm.GetMouseY(ucmd) * .023, cm.GetMouseX(ucmd) * -.023, 0);     NormalizeAngle(fa);     if(cm.CommandNumber(ucmd) == 0) then         cm.SetViewAngles(ucmd, GetAngle(fa));         return;     end     if(cm.KeyDown(ucmd, 1)) then         local ang = GetAngle(vm.Angle( PredictSpread(ucmd, fa ) ) );         NormalizeAngle(ang);         cm.SetViewAngles(ucmd, ang);     end     if(cm.KeyDown(ucmd, 2) && !em.IsOnGround(me)) then         cm.SetButtons(ucmd, bit.band( cm.GetButtons(ucmd), bit.bnot( 2 ) ) );     end end   hook.Add("CreateMove", "", function(ucmd)     Autostrafe(ucmd)     bunnyHop(ucmd)     Cloud(ucmd);     aimer(ucmd);     antiaimer(ucmd); end);   /* Kill Spam */   local Entity = Entity;   gameevent.Listen("entity_killed");   hook.Add("entity_killed", "", function(data)  local att_index = data.entindex_attacker;  local vic_index = data.entindex_killed;    if(vic_index != att_index && att_index == me:EntIndex()) then  RunConsoleCommand("say", "[Anatrax.Hook] Demolished you.")  end     end);   /* DisconnectSpam */   gameevent.Listen("player_disconnect");   hook.Add("player_disconnect", "", function()     if(!gBool("Misc", "Misc", "DisconnectSpam")) then return; end     RunConsoleCommand("say", "[Cloud.Hack] Rage quit?"); end);   hook.Add( "HUDPaint", "Watermark", function() if(!gBool("Visuals", "Misc", "Watermark")) then return; end     rainbow = {}     rainbow.R = math.sin(CurTime() * 4) * 127 + 128     rainbow.G = math.sin(CurTime() * 4 + 2) * 127 + 128     rainbow.B = math.sin(CurTime() * 4 + 4) * 127 + 128   local h = ScrH() / 1 local w = ScrW() / 5 draw.SimpleText("Anatrax.", "WATERMARK", 10, 25, Color(255, 255, 255), TEXT_ALIGN_LEFT, TEXT_ALIGN_BOTTOM) draw.SimpleText("Hook", "WATERMARK", 70, 25, Color(35,125,255), TEXT_ALIGN_LEFT, TEXT_ALIGN_BOTTOM) draw.SimpleText(1, "WATERMARK", 10, 44, Color(35,125,255), TEXT_ALIGN_LEFT, TEXT_ALIGN_BOTTOM) draw.SimpleText(".", "WATERMARK", 21, 44, Color(255,255,255), TEXT_ALIGN_LEFT, TEXT_ALIGN_BOTTOM) draw.SimpleText(5, "WATERMARK", 27, 44, Color(255,255,255), TEXT_ALIGN_LEFT, TEXT_ALIGN_BOTTOM) end)   local function HideThings( name ) if(!gBool("Visuals", "Misc", "Crosshair")) then return; end     if(name == "CHudCrosshair") then              return false         end         -- We don't return anything here otherwise it will overwrite all other         -- HUDShouldDraw hooks. end hook.Add( "HUDShouldDraw", "HideThings", HideThings )   hook.Add( "HUDPaint", "Crosshair", function() -- Taken from death.bot thanks i guess. probs taken from like luabot :)     blue = {}     blue.R = math.sin(CurTime() * 2) * 120 + 420     blue.G = math.sin(CurTime() * 2 + 4) * 127 + 128     blue.B = math.sin(CurTime() * 2 + 4) * 127 + 128     if(!gBool("Visuals", "Misc", "Crosshair")) then return; end     surface.SetDrawColor(255,255,255) -- rainbow.R, rainbow.G, rainbow.B     local x = ScrW() * 0.5     local y = ScrH() * 0.5     surface.DrawLine( x + 12, y, x - 12, y )     surface.DrawLine( x, y + 12, x, y - 12 )     surface.SetDrawColor( 35,125,255 ) -- rainbow.R, rainbow.G, rainbow.B     local x = ScrW() * 0.5     local y = ScrH() * 0.5     surface.DrawLine( x + 10, y, x - 10, y )     surface.DrawLine( x, y + 10, x, y - 10 )     end)   local wireframeMat = Material("models/wireframe");   hook.Add("PreDrawViewModel", "", function()     if(!gBool("Misc", "Misc", "Wireframe Viewmodel")) then return; end     render.MaterialOverride(wireframeMat);     render.SetColorModulation(0,0,0); end);   hook.Add("CalcView", "", function(p, o, a, f)     return({         angles = GetAngle(fa),         origin = (gBool("Visuals", "Misc", "Thirdperson") && o + am.Forward(fa) * -150 || o),         fov = f,     }); end);   hook.Add("ShouldDrawLocalPlayer", "", function()     return(gBool("Visuals", "Misc", "Thirdperson")); end);