Advertisement
Guest User

cunikware gmod leak

a guest
Dec 13th, 2016
1,311
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 54.89 KB | None | 0 0
  1. /*
  2. $$$$$$\  $$\   $$\ $$\   $$\ $$$$$$\ $$\   $$\ $$\      $$\  $$$$$$\  $$$$$$$\  $$$$$$$$\
  3. $$  __$$\ $$ |  $$ |$$$\  $$ |\_$$  _|$$ | $$  |$$ | $\  $$ |$$  __$$\ $$  __$$\ $$  _____|
  4. $$ /  \__|$$ |  $$ |$$$$\ $$ |  $$ |  $$ |$$  / $$ |$$$\ $$ |$$ /  $$ |$$ |  $$ |$$ |      
  5. $$ |      $$ |  $$ |$$ $$\$$ |  $$ |  $$$$$  /  $$ $$ $$\$$ |$$$$$$$$ |$$$$$$$  |$$$$$\    
  6. $$ |      $$ |  $$ |$$ \$$$$ |  $$ |  $$  $$<   $$$$  _$$$$ |$$  __$$ |$$  __$$< $$  __|  
  7. $$ |  $$\ $$ |  $$ |$$ |\$$$ |  $$ |  $$ |\$$\  $$$  / \$$$ |$$ |  $$ |$$ |  $$ |$$ |      
  8. \$$$$$$  |\$$$$$$  |$$ | \$$ |$$$$$$\ $$ | \$$\ $$  /   \$$ |$$ |  $$ |$$ |  $$ |$$$$$$$$\
  9.  \______/  \______/ \__|  \__|\______|\__|  \__|\__/     \__|\__|  \__|\__|  \__|\________|
  10.                                                                                            
  11.                                                                                            
  12.                                                                                            
  13.         CUNIKWARE GMOD Cheat By cunik      
  14.        
  15. */
  16.  
  17. /*
  18.     CUNIKWARE
  19.         Variables
  20. */
  21.     local me = LocalPlayer();
  22.     local CUNIKWARE = {};
  23.         local servertime = 0;
  24.         local eTickInt = engine.TickInterval();
  25.         CUNIKWARE.Config = {};
  26.         CUNIKWARE.Colors = {};
  27.             CUNIKWARE.Colors.white = Color(255,255,255);
  28.             CUNIKWARE.Colors.green = Color(0,255,0);
  29.             CUNIKWARE.Colors.red   = Color(255,0,0);
  30.             CUNIKWARE.Colors.blue  = Color(0,0,255);
  31.         CUNIKWARE.F = {};
  32.         CUNIKWARE.SpreadTables = {};
  33.         CUNIKWARE.F["aimbot"] = {};
  34.         CUNIKWARE.F["draw"] = {};
  35.         CUNIKWARE.F["draw"].color = Color(253, 31, 31,250);
  36.         CUNIKWARE.F["draw"].menuHandle = {};
  37.         CUNIKWARE.F["aimbot"].DownOffset = Vector(0,0,-eTickInt);
  38.         CUNIKWARE.T = {}; // Trash variable ( temp variable storage )
  39.         CUNIKWARE.T["menu"] = {};
  40.         CUNIKWARE.T["menu"].open = false;
  41.  
  42. /*
  43.     CUNIKWARE
  44.         Fresh Global Variables & Detours
  45. */
  46.     local hook = hook or {};
  47.     local player = player or {};
  48.     local team = team or {};
  49.     local surface = surface or {};
  50.     local debug = debug or {};
  51.     local util = util or {};
  52.     local file = file or {};
  53.     local render = render or {};
  54.     local cam = cam or {};
  55.     local http = http or {};
  56.     local package = package or {};
  57.     local chat = chat or {};
  58.     local timer = timer or {};
  59.     local string = string or {};
  60.     local vgui = vgui or {};
  61.     local table = table or {};
  62.     local ents = ents or {};
  63.     local gui = gui or {};
  64.     local debug = debug or {};
  65.     local math = math or {};
  66.     local util = util or {};
  67.     local input = input or {};
  68.     local net = net;
  69.     local jit = jit;
  70.     local MsgC = MsgC;
  71.     local engine = engine;
  72.     local gameevent = gameevent;
  73.     local bit = bit;
  74.     local GAMEMODE = GAMEMODE;
  75.     local jit = jit;
  76.     local tostring = tostring;
  77.     local SortedPairs = SortedPairs;
  78.     local tonumber = tonumber;
  79.     local IsValid = IsValid;
  80.     local LocalPlayer = LocalPlayer;
  81.     local rawset = rawset;
  82.     local Lerp = Lerp;
  83.     local RunConsoleCommand = RunConsoleCommand;
  84.     local pairs = pairs;
  85.     local ipairs = ipairs;
  86.     local Angle = Angle;
  87.     local print = print;
  88.     local next = next;
  89.     local type = type;
  90.     local MsgN = MsgN;
  91.     local IsFirstTimePredicted = IsFirstTimePredicted;
  92.     local Material = Material;
  93.     local CreateMaterial = CreateMaterial;
  94.     local Msg = Msg;
  95.     local GetConVar = GetConVar;
  96.     local RunString = RunString;
  97.     local ScrW = ScrW;
  98.     local CurTime = CurTime;
  99.     local ScrH = ScrH;
  100.     local Entity = Entity;
  101.     local pcall = pcall;
  102.     local Format = Format;
  103.     local Color = Color;
  104.     local _G = _G;
  105.     local Vector = Vector;
  106.     local tobool = tobool;
  107.     local FindMetaTable = FindMetaTable;
  108.     local require = require;
  109.     local __eq = __eq;
  110.     local __tostring = __tostring;
  111.     local __gc = __mul;
  112.     local __index = __index;
  113.     local __concat = __concat;
  114.     local __newindex = __newindex;
  115.     local __add = __add;
  116.     local __sub = __sub;
  117.     local __div  = __div;
  118.     local __call = __call;
  119.     local __pow = __pow;
  120.     local __unm = __unm;
  121.     local __lt = __lt;
  122.     local __le = __le;
  123.     local __mode = __mode;
  124.     local __metatable = __metatable;
  125.     local MOVETYPE_OBSERVER = MOVETYPE_OBSERVER;
  126.     local TEAM_SPECTATOR = TEAM_SPECTATOR;
  127.     local KEY_UP, KEY_DOWN, KEY_RIGHT, KEY_LEFT, KEY_INSERT, KEY_F = KEY_UP, KEY_DOWN, KEY_RIGHT, KEY_LEFT, KEY_INSERT, KEY_F;
  128.     local MASK_SHOT, CONTENTS_WINDOW = MASK_SHOT, CONTENTS_WINDOW;
  129.  
  130.     debug.getinfo = function()
  131.         return {
  132.             what = "C",
  133.             source = "[C]",
  134.             source_src = "[C]",
  135.             linedefined = -1,
  136.             currentline = -1,
  137.             lastlinedefined = -1,
  138.             short_src = "[C]"
  139.         };
  140.     end
  141.     local leltable = {"What u doing snooping around in here!"};
  142.     hook.GetTable = function() return leltable; end
  143.     debug.traceback = function() return nil; end   
  144.     _G.system.IsOSX = function() return false; end
  145.     _G.system.IsWindows = function() return false; end
  146.     _G.system.IsLinux = function() return false; end
  147.    
  148.     CUNIKWARE.R       = debug.getregistry();
  149.     CUNIKWARE.CR       = table.Copy(CUNIKWARE.R);
  150.     vAngle                    = CUNIKWARE.R.Vector.Angle
  151.     vLength                   = CUNIKWARE.R.Vector.Length
  152.     vLengthSqr                   = CUNIKWARE.R.Vector.LengthSqr
  153.     vDistance                 = CUNIKWARE.R.Vector.Distance
  154.     vToScreen                 = CUNIKWARE.R.Vector.ToScreen
  155.     aForward                  = CUNIKWARE.R.Angle.Forward
  156.     pShootPos              = CUNIKWARE.R.Player.GetShootPos
  157.     pGetFriendStatus  = CUNIKWARE.R.Player.GetFriendStatus
  158.     pGetActiveWeapon  = CUNIKWARE.R.Player.GetActiveWeapon
  159.     pNick                     = CUNIKWARE.R.Player.Nick
  160.     pEyePos                   = CUNIKWARE.R.Entity.EyePos
  161.     pTeam                     = CUNIKWARE.R.Player.Team
  162.     pInVehicle        = CUNIKWARE.R.Player.InVehicle
  163.     pIsBot                    = CUNIKWARE.R.Player.IsBot
  164.     pAlive                    = CUNIKWARE.R.Player.Alive
  165.     eIsOnGround               = CUNIKWARE.R.Entity.IsOnGround
  166.     eHealth                   = CUNIKWARE.R.Entity.Health
  167.     eIsPlayer                 = CUNIKWARE.R.Entity.IsPlayer
  168.     eLocalToWorld     = CUNIKWARE.R.Entity.LocalToWorld
  169.     eGetPos                   = CUNIKWARE.R.Entity.GetPos
  170.     eGetFriendStatus          = CUNIKWARE.R.Entity.GetFriendStatus
  171.     eOnGround                 = CUNIKWARE.R.Entity.OnGround
  172.     eOBBCenter                = CUNIKWARE.R.Entity.OBBCenter
  173.     eDrawModel                = CUNIKWARE.R.Entity.DrawModel
  174.     eWaterLevel               = CUNIKWARE.R.Entity.WaterLevel
  175.     eGetMoveType              = CUNIKWARE.R.Entity.GetMoveType
  176.     eGetClass                 = CUNIKWARE.R.Entity.GetClass
  177.     eIsValid                  = CUNIKWARE.R.Entity.IsValid
  178.     eIsDormant                  = CUNIKWARE.R.Entity.IsDormant
  179.     eGetColor                  = CUNIKWARE.R.Entity.GetColor
  180.     eLookupBone               = CUNIKWARE.R.Entity.LookupBone
  181.     eGetVelocity              = CUNIKWARE.R.Entity.GetVelocity
  182.     eGetVelocity              = CUNIKWARE.R.Entity.GetVelocity
  183.     eGetMaxHealth     = CUNIKWARE.R.Entity.GetMaxHealth
  184.     eSetPoseParameter = CUNIKWARE.R.Entity.SetPoseParameter
  185.     eEyeAngles                = CUNIKWARE.R.Entity.EyeAngles
  186.     eGetAttachment    = CUNIKWARE.R.Entity.GetAttachment
  187.     eLookupAttachment = CUNIKWARE.R.Entity.LookupAttachment
  188.     eGetHitBoxBone = CUNIKWARE.R.Entity.GetHitBoxBone
  189.     eGetHitBoxBounds = CUNIKWARE.R.Entity.GetHitBoxBounds
  190.     eGetHitBoxGroupCount = CUNIKWARE.R.Entity.GetHitBoxGroupCount
  191.     eGetHitBoxCount = CUNIKWARE.R.Entity.GetHitBoxCount
  192.     eGetBoneParent = CUNIKWARE.R.Entity.GetBoneParent
  193.     eGetBoneCount = CUNIKWARE.R.Entity.GetBoneCount;
  194.     eOBBMins                  = CUNIKWARE.R.Entity.OBBMins
  195.     eOBBMaxs                  = CUNIKWARE.R.Entity.OBBMaxs
  196.     eGetBonePosition          = CUNIKWARE.R.Entity.GetBonePosition
  197.     eLookupBone          = CUNIKWARE.R.Entity.LookupBone
  198.     eInvalidateBoneCache          = CUNIKWARE.R.Entity.InvalidateBoneCache
  199.     wClip1                    = CUNIKWARE.R.Weapon.Clip1
  200.     wGetNextPrimaryFire = CUNIKWARE.R.Weapon.GetNextPrimaryFire
  201.     cGetForwardMove   = CUNIKWARE.R.CUserCmd.GetForwardMove
  202.     cGetSideMove              = CUNIKWARE.R.CUserCmd.GetSideMove
  203.     cGetViewAngles    = CUNIKWARE.R.CUserCmd.GetViewAngles
  204.     cSetViewAngles    = CUNIKWARE.R.CUserCmd.SetViewAngles
  205.     cSetForwardMove   = CUNIKWARE.R.CUserCmd.SetForwardMove
  206.     cSetSideMove              = CUNIKWARE.R.CUserCmd.SetSideMove
  207.     cGetMouseX                = CUNIKWARE.R.CUserCmd.GetMouseX
  208.     cGetMouseY                = CUNIKWARE.R.CUserCmd.GetMouseY
  209.     cGetButtons               = CUNIKWARE.R.CUserCmd.GetButtons
  210.     cSetButtons               = CUNIKWARE.R.CUserCmd.SetButtons
  211.     cRemoveKey                = CUNIKWARE.R.CUserCmd.RemoveKey
  212.     cKeyDown                  = CUNIKWARE.R.CUserCmd.KeyDown
  213.     cCommandNumber    = CUNIKWARE.R.CUserCmd.CommandNumber
  214.     cvGetBool                 = CUNIKWARE.R.ConVar.GetBool
  215.        
  216. /*
  217.     CUNIKWARE
  218.         Configuration
  219. */ 
  220.  
  221.     RunConsoleCommand("hud_draw_fixed_reticle","1");
  222.  
  223.     surface.CreateFont( "MenuTitle", {
  224.     font = "Trebuchet24",
  225.     size = 13,
  226.     weight = 500,
  227.     blursize = 0,
  228.     scanlines = 0,
  229.     antialias = true,
  230.     underline = false,
  231.     italic = false,
  232.     strikeout = false,
  233.     symbol = false,
  234.     rotary = false,
  235.     shadow = false,
  236.     additive = false,
  237.     outline = false,
  238.     } )
  239.  
  240.  
  241.     CUNIKWARE.Config.version = "1.0";
  242.     CUNIKWARE.Config["Aimbot"] = {};
  243.     CUNIKWARE.Config["Misc"] = {};
  244.     CUNIKWARE.Config["hvh"] = {};
  245.     CUNIKWARE.Config["Misc"]["ThirdPerson"] = false;
  246.     CUNIKWARE.Config["Misc"]["Bhop"] = false;
  247.     CUNIKWARE.Config["Misc"]["StealNames"] = false;
  248.     CUNIKWARE.Config["Misc"]["SpeedHack"] = false;
  249.     CUNIKWARE.Config["Misc"]["FOV"] = false;
  250.     CUNIKWARE.Config["Misc"]["WireFrame"] = false;
  251.     CUNIKWARE.Config["Misc"]["SpamChat"] = false;
  252.     CUNIKWARE.Config["hvh"]["AAA"] = true;
  253.     CUNIKWARE.Config["hvh"]["AA"] = false;
  254.     CUNIKWARE.Config["hvh"]["AA_CHEW"] = 3;
  255.     CUNIKWARE.Config["hvh"]["AA_TYPE"] = 2;
  256.     CUNIKWARE.Config["hvh"]["FakeLag"] = false;
  257.     CUNIKWARE.Config["hvh"]["FakeLagPred"] = false;
  258.     // 180,580,1266,562,900,1657
  259.     //CUNIKWARE.Config["hvh"]["AA_TEST_P"] = 1266;
  260.     CUNIKWARE.Config["esp"] = {};
  261.     CUNIKWARE.Config["esp"]["chams"] = false;
  262.     CUNIKWARE.Config["esp"]["on"] = false;
  263.     CUNIKWARE.Config["esp"]["rainbow"] = false;
  264.     CUNIKWARE.Config["esp"]["headbox"] = false;
  265.     CUNIKWARE.Config["esp"]["type"] = 0;
  266.     CUNIKWARE.Config["esp"]["names"] = false;
  267.     CUNIKWARE.Config["esp"]["Radar"] = false;
  268.     CUNIKWARE.Config["Aimbot"]["on"] = false;
  269.     CUNIKWARE.Config["Aimbot"]["SilentAim"] = true;
  270.     CUNIKWARE.Config["Aimbot"]["AutoWall"] = false;
  271.     CUNIKWARE.Config["Aimbot"]["GhostCheck"] = false;
  272.     CUNIKWARE.Config["Aimbot"]["pSilentAim"] = false;
  273.     CUNIKWARE.Config["Aimbot"]["useHitboxes"] = false;
  274.     CUNIKWARE.Config["Aimbot"]["No-Spread"] = false;
  275.     CUNIKWARE.Config["Aimbot"]["No-Recoil"] = false;
  276.     CUNIKWARE.Config["Aimbot"]["ragemode"] = false;
  277.     CUNIKWARE.Config["Aimbot"]["targetfriends"] = false;
  278.     CUNIKWARE.Config["Aimbot"]["targetteam"] = false;
  279.     CUNIKWARE.Config["Aimbot"]["onlytargetteam"] = false;
  280.    
  281.     me:ConCommand([[cl_interp 0.066;cl_interp_ratio 2;cl_updaterate 120]])
  282.  
  283. /*
  284.     CUNIKWARE
  285.         Initial Hooked/Main Functions
  286. */
  287.     CUNIKWARE.R.Entity.FireBullets = function( entity, bulletInfo )
  288.         local curWep = eGetClass(pGetActiveWeapon(me));
  289.         local spread = bulletInfo.Spread;
  290.         if(spread == Vector() ) then return; end
  291.         CUNIKWARE.SpreadTables[curWep] = spread;
  292.         CUNIKWARE.CR.Entity.FireBullets(entity,bulletInfo);
  293.     end
  294.    
  295.    
  296.     local NoSprd_CenterBullet = function(cmd,AngleToCenter)
  297.         local curWep = eGetClass(pGetActiveWeapon(me));
  298.         local pAngs = CUNIKWARE.SpreadTables[curWep];
  299.         if( pAngs == nil ) then return AngleToCenter; end
  300.        
  301.         local ang = vAngle(DS_manipulateShot( DS_md5PseudoRandom( cCommandNumber(cmd) ), aForward(AngleToCenter), Vector(-pAngs.x,-pAngs.y,0)));
  302.         ang.y, ang.x = math.NormalizeAngle(ang.y), math.NormalizeAngle(ang.x);
  303.         return ang ;
  304.        
  305.     end
  306.    
  307.     local NoRcl_CenterGun = function(vec)
  308.         if(!CUNIKWARE.Config["Aimbot"]["No-Recoil"]) then return vec; end
  309.             return vec - me:GetPunchAngle();
  310.     end
  311.    
  312.  
  313. /*
  314.     CUNIKWARE
  315.         Initial Functions
  316. */
  317.     local ifCOND = function(cond,y,n) if(cond) then return y; else return n; end end
  318.     local wepAutomatic = function() local wep = pGetActiveWeapon(me); return wep != NULL && wep.Primary && wep.Primary.Automatic; end
  319.     local DrawMSG = function(tf, msg) local MsgMethod = ifCOND(tf,MsgC, chat.AddText) MsgMethod(CUNIKWARE.Colors.white, "[", CUNIKWARE.Colors.green, "CUNIKWARE", CUNIKWARE.Colors.white, "]: ", msg, ifCOND(tf,"\n","")); end
  320.     local RequireO = function(strName) RunConsoleCommand("require", "dlls/" .. strName); end
  321.     local ExtRequire = function(includeFile) DrawMSG(true, "Including Module \"" .. includeFile .. "\""); require(includeFile); DrawMSG(true, "Loaded Module \"" .. includeFile .. "\""); end
  322.     local SortClosestEntity = function(k,v) return vLengthSqr(eGetPos(k) - eGetPos(me)) < vLengthSqr(eGetPos(v) - eGetPos(me)); end
  323.     local NumberInRange = function(num,min,max)  return num <= max && num >= min; end
  324.     local VectorConversion = function(rgb) local tbl = rgb; for k,v in next, tbl do tbl[k] = v / 255; end return tbl; end
  325.     local RecoilFix = function() local curWep = pGetActiveWeapon(me);
  326.         if(curWep.Primary != nil or false)then
  327.             if curWep.Primary.Recoil then
  328.                 curWep.Primary.Recoil = 0
  329.             end
  330.              if curWep.Primary.KickUp then
  331.                 curWep.Primary.KickUp = 0
  332.                 curWep.Primary.KickDown = 0
  333.                curWep.Primary.KickHorizontal = 0
  334.             end
  335.             end
  336.     end
  337.    
  338.     local StealNames = function()
  339.     if(!CUNIKWARE.Config["Misc"]["StealNames"]) then return; end
  340.         local hacker = player.GetAll()
  341.         for k,v in next,hacker do
  342.             if(v == me || string.find(pNick(v), pNick(me))) then table.remove(hacker,k); end
  343.         end
  344.         GetConVar("name"):SetValue(table.Random(hacker):Nick() .. "⁢");
  345.     end
  346.    
  347.     // Closest thing u will ever see to engine pred
  348.     local VelocityPrediction = function(ent,aimPos)
  349.         local self_Velocity,target_Velocity = eGetVelocity(me), eGetVelocity(ent);
  350.         self_Velocity.z,target_Velocity.z = 0; // We cant trust horizonal Prediction, its not reliable
  351.         return aimPos - (self_Velocity * engine.TickInterval() + target_Velocity * engine.TickInterval() );
  352.     end
  353.    
  354.     local fakelagBucket = {};
  355.     local FakeLagPrediction = function(v)
  356.         if(v == nil || !CUNIKWARE.Config["hvh"]["FakeLagPred"]) then return Vector(0,0,0); end
  357.         if(!fakelagBucket[v]) then
  358.             fakelagBucket[v] = {
  359.                 eGetVelocity(v),
  360.                 eGetPos(v),
  361.                 0,
  362.             };
  363.         end
  364.  
  365.         local oldVel = fakelagBucket[v][1];
  366.         local oldPos = fakelagBucket[v][2];
  367.    
  368.         fakelagBucket[v][1] = eGetVelocity(v);
  369.         fakelagBucket[v][2] = eGetPos(v);
  370.    
  371.         if(oldVel == Vector()) then
  372.             fakelagBucket[v][3] = 0;
  373.             return Vector(0,0,0);
  374.         end
  375.    
  376.         if(fakelagBucket[v][1] == oldVel && oldPos == fakelagBucket[v][2]) then
  377.             fakelagBucket[v][3] = fakelagBucket[v][3] + 1;
  378.    
  379.             return ((oldVel * (eTickInt * fakelagBucket[v][3])));
  380.         else
  381.             fakelagBucket[v][3] = 0;
  382.         end
  383.         return Vector(0,0,0);
  384.     end
  385.  
  386.  
  387.     local aIsVisible = function(v, vec)
  388.         local trace = util.TraceLine( {
  389.             start = VelocityPrediction(me,pEyePos(me)),
  390.             endpos = (VelocityPrediction(me,vec) + FakeLagPrediction(v)),
  391.             filter = {v,me},
  392.             mask = ifCOND(!CUNIKWARE.Config["Aimbot"]["AutoWall"], MASK_SHOT,MASK_VISIBLE)
  393.         } );
  394.         return trace.Entity == v || !trace.Hit || trace.Fraction == 1;
  395.     end
  396.    
  397.     local GetCurTime = function()
  398.         if(!IsFirstTimePredicted()) then return; end
  399.         servertime = CurTime() + eTickInt;
  400.     end
  401.  
  402.     local CanFire = function()
  403.         local wep = pGetActiveWeapon(me)
  404.         if(!eIsValid(wep)) then return; end
  405.         return( servertime >= wGetNextPrimaryFire(wep) );
  406.     end
  407.    
  408.     CUNIKWARE.F.ForceVar = function(Var,Val)
  409.         GetConVar(Var):SetValue(Val);
  410.     end
  411.    
  412.     local SpeedHack = function()
  413.         if(input.IsKeyDown(KEY_B) && CUNIKWARE.Config["Misc"]["SpeedHack"]) then
  414.                 GetConVar("sv_cheats"):SetValue(1)
  415.                 GetConVar("host_timescale"):SetValue(4)
  416.             else
  417.                 GetConVar("sv_cheats"):SetValue(0)
  418.                 GetConVar("host_timescale"):SetValue(1)        
  419.         end
  420.     end
  421.    
  422. /*
  423.     CUNIKWARE
  424.         JSON Save Management
  425. */ 
  426.    
  427.     local JSONFileStructCheck = function()
  428.         if(!file.Exists("CUNIKWARE_config","DATA")) then
  429.             file.CreateDir("CUNIKWARE_config");
  430.         end
  431.     end
  432.    
  433.     local JSONLoad = function(filename)
  434.         if(!file.Exists("CUNIKWARE_config/" .. filename .. ".txt", "DATA")) then print("Config " .. filename .. " Does not exist!"); return; end
  435.         local JSONTbl = util.JSONToTable(file.Read("CUNIKWARE_config/" .. filename .. ".txt", "DATA"));
  436.        
  437.             for tblTypeN,tblType in next, JSONTbl do
  438.                 if(tblPTypeN == "version" || tblPType == "version" || tblTypeN == "version" || tblType == "version") then continue; end
  439.                 for tblPTypeN,tblPType in next, tblType do
  440.                     print("Loading Config " .. filename .. ": " .. tblTypeN,tblPTypeN,tblPType);
  441.                     CUNIKWARE.Config[tblTypeN][tblPTypeN] = tblPType;
  442.                 end
  443.             end
  444.             CUNIKWARE.F["draw"].notfication("Configuration File " .. filename .. " Loaded!",Color(44, 62, 80,180),2);
  445.        
  446.     end
  447.    
  448.     local JSONSave = function(tbl,filename)
  449.         JSONFileStructCheck(); // Check if director exists
  450.         print("Making...");
  451.         local tblJSON = util.TableToJSON(tbl,true);
  452.         file.Write("CUNIKWARE_config/" .. filename .. ".txt", tblJSON);
  453.         CUNIKWARE.F["draw"].notfication("Configuration File " .. filename .. " Saved!",Color(44, 62, 80,180),2);
  454.     end
  455.  
  456. /*
  457.     CUNIKWARE
  458.         Required Modules Include
  459. */
  460.    
  461.     ExtRequire("spreadthebutter");
  462.     ExtRequire("cvar3");
  463.     ExtRequire("name_enabler");
  464.     if(PA4 == nil) then RequireO("1/gmcl_aaa_win32.dll"); end
  465.  
  466.         //  timer.Simple(0.5, function() PA4.AAAX(CUNIKWARE.Config["hvh"]["AAA"]);PA4.AAAY(CUNIKWARE.Config["hvh"]["AAA"]); end); // cancer cancer cancer
  467.    
  468.    
  469. /*
  470.     CUNIKWARE
  471.         Mouse Correction
  472. */
  473.     local SilentMouse = function(cmd,aa)
  474.         if(!CUNIKWARE.Config["Aimbot"]["SilentAim"]) then return ms; end
  475.         if (!ms) then ms = cGetViewAngles(cmd) end
  476.         ms = ms + Angle(cGetMouseY(cmd) * .023, cGetMouseX(cmd) * -.023, 0);
  477.         ms.x = math.NormalizeAngle(ms.x);
  478.         ms.p = math.Clamp(ms.p, -89, 89);
  479.     end
  480.    
  481.     local FixMovement = function(cmd,aa)
  482.         if(!CUNIKWARE.Config["Aimbot"]["SilentAim"]) then return; end
  483.         local move = Vector( cGetForwardMove(cmd), cGetSideMove(cmd), 0 );
  484.         local angle = cGetViewAngles(cmd);
  485.         angle.x = 0
  486.         move = aForward(( vAngle(move) + (angle - ms) )) * move:Length();
  487.    
  488.         if( aa && cGetViewAngles(cmd).x > 90 || aa && cGetViewAngles(cmd).x < -90 ) then
  489.             move.x = -move.x
  490.         end
  491.    
  492.         cSetForwardMove(cmd, move.x );
  493.         cSetSideMove(cmd, move.y );
  494.     end
  495.    
  496. /*
  497.     CUNIKWARE
  498.         Anti-Aims
  499. */ 
  500. local aaJam = 0;
  501. local AATbl = {1,4,7,10};
  502. local aaLoop = 1;
  503. local aaUpFake = false;
  504.  
  505. local pPitch_y = {360,270};
  506.     local antiAimHandle = function(cmd)
  507.    
  508.         local startAngle = Angle();
  509.        
  510.         /*
  511.             Anti Aim Research Notes:
  512.            
  513.             After testing for days with different angles, I came across this angle that fakes in range angles.
  514.            
  515.             The angle 631 fakes the 80 range, im pretty sure it fakes 87 or 85
  516.            
  517.             You can mess with this angle too make it manipulate angles Such as 633 that fakes 87
  518.            
  519.         */
  520.         chokeAngle = false;
  521.         aaFixAngle = true;
  522.  
  523.        
  524.         if(CUNIKWARE.Config["hvh"]["AA_TYPE"] == 1) then
  525.             // FAKES 85
  526.             if(aaJam < 1) then
  527.                 startAngle.p = -180;
  528.                 startAngle.y = 0;
  529.                 startAngle.r = 0;
  530.                 aaJam = aaJam + 1;
  531.                 chokeAngle = true;
  532.             else
  533.                 startAngle.p = 180;
  534.                 startAngle.y = 0;
  535.                 startAngle.r = 0;
  536.                 aaJam = 0;
  537.                 chokeAngle = false;
  538.             end
  539.         else if(CUNIKWARE.Config["hvh"]["AA_TYPE"] == 2) then
  540.             // UN-CORRECTABLE AA
  541.                 local daYaw = math.random(-1,1);
  542.                 local syncmp =  table.Random({1,4,7,10});
  543.             if(aaJam < CUNIKWARE.Config["hvh"]["AA_CHEW"]) then
  544.                 startAngle.p = syncmp;         
  545.                 startAngle.y = syncmp;         
  546.                 startAngle.r = 0;
  547.                 aaJam = aaJam +1;
  548.  
  549.                 if(aaJam == CUNIKWARE.Config["hvh"]["AA_CHEW"]) then
  550.                     chokeAngle = false;
  551.                 else
  552.                     chokeAngle = true;
  553.                 end
  554.             else
  555.                 startAngle.p =  table.Random({-632,-635,-633});
  556.                 startAngle.y = daYaw + syncmp + 180;
  557.                 startAngle.r = 0;
  558.                 aaJam = 0;
  559.                 chokeAngle = true;
  560.                 aaFixAngle = false;
  561.             end
  562.             aaLoop = aaLoop + 1;   
  563.         else if(CUNIKWARE.Config["hvh"]["AA_TYPE"] == 3) then
  564.             // ANTI SPINE AA
  565.             if(aaLoop > #AATbl) then aaLoop = 1; end           
  566.             startAngle.p = -181;           
  567.             startAngle.y = 360 + AATbl[aaLoop];        
  568.             startAngle.r = 0;
  569.             aaLoop = aaLoop + 1;   
  570.         else if(CUNIKWARE.Config["hvh"]["AA_TYPE"] == 4) then
  571.             // Jitter AA
  572.             startAngle.p = -181;
  573.             startAngle.y = ms.y + math.random(-90,90);
  574.             startAngle.r = 0;
  575.         else if(CUNIKWARE.Config["hvh"]["AA_TYPE"] == 5) then
  576.             // T-JITTER AA
  577.             startAngle.p = -181;
  578.             startAngle.y = ms.y - -900 + math.random(-90,90);
  579.             startAngle.r = 0;
  580.         else if(CUNIKWARE.Config["hvh"]["AA_TYPE"] == 6) then
  581.             startAngle.p = 180.087929;
  582.             startAngle.y = 0;
  583.             startAngle.r = 0;
  584.             aaJam = 0;
  585.         end
  586.         end
  587.         end
  588.         end
  589.         end
  590.         end
  591.          
  592.        
  593.         //aaUpFake = !aaUpFake;
  594.         //startAngle.p = 90.1;
  595.         //startAngle.y = RealTime()*160%360;
  596.         //startAngle.r = 0;
  597.        
  598.            
  599.         //PA4.CHOKE_PACKETS(chokeAngle);
  600.         cSetViewAngles(cmd,startAngle);
  601.         FixMovement(cmd,aaFixAngle);
  602.     end
  603.    
  604. /*
  605.     CUNIKWARE
  606.         Aimbot Functions
  607. */ 
  608.  
  609.     local returnHitBoxedBone = function(ent,h1,h2)
  610.         local bone = eGetBonePosition(ent, eGetHitBoxBone(ent, h1,h2));
  611.         local mins,maxs = eGetHitBoxBounds(ent, h1,h2);
  612.         if(bone) then return bone + (( mins + maxs ) *.5); end
  613.     end
  614.    
  615.     local aimbotGetBone = function(ent)
  616.         if(CUNIKWARE.Config["Aimbot"]["useHitboxes"]) then
  617.             local bone = returnHitBoxedBone(ent, 0,0);
  618.             if(bone && aIsVisible(ent, bone)) then return bone; end
  619.         else
  620.              if(eLookupAttachment(ent,"eyes") != 0) then
  621.                 local bone = eGetAttachment(ent,eLookupAttachment(ent,"eyes")).Pos;
  622.                 if(aIsVisible(ent,bone)) then return bone; end
  623.             else if(eLookupAttachment(ent,"forward") != 0) then
  624.                 local bone = eGetAttachment(ent,eLookupAttachment(ent,"forward")).Pos;
  625.                 if(aIsVisible(ent,bone)) then return bone; end
  626.             else
  627.                 local bone = (eGetPos(ent) + eOBBCenter(ent));
  628.                 if(aIsVisible(ent,bone)) then return  bone; end
  629.             end
  630.             end
  631.         end
  632.        
  633.        
  634.     end
  635.    
  636.     local aimbotClosestPlayer = function(tf)
  637.         if(!CUNIKWARE.Config["Aimbot"]["on"]) then return; end
  638.         local players = player.GetAll();
  639.         table.sort(players,SortClosestEntity);
  640.        
  641.         for k,v in next,players do
  642.             if(v == me ||  eHealth(v) < 1 || eIsDormant(v)) then continue; end
  643.             if(pTeam(v) == TEAM_SPECTATOR) then continue; end
  644.             if(pTeam(v) == TEAM_CONNECTING) then continue; end
  645.             if(!CUNIKWARE.Config["Aimbot"]["targetfriends"] && pGetFriendStatus(v) == "friend") then continue; end
  646.             if(CUNIKWARE.Config["Aimbot"]["GhostCheck"] && eGetColor(v).a != 255) then continue; end
  647.             if (CUNIKWARE.Config["Aimbot"]["onlytargetteam"] && pTeam(v) != pTeam(me)) then continue; end
  648.             if(!CUNIKWARE.Config["Aimbot"]["targetteam"] && !CUNIKWARE.Config["Aimbot"]["onlytargetteam"] && pTeam(me) == pTeam(v)) then continue; end
  649.             if(aimbotGetBone(v) != nil) then return v; end;
  650.         end
  651.            
  652.         return nil;
  653.     end
  654.    
  655.     local aimbotMainHook = function(cmd)
  656.         SilentMouse(cmd);
  657.             local ClosestPlayer = aimbotClosestPlayer(true);
  658.             local ValidTarget = ClosestPlayer != nil;
  659.             local cFire = CanFire();
  660.             //PA4.CHOKE_PACKETS(false);
  661.         if( CUNIKWARE.Config["Aimbot"]["on"] && CUNIKWARE.Config["Aimbot"]["ragemode"] && ValidTarget && cFire || CUNIKWARE.Config["Aimbot"]["on"] && !CUNIKWARE.Config["Aimbot"]["ragemode"] && ValidTarget && cFire && cKeyDown(cmd, IN_ATTACK )  ) then
  662.                 local posAim = ( VelocityPrediction(ClosestPlayer,aimbotGetBone(ClosestPlayer)) - pShootPos(me) + (FakeLagPrediction(ClosestPlayer))):Angle();
  663.                 posAim.r = 0;
  664.                 posAim = NoRcl_CenterGun(posAim);
  665.                 posAim = NoSprd_CenterBullet(cmd,posAim);
  666.                 if(CUNIKWARE.Config["Aimbot"]["ragemode"]) then
  667.                     if(input.IsKeyDown(KEY_B) && CUNIKWARE.Config["Misc"]["SpeedHack"]) then    GetConVar("sv_cheats"):SetValue(1); GetConVar("host_framerate"):SetValue(0) end
  668.                         cSetButtons(cmd, bit.bor(cGetButtons(cmd), IN_ATTACK));
  669.                 end
  670.  
  671. //if(CUNIKWARE.Config["Aimbot"]["pSilentAim"]) then PA4.CHOKE_PACKETS(true); end
  672.                 cSetViewAngles(cmd, posAim);
  673.             else
  674.             if(CUNIKWARE.Config["hvh"]["AA"]) then antiAimHandle(cmd); return; elseif(CUNIKWARE.Config["Aimbot"]["SilentAim"]) then cSetViewAngles(cmd,ms) end
  675.         end
  676.         FixMovement(cmd,false);
  677.     end
  678.  
  679. /*
  680.     CUNIKWARE
  681.         Misc Functions
  682. */
  683.     local says = {"Shino je MGE cheater", "Tommysaul je pasterska mrdka", "1tapped by cunik", "cunik.xyz", "tyler je skid"}
  684.     local ChatSpam = function()
  685.         if(!CUNIKWARE.Config["Misc"]["SpamChat"]) then return; end
  686.         LocalPlayer():ConCommand("say CUNIKWARE " .. CUNIKWARE.Config.version .. " || " .. table.Random(says) );
  687.     end
  688.    
  689.    
  690.     local chamsmat = CreateMaterial("a", "VertexLitGeneric", {["$ignorez"] = 1,["$model"] = 1,["$basetexture"] = "models/debug/debugwhite",});
  691.     local chamsmat2 = CreateMaterial("@", "vertexLitgeneric", {["$ignorez"] = 0, ["$model"] = 1, ["$basetexture"] = "models/debug/debugwhite",});
  692.     local VisiblePlayers = {}
  693.    
  694.     local ChamsDud = function()
  695.         if(!CUNIKWARE.Config["esp"]["chams"]) then return; end
  696.         for k,v in next, player.GetAll() do
  697.             if(eHealth(v) < 1 || v == LocalPlayer() || !eIsValid(v) || v:IsDormant()) then continue; end
  698.             local pColorVis = VectorConversion(Color(46, 204, 113));
  699.             local pColor = VectorConversion(Color(243, 156, 18));
  700.             local pColorGun = VectorConversion(Color(255,20,147));
  701.             cam.Start3D();
  702.                 render.MaterialOverride(chamsmat);
  703.                 render.SetColorModulation(pColorVis.r,pColorVis.g,pColorVis.b);
  704.                 render.SetBlend(1);
  705.                 eDrawModel(v);
  706.                
  707.                 if (eIsValid(pGetActiveWeapon(v))) then
  708.                     render.SetColorModulation(pColorGun.r,pColorGun.g,pColorGun.b);
  709.                     eDrawModel(pGetActiveWeapon(v));
  710.                 end
  711.                
  712.                                
  713.                 render.SetColorModulation(pColor.r,pColor.g,pColor.b);
  714.                 render.MaterialOverride(chamsmat2);
  715.                 render.SetBlend(1);
  716.                                
  717.                 eDrawModel(v);
  718.                
  719.                 if (eIsValid(pGetActiveWeapon(v))) then
  720.                     render.SetColorModulation(pColorGun.r,pColorGun.g,pColorGun.b);
  721.                     eDrawModel(pGetActiveWeapon(v));
  722.                 end
  723.                 render.SetColorModulation(1, 1, 1);
  724.    
  725.             cam.End3D();
  726.         end
  727.     end
  728.    
  729.    
  730.     local BHOP = function(userCmd)
  731.         if ( !me:IsTyping() && !eIsOnGround(me) && !me:IsFlagSet(FL_PARTIALGROUND) ) then
  732.             userCmd:RemoveKey( 2 );
  733.             if(CUNIKWARE.Config["Misc"]["Bhop"]) then
  734.                 local mouseX = cGetMouseX(userCmd);
  735.                 if ( mouseX < 0 ) then
  736.                     cSetSideMove(userCmd, -10^4 );
  737.                 elseif ( mouseX > 0 ) then
  738.                     cSetSideMove(userCmd, 10^4 );
  739.                 end
  740.             end
  741.         end
  742.     end
  743.    
  744.    
  745. /*
  746.     CUNIKWARE
  747.         Menu / Drawing
  748. */
  749.    
  750.     function DrawFilledCircle(x, y, radius, quality)
  751.         local circle = {}
  752.         local tmp = 0
  753.         for i = 1, quality do
  754.             tmp = math.rad(i * 360) / quality
  755.             circle[i] = {x = x + math.cos(tmp) * radius, y = y + math.sin(tmp) * radius}
  756.         end
  757.         surface.DrawPoly(circle)
  758.     end
  759.  
  760.     local radarX, radarY, radarWidth, radarHeight = 50, ScrH() - 963 + 25, 215, 180 - 25
  761.     CUNIKWARE.F["draw"].DrawBigShit = function()
  762.         draw.WordBox(1, 15,15," CUNIKWARE v" .. CUNIKWARE.Config.version .. " ", "BudgetLabel", Color(245, 237, 15, 180), Color(255,255,255))
  763.         // Ahack Paste inbound
  764.         if(CUNIKWARE.Config["esp"]["Radar"]) then
  765.             draw.RoundedBox(1,15,34,300,180,Color(52, 73, 94, 120)) // Background
  766.             draw.RoundedBox(1,15,34,300,25,Color(52, 73, 94, 120)) // Tab Background
  767.             draw.DrawText("Radar", "BudgetLabel", 25,40,Color(255,255,255))
  768.            
  769.             draw.RoundedBox(1,300 / 2 + 15   / 2, 180 / 2 + 34 / 2 + 25 ,5,5,Color(255,255,255))
  770.        
  771.             for k,v in next, player.GetAll() do
  772.                 if (eHealth(v) > 0) then
  773.                     local myPos = me:GetPos()
  774.                     local theirPos = v:GetPos()
  775.                     local myAngles = ifCOND(CUNIKWARE.Config["Aimbot"]["SilentAim"],ms,me:EyeAngles())
  776.                     local theirX = (radarX + (radarWidth / 2)) + ((theirPos.x - myPos.x) / 40)
  777.                     local theirY = (radarY + (radarHeight / 2)) + ((myPos.y - theirPos.y) / 40)
  778.                    
  779.                     local myRotation = myAngles.y - 90
  780.                     myRotation = math.rad(myRotation)
  781.                     theirX = theirX - (radarX + (radarWidth / 2))
  782.                     theirY = theirY - (radarY + (radarHeight / 2))
  783.                     local newX = theirX * math.cos(myRotation) - theirY * math.sin(myRotation)
  784.                     local newY = theirX * math.sin(myRotation) + theirY * math.cos(myRotation)
  785.                     newX = newX + (radarX + (radarWidth / 2))
  786.                     newY = newY + (radarY + (radarHeight / 2))
  787.                     if newX < (radarX + radarWidth) and newX > radarX and newY < (radarY + radarHeight) and newY > radarY then
  788.                         draw.RoundedBox(1,newX, newY,5,5,(pTeam(v) == pTeam(me) and Color(0,255,0) or Color(255,0,0)))
  789.                     end
  790.                 end
  791.             end
  792.         end
  793.        
  794.     end
  795.    
  796.     local SkeletonESP = function(v,h1,h2,colorsa)
  797.         local origin = eGetPos(v);
  798.                 local parent = eGetBoneParent(v,eGetHitBoxBone(v,h1, h2));
  799.                 local bonepos, parentpos = eGetBonePosition(v,eGetHitBoxBone(v,h1, h2)), eGetBonePosition(v,parent);
  800.                 if(!parent || !bonepos || !parentpos || bonepos == origin) then return; end
  801.                 local bs, ps = vToScreen(bonepos), vToScreen(parentpos)
  802.                 surface.SetDrawColor(colorsa.r,colorsa.g,colorsa.b);
  803.                 local obbmin,obbmax = eGetHitBoxBounds(v,h1, h2);  
  804.                 surface.DrawOutlinedRect(bs.x, bs.y, 10, 10);
  805.     end
  806.    
  807.     local Get2DBounds = function(v)
  808.         local eye = v:EyeAngles();
  809.         local min,max = v:OBBMins(),v:OBBMaxs()
  810.         local corners =
  811.         {
  812.             Vector(min.x,min.y,min.z),
  813.             Vector(min.x,min.y,max.z),
  814.             Vector(min.x,max.y,min.z),
  815.             Vector(min.x,max.y,max.z),
  816.             Vector(max.x,min.y,min.z),
  817.             Vector(max.x,min.y,max.z),
  818.             Vector(max.x,max.y,min.z),
  819.             Vector(max.x,max.y,max.z)
  820.         };
  821.    
  822.         local minx,miny,maxx,maxy = math.huge, math.huge, -math.huge, -math.huge;
  823.    
  824.         for _, corner in next, corners do
  825.             local screen = v:LocalToWorld(corner):ToScreen();
  826.             minx,miny = math.min(minx,screen.x),math.min(miny,screen.y);
  827.             maxx,maxy = math.max(maxx,screen.x),math.max(maxy,screen.y);
  828.         end
  829.         return minx,miny,maxx,maxy;
  830.     end
  831.  
  832.     // Did not make alot of this, kng.rektor helped make it
  833.     local drawPlayer = function(v,Col)
  834.         if (v == me || eIsDormant(v) || eHealth(v) < 1 || !CUNIKWARE.Config["esp"]["on"] ) then return; end
  835.    
  836.         local min, max = v:OBBMins(), v:OBBMaxs();
  837.         local eye = v:EyeAngles();
  838.         local textespy = -2;
  839.         local hax = -6;
  840.         local hay = 4;
  841.         local wmin, wmax = v:LocalToWorld(min), v:LocalToWorld(max);
  842.         local origin = v:GetPos();
  843.         local x1,y1,x2,y2 = Get2DBounds(v);
  844.         local diff = math.abs(x2 - x1);
  845.         local diff2 = math.abs(y2 - y1);
  846.         local color = (CUNIKWARE.Config["esp"]["rainbow"] and HSVToColor(RealTime()*160%360,1,1) or Col);
  847.         local boxang = v:GetAngles();
  848.         if(CUNIKWARE.Config["esp"]["type"] == 0) then
  849.         // 2D
  850.           if(CUNIKWARE.Config["esp"]["names"]) then
  851.             draw.DrawText( pNick(v) .. "\nRank: " .. v:GetUserGroup() .. "\nPing: " .. v:Ping() .. "ms\n", "BudgetLabel",
  852.             x2 + 5,y1,
  853.             Color(255,255,255), TEXT_ALIGN_LEFT )
  854.           end
  855.           surface.SetDrawColor(color)
  856.           surface.DrawLine(x1,y1,x1+(diff*0.225),y1)
  857.           surface.DrawLine(x1,y1,x1,y1+(diff2*0.225))
  858.           surface.DrawLine(x1,y2,x1+(diff*0.225),y2)
  859.           surface.DrawLine(x1,y2,x1,y2-(diff2*0.225))
  860.           surface.DrawLine(x2,y1,x2-(diff*0.225),y1)
  861.           surface.DrawLine(x2,y1,x2,y1+(diff2*0.225))
  862.           surface.DrawLine(x2,y2,x2-(diff*0.225),y2)
  863.           surface.DrawLine(x2,y2,x2,y2-(diff2*0.225))
  864.           surface.SetDrawColor(color)
  865.           surface.DrawLine(x1+1,y1+1,x1+(diff*0.225),y1+1)
  866.           surface.DrawLine(x1+1,y1+1,x1+1,y1+(diff2*0.225))
  867.           surface.DrawLine(x1+1,y2-1,x1+(diff*0.225),y2-1)
  868.           surface.DrawLine(x1+1,y2-1,x1+1,y2-(diff2*0.225))
  869.           surface.DrawLine(x2-1,y1+1,x2-(diff*0.225),y1+1)
  870.           surface.DrawLine(x2-1,y1+1,x2-1,y1+(diff2*0.225))
  871.           surface.DrawLine(x2-1,y2-1,x2-(diff*0.225),y2-1)
  872.         else if(CUNIKWARE.Config["esp"]["type"] == 1) then
  873.         // 3D
  874.             cam.Start3D()
  875.             local corners =
  876.             {
  877.                     Vector(min.x,min.y,min.z),
  878.                     Vector(min.x,min.y,max.z),
  879.                     Vector(min.x,max.y,min.z),
  880.                     Vector(min.x,max.y,max.z),
  881.                     Vector(max.x,min.y,min.z),
  882.                     Vector(max.x,min.y,max.z),
  883.                     Vector(max.x,max.y,min.z),
  884.                     Vector(max.x,max.y,max.z)
  885.             };
  886.            
  887.             for __, _corner in next, corners do
  888.                     local swag = Vector(0,0,0);
  889.                     local magic = Vector(max.x*0.45, max.y*0.45, max.z*0.45);
  890.                
  891.                     if (_corner.x == min.x) then
  892.                             swag.x = magic.x;
  893.                     else
  894.                             swag.x = -magic.x;
  895.                     end
  896.                
  897.                     if (_corner.y == min.y) then
  898.                             swag.y = magic.y;
  899.                     else
  900.                             swag.y = -magic.y;
  901.                     end
  902.                
  903.                     if (_corner.z == min.z) then
  904.                             swag.z = magic.z;
  905.                     else
  906.                             swag.z = -magic.z;
  907.                     end
  908.                
  909.                     if (v:IsPlayer() || v:IsNPC()) then
  910.                             cornerx = _corner + Vector(swag.x,0,0);
  911.                             cornery = _corner + Vector(0,swag.y,0);
  912.                             cornerz = _corner + Vector(0,0,swag.z);
  913.                             _corner:Rotate(boxang);
  914.                             cornerx:Rotate(boxang);
  915.                             cornery:Rotate(boxang);
  916.                             cornerz:Rotate(boxang);
  917.                     else
  918.                             cornerx = Vector(swag.x,0,0);
  919.                             cornery = Vector(0,swag.y,0);
  920.                             cornerz = Vector(0,0,swag.z);
  921.                             cornerx = cornerx + _corner;
  922.                             cornery = cornery + _corner;
  923.                             cornerz = cornerz + _corner;
  924.                     end
  925.                    
  926.  
  927.                
  928.                     render.DrawLine(v:LocalToWorld(_corner), v:LocalToWorld(cornerx), color)
  929.                     render.DrawLine(v:LocalToWorld(_corner), v:LocalToWorld(cornery), color)
  930.                     render.DrawLine(v:LocalToWorld(_corner), v:LocalToWorld(cornerz), color)
  931.             end
  932.             cam.End3D()
  933.         end
  934.         end
  935. end
  936.    
  937.     CUNIKWARE.F["draw"].drawESP = function()
  938.         if(!CUNIKWARE.Config["esp"]["on"]) then return; end
  939.        
  940.         for k,v in pairs(player.GetAll()) do
  941.             if(v == me || eHealth(v) < 1 || eIsDormant(v)) then continue; end      
  942.             CUNIKWARE.T.PlayerTPos = eGetPos(v);
  943.             CUNIKWARE.T.PlayerTPosEText = (CUNIKWARE.T.PlayerTPos):ToScreen();
  944.             CUNIKWARE.T.PlayerTAngles = v:GetAngles();
  945.             CUNIKWARE.T.PlayerTOBBMins = eOBBMins(v);
  946.             CUNIKWARE.T.PlayerTOBBMaxs = eOBBMaxs(v);
  947.            
  948.         //  render.DrawBox(CUNIKWARE.T.PlayerTPos, Angle(0,CUNIKWARE.T.PlayerTAngles.y,0), CUNIKWARE.T.PlayerTOBBMins, Vector(20,CUNIKWARE.T.PlayerTOBBMaxs.y,CUNIKWARE.T.PlayerTOBBMaxs.z), ifCOND(pTeam(v) != pTeam(me), Color(255,0,0), Color(0,255,0)), false)
  949.             //render.DrawWireframeBox(CUNIKWARE.T.PlayerTPos, Angle(0,CUNIKWARE.T.PlayerTAngles.y,0), CUNIKWARE.T.PlayerTOBBMins, Vector(20,CUNIKWARE.T.PlayerTOBBMaxs.y,CUNIKWARE.T.PlayerTOBBMaxs.z), ifCOND(pTeam(v) != pTeam(me), Color(255,0,0), Color(0,255,0)), false)
  950.        
  951.         end
  952.    
  953.     end
  954.    
  955.    
  956.     CUNIKWARE.F["draw"].notfication = function(Text, NotifType,timetodest)
  957.         local notID = math.Round(RealTime()*120%360);
  958.         CUNIKWARE.F["draw"].menuHandle["not" .. notID] = vgui.Create("DFrame");
  959.         CUNIKWARE.F["draw"].menuHandle["not" .. notID]:SetPos(ScrW() / 2 - 250 ,ScrH() / 2 - 228);
  960.         CUNIKWARE.F["draw"].menuHandle["not" .. notID]:SetSize(500,25);
  961.         CUNIKWARE.F["draw"].menuHandle["not" .. notID]:SlideDown(0.3);
  962.         CUNIKWARE.F["draw"].menuHandle["not" .. notID]:SetTitle("");
  963.         CUNIKWARE.F["draw"].menuHandle["not" .. notID]:ShowCloseButton(false);
  964.         CUNIKWARE.F["draw"].menuHandle["not" .. notID]:SetDraggable(false);
  965.         CUNIKWARE.F["draw"].menuHandle["not" .. notID].Paint = function(s, w, h)
  966.        
  967.             //draw.RoundedBox(2,0,0,w,h,NotifType)
  968.            
  969.             draw.RoundedBox(1,0,0,w,25,Color(40,40,40,255))
  970.             draw.DrawText(Text, "MenuTitle", 5, 12 / 2, Color(255,255,255), TEXT_ALIGN_LEFT)
  971.             surface.SetDrawColor( CUNIKWARE.F["draw"].color )
  972.             surface.DrawOutlinedRect( 0, 0, w,h )
  973.         end
  974.        
  975.         timer.Simple(timetodest, function()
  976.             if(CUNIKWARE.F["draw"].menuHandle["not" .. notID]) then
  977.                 CUNIKWARE.F["draw"].menuHandle["not" .. notID]:SlideUp(0.3);
  978.                 timer.Simple(0.3, function()
  979.                     CUNIKWARE.F["draw"].menuHandle["not" .. notID]:Close();
  980.                 end)
  981.             end
  982.         end )
  983.     end
  984.    
  985.     // Welcome Shit
  986.     CUNIKWARE.F["draw"].notfication("CUNIKWARE " .. CUNIKWARE.Config.version .. " Successfully Loaded","!",2 )
  987.  
  988.    
  989.     CUNIKWARE.F["draw"].CurCatMenu = "Aimbot";
  990.     CUNIKWARE.F["draw"].MenuOpen = function()
  991.             CUNIKWARE.T["menu"].open = true;
  992.            
  993.            
  994.         CUNIKWARE.F["draw"].options =
  995.         {
  996.        
  997.             ["Configs"] =
  998.             {
  999.                 {name = "Here, you can manage your configuration settings for CUNIKWARE", cType = "text"},
  1000.                 {name = "Create A New Config", cType = "button", returnFunc = function()
  1001.                
  1002.                 // Configuration Shit
  1003.                     Derma_StringRequest(
  1004.                     "Enter Save Name",
  1005.                     "Enter the Save name",
  1006.                     "default",
  1007.                     function( text )
  1008.                     JSONSave(CUNIKWARE.Config,text);
  1009.                    
  1010.                     if(CUNIKWARE.F["draw"].menuHandle.main) then
  1011.                         CUNIKWARE.F["draw"].menuHandle.main:Close();
  1012.                     end
  1013.                     CUNIKWARE.F["draw"].MenuOpen();
  1014.                    
  1015.                     end,
  1016.                     function( text ) end)
  1017.                     //JSONLoad("test");
  1018.                
  1019.                 end},
  1020.                 {name = "Your Saved Configuration Files:", cType = "text"},
  1021.             },
  1022.            
  1023.             ["Aimbot"] =
  1024.             {
  1025.                 {name = "Aimbot Configuration Menu", cType = "text"},
  1026.                 {name = "Aimbot", cType = "toggle", checked = CUNIKWARE.Config["Aimbot"]["on"], returnFunc = function(ID) CUNIKWARE.Config["Aimbot"]["on"] = ID; end},
  1027.                 {name = "Rage-Mode", cType = "toggle", checked = CUNIKWARE.Config["Aimbot"]["ragemode"], returnFunc = function(ID) CUNIKWARE.Config["Aimbot"]["ragemode"] = ID; end},
  1028.                 {name = "No-Spread", cType = "toggle", checked = CUNIKWARE.Config["Aimbot"]["No-Spread"], returnFunc = function(ID) CUNIKWARE.Config["Aimbot"]["No-Spread"] = ID; end},
  1029.                 {name = "No-Recoil (buggy)", cType = "toggle", checked = CUNIKWARE.Config["Aimbot"]["No-Recoil"], returnFunc = function(ID) CUNIKWARE.Config["Aimbot"]["No-Recoil"] = ID; end},
  1030.                 {name = "Hitbox-Based", cType = "toggle", checked = CUNIKWARE.Config["Aimbot"]["useHitboxes"], returnFunc = function(ID) CUNIKWARE.Config["Aimbot"]["useHitboxes"] = ID; end},
  1031.                 {name = "Silent-Aim", cType = "toggle", checked = CUNIKWARE.Config["Aimbot"]["SilentAim"], returnFunc = function(ID) CUNIKWARE.Config["Aimbot"]["SilentAim"] = ID; end},
  1032.                 {name = "pSilent-Aim", cType = "toggle", checked = CUNIKWARE.Config["Aimbot"]["pSilentAim"], returnFunc = function(ID) CUNIKWARE.Config["Aimbot"]["pSilentAim"] = ID; end},
  1033.                 {name = "Target-Friends", cType = "toggle", checked = CUNIKWARE.Config["Aimbot"]["targetfriends"], returnFunc = function(ID) CUNIKWARE.Config["Aimbot"]["targetfriends"] = ID; end},
  1034.                 {name = "Target-Team", cType = "toggle", checked = CUNIKWARE.Config["Aimbot"]["targetteam"], returnFunc = function(ID) CUNIKWARE.Config["Aimbot"]["targetteam"] = ID; end},
  1035.                 {name = "Ghost-Check", cType = "toggle", checked = CUNIKWARE.Config["Aimbot"]["GhostCheck"], returnFunc = function(ID) CUNIKWARE.Config["Aimbot"]["GhostCheck"] = ID; end},
  1036.                 {name = "Auto-Wall", cType = "toggle", checked = CUNIKWARE.Config["Aimbot"]["AutoWall"], returnFunc = function(ID) CUNIKWARE.Config["Aimbot"]["AutoWall"] = ID; end},
  1037.                 {name = "Only Target-Team", cType = "toggle", checked = CUNIKWARE.Config["Aimbot"]["onlytargetteam"], returnFunc = function(ID) CUNIKWARE.Config["Aimbot"]["onlytargetteam"] = ID; end},
  1038.             },
  1039.            
  1040.             ["HVH"] =
  1041.             {
  1042.                 {name = "Hack VS Hack Configuration Menu", cType = "text"},
  1043.                 {name = "Anti-Anti-Aim", cType = "toggle", checked = CUNIKWARE.Config["hvh"]["AAA"], returnFunc = function(ID) CUNIKWARE.Config["hvh"]["AAA"] = ID; PA4.AAAX(CUNIKWARE.Config["hvh"]["AAA"]);PA4.AAAY(CUNIKWARE.Config["hvh"]["AAA"]); end},
  1044.                 {name = "Fake-Lag", cType = "toggle", checked = CUNIKWARE.Config["hvh"]["FakeLag"], returnFunc = function(ID) CUNIKWARE.Config["hvh"]["FakeLag"] = ID; PA4.FAKELAG(CUNIKWARE.Config["hvh"]["FakeLag"]); end},
  1045.                 {name = "Fake-Lag Prediction", cType = "toggle", checked = CUNIKWARE.Config["hvh"]["FakeLagPred"], returnFunc = function(ID) CUNIKWARE.Config["hvh"]["FakeLagPred"] = ID; PA4.FAKELAG(CUNIKWARE.Config["hvh"]["FakeLag"]); end},
  1046.                 {name = "Anti-Aim", cType = "toggle", checked = CUNIKWARE.Config["hvh"]["AA"], returnFunc = function(ID) CUNIKWARE.Config["hvh"]["AA"] = ID; end},
  1047.                 {name = "Anti-Aim Type", cType = "text"},
  1048.                 {name = "Anti-Aim Type", cType = "slider", dvalue = CUNIKWARE.Config["hvh"]["AA_TYPE"], min = 1, max = 6, returnFunc = function(ID) CUNIKWARE.Config["hvh"]["AA_TYPE"] = ID end},
  1049.                 {name = "", cType = "text"},
  1050.                 {name = "Used too fake angles", cType = "text"},
  1051.                 {name = "Anti-Aim Chew", cType = "slider", dvalue = CUNIKWARE.Config["hvh"]["AA_CHEW"], min = 1, max = 3, returnFunc = function(ID) CUNIKWARE.Config["hvh"]["AA_CHEW"] = ID end},
  1052.                 {name = "", cType = "text"},
  1053.                 //{name = "Anti-Aim Pitch", cType = "slider", dvalue = CUNIKWARE.Config["hvh"]["AA_TEST_P"], min = 1, max = 1800, returnFunc = function(ID) CUNIKWARE.Config["hvh"]["AA_TEST_P"] = ID end},
  1054.             },
  1055.            
  1056.             ["Visuals"] =
  1057.             {
  1058.                 {name = "Visual Configuration Menu", cType = "text"},
  1059.                 {name = "Radar", cType = "toggle", checked = CUNIKWARE.Config["esp"]["Radar"], returnFunc = function(ID) CUNIKWARE.Config["esp"]["Radar"] = ID; end},
  1060.                 {name = "Player Chams", cType = "toggle", checked = CUNIKWARE.Config["esp"]["chams"], returnFunc = function(ID) CUNIKWARE.Config["esp"]["chams"] = ID; end},
  1061.                 {name = "Player ESP", cType = "toggle", checked = CUNIKWARE.Config["esp"]["on"], returnFunc = function(ID) CUNIKWARE.Config["esp"]["on"] = ID; end},
  1062.                 {name = "Player ESP Rainbow", cType = "toggle", checked = CUNIKWARE.Config["esp"]["rainbow"], returnFunc = function(ID) CUNIKWARE.Config["esp"]["rainbow"] = ID; end},
  1063.                 {name = "Player ESP Type", cType = "text"},
  1064.                 {name = "Player ESP Type", cType = "slider", dvalue = CUNIKWARE.Config["esp"]["type"], min = 0, max = 1, returnFunc = function(ID) CUNIKWARE.Config["esp"]["type"] = ID end},
  1065.                 {name = "", cType = "text"},
  1066.                 {name = "Player Head Box", cType = "toggle", checked = CUNIKWARE.Config["esp"]["headbox"], returnFunc = function(ID) CUNIKWARE.Config["esp"]["headbox"] = ID; end},
  1067.                 {name = "Player ESP Names", cType = "toggle", checked = CUNIKWARE.Config["esp"]["names"], returnFunc = function(ID) CUNIKWARE.Config["esp"]["names"] = ID; end},
  1068.                 {name = "Wire-Frame guns", cType = "toggle", checked = CUNIKWARE.Config["Misc"]["WireFrame"], returnFunc = function(ID) CUNIKWARE.Config["Misc"]["WireFrame"] = ID; end},
  1069.                 {name = "Custom FOV", cType = "toggle", checked = CUNIKWARE.Config["Misc"]["FOV"], returnFunc = function(ID) CUNIKWARE.Config["Misc"]["FOV"] = ID; end},
  1070.                 {name = "Third Person", cType = "toggle", checked = CUNIKWARE.Config["Misc"]["ThirdPerson"], returnFunc = function(ID) CUNIKWARE.Config["Misc"]["ThirdPerson"] = ID; end},
  1071.             },
  1072.            
  1073.             ["Misc"] =
  1074.             {
  1075.                 {name = "Misc Configuration Menu", cType = "text"},
  1076.                 {name = "Auto Strafe", cType = "toggle", checked = CUNIKWARE.Config["Misc"]["Bhop"], returnFunc = function(ID) CUNIKWARE.Config["Misc"]["Bhop"] = ID; end},
  1077.                 {name = "Cocaine", cType = "toggle", checked = CUNIKWARE.Config["Misc"]["SpeedHack"], returnFunc = function(ID) CUNIKWARE.Config["Misc"]["SpeedHack"] = ID; end},
  1078.                 {name = "Steal Names", cType = "toggle", checked = CUNIKWARE.Config["Misc"]["StealNames"], returnFunc = function(ID) CUNIKWARE.Config["Misc"]["StealNames"] = ID; end},
  1079.                 {name = "ChatSpam", cType = "toggle", checked = CUNIKWARE.Config["Misc"]["SpamChat"], returnFunc = function(ID) CUNIKWARE.Config["Misc"]["SpamChat"] = ID; end},
  1080.             },
  1081.            
  1082.         }
  1083.        
  1084.        
  1085.         local saveFiles,thisvalueisbad = file.Find( "CUNIKWARE_config/*", "DATA" );
  1086.         for optN,GetCurConfig in next, saveFiles do
  1087.             local stringFileName = string.Replace(saveFiles[optN], ".txt","");
  1088.             CUNIKWARE.F["draw"].options["Configs"][#CUNIKWARE.F["draw"].options["Configs"] + 1] = {
  1089.             name = stringFileName,
  1090.             cType = "button",
  1091.             returnFunc = function()
  1092.                 JSONLoad(stringFileName);
  1093.                
  1094.                 if(CUNIKWARE.F["draw"].menuHandle.main) then
  1095.                     CUNIKWARE.F["draw"].menuHandle.main:Close();
  1096.                 end
  1097.                 CUNIKWARE.F["draw"].MenuOpen();
  1098.             end}
  1099.            
  1100.             //table.Add(CUNIKWARE.F["draw"].options["Config Settings"], tblToInsert);
  1101.         end
  1102.            
  1103.             CUNIKWARE.F["draw"].menuHandle.main = vgui.Create("DFrame");
  1104.             CUNIKWARE.F["draw"].menuHandle.main:SetPos(ScrW() / 2 - 250 ,ScrH() / 2 - 200);
  1105.             CUNIKWARE.F["draw"].menuHandle.main:SetSize(500,400);
  1106.             CUNIKWARE.F["draw"].menuHandle.main:SlideDown(0.3);
  1107.             CUNIKWARE.F["draw"].menuHandle.main:SetTitle("");
  1108.             CUNIKWARE.F["draw"].menuHandle.main:ShowCloseButton(false);
  1109.             CUNIKWARE.F["draw"].menuHandle.main:SetDraggable(false);
  1110.             CUNIKWARE.F["draw"].menuHandle.main:MakePopup();
  1111.             CUNIKWARE.F["draw"].menuHandle.main.Paint = function(s, w, h)
  1112.                 draw.RoundedBox(2,0,0,w,h,Color(44, 62, 80,180))
  1113.                 draw.DrawText("CUNIKWARE VERSION " .. CUNIKWARE.Config.version .. ", Tommysaul je pasterská mrdka" , "MenuTitle",
  1114.                 w - RealTime()*125%1200, h - 20, Color(255,255,255), TEXT_ALIGN_LEFT)
  1115.                 draw.RoundedBox(2,0,0,w,25,CUNIKWARE.F["draw"].color)
  1116.                 draw.DrawText("CUNIKWARE VERSION " .. CUNIKWARE.Config.version, "MenuTitle", 5, 12 / 2, Color(255,255,255), TEXT_ALIGN_LEFT)
  1117.                 surface.SetDrawColor( CUNIKWARE.F["draw"].color )
  1118.                 surface.DrawOutlinedRect( 0, 0, w,h )
  1119.             end
  1120.            
  1121.             timer.Simple(0.31, function()
  1122.            
  1123.             CUNIKWARE.F["draw"].menuHandle.closeButton = vgui.Create("DButton",CUNIKWARE.F["draw"].menuHandle.main);
  1124.             CUNIKWARE.F["draw"].menuHandle.closeButton:SetPos(CUNIKWARE.F["draw"].menuHandle.main:GetWide() - 45,0);
  1125.             CUNIKWARE.F["draw"].menuHandle.closeButton:SetSize(45,25);
  1126.             CUNIKWARE.F["draw"].menuHandle.closeButton:SlideDown(0.3);
  1127.             CUNIKWARE.F["draw"].menuHandle.closeButton:SetText("X");
  1128.             CUNIKWARE.F["draw"].menuHandle.closeButton.DoClick = function() CUNIKWARE.F["draw"].menuHandle.main:SizeTo(CUNIKWARE.F["draw"].menuHandle.main:GetWide(),0,.3,0,.3); timer.Simple(0.3,function() CUNIKWARE.F["draw"].menuHandle.main:Close(); CUNIKWARE.T["menu"].open = false; end) end
  1129.             CUNIKWARE.F["draw"].menuHandle.closeButton.Paint = function(s, w, h)
  1130.                 if(CUNIKWARE.F["draw"].menuHandle.closeButton:IsHovered()) then
  1131.                     draw.RoundedBox(1,0,0,w -1 ,h,Color(231, 76, 60,255))
  1132.                 else
  1133.                     draw.RoundedBox(1,0,0,w - 1 ,h,Color(255, 76, 60,220))
  1134.                 end
  1135.             end
  1136.            
  1137.                 CUNIKWARE.T.CatPos = {5,30}
  1138.                 CUNIKWARE.T.Pos = {90,30}
  1139.                 for k,l in pairs(CUNIKWARE.F["draw"].options) do
  1140.                         CUNIKWARE.F["draw"].menuHandle[k .. "cat"] = vgui.Create("DButton",CUNIKWARE.F["draw"].menuHandle.main);
  1141.                         CUNIKWARE.F["draw"].menuHandle[k .. "cat"]:SetPos(CUNIKWARE.T.CatPos[1],CUNIKWARE.T.CatPos[2]);
  1142.                         CUNIKWARE.F["draw"].menuHandle[k .. "cat"]:SetSize(75,30);
  1143.                         CUNIKWARE.F["draw"].menuHandle[k .. "cat"]:SlideDown(0.3);
  1144.                         CUNIKWARE.F["draw"].menuHandle[k .. "cat"]:SetColor(Color(255,255,255));
  1145.                         CUNIKWARE.F["draw"].menuHandle[k .. "cat"]:SetText(k);
  1146.                         CUNIKWARE.F["draw"].menuHandle[k .. "cat"].DoClick = function()
  1147.                             CUNIKWARE.F["draw"].CurCatMenu = k;
  1148.                             if(CUNIKWARE.F["draw"].menuHandle.main) then
  1149.                                 CUNIKWARE.F["draw"].menuHandle.main:Close();
  1150.                             end
  1151.                             CUNIKWARE.F["draw"].MenuOpen();
  1152.                            
  1153.                         end
  1154.                         CUNIKWARE.F["draw"].menuHandle[k .. "cat"].Paint = function(s, w, h)
  1155.                             draw.RoundedBox(1,0,0,w,h,CUNIKWARE.F["draw"].color)
  1156.                             if(k == CUNIKWARE.F["draw"].CurCatMenu) then
  1157.                                 draw.RoundedBox(1,0,0,w,h *.15,Color(CUNIKWARE.F["draw"].color.r + 10, CUNIKWARE.F["draw"].color.g + 10, CUNIKWARE.F["draw"].color.b + 10));
  1158.                             end
  1159.                         end
  1160.                         CUNIKWARE.T.CatPos[2] = CUNIKWARE.T.CatPos[2] + 35;
  1161.                 end
  1162.                
  1163.                     for m,v in pairs(CUNIKWARE.F["draw"].options[CUNIKWARE.F["draw"].CurCatMenu]) do
  1164.                         if(v.cType == "toggle") then
  1165.                             CUNIKWARE.F["draw"].menuHandle[v.name .. "c"] = vgui.Create("DButton",CUNIKWARE.F["draw"].menuHandle.main);
  1166.                             CUNIKWARE.F["draw"].menuHandle[v.name .. "c"]:SetPos(CUNIKWARE.T.Pos[1],CUNIKWARE.T.Pos[2]);
  1167.                             CUNIKWARE.F["draw"].menuHandle[v.name .. "c"]:SetSize(20,20);
  1168.                             CUNIKWARE.F["draw"].menuHandle[v.name .. "c"]:SlideDown(0.3);
  1169.                             CUNIKWARE.F["draw"].menuHandle[v.name .. "c"]:SetText("");
  1170.                             CUNIKWARE.F["draw"].menuHandle[v.name .. "c"].DoClick = function()
  1171.                                 CUNIKWARE.F["draw"].options[CUNIKWARE.F["draw"].CurCatMenu][m].checked = !CUNIKWARE.F["draw"].options[CUNIKWARE.F["draw"].CurCatMenu][m].checked;
  1172.                                 CUNIKWARE.F["draw"].options[CUNIKWARE.F["draw"].CurCatMenu][m].returnFunc(CUNIKWARE.F["draw"].options[CUNIKWARE.F["draw"].CurCatMenu][m].checked);
  1173.                                 CUNIKWARE.F["draw"].notfication(v.name .. " Toggled: " .. tostring(CUNIKWARE.F["draw"].options[CUNIKWARE.F["draw"].CurCatMenu][m].checked) ,Color(44, 62, 80,180),2);
  1174.                                 CUNIKWARE.F["draw"].menuHandle[v.name .. "c"]:SetAlpha(0);
  1175.                                 CUNIKWARE.F["draw"].menuHandle[v.name .. "c"]:AlphaTo(255,.3);
  1176.                             end
  1177.                             CUNIKWARE.F["draw"].menuHandle[v.name .. "c"].Paint = function(s, w, h)
  1178.                                 if(!v.checked) then
  1179.                                     draw.RoundedBox(1,0,0,w,h,Color(40,40,40,255))
  1180.                                 else
  1181.                                     draw.RoundedBox(1,0,0,w,h,CUNIKWARE.F["draw"].color)
  1182.                                     draw.RoundedBox(1,0,0,w,h *.25,Color(CUNIKWARE.F["draw"].color.r + 10, CUNIKWARE.F["draw"].color.g + 10, CUNIKWARE.F["draw"].color.b + 10));
  1183.                                 end
  1184.                                
  1185.                                 surface.SetDrawColor( ifCOND(!v.checked, CUNIKWARE.F["draw"].color, Color(40,40,40)) )
  1186.                                 surface.DrawOutlinedRect( 0, 0, w,h )
  1187.                                
  1188.                                 //draw.DrawText("Test", "BudgetLabel", CUNIKWARE.T.Pos[1] + 30,CUNIKWARE.T.Pos[2])
  1189.                             end
  1190.                            
  1191.                             CUNIKWARE.F["draw"].menuHandle[v.name] = vgui.Create("DLabel",CUNIKWARE.F["draw"].menuHandle.main);
  1192.                             CUNIKWARE.F["draw"].menuHandle[v.name]:SetPos(CUNIKWARE.T.Pos[1] + 25,CUNIKWARE.T.Pos[2] + 2.5);
  1193.                             CUNIKWARE.F["draw"].menuHandle[v.name]:SetText(v.name);
  1194.                             CUNIKWARE.F["draw"].menuHandle[v.name]:SetAlpha(0);
  1195.                             CUNIKWARE.F["draw"].menuHandle[v.name]:AlphaTo(255,.3);
  1196.                             CUNIKWARE.F["draw"].menuHandle[v.name]:SizeToContents();
  1197.                             CUNIKWARE.F["draw"].menuHandle[v.name]:SlideDown(0.3);
  1198.                            
  1199.                         if(CUNIKWARE.T.Pos[2] > 350) then
  1200.                             CUNIKWARE.T.Pos[1] = CUNIKWARE.T.Pos[1] + 140;
  1201.                             CUNIKWARE.T.Pos[2] = 30;
  1202.                         else
  1203.                             CUNIKWARE.T.Pos[2] = CUNIKWARE.T.Pos[2] + 25;
  1204.                         end
  1205.                            
  1206.                         else if(v.cType == "text") then
  1207.                        
  1208.                             CUNIKWARE.F["draw"].menuHandle[v.name .. "_text"] = vgui.Create("DLabel",CUNIKWARE.F["draw"].menuHandle.main);
  1209.                             CUNIKWARE.F["draw"].menuHandle[v.name .. "_text"]:SetPos(CUNIKWARE.T.Pos[1],CUNIKWARE.T.Pos[2]);
  1210.                             CUNIKWARE.F["draw"].menuHandle[v.name .. "_text"]:SetText(v.name);
  1211.                             CUNIKWARE.F["draw"].menuHandle[v.name .. "_text"]:SetAlpha(0);
  1212.                             CUNIKWARE.F["draw"].menuHandle[v.name .. "_text"]:AlphaTo(255,.3);
  1213.                             CUNIKWARE.F["draw"].menuHandle[v.name .. "_text"]:SizeToContents();
  1214.                             CUNIKWARE.F["draw"].menuHandle[v.name .. "_text"]:SlideDown(0.3);
  1215.                        
  1216.                         if(CUNIKWARE.T.Pos[2] > 350) then
  1217.                             CUNIKWARE.T.Pos[1] = CUNIKWARE.T.Pos[1] + 140;
  1218.                             CUNIKWARE.T.Pos[2] = 30;
  1219.                         else
  1220.                             CUNIKWARE.T.Pos[2] = CUNIKWARE.T.Pos[2] + 20;
  1221.                         end
  1222.                        
  1223.                         else if(v.cType == "slider") then
  1224.                        
  1225.                         CUNIKWARE.F["draw"].menuHandle[v.name .. "_slider"] = vgui.Create( "DNumSlider",CUNIKWARE.F["draw"].menuHandle.main )
  1226.                         CUNIKWARE.F["draw"].menuHandle[v.name .. "_slider"]:SetPos( CUNIKWARE.T.Pos[1] - 52,CUNIKWARE.T.Pos[2] - 5 )
  1227.                         CUNIKWARE.F["draw"].menuHandle[v.name .. "_slider"]:SetWide( 150 )
  1228.                         CUNIKWARE.F["draw"].menuHandle[v.name .. "_slider"]:SetMin( v.min )
  1229.                         CUNIKWARE.F["draw"].menuHandle[v.name .. "_slider"]:SetMax( v.max )
  1230.                         CUNIKWARE.F["draw"].menuHandle[v.name .. "_slider"]:SetValue( v.dvalue )
  1231.                         CUNIKWARE.F["draw"].menuHandle[v.name .. "_slider"]:SetDecimals( 0 )
  1232.                         CUNIKWARE.F["draw"].menuHandle[v.name .. "_slider"].OnValueChanged = function(p,va)
  1233.                             v.returnFunc(math.Round(va));
  1234.                         end
  1235.    
  1236.                        
  1237.                         if(CUNIKWARE.T.Pos[2] > 350) then
  1238.                             CUNIKWARE.T.Pos[1] = CUNIKWARE.T.Pos[1] + 140;
  1239.                             CUNIKWARE.T.Pos[2] = 30;
  1240.                         else
  1241.                             CUNIKWARE.T.Pos[2] = CUNIKWARE.T.Pos[2] + 15;
  1242.                         end                
  1243.                         else if(v.cType == "button") then
  1244.                        
  1245.                         CUNIKWARE.F["draw"].menuHandle[v.name .. "_button"] = vgui.Create( "DButton",CUNIKWARE.F["draw"].menuHandle.main )
  1246.                         CUNIKWARE.F["draw"].menuHandle[v.name .. "_button"]:SetText(v.name);
  1247.                         CUNIKWARE.F["draw"].menuHandle[v.name .. "_button"]:SetPos( CUNIKWARE.T.Pos[1],CUNIKWARE.T.Pos[2] )
  1248.                         CUNIKWARE.F["draw"].menuHandle[v.name .. "_button"]:SetSize( 125,25 )
  1249.                         CUNIKWARE.F["draw"].menuHandle[v.name .. "_button"].DoClick = function()
  1250.                             CUNIKWARE.F["draw"].menuHandle[v.name .. "_button"]:SetAlpha(0);
  1251.                             CUNIKWARE.F["draw"].menuHandle[v.name .. "_button"]:AlphaTo(255,.3);
  1252.                             v.returnFunc();
  1253.                         end
  1254.                        
  1255.                         CUNIKWARE.F["draw"].menuHandle[v.name .. "_button"].Paint = function(s, w, h)
  1256.                                 if(!v.checked) then
  1257.                                     draw.RoundedBox(1,0,0,w,h,Color(40,40,40,255))
  1258.                                 else
  1259.                                     draw.RoundedBox(1,0,0,w,h,CUNIKWARE.F["draw"].color)
  1260.                                     draw.RoundedBox(1,0,0,w,h *.25,Color(CUNIKWARE.F["draw"].color.r + 10, CUNIKWARE.F["draw"].color.g + 10, CUNIKWARE.F["draw"].color.b + 10));
  1261.                                 end
  1262.                                
  1263.                                 surface.SetDrawColor( ifCOND(!v.checked, CUNIKWARE.F["draw"].color, Color(40,40,40)) )
  1264.                                 surface.DrawOutlinedRect( 0, 0, w,h )
  1265.                                
  1266.                                 //draw.DrawText("Test", "BudgetLabel", CUNIKWARE.T.Pos[1] + 30,CUNIKWARE.T.Pos[2])
  1267.                             end
  1268.    
  1269.                        
  1270.                         if(CUNIKWARE.T.Pos[2] > 325) then
  1271.                             CUNIKWARE.T.Pos[1] = CUNIKWARE.T.Pos[1] + 140;
  1272.                             CUNIKWARE.T.Pos[2] = 50;
  1273.                         else
  1274.                             CUNIKWARE.T.Pos[2] = CUNIKWARE.T.Pos[2] + 30;
  1275.                         end                
  1276.                        
  1277.                         end
  1278.                         end
  1279.                         end
  1280.                         end
  1281.                    
  1282.                        
  1283.                        
  1284.                     end
  1285.            
  1286.             end)
  1287.            
  1288.         end
  1289.  
  1290. /*
  1291.     CUNIKWARE
  1292.         Hijack Hooks
  1293. */ 
  1294.     oCreateMove = oCreateMove or GAMEMODE.CreateMove;
  1295.     function GAMEMODE:CreateMove(cmd)
  1296.         //eTickInt = engine.TickInterval() * (math.max(GetConVar("cl_interp"):GetFloat(), GetConVar("cl_interp_ratio"):GetFloat() / GetConVar("cl_interp_ratio"):GetFloat()));
  1297.         BHOP(cmd);
  1298.         aimbotMainHook(cmd);
  1299.         SpeedHack();
  1300.         RecoilFix();
  1301.         StealNames();
  1302.         ChatSpam();
  1303.         oCreateMove(cmd);
  1304.     end
  1305.    
  1306.     oThink = oThink or GAMEMODE.Think;
  1307.     GAMEMODE["Think"] = function()
  1308.         if(input.IsKeyDown(KEY_INSERT) && !CUNIKWARE.T["menu"].open) then
  1309.             CUNIKWARE.F["draw"].MenuOpen();
  1310.         end
  1311.         oThink();
  1312.     end
  1313.    
  1314.     hook.Add("CalcView", "Calc_CUNIKWAREView", function(me,origin,angles)
  1315.         glob_origin = origin;
  1316.         local view = {}
  1317.         view.angles = ifCOND(CUNIKWARE.Config["Aimbot"]["SilentAim"],ms,angles);
  1318.         view.vm_angles = ifCOND(CUNIKWARE.Config["Aimbot"]["SilentAim"],ms,angles);
  1319.         view.origin = ifCOND(CUNIKWARE.Config["Misc"]["ThirdPerson"],origin-( aForward(ms)*125 ),origin);
  1320.         view.fov = 100;
  1321.         return view;
  1322.     end)
  1323.     local wireframeMat = Material("models/wireframe");
  1324.     GAMEMODE["PreDrawViewModel"] = function() if(!CUNIKWARE.Config["Misc"]["WireFrame"]) then return; end render.MaterialOverride(wireframeMat); render.SetColorModulation(0, 0, 0); end
  1325.     GAMEMODE["Move"] =  GetCurTime;
  1326.     GAMEMODE["RenderScreenspaceEffects"] = ChamsDud;
  1327.     GAMEMODE["ShouldDrawLocalPlayer"] = function() return CUNIKWARE.Config["Misc"]["ThirdPerson"]; end
  1328.     GAMEMODE["GetViewModelPosition"] = function(pos,ang) return glob_origin, ifCOND(CUNIKWARE.Config["Aimbot"]["SilentAim"],ms,angles); end
  1329.     GAMEMODE["CalcViewModelView"] = function(wep, vm, oldPos, oldAng, pos, ang) return glob_origin, ifCOND(CUNIKWARE.Config["Aimbot"]["SilentAim"],ms,angles); end 
  1330.    
  1331.    
  1332.     oHudPaint = oHudPaint or GAMEMODE.HUDPaint;
  1333.     GAMEMODE["HUDPaint"] = function(self)
  1334.         CUNIKWARE.F["draw"].DrawBigShit();
  1335.         for k,v in next, player.GetAll() do
  1336.             drawPlayer(v,(pTeam(v) == pTeam(me) and Color(0,255,0) or Color(255,0,0)));
  1337.         end
  1338.         //if(eHealth(me) < 1) then PA4.CHOKE_PACKETS(false); end
  1339.         //ChamsGun();
  1340.         oHudPaint(self);
  1341.     end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement