· 7 years ago · Dec 09, 2018, 04:48 AM
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 = true;
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*/
500local aaJam = 0;
501local AATbl = {1,4,7,10};
502local aaLoop = 1;
503local aaUpFake = false;
504
505local 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
935end
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