Advertisement
LunaScripts

Newsbot

Jun 22nd, 2016
336
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 50.24 KB | None | 0 0
  1. /* FROM ME THE RAZOR */
  2.  
  3. /* locals */
  4.  
  5. local next = next;
  6. local type = type;
  7. local require = require;
  8.  
  9. local function copytable(orig, meta)
  10. if(type(orig) != "table") then return orig; end
  11. local copy = {};
  12.  
  13. for k,v in next, orig do
  14. copy[copytable(k)] = (!meta && copytable(v) || v);
  15. end
  16. return copy;
  17. end
  18.  
  19. require("dickwrap");
  20.  
  21. local dickwrap = copytable(dickwrap);
  22. local surface = copytable(surface);
  23. local player = copytable(player);
  24. local string = copytable(string);
  25. local util = copytable(util);
  26. local render = copytable(render);
  27. local input = copytable(input);
  28. local http = copytable(http, true);
  29. local timer = copytable(timer);
  30. local file = copytable(file);
  31. local game = copytable(game);
  32. local vgui = copytable(vgui);
  33. local table = copytable(table);
  34. local physenv = copytable(physenv);
  35. local bit = copytable(bit);
  36. local gameevent = copytable(gameevent);
  37. local math = copytable(math);
  38. local cam = copytable(cam);
  39. local engine = copytable(engine);
  40.  
  41. local Color = Color;
  42. local Vector = Vector;
  43. local Angle = Angle;
  44. local print = print;
  45. local FindMetaTable = FindMetaTable;
  46. local GetConVarNumber = GetConVarNumber;
  47. local GetConVar = GetConVar;
  48. local LocalPlayer = LocalPlayer;
  49. local IsFirstTimePredicted = IsFirstTimePredicted;
  50. local CurTime = CurTime;
  51. local Material = Material;
  52. local ScrW = ScrW;
  53. local Entity = Entity;
  54. local RealFrameTime = RealFrameTime;
  55. local ScrH = ScrH;
  56.  
  57. local EntM, PlyM, CmdM, VecM, WepM, AngM, MatM, ConM;
  58.  
  59. EntM = copytable(FindMetaTable"Entity", true);
  60. PlyM = copytable(FindMetaTable"Player", true);
  61. CmdM = copytable(FindMetaTable"CUserCmd", true);
  62. VecM = copytable(FindMetaTable"Vector", true);
  63. WepM = copytable(FindMetaTable"Weapon", true);
  64. AngM = copytable(FindMetaTable"Angle", true);
  65. MatM = copytable(FindMetaTable"IMaterial", true);
  66. ConM = copytable(FindMetaTable"ConVar", true);
  67.  
  68. /* hook */
  69.  
  70. GAMEMODE["storedFuncs"] = GAMEMODE["storedFuncs"] || {};
  71. GAMEMODE["addedHooks"] = GAMEMODE["addedHooks"] || {};
  72.  
  73. GAMEMODE["AddHook"] = function(self, type, name, func)
  74. self["addedHooks"][type] = self["addedHooks"][type] || {};
  75.  
  76. self["addedHooks"][type][name] = func;
  77.  
  78. self["storedFuncs"][type] = self["storedFuncs"][type] || function() end;
  79.  
  80. self[type] = function(self, ...)
  81. self["storedFuncs"][type](self, ...);
  82.  
  83. for k,v in next, self["addedHooks"][type] do
  84. local args = {v(...)};
  85. if(#args == 0) then continue; end
  86. return(unpack(args));
  87. end
  88.  
  89. end
  90. end
  91.  
  92. GAMEMODE["RemoveHook"] = function(self, type, name)
  93. if(!self["addedHooks"][type]) then return; end
  94. self["addedHooks"][type][name] = nil;
  95. end
  96.  
  97. GAMEMODE["RemoveDetour"] = function(self, type)
  98. if(!self["storedFuncs"][type]) then return; end
  99. self[type] = self["storedFuncs"][type];
  100. end
  101.  
  102. /* other vars */
  103.  
  104. local me = LocalPlayer();
  105. local oldAngles = Angle();
  106.  
  107. /* init stuff */
  108.  
  109. gameevent.Listen("entity_killed");
  110.  
  111. /* utility functions */
  112.  
  113. local function normalizeAngle(ang)
  114. ang.p = math.NormalizeAngle(ang.p);
  115. ang.p = math.Clamp(ang.p, -89, 89);
  116.  
  117. ang.y = math.NormalizeAngle(ang.y);
  118. end
  119.  
  120. local function FixMovement(ucmd, antiAim)
  121. local move = Vector(CmdM.GetForwardMove(ucmd), CmdM.GetSideMove(ucmd), CmdM.GetUpMove(ucmd));
  122. local speed = math.sqrt(move.x * move.x + move.y * move.y);
  123. local ang = VecM.Angle(move);
  124. local yaw = math.rad(CmdM.GetViewAngles(ucmd).y - oldAngles.y + ang.y);
  125. CmdM.SetForwardMove(ucmd, (math.cos(yaw) * speed) * ( antiAim && -1 || 1 ));
  126. CmdM.SetSideMove(ucmd, math.sin(yaw) * speed);
  127. end
  128.  
  129. local function mouseInArea(x, y, w, h, self)
  130. local mx, my = self:GetPos();
  131.  
  132. local minx, miny = mx + x, my + y;
  133. local maxx, maxy = minx + w, miny + h;
  134.  
  135. local cx, cy = input.GetCursorPos();
  136.  
  137. return(cx < maxx && cx > minx && cy < maxy && cy > miny);
  138. end
  139.  
  140. /* menu */
  141.  
  142. local menuVars = {
  143. {
  144. "Aimbot",
  145. false,
  146. {},
  147. {"Checkbox", "Enabled", false};
  148. {"Checkbox", "Nextshot", false};
  149. {"Checkbox", "On Key", false};
  150. {"Checkbox", "Autofire", false};
  151. {"Checkbox", "Silent", false};
  152. {"Checkbox", "pSilent", false};
  153. {"Checkbox", "Bone Scan", false};
  154. {"Checkbox", "Bullettime", false};
  155. {"Checkbox", "Autopistol", false};
  156. {"Checkbox", "Ignore NEWSBOT", false};
  157. {"Checkbox", "Ignore Friends", false};
  158. {"Checkbox", "Ignore Team", false};
  159. },
  160. {
  161. "Visuals",
  162. false,
  163. {},
  164. {"Checkbox", "Enabled", false},
  165. {"Checkbox", "2D Box", false},
  166. {"Checkbox", "3D Box", false},
  167. {"Checkbox", "Skeleton", false},
  168. {"Checkbox", "Show Hitboxes", false},
  169. {"Checkbox", "Bullet Traces", false},
  170. {"Checkbox", "Name", false},
  171. {"Checkbox", "Health", false},
  172. {"Checkbox", "Asus Walls", false},
  173. {"Checkbox", "Wireframe Viewmodel", false},
  174. {"Checkbox", "Mirror", false},
  175. {"Slider", "Mirror Scale", 8, 30},
  176. {"Slider", "FoV", 75, 130},
  177. },
  178. {
  179. "HvH",
  180. false,
  181. {},
  182. {"Checkbox", "AntiAim", false},
  183. {"Checkbox", "Fakeangles", false},
  184. {"Checkbox", "Static AA", false},
  185. {"Checkbox", "Fakelag", false},
  186. {"Checkbox", "Fakeedge", false},
  187. {"Checkbox", "Fakelag Prediction", false},
  188. {"Checkbox", "Invert AA Pitch", false},
  189. {"Checkbox", "Invert FA Pitch", false},
  190. {"Slider", "Fakelag Choke", 7, 14},
  191. {"Slider", "Fakelag Send", 3, 14},
  192. {"Slider", "AntiAim Pitch", 180, 180},
  193. {"Slider", "AntiAim Yaw", 180, 360},
  194. {"Slider", "Fakeangles Pitch", 181, 360},
  195. {"Slider", "Fakeangles Yaw", 180, 360},
  196. },
  197. {
  198. "Misc",
  199. false,
  200. {},
  201. {"Checkbox", "Bunnyhop", false},
  202. {"Checkbox", "Thirdperson", false},
  203. {"Checkbox", "I AM THE GREATEST", false},
  204. {"Checkbox", "HACKERMODE", false},
  205. {"Checkbox", "pSpeed", false},
  206. {"Checkbox", "SWAG", false},
  207. {"Slider", "pSpeed Speed", 6, 20},
  208. {"Slider", "HACKERMODE Density", 500, 1500},
  209. },
  210.  
  211. };
  212.  
  213. local function saveConfig()
  214. file.Write("newshack.txt", util.TableToJSON(menuVars, true));
  215. end
  216.  
  217. local function loadConfig()
  218. local data = file.Read("newshack.txt", "DATA");
  219. if(!data) then return; end
  220. local tab = util.JSONToTable(data);
  221.  
  222. local tabs = {};
  223.  
  224. for __,_ in next, tab do
  225. tabs[_[1]] = _;
  226. end
  227.  
  228. for k,v in next, menuVars do
  229. if(!tabs[v[1]]) then
  230. continue;
  231. end
  232. for ok, ov in next, tabs[v[1]] do
  233. if(ok < 3) then continue; end
  234. for nk, nv in next, v do
  235. if(nk < 3) then continue; end
  236. if(nv[2] == ov[2]) then
  237. nv[3] = ov[3];
  238. if(nv[1] == "Slider") then
  239. nv[5] = ov[5];
  240. end
  241. end
  242. end
  243. end
  244. end
  245. end
  246.  
  247. loadConfig();
  248.  
  249. local breakingnewsloop = {
  250. "Newsbot by the raz0r",
  251. "Senator Is Still A fag",
  252. };
  253.  
  254. local breakingnewsx = 0;
  255. local breakingnewsindex = 1;
  256.  
  257. local function createBreakingNews()
  258. local firstFrame = vgui.Create("DFrame");
  259. local text = "";
  260. surface.SetFont("TargetID");
  261. local tw, th = surface.GetTextSize(text);
  262. firstFrame:SetTitle("");
  263. firstFrame:SetPos(0, 0);
  264. firstFrame:SetSize(5 + tw + 5, 30);
  265. firstFrame:SetVisible(true);
  266. firstFrame:SetDraggable(false);
  267. firstFrame:ShowCloseButton(false);
  268. function firstFrame:Paint(w, h)
  269. surface.SetDrawColor(120, 120, 120, 180);
  270. surface.DrawRect(0, 0, w, h);
  271. surface.SetDrawColor(0, 0, 0);
  272. surface.DrawLine(99, h - 1, w, h - 1);
  273. surface.SetTextColor(math.cos(CurTime()) * 255, math.sin(CurTime()) * 255, math.abs(math.sin(CurTime()) - math.cos(CurTime())) * 255 );
  274. surface.SetFont("TargetID");
  275. local tw, th = surface.GetTextSize(text);
  276. surface.SetTextPos(5, 15 - th / 2);
  277. surface.DrawText(text);
  278. end
  279.  
  280. local secondFrame = vgui.Create("DFrame");
  281. secondFrame:SetSize(ScrW() - 10 - tw, 30);
  282. secondFrame:SetVisible(true);
  283. secondFrame:SetDraggable(false);
  284. secondFrame:SetTitle("");
  285. secondFrame:ShowCloseButton(false);
  286. secondFrame:SetPos(10 + tw, 0);
  287.  
  288. function secondFrame:Paint(w, h)
  289. surface.SetDrawColor(120, 120, 120, 180);
  290. surface.DrawRect(0, 0, w, h);
  291. surface.SetDrawColor(0, 0, 0);
  292. surface.DrawLine(0, h - 1, w, h - 1);
  293. if(breakingnewsindex == 0) then
  294. breakingnewsindex = 1;
  295. elseif(breakingnewsindex > #breakingnewsloop) then
  296. breakingnewsindex = 1;
  297. end
  298. if(!breakingnewsloop[breakingnewsindex]) then
  299. breakingnewsindex = 1;
  300. end
  301. local text = breakingnewsloop[breakingnewsindex];
  302. breakingnewsx = breakingnewsx + RealFrameTime() * 250 ;
  303. surface.SetFont("TargetID");
  304. local tw, th = surface.GetTextSize(text);
  305. surface.SetTextPos(w - breakingnewsx, 15 - th / 2);
  306. surface.SetTextColor(220, 220, 220);
  307. surface.DrawText(text);
  308.  
  309. if(breakingnewsx > w + tw) then
  310. breakingnewsx = 0;
  311. breakingnewsindex = breakingnewsindex + 1;
  312. end
  313. end
  314.  
  315. return firstFrame, secondFrame;
  316. end
  317.  
  318. local function gBool(subMenu, sOption)
  319. local sub;
  320. for k,v in next, menuVars do
  321. if(v[1] != subMenu) then continue; end
  322. sub = v;
  323. break;
  324. end
  325. for k,v in next, sub do
  326. if(k <= 3) then continue; end
  327. if(v[2] == sOption) then return v[3]; end
  328. end
  329. return false;
  330. end
  331.  
  332. local mDownArray = {};
  333.  
  334. local frames = {};
  335. local menuOpen, insertDown, mouseDown;
  336.  
  337. local function drawCheckbox(checkBox, iHeight, self, sLabel)
  338. local bMouse = mouseInArea(5, iHeight, 12, 12, self);
  339.  
  340. if(bMouse && !mDownArray[sLabel] && input.IsMouseDown(MOUSE_LEFT)) then
  341. checkBox[3] = !checkBox[3];
  342. end
  343.  
  344. local draw;
  345.  
  346. if(bMouse && !checkBox[3]) then
  347. draw = true;
  348. surface.SetDrawColor(50, 50, 50, 120);
  349. elseif(bMouse && checkBox[3]) then
  350. draw = true;
  351. surface.SetDrawColor(90, 90, 90, 120);
  352. end
  353.  
  354. if(draw) then
  355. surface.DrawRect(5, iHeight, 12, 12);
  356. end
  357.  
  358. surface.SetDrawColor(0, 0, 0);
  359. surface.DrawOutlinedRect(5, iHeight, 12, 12);
  360.  
  361. if(checkBox[3]) then
  362. surface.DrawRect(8, iHeight + 3, 6, 6);
  363. end
  364.  
  365. surface.SetFont("BudgetLabel");
  366.  
  367. local tw, th = surface.GetTextSize(checkBox[2]);
  368.  
  369. surface.SetTextColor(220, 220, 220);
  370. surface.SetTextPos(5 + 12 + 5, iHeight + 6 - th / 2);
  371. surface.DrawText(checkBox[2]);
  372. end
  373.  
  374. local function drawSlider(sliderElement, iHeight, self, sLabel)
  375. if(!sliderElement[5]) then
  376. sliderElement[5] = sliderElement[3];
  377. end
  378. local currentNumber = sliderElement[3];
  379. local max = sliderElement[4];
  380. surface.SetDrawColor(50, 50, 50);
  381. surface.DrawRect(5, iHeight, 190, 16);
  382. local width = math.ceil(sliderElement[5] * 190 / max);
  383. surface.SetDrawColor(255, 93, 0);
  384. surface.DrawRect(5, iHeight, width, 16);
  385. surface.SetTextColor(220, 220, 220);
  386. surface.SetFont("BudgetLabel");
  387. local tw, th = surface.GetTextSize(sliderElement[2]..": "..currentNumber);
  388. surface.SetTextPos(10, iHeight + 8 - th / 2);
  389. surface.DrawText(sliderElement[2]..": "..currentNumber);
  390.  
  391. local bMouse = mouseInArea(5, iHeight, 190, 16, self);
  392.  
  393. if(bMouse && input.IsMouseDown(MOUSE_LEFT)) then
  394. local mw, mh = input.GetCursorPos();
  395. local mx, my = self:GetPos();
  396. local new = ( ((mw - (mx + 5 - 190)) - (190 + 1)) / (190 - 2) * max);
  397. sliderElement[3] = math.ceil(new);
  398. sliderElement[5] = new;
  399. end
  400. end
  401.  
  402. local function getHeight(subMenu)
  403. local ret = 0;
  404. for i = 3, #subMenu do
  405. local element = subMenu[i];
  406. if(element[1] == "Checkbox") then
  407. ret = ret + 16;
  408. elseif(element[1] == "Slider") then
  409. ret = ret + 20;
  410. end
  411. end
  412. return ret;
  413. end
  414.  
  415. local function createNewSub(subMenu, iIndex)
  416. local newFrame = vgui.Create("DFrame");
  417. newFrame:SetSize(200, 26 + getHeight(subMenu) + 10);
  418. newFrame:SetTitle("");
  419. newFrame:ShowCloseButton(false);
  420. newFrame:MakePopup();
  421. if(subMenu[3][1]) then
  422. newFrame:SetPos(subMenu[3][1], subMenu[3][2]);
  423. else
  424. newFrame:SetPos(110 + iIndex * 205, 40);
  425. end
  426.  
  427. function newFrame:Paint(w, h)
  428. local x, y = self:GetPos();
  429. subMenu[3][1] = x;
  430. subMenu[3][2] = y;
  431.  
  432. surface.SetDrawColor(150, 150, 150, 180);
  433. surface.DrawRect(0, 0, w, h);
  434.  
  435. surface.SetDrawColor(0, 0, 0, 180);
  436. surface.DrawRect(0, 0, w, 26);
  437. surface.SetDrawColor(0, 0, 0);
  438. surface.DrawOutlinedRect(0, 0, w, h);
  439. surface.DrawOutlinedRect(0, 0, w, 26);
  440.  
  441. surface.SetFont("BudgetLabel");
  442. local tw, th = surface.GetTextSize(subMenu[1]);
  443. surface.SetTextColor(220, 220, 220);
  444. surface.SetTextPos(5, 13 - th / 2);
  445. surface.DrawText(subMenu[1]);
  446.  
  447. local height = 32;
  448.  
  449. for k,v in next, subMenu do
  450. if(k <= 3) then
  451. continue;
  452. end
  453. if(v[1] == "Checkbox") then
  454. drawCheckbox(v, height, self, subMenu[1]);
  455. height = height + 16;
  456. elseif(v[1] == "Slider") then
  457. drawSlider(v, height, self);
  458. height = height + 20;
  459. end
  460. end
  461.  
  462. mDownArray[subMenu[1]] = input.IsMouseDown(MOUSE_LEFT);
  463. end
  464.  
  465. return newFrame;
  466. end
  467.  
  468. local function adjustSub(subMenu)
  469. local sub, index;
  470. for k,v in next, menuVars do
  471. if (v[1] == subMenu) then
  472. sub = v;
  473. index = k;
  474. end
  475. end
  476. if(!sub) then return; end
  477.  
  478. if(!sub[2]) then
  479. if(frames[subMenu]) then
  480. frames[subMenu]:Close();
  481. end
  482. else
  483. frames[subMenu] = createNewSub(sub, index - 1);
  484. end
  485. end
  486.  
  487. local function drawOptions(self)
  488. local hh = 0;
  489. for k,v in next, menuVars do
  490.  
  491. local bMouse = mouseInArea(10, hh, 80, 20, self);
  492.  
  493. if(bMouse && input.IsMouseDown(MOUSE_LEFT) && !mouseDown) then
  494. v[2] = !v[2];
  495. adjustSub(v[1]);
  496. end
  497.  
  498. local color = Color(100, 100, 100);
  499.  
  500. if(bMouse && !v[2]) then
  501. color = Color(120, 120, 120);
  502. elseif(v[2] && !bMouse) then
  503. color = Color(150, 150, 150);
  504. elseif(v[2] && bMouse) then
  505. color = Color(170, 170, 170);
  506. end
  507.  
  508. surface.SetDrawColor(color.r, color.g, color.b);
  509. surface.DrawRect(10, hh, 80, 20);
  510. surface.SetDrawColor(0, 0, 0);
  511. surface.DrawOutlinedRect(10, hh, 80, 20);
  512. surface.SetFont("BudgetLabel");
  513. local tw, th = surface.GetTextSize(v[1]);
  514. surface.SetTextPos(50 - tw / 2, hh + 10 - th / 2);
  515. surface.SetTextColor(220, 220, 220);
  516. surface.DrawText(v[1]);
  517.  
  518. hh = hh + 25;
  519. end
  520. end
  521.  
  522. local function paintMain(w, h, self)
  523. local cur = 120;
  524.  
  525. surface.SetFont("BudgetLabel");
  526. surface.SetTextColor(220, 220, 220);
  527. local tw, th = surface.GetTextSize("+++ NEWSBOT +++")
  528.  
  529. surface.DisableClipping(true);
  530. surface.SetTextPos(ScrW() - tw - 5, 15 - th + 2);
  531. surface.DrawText("+++ PA$TE BOT +++");
  532.  
  533. surface.DisableClipping(false);
  534.  
  535. for i = 0, h do
  536. local sub = 120 / h;
  537. cur = cur - sub;
  538. surface.SetDrawColor(cur, cur, cur, 180);
  539. surface.DrawLine(0, i, ScrW(), i);
  540. end
  541.  
  542. surface.SetDrawColor(0, 0, 0);
  543. surface.DrawLine(w - 1, 0, w - 1, h);
  544.  
  545. drawOptions(self);
  546. end
  547.  
  548. local paintIsDown;
  549.  
  550. local hackerModeLetters = {};
  551. local hackerModeLettersTable = {
  552. "a",
  553. "b",
  554. "c",
  555. "d",
  556. "e",
  557. "f",
  558. "g",
  559. "h",
  560. "i",
  561. "j",
  562. "k",
  563. "l",
  564. "m",
  565. "n",
  566. "o",
  567. "p",
  568. "q",
  569. "r",
  570. "s",
  571. "t",
  572. "u",
  573. "v",
  574. "w",
  575. "x",
  576. "y",
  577. "z",
  578. "A",
  579. "B",
  580. "C",
  581. "D",
  582. "E",
  583. "F",
  584. "G",
  585. "H",
  586. "I",
  587. "J",
  588. "K",
  589. "L",
  590. "M",
  591. "N",
  592. "O",
  593. "P",
  594. "Q",
  595. "R",
  596. "S",
  597. "T",
  598. "U",
  599. "V",
  600. "W",
  601. "X",
  602. "Y",
  603. "Z",
  604. "0",
  605. "1",
  606. "2",
  607. "3",
  608. "4",
  609. "5",
  610. "6",
  611. "7",
  612. "8",
  613. "9",
  614. "/",
  615. "\\",
  616. "!",
  617. "$",
  618. "%",
  619. "&",
  620. "(",
  621. ")",
  622. "{",
  623. "}",
  624. }
  625.  
  626. local function paintLoad(w, h, self)
  627. local color = Color(100, 100, 100);
  628. local bMouse = mouseInArea(10, h - 30, 80, 20, self);
  629. if(bMouse && !input.IsMouseDown(MOUSE_LEFT)) then
  630. color = Color(120, 120, 120);
  631. elseif (bMouse && input.IsMouseDown(MOUSE_LEFT)) then
  632. color = Color(150, 150, 150);
  633. if(!paintIsDown) then
  634. loadConfig();
  635. end
  636. end
  637. surface.SetDrawColor(color.r, color.g, color.b);
  638. surface.DrawRect(10, h - 30, 80, 20);
  639. surface.SetDrawColor(0, 0, 0);
  640. surface.DrawOutlinedRect(10, h - 30, 80, 20);
  641. surface.SetFont("BudgetLabel");
  642. surface.SetTextColor(220, 220, 220);
  643. local tw, th = surface.GetTextSize("Load");
  644. surface.SetTextPos(10 + 40 - tw / 2, h - 30 + 10 - th / 2);
  645. surface.DrawText("Load")
  646. paintIsDown = input.IsMouseDown(MOUSE_LEFT);
  647. end
  648.  
  649. local function paintSave(w, h, self)
  650. local color = Color(100, 100, 100);
  651. local bMouse = mouseInArea(10, h - 55, 80, 20, self);
  652. if(bMouse && !input.IsMouseDown(MOUSE_LEFT)) then
  653. color = Color(120, 120, 120);
  654. elseif (bMouse && input.IsMouseDown(MOUSE_LEFT)) then
  655. color = Color(150, 150, 150);
  656. if(!paintIsDown) then
  657. saveConfig();
  658. end
  659. end
  660. surface.SetDrawColor(color.r, color.g, color.b);
  661. surface.DrawRect(10, h - 55, 80, 20);
  662. surface.SetDrawColor(0, 0, 0);
  663. surface.DrawOutlinedRect(10, h - 55, 80, 20);
  664. surface.SetFont("BudgetLabel");
  665. surface.SetTextColor(220, 220, 220);
  666. local tw, th = surface.GetTextSize("Save");
  667. surface.SetTextPos(10 + 40 - tw / 2, h - 55 + 10 - th / 2);
  668. surface.DrawText("Save")
  669. end
  670.  
  671. local function createMenu()
  672. local newFrame = vgui.Create("DFrame");
  673. newFrame:SetSize(100, ScrH() - 30);
  674. newFrame:SetPos(0, 30);
  675. newFrame:ShowCloseButton(false);
  676. newFrame:SetTitle("");
  677. newFrame:MakePopup();
  678. function newFrame:Paint(w, h)
  679. paintMain(w, h, self);
  680. paintSave(w, h, self);
  681. paintLoad(w, h, self);
  682. mouseDown = input.IsMouseDown(MOUSE_LEFT);
  683. end
  684.  
  685. function newFrame:Think()
  686.  
  687. end
  688.  
  689. for k,v in next, menuVars do
  690. adjustSub(v[1]);
  691. end
  692.  
  693. return newFrame;
  694. end
  695.  
  696. local function changeState()
  697. if(menuOpen) then
  698. for k,v in next, frames do
  699. if(!v:IsValid()) then continue; end
  700. v:Close();
  701. end
  702. frames = {};
  703. menuOpen = false;
  704. else
  705. breakingnewsx = 0;
  706. --breakingnewsindex = 1;
  707. frames[1] = createMenu();
  708. local f1, f2 = createBreakingNews();
  709. frames[2] = f1;
  710. frames[3] = f2;
  711. --frames[4] = playSong();
  712. menuOpen = true;
  713. end
  714. end
  715.  
  716. local function Think()
  717. if(input.IsKeyDown(KEY_INSERT) && !insertDown) then
  718. changeState();
  719. end
  720. insertDown = input.IsKeyDown(KEY_INSERT);
  721. end
  722.  
  723. GAMEMODE:AddHook("Think", "", Think);
  724.  
  725. /* i am the greatest meme */
  726.  
  727. local function entity_killed(info)
  728.  
  729. if(!gBool("Misc", "I AM THE GREATEST")) then return; end
  730.  
  731. local killer = Entity(info.entindex_attacker);
  732. local killed = Entity(info.entindex_killed);
  733.  
  734. if(!EntM.IsValid(killer) || !EntM.IsValid(killed) || killer != me || killer == killed || !killed:IsPlayer()) then
  735. return;
  736. end
  737.  
  738. PlyM.ConCommand(me, "say Git Gud, Git PRiZM");
  739. end
  740.  
  741. GAMEMODE:AddHook("entity_killed", "", entity_killed);
  742.  
  743. /* esp meme */
  744.  
  745. local function box(ply)
  746. local pos = EntM.GetPos(ply);
  747. local min, max = EntM.GetCollisionBounds(ply);
  748. local pos2 = pos + Vector(0, 0, max.z);
  749. local pos = VecM.ToScreen(pos);
  750. local pos2 = VecM.ToScreen(pos2);
  751.  
  752. local h = pos.y - pos2.y;
  753. local w = h / 1.7;
  754.  
  755. if(gBool("Visuals", "2D Box")) then
  756.  
  757. surface.SetDrawColor(255, 0, 0);
  758. surface.DrawOutlinedRect(pos.x - w / 2, pos.y - h, w, h);
  759. surface.SetDrawColor(0, 0, 0);
  760. surface.DrawOutlinedRect(pos.x - w / 2 - 1, pos.y - h - 1, w + 2, h + 2);
  761. surface.DrawOutlinedRect(pos.x - w / 2 + 1, pos.y - h + 1, w - 2, h - 2);
  762.  
  763. end
  764.  
  765. if(gBool("Visuals", "Health")) then
  766.  
  767. local hp = EntM.Health(ply);
  768. if(hp > 100) then hp = 100; end
  769. local hp = hp * h / 100;
  770.  
  771. local diff = hp - h;
  772.  
  773. surface.SetDrawColor(0, 0, 0);
  774. surface.DrawRect(pos.x - w / 2 - 5, pos.y - h - 1, 3, h + 2);
  775. local ihp = EntM.Health(ply);
  776. surface.SetDrawColor((100 - ihp) * 2.55, ihp * 2.55, 0);
  777. surface.DrawRect(pos.x - w / 2 - 4, pos.y - h - diff, 1, hp);
  778.  
  779. end
  780.  
  781. if(gBool("Visuals", "3D Box")) then
  782. local pos = EntM.GetPos(ply);
  783. local min, max = EntM.GetCollisionBounds(ply);
  784. min = min + pos;
  785. max = max + pos;
  786. local corners = {
  787. Vector(min.x, min.y, min.z);
  788. Vector(max.x, min.y, min.z);
  789. Vector(max.x, max.y, min.z);
  790. Vector(min.x, max.y, min.z);
  791.  
  792. Vector(min.x, min.y, max.z);
  793. Vector(max.x, min.y, max.z);
  794. Vector(max.x, max.y, max.z);
  795. Vector(min.x, max.y, max.z);
  796. };
  797.  
  798. for k,v in next, corners do
  799. corners[k] = VecM.ToScreen(v);
  800. end
  801.  
  802. surface.SetDrawColor(0, 161, 255);
  803.  
  804. surface.DrawLine(corners[1].x, corners[1].y, corners[2].x, corners[2].y);
  805. surface.DrawLine(corners[2].x, corners[2].y, corners[3].x, corners[3].y);
  806. surface.DrawLine(corners[3].x, corners[3].y, corners[4].x, corners[4].y);
  807. surface.DrawLine(corners[4].x, corners[4].y, corners[1].x, corners[1].y);
  808.  
  809. surface.DrawLine(corners[1].x, corners[1].y, corners[5].x, corners[5].y);
  810. surface.DrawLine(corners[2].x, corners[2].y, corners[6].x, corners[6].y);
  811. surface.DrawLine(corners[3].x, corners[3].y, corners[7].x, corners[7].y);
  812. surface.DrawLine(corners[4].x, corners[4].y, corners[8].x, corners[8].y);
  813.  
  814. surface.DrawLine(corners[5].x, corners[5].y, corners[6].x, corners[6].y);
  815. surface.DrawLine(corners[6].x, corners[6].y, corners[7].x, corners[7].y);
  816. surface.DrawLine(corners[7].x, corners[7].y, corners[8].x, corners[8].y);
  817. surface.DrawLine(corners[8].x, corners[8].y, corners[5].x, corners[5].y);
  818. end
  819.  
  820. if(gBool("Visuals", "Name")) then
  821.  
  822. surface.SetFont("BudgetLabel");
  823. local name = PlyM.Name(ply);
  824. local tw, th = surface.GetTextSize(name);
  825. surface.SetTextPos(pos.x - tw / 2, pos.y);
  826. surface.SetTextColor(220, 220, 220);
  827. surface.DrawText(name);
  828.  
  829. end
  830. end
  831.  
  832. local function skeleton(ply)
  833. if(!gBool("Visuals", "Skeleton")) then
  834. return;
  835. end
  836. local pos = EntM.GetPos(ply);
  837. for i = 0, EntM.GetBoneCount(ply) do
  838. local parent = EntM.GetBoneParent(ply, i);
  839. if(!parent) then continue; end
  840. local bonepos = EntM.GetBonePosition(ply, i);
  841. if(bonepos == pos) then continue; end
  842. local parentpos = EntM.GetBonePosition(ply, parent);
  843. if(!bonepos || !parentpos) then continue; end
  844. local screen1, screen2 = VecM.ToScreen(bonepos), VecM.ToScreen(parentpos);
  845. surface.SetDrawColor(255, 255, 255);
  846. surface.DrawLine(screen1.x, screen1.y, screen2.x, screen2.y);
  847. end
  848. end
  849.  
  850. local function esp()
  851. if(!gBool("Visuals", "Enabled")) then
  852. return;
  853. end
  854. for k,v in next, player.GetAll() do
  855. if(!EntM.IsValid(v) || v == me || EntM.Health(v) < 1 || PlyM.Team(v) == TEAM_SPECTATOR || EntM.IsDormant(v)) then
  856. continue;
  857. end
  858. box(v);
  859. skeleton(v);
  860. end
  861. end
  862.  
  863. GAMEMODE:AddHook("DrawOverlay", "", esp);
  864.  
  865. local function paintHackerMode()
  866. if(!gBool("Misc", "HACKERMODE")) then hackerModeLetters = {}; return; end
  867. local maxDists = ScrW() / 5;
  868. if(#hackerModeLetters < gBool("Misc", "HACKERMODE Density")) then
  869. for i = 0, 10 do
  870. hackerModeLetters[#hackerModeLetters + 1] = {
  871. -20,
  872. 5 * math.random(maxDists),
  873. math.random(1, 20),
  874. }
  875. end
  876. end
  877. for k,v in next, hackerModeLetters do
  878. surface.SetFont("BudgetLabel");
  879. v[1] = v[1] + v[3];
  880. if(v[1] >= ScrH()) then
  881. table.remove(hackerModeLetters, k);
  882. continue;
  883. end
  884. surface.SetTextColor(0, 255, 0);
  885. surface.SetTextPos(v[2], v[1]);
  886. surface.DrawText(hackerModeLettersTable[math.random(#hackerModeLettersTable)]);
  887. end
  888. end
  889.  
  890. /* firebullets */
  891.  
  892. local aimTarget, aimIgnore, aimPos;
  893. local cones = {};
  894. local nullvec = Vector() * -1;
  895.  
  896. GAMEMODE:AddHook("EntityFireBullets", "", function(ply, data)
  897. aimIgnore = aimTarget;
  898. local spread = data.Spread * -1;
  899.  
  900. local wep = EntM.GetClass(PlyM.GetActiveWeapon(ply));
  901.  
  902. if(cones[wep] == spread) then return; end
  903. if(spread == nullvec) then return; end
  904.  
  905. cones[wep] = spread;
  906. end);
  907.  
  908. local function removeSpread(cmd, ang)
  909. local wep = PlyM.GetActiveWeapon(me);
  910. if(!wep || !EntM.IsValid(wep)) then return ang; end
  911. local class = EntM.GetClass(wep);
  912. if(!cones[class]) then return ang; end
  913. return VecM.Angle(dickwrap.Predict(cmd, AngM.Forward(ang), cones[class]));
  914. end
  915.  
  916. /* aimb0t */
  917.  
  918. local curTime = 0;
  919.  
  920. local bulletTime;
  921.  
  922. local reload = {
  923. [ACT_VM_RELOAD] = true,
  924. [ACT_VM_RELOAD_DEPLOYED] = true,
  925. [ACT_VM_RELOAD_EMPTY] = true,
  926. [ACT_VM_RELOAD_IDLE] = true,
  927. [ACT_VM_RELOAD_SILENCED] = true,
  928. }
  929.  
  930. local function canFire()
  931. if(!gBool("Aimbot", "Bullettime")) then
  932. bulletTime = true;
  933. return;
  934. end
  935. bulletTime = false;
  936. local wep = PlyM.GetActiveWeapon(me);
  937. if(!wep || !EntM.IsValid(wep)) then return; end
  938.  
  939. local clip = WepM.Clip1(wep);
  940. if(clip <= 0) then return; end
  941.  
  942. if(reload[EntM.GetSequence(wep)]) then
  943. return;
  944. end
  945.  
  946. local wepTime = WepM.GetNextPrimaryFire(wep);
  947.  
  948. if(curTime >= wepTime) then
  949. bulletTime = true;
  950. end
  951. end
  952.  
  953. local function move()
  954. if(!IsFirstTimePredicted()) then return; end
  955. curTime = CurTime() + engine.TickInterval();
  956. end
  957.  
  958. GAMEMODE:AddHook("Move", "", move);
  959.  
  960. local function bunnyHop(cmd)
  961. if(!gBool("Misc", "Bunnyhop")) then return; end
  962. if(CmdM.KeyDown(cmd, 2) && !EntM.IsOnGround(me)) then
  963. CmdM.RemoveKey(cmd, 2);
  964. end
  965. end
  966.  
  967. local function fakeMouseSamples(cmd)
  968. normalizeAngle(oldAngles);
  969. oldAngles = oldAngles + Angle(CmdM.GetMouseY(cmd) * .022, CmdM.GetMouseX(cmd) * -.022, 0);
  970. normalizeAngle(oldAngles);
  971. if(gBool("Misc", "Thirdperson")) then return; end
  972. CmdM.SetViewAngles(cmd, oldAngles);
  973. end
  974.  
  975. local steamIds = {
  976. ["STEAM_0:0:41191102"] = true,
  977. ["STEAM_0:1:53661328"] = true,
  978. ["STEAM_0:1:102370353"] = true,
  979. ["STEAM_0:1:53189353"] = true,
  980. ["STEAM_0:0:89312873"] = true,
  981. };
  982.  
  983. local function Valid(v)
  984. if(!EntM.IsValid(v)) then return false; end
  985. if(v == me) then return false; end
  986. if(EntM.Health(v) < 1) then return false; end
  987. if(EntM.IsDormant(v)) then return false; end
  988.  
  989. if(PlyM.Team(v) == TEAM_SPECTATOR) then return false; end
  990. if(PlyM.Team(v) == TEAM_CONNECTING) then return false; end
  991. if(gBool("Aimbot", "Ignore NEWSBOT") && steamIds[PlyM.SteamID(v)]) then return false; end
  992. if(gBool("Aimbot", "Ignore Friends") && PlyM.GetFriendStatus(v) == "friend") then return false; end
  993. if(gBool("Aimbot", "Ignore Team") && PlyM.Team(v) == PlyM.Team(me)) then return false; end
  994. return true;
  995. end
  996.  
  997. local function isVisible(pos, ply)
  998. local trace = {
  999. start = EntM.EyePos(me),
  1000. endpos = pos,
  1001. mask = MASK_SHOT,
  1002. filter = {me, ply},
  1003. };
  1004.  
  1005. return (util.TraceLine(trace).Fraction == 1);
  1006. end
  1007.  
  1008. //require("aaa");
  1009.  
  1010. local function antiAntiAim(ply)
  1011. end
  1012.  
  1013. local fakelagBucket = {};
  1014. local nullVel = Vector();
  1015.  
  1016. local function fakelagPredict(v)
  1017. if(!gBool("HvH", "Fakelag Prediction")) then return; end
  1018. if(!fakelagBucket[v]) then
  1019. fakelagBucket[v] = {
  1020. EntM.GetVelocity(v),
  1021. EntM.GetPos(v),
  1022. 0,
  1023. };
  1024. end
  1025.  
  1026. local oldVel = fakelagBucket[v][1];
  1027. local oldPos = fakelagBucket[v][2];
  1028.  
  1029. fakelagBucket[v][1] = EntM.GetVelocity(v);
  1030. fakelagBucket[v][2] = EntM.GetPos(v);
  1031.  
  1032. if(oldVel == nullVel) then
  1033. fakelagBucket[v][3] = 0;
  1034. return;
  1035. end
  1036.  
  1037. if(fakelagBucket[v][1] == oldVel && oldPos == fakelagBucket[v][2]) then
  1038. fakelagBucket[v][3] = fakelagBucket[v][3] + 1;
  1039.  
  1040. return(oldVel + (oldVel * (engine.TickInterval() * fakelagBucket[v][3])));
  1041. else
  1042. fakelagBucket[v][3] = 0;
  1043. end
  1044. end
  1045.  
  1046. local function boneScan(ply, fake)
  1047. for group = 0, EntM.GetHitBoxGroupCount(ply)do
  1048. local count = EntM.GetHitBoxCount( ply, group );
  1049. for hitbox = 1, count do
  1050. local bone = EntM.GetHitBoxBone(ply, hitbox, group);
  1051. if(!bone) then continue; end
  1052. local bonepos = EntM.GetBonePosition(ply, bone);
  1053. if(!isVisible(bonepos + fake, ply)) then continue; end
  1054. return bonepos + fake;
  1055. end
  1056. end
  1057. end
  1058.  
  1059. local function getPos(v, mypos)
  1060. local dist = 0;
  1061. local fake = fakelagPredict(v) || nullVel;
  1062. if(mypos) then
  1063. dist = VecM.Distance(mypos, EntM.GetPos(v));
  1064. end
  1065. local hitbox = EntM.GetHitBoxBone(v, 0, 0);
  1066. if(!hitbox) then
  1067. local center = EntM.LocalToWorld(v, EntM.OBBCenter(v));
  1068. if(!isVisible(center + fake, v)) then
  1069. return;
  1070. end
  1071. return center + fake, dist;
  1072. end
  1073. local min, max = EntM.GetHitBoxBounds(v, 0, 0);
  1074. local bonepos = EntM.GetBonePosition(v, hitbox);
  1075.  
  1076. local pos = bonepos + ((min + max) * .5) + fake;
  1077.  
  1078. if(!isVisible(pos, v)) then
  1079. if(!gBool("Aimbot", "Bone Scan")) then
  1080. return;
  1081. end
  1082. local pos = boneScan(v, fake);
  1083. if(pos) then
  1084. return pos, dist;
  1085. else
  1086. return;
  1087. end
  1088. end
  1089.  
  1090. return pos, dist;
  1091. end
  1092.  
  1093. local function sorterFunc(a, b)
  1094. return a[2] < b[2];
  1095. end
  1096.  
  1097. local function getTarget()
  1098. local dists = {};
  1099. local mypos = EntM.GetPos(me);
  1100. for k,v in next, player.GetAll() do
  1101. if(!Valid(v)) then continue; end
  1102. local pos, distance = getPos(v, mypos);
  1103. if(!pos) then continue; end
  1104. dists[#dists + 1] = {v, distance, pos};
  1105. end
  1106.  
  1107. if(#dists == 0) then return; end
  1108.  
  1109. table.sort(dists, sorterFunc);
  1110.  
  1111. local target = dists[1];
  1112.  
  1113. aimPos = target[3];
  1114. aimTarget = target[1];
  1115. end
  1116.  
  1117. local function nextShot()
  1118. local possibleTargets = {};
  1119. for k,v in next, player.GetAll() do
  1120. if(v == aimIgnore) then continue; end
  1121. if(!Valid(v)) then continue; end
  1122. local pos = getPos(v, mypos);
  1123. if(!pos) then continue; end
  1124. possibleTargets[#possibleTargets + 1] = {v, pos}
  1125. end
  1126. if(#possibleTargets == 0) then return; end
  1127. local randomized = {};
  1128. for k, v in next, possibleTargets do
  1129. randomized[math.random(100)] = v;
  1130. end
  1131.  
  1132. for k,v in next, randomized do
  1133. aimTarget = v[1];
  1134. aimPos = v[2];
  1135. break;
  1136. end
  1137. end
  1138.  
  1139. local curCmd;
  1140.  
  1141. local cinterp = GetConVar("cl_interp");
  1142. local cratio = GetConVar("cl_interp_ratio");
  1143. local cupdaterate = GetConVar("cl_updaterate");
  1144. local cfriction = GetConVar("sv_friction");
  1145. local caccelerate = GetConVar("sv_accelerate");
  1146. local cairaccelerate = GetConVar("sv_airaccelerate");
  1147. local cmaxvel = GetConVar("sv_maxvelocity");
  1148. local cgravity = GetConVar("sv_gravity");
  1149.  
  1150. local function getPredTickInterval()
  1151. local interp = ConM.GetFloat(cinterp);
  1152. local ratio = ConM.GetFloat(cratio);
  1153. local cupdaterate = ConM.GetFloat(cupdaterate);
  1154. local interpolation = math.max(interp, ratio / cupdaterate);
  1155. local tickInt = engine.TickInterval() * interpolation;
  1156. return tickInt;
  1157. end
  1158.  
  1159. local function CheckVelocity(origVel)
  1160. local org = EntM.GetPos(me);
  1161.  
  1162. for i = 1, 3 do
  1163. if(origVel[i] > ConM.GetFloat(cmaxvel)) then
  1164. origVel[i] = ConM.GetFloat(cmaxvel);
  1165. elseif(origVel[i] < -ConM.GetFloat(cmaxvel)) then
  1166. origVel[i] = -ConM.GetFloat(cmaxvel);
  1167. end
  1168. end
  1169. end
  1170.  
  1171. local function startGravity(origVel)
  1172. local ent_gravity;
  1173.  
  1174. if(EntM.GetGravity(me)) then
  1175. ent_gravity = EntM.GetGravity(me);
  1176. else
  1177. ent_gravity = 1;
  1178. end
  1179.  
  1180. origVel[3] = origVel[3] - (ent_gravity * ConM.GetFloat(cgravity) * 0.5 * getPredTickInterval());
  1181.  
  1182. CheckVelocity(origVel);
  1183. end
  1184.  
  1185. local function FinishGravity(origVel)
  1186. local ent_gravity;
  1187.  
  1188. if(EntM.GetGravity(me)) then
  1189. ent_gravity = EntM.GetGravity(me);
  1190. else
  1191. ent_gravity = 1;
  1192. end
  1193.  
  1194. origVel[3] = origVel[3] - (ent_gravity * ConM.GetFloat(cgravity) * getPredTickInterval() * 0.5);
  1195.  
  1196. CheckVelocity(origVel);
  1197. end
  1198.  
  1199. local function Friction(origVel, wishVel)
  1200. local speed, newspeed, control;
  1201. local friction;
  1202. local drop;
  1203.  
  1204. speed = VecM.Length(origVel);
  1205.  
  1206. if(speed < 0.1) then
  1207. return;
  1208. end
  1209.  
  1210. drop = 0;
  1211.  
  1212. if(EntM.IsOnGround(me)) then
  1213. friction = ConM.GetFloat(cfriction);
  1214. drop = friction * getPredTickInterval();
  1215. end
  1216.  
  1217. newspeed = speed - drop;
  1218.  
  1219. if(newspeed < 0) then
  1220. newspeed = 0;
  1221. end
  1222.  
  1223. if(newspeed != speed) then
  1224. newspeed = newspeed / speed;
  1225. for i = 1, 3 do
  1226. origVel[i] = origVel[i] * newspeed;
  1227. end
  1228. end
  1229.  
  1230. wishVel = wishVel - (1 - newspeed) * origVel;
  1231. end
  1232.  
  1233. local function Accelerate(wishDir, wishSpeed, accelerate, velo)
  1234. local currentSpeed = VecM.Dot(EntM.GetVelocity(me), wishDir);
  1235. local addSpeed = wishSpeed - currentSpeed;
  1236.  
  1237. if(addSpeed <= 0) then
  1238. return;
  1239. end
  1240.  
  1241. local accelSpeed = accelerate * getPredTickInterval() * wishSpeed * 1;
  1242.  
  1243. if(accelSpeed > addSpeed) then
  1244. accelSpeed = addSpeed;
  1245. end
  1246.  
  1247. for i = 1, 3 do
  1248. velo[i] = velo[i] + accelSpeed * wishDir[i];
  1249. end
  1250. end
  1251.  
  1252. local function AirAccelerate(wishDir, wishSpeed, accelerate, velo)
  1253. local currentSpeed = VecM.Dot(EntM.GetVelocity(me), wishDir);
  1254. local addSpeed = wishSpeed - currentSpeed;
  1255.  
  1256. if(addSpeed <= 0) then
  1257. return;
  1258. end
  1259.  
  1260. local accelSpeed = accelerate * wishSpeed * getPredTickInterval() * 1;
  1261.  
  1262. if(accelSpeed > addSpeed) then
  1263. accelSpeed = addSpeed;
  1264. end
  1265.  
  1266. for i = 1, 3 do
  1267. velo[i] = velo[i] + accelSpeed * wishDir[i];
  1268. end
  1269. end
  1270.  
  1271. local function airMove(outWishVel)
  1272. local wishVel = Vector();
  1273. local speed = 0;
  1274. local forwardMove, sideMove = 0;
  1275. local wishDir = Vector();
  1276. local wishSpeed = 0;
  1277.  
  1278. local distance = Vector();
  1279. local forward, right, up;
  1280.  
  1281. local eyeAngs = EntM.EyeAngles(me);
  1282.  
  1283. forward = AngM.Forward(eyeAngs);
  1284. right = AngM.Right(eyeAngs);
  1285. up = AngM.Up(eyeAngs);
  1286.  
  1287. local groundEntity = EntM.GetGroundEntity(me);
  1288.  
  1289. forwardMove = CmdM.GetForwardMove(curCmd);
  1290. sideMove = CmdM.GetSideMove(curCmd);
  1291.  
  1292. if(forward.z != 0) then
  1293. forward.z = 0;
  1294. VecM.Normalize(forward);
  1295. end
  1296.  
  1297. if(right.z != 0) then
  1298. right.z = 0;
  1299. VecM.Normalize(right);
  1300. end
  1301.  
  1302. for i = 1, 3 do
  1303. wishVel[i] = forward[i] * forwardMove + right[i] * sideMove;
  1304. end
  1305.  
  1306. wishVel.z = 0;
  1307.  
  1308. wishDir = Vector(wishVel.x, wishVel.y, wishVel.z);
  1309.  
  1310. local mag = VecM.Length(wishDir);
  1311. local den = 1 / (mag + 1.19209290E-07);
  1312. wishDir.x = wishDir.x * den;
  1313. wishDir.y = wishDir.y * den;
  1314. wishDir.z = wishDir.z * den;
  1315.  
  1316. wishSpeed = mag;
  1317.  
  1318. local maxSpeed = ConM.GetFloat(cmaxvel);
  1319.  
  1320. if(wishSpeed > maxSpeed) then
  1321. for i = 1, 3 do
  1322. wishVel[i] = wishVel[i] / (maxSpeed/wishSpeed);
  1323. end
  1324. wishSpeed = maxSpeed;
  1325. end
  1326.  
  1327. local myVel = EntM.GetVelocity(me);
  1328.  
  1329. AirAccelerate(wishDir, wishSpeed, ConM.GetFloat(cairaccelerate), outWishVel);
  1330.  
  1331. outWishVel = outWishVel + wishDir * wishSpeed;
  1332. end
  1333.  
  1334. local function walkMove(outWishVel)
  1335. local wishVel = Vector();
  1336. local speed = 0;
  1337. local forwardMove, sideMove = 0;
  1338. local wishDir = Vector();
  1339. local wishSpeed = 0;
  1340.  
  1341. local distance = Vector();
  1342. local forward, right, up;
  1343.  
  1344. local eyeAngs = EntM.EyeAngles(me);
  1345.  
  1346. forward = AngM.Forward(eyeAngs);
  1347. right = AngM.Right(eyeAngs);
  1348. up = AngM.Up(eyeAngs);
  1349.  
  1350. local groundEntity = EntM.GetGroundEntity(me);
  1351.  
  1352. forwardMove = CmdM.GetForwardMove(curCmd);
  1353. sideMove = CmdM.GetSideMove(curCmd);
  1354.  
  1355. if(forward.z != 0) then
  1356. forward.z = 0;
  1357. VecM.Normalize(forward);
  1358. end
  1359.  
  1360. if(right.z != 0) then
  1361. right.z = 0;
  1362. VecM.Normalize(right);
  1363. end
  1364.  
  1365. for i = 1, 3 do
  1366. wishVel[i] = forward[i] * forwardMove + right[i] * sideMove;
  1367. end
  1368.  
  1369. wishVel.z = 0;
  1370.  
  1371. wishDir = Vector(wishVel.x, wishVel.y, wishVel.z);
  1372.  
  1373. local mag = VecM.Length(wishDir);
  1374. local den = 1 / (mag + 1.19209290E-07);
  1375. wishDir.x = wishDir.x * den;
  1376. wishDir.y = wishDir.y * den;
  1377. wishDir.z = wishDir.z * den;
  1378.  
  1379. wishSpeed = mag;
  1380.  
  1381. local maxSpeed;
  1382.  
  1383. if(PlyM.KeyDown(me, IN_DUCK)) then
  1384. maxSpeed = PlyM.GetCrouchedWalkSpeed(me);
  1385. elseif(PlyM.KeyDown(me, IN_SPEED)) then
  1386. maxSpeed = PlyM.GetRunSpeed(me);
  1387. else
  1388. maxSpeed = PlyM.GetWalkSpeed(me);
  1389. end
  1390.  
  1391. if(wishSpeed > maxSpeed) then
  1392. for i = 1, 3 do
  1393. wishVel[i] = wishVel[i] / (maxSpeed/wishSpeed);
  1394. end
  1395. wishSpeed = maxSpeed;
  1396. end
  1397.  
  1398. local myVel = EntM.GetVelocity(me);
  1399. myVel.z = 0;
  1400. Accelerate(wishDir, wishSpeed, ConM.GetFloat(caccelerate), outWishVel);
  1401. myVel.z = 0;
  1402.  
  1403. myVel.x = myVel.x * getPredTickInterval();
  1404. myVel.y = myVel.y * getPredTickInterval();
  1405.  
  1406. outWishVel = outWishVel + wishDir * wishSpeed;
  1407. end
  1408.  
  1409. local function fullWalkMove(origVel, origAngles, m_vecForward, m_vecRight, m_vecUp)
  1410. startGravity(origVel);
  1411.  
  1412. local outWishVel = Vector(origVel.x, origVel.y, origVel.z);
  1413.  
  1414. if(EntM.IsOnGround(me)) then
  1415. outWishVel[3] = 0;
  1416. Friction(origVel, outWishVel);
  1417. end
  1418.  
  1419. CheckVelocity(outWishVel);
  1420. if(EntM.IsOnGround(me)) then
  1421. walkMove(outWishVel);
  1422. else
  1423. airMove(outWishVel);
  1424. end
  1425.  
  1426. CheckVelocity(outWishVel);
  1427.  
  1428. FinishGravity(outWishVel);
  1429.  
  1430. if(EntM.IsOnGround(me)) then
  1431. outWishVel[3] = 0;
  1432. end
  1433.  
  1434. aimPos = aimPos + outWishVel * getPredTickInterval();
  1435. end
  1436.  
  1437. local function predict()
  1438. local origVel = EntM.GetVelocity(me);
  1439. local origAngles = EntM.EyeAngles(me);
  1440. local m_vecForward;
  1441. local m_vecRight;
  1442. local m_vecUp;
  1443.  
  1444. m_vecForward = AngM.Forward(origAngles);
  1445. m_vecRight = AngM.Right(origAngles);
  1446. m_vecUp = AngM.Up(origAngles);
  1447.  
  1448. local fallVelocity = 0;
  1449.  
  1450. if(!EntM.IsOnGround(me)) then
  1451. fallVelocity = -origVel[3];
  1452. end
  1453.  
  1454. local moveType = EntM.GetMoveType(me);
  1455.  
  1456. if(moveType == MOVETYPE_WALK) then
  1457. fullWalkMove(origVel, origAngles, m_vecForward, m_vecRight, m_vecUp);
  1458. end
  1459. end
  1460.  
  1461. local fakechoke = 0;
  1462.  
  1463. local function aimBot(cmd)
  1464. curCmd = cmd;
  1465. if(!bulletTime) then return; end
  1466. if(gBool("Aimbot", "On Key") && !input.IsKeyDown(KEY_N)) then return; end
  1467. if(gBool("Aimbot", "Nextshot")) then
  1468. nextShot();
  1469. else
  1470. getTarget();
  1471. end
  1472.  
  1473. if(!aimTarget) then return; end
  1474. predict();
  1475. local ang = VecM.Angle(aimPos - EntM.EyePos(me));
  1476. ang = removeSpread(cmd, ang);
  1477. ang.x = math.NormalizeAngle(ang.x);
  1478. ang.y = math.NormalizeAngle(ang.y);
  1479.  
  1480. local static = gBool("HvH", "Static AA");
  1481.  
  1482. if(static && bulletTime) then
  1483. local oang = ang;
  1484. ang.x = -180 - oang.x + 720;
  1485. ang.y = ang.y + 180;
  1486. --ang.y = fuckUp(ang.y);
  1487. end
  1488.  
  1489. CmdM.SetViewAngles(cmd, ang);
  1490.  
  1491. if(gBool("Aimbot", "Silent")) then
  1492. FixMovement(cmd, static);
  1493. else
  1494. oldAngles = ang;
  1495. end
  1496.  
  1497. if(gBool("Aimbot", "Autofire")) then
  1498. CmdM.SetButtons(cmd, bit.bor(CmdM.GetButtons(cmd), 1));
  1499. end
  1500.  
  1501. if(gBool("Aimbot", "pSilent")) then
  1502. bSendPacket = false;
  1503. end
  1504. end
  1505.  
  1506. local loop = {1, 6, 11, 16};
  1507. local aaLoop = 1;
  1508.  
  1509. local function autoPistol(cmd)
  1510. if(!gBool("Aimbot", "Autopistol")) then return; end
  1511. if(PlyM.KeyDown(me, 1)) then
  1512. CmdM.RemoveKey(cmd, 1);
  1513. end
  1514. end
  1515.  
  1516. bSendPacket = true;
  1517. pspeed = gBool("Misc", "pSpeed");
  1518. pspeedspeed = gBool("Misc", "pSpeed Speed");
  1519. //require("hi"); // module (c) me 2015
  1520.  
  1521. local function pSpeed()
  1522. pspeed = gBool("Misc", "pSpeed");
  1523. pspeedspeed = gBool("Misc", "pSpeed Speed");
  1524. end
  1525.  
  1526. local fakelagTick, fakelagSend = 0;
  1527. local switch;
  1528.  
  1529. local edgeAngle, edgeBool;
  1530.  
  1531. local function getX(up)
  1532. local x = gBool("HvH", "AntiAim Pitch");
  1533. if(gBool("HvH", "Invert AA Pitch")) then
  1534. x = -x;
  1535. end
  1536.  
  1537. if(x > 180) then return (up && x || -x); end
  1538. if(x < 180) then return (up && -x || x); end
  1539. return x;
  1540. end
  1541.  
  1542. local function antiAim(cmd)
  1543. if(!gBool("HvH", "AntiAim")) then return; end
  1544. if(aimTarget) then return; end
  1545. if(CmdM.KeyDown(cmd, 1) && bulletTime) then return; end
  1546. if(aaLoop > #loop) then aaLoop = 1; end
  1547. local yaw = gBool("HvH", "AntiAim Yaw");
  1548. if(gBool("HvH", "Fakelag")) then
  1549. if(gBool("HvH", "Fakeangles")) then
  1550. if(!bSendPacket) then
  1551. CmdM.SetViewAngles(cmd, Angle(-180, 180, 0));
  1552. FixMovement(cmd, true);
  1553. else
  1554. CmdM.SetViewAngles(cmd, Angle(-181, 180, 0));
  1555. FixMovement(cmd, true);
  1556. end
  1557. else
  1558. CmdM.SetViewAngles(cmd, Angle(180, math.NormalizeAngle(yaw), 0));
  1559. FixMovement(cmd, true);
  1560. end
  1561. elseif(!gBool("HvH", "Fakeangles")) then
  1562. local ang = Angle(getX(), 360 + yaw + loop[aaLoop], 0);
  1563. CmdM.SetViewAngles(cmd, ang);
  1564. aaLoop = aaLoop + 1;
  1565. FixMovement(cmd, true);
  1566. else
  1567. if(fakechoke >= 3) then
  1568. switch = true;
  1569. fakechoke = 0;
  1570. else
  1571. switch = false;
  1572. end
  1573. local x = getX();
  1574. if(switch) then
  1575. if(!edgeBool) then
  1576. local ang = Angle(x, math.NormalizeAngle(yaw), 0);
  1577. CmdM.SetViewAngles(cmd, ang);
  1578. FixMovement(cmd, x > 89 || x < -89);
  1579. elseif(edgeBool) then
  1580. CmdM.SetViewAngles(cmd, edgeAngle);
  1581. FixMovement(cmd);
  1582. end
  1583. else
  1584. local x = gBool("HvH", "Fakeangles Pitch");
  1585. if(gBool("HvH", "Invert FA Pitch")) then
  1586. x = -x;
  1587. end
  1588. local ang = Angle(x, math.NormalizeAngle(gBool("HvH", "Fakeangles Yaw")), 0);
  1589. CmdM.SetViewAngles(cmd, ang);
  1590. FixMovement(cmd, x > 89 || x < -89);
  1591. fakechoke = fakechoke + 1;
  1592. bSendPacket = false;
  1593. end
  1594. end
  1595. --print(CmdM.GetViewAngles(cmd), bSendPacket);
  1596. end
  1597.  
  1598. local fakeLagSwitch;
  1599. local sendCount, chokeCount = 0, 0;
  1600.  
  1601. local function fakelag()
  1602. if(!gBool("HvH", "Fakelag")) then
  1603. sendCount = 0;
  1604. chokeCount = 0;
  1605. fakeLagSwitch = false;
  1606. return;
  1607. end
  1608.  
  1609. local send = gBool("HvH", "Fakelag Send");
  1610. local choke = gBool("HvH", "Fakelag Choke");
  1611.  
  1612. if(fakeLagSwitch) then
  1613. if(sendCount >= send) then
  1614. fakeLagSwitch = false;
  1615. sendCount = 0;
  1616. chokeCount = 0;
  1617. else
  1618. sendCount = sendCount + 1;
  1619. end
  1620. else
  1621. if(chokeCount >= choke) then
  1622. fakeLagSwitch = true;
  1623. sendCount = 0;
  1624. chokeCount = 0;
  1625. else
  1626. bSendPacket = false;
  1627. chokeCount = chokeCount + 1;
  1628. end
  1629. end
  1630. end
  1631.  
  1632. local function createMove(cmd)
  1633. aimTarget = nil;
  1634. aimPos = nil;
  1635. edgeBool = false;
  1636. fakeMouseSamples(cmd);
  1637. if(CmdM.CommandNumber(cmd) == 0) then
  1638. return;
  1639. end
  1640. CmdM.SetViewAngles(cmd, oldAngles);
  1641. bSendPacket = true;
  1642. canFire();
  1643. bunnyHop(cmd);
  1644. if(gBool("Aimbot", "Enabled")) then
  1645. aimBot(cmd);
  1646. end
  1647. fakelag();
  1648. antiAim(cmd);
  1649. autoPistol(cmd);
  1650. pSpeed();
  1651.  
  1652. if(!aimTarget && CmdM.KeyDown(cmd, 1) && bulletTime) then
  1653. CmdM.SetViewAngles(cmd, removeSpread(cmd, CmdM.GetViewAngles(cmd)));
  1654. end
  1655. end
  1656.  
  1657. GAMEMODE:AddHook("CreateMove", "", createMove);
  1658.  
  1659. /* hitbox */
  1660.  
  1661. local function hitboxEsp()
  1662. if(!gBool("Visuals", "Show Hitboxes")) then return; end
  1663. for k,v in next, player.GetAll() do
  1664. if(!v || !EntM.IsValid(v) || EntM.Health(v) < 1 || EntM.IsDormant(v) || v == me) then continue; end
  1665. for group = 0, EntM.GetHitBoxGroupCount(v)do
  1666. local count = EntM.GetHitBoxCount( v, group ) - 1;
  1667. for hitbox = 0, count do
  1668. local bone = EntM.GetHitBoxBone( v, hitbox, group );
  1669. if(!bone) then continue; end
  1670. local min, max = EntM.GetHitBoxBounds( v, hitbox, group );
  1671. local bonepos, boneang = EntM.GetBonePosition( v, bone );
  1672. cam.Start3D();
  1673. render.DrawWireframeBox( bonepos, boneang, min, max, Color(0, 0, 255), true );
  1674. cam.End3D();
  1675. end
  1676. end
  1677. end
  1678. end
  1679.  
  1680. local bulletTraceArray = {};
  1681.  
  1682. local function bulletTraces()
  1683. if(!gBool("Visuals", "Bullet Traces")) then
  1684. bulletTraceArray = {};
  1685. return;
  1686. end
  1687. for k,v in next, bulletTraceArray do
  1688. if(v[3] <= 0) then
  1689. table.remove(bulletTraceArray, k);
  1690. continue;
  1691. end
  1692. v[3] = v[3] - RealFrameTime() * .8;
  1693. local pos1, pos2 = v[1], v[2];
  1694. cam.Start3D()
  1695. render.DrawLine(pos1, pos2, v[4], true);
  1696. render.DrawWireframeBox(pos1, v[5], Vector(-5, -5, -5), Vector(5, 5, 5), v[4], true);
  1697. render.DrawWireframeSphere(pos1, 5, 10, 10, v[4], true);
  1698. cam.End3D()
  1699. end
  1700. end
  1701.  
  1702. local function asusWalls()
  1703. local mats = EntM.GetMaterials(game.GetWorld())
  1704. for k,v in next, mats do
  1705. local material = Material(v);
  1706. if(!gBool("Visuals", "Asus Walls")) then
  1707. MatM.SetFloat(material, "$alpha", 1);
  1708. continue;
  1709. end
  1710. MatM.SetFloat(material, "$alpha", .56);
  1711. end
  1712. end
  1713.  
  1714. GAMEMODE:AddHook("PostRender", "mirror", function()
  1715. if(!gBool("Visuals", "Mirror")) then return; end
  1716. if(gBool("Misc", "Thirdperson")) then return; end
  1717. local scale = gBool("Visuals", "Mirror Scale");
  1718. local view = {
  1719. origin = EntM.EyePos(me),
  1720. angles = oldAngles - Angle(0, 180, 0);
  1721. x = ScrW() / 2 - (scale * 50 / 2),
  1722. y = 0,
  1723. w = scale * 50,
  1724. h = scale * 50 / 2,
  1725. dopostprocess = false,
  1726. drawhud = false,
  1727. drawmonitors = false,
  1728. drawviewmodel = false,
  1729. }
  1730. render.SetColorModulation(1, 1, 1);
  1731. render.MaterialOverride();
  1732. render.RenderView(view);
  1733. end);
  1734.  
  1735. GAMEMODE:AddHook("PostDraw2DSkyBox", "", function()
  1736. if(!gBool("Visuals", "Asus Walls")) then return; end
  1737. render.Clear(0, 0, 0, 255);
  1738. end);
  1739.  
  1740. GAMEMODE:AddHook("PreDrawSkyBox", "", function()
  1741. if(!gBool("Visuals", "Asus Walls")) then return; end
  1742. render.Clear(0, 0, 0, 255);
  1743. return true;
  1744. end);
  1745.  
  1746. local wireframeMat = Material("models/wireframe");
  1747.  
  1748. GAMEMODE:AddHook("PreDrawViewModel", "", function()
  1749. if(!gBool("Visuals", "Wireframe Viewmodel")) then return; end
  1750. render.MaterialOverride(wireframeMat);
  1751. render.SetColorModulation(0, 0, 0);
  1752. end);
  1753.  
  1754. GAMEMODE:AddHook("PreDrawPlayerHands", "", function()
  1755. if(!gBool("Visuals", "Wireframe Viewmodel")) then return; end
  1756. render.MaterialOverride(wireframeMat);
  1757. render.SetColorModulation(0, 0, 0);
  1758. end);
  1759.  
  1760. GAMEMODE:AddHook("PostDrawPlayerHands", "", function()
  1761. render.MaterialOverride();
  1762. render.SetColorModulation(1, 1, 1);
  1763. end);
  1764.  
  1765. GAMEMODE:AddHook("PostDrawViewModel", "", function()
  1766. render.MaterialOverride();
  1767. render.SetColorModulation(1, 1, 1);
  1768. end);
  1769.  
  1770. local function renderHook()
  1771. paintHackerMode();
  1772. hitboxEsp();
  1773. bulletTraces();
  1774. asusWalls();
  1775. end
  1776.  
  1777. GAMEMODE:AddHook("HUDPaint", "", renderHook);
  1778.  
  1779. local function randomcolor()
  1780. return Color(math.random(255), math.random(255), math.random(255), 255);
  1781. end
  1782.  
  1783. GAMEMODE:AddHook("PlayerTraceAttack", "", function(ent, dmg, dir, trace)
  1784. local pos1, pos2;
  1785. pos1 = trace.HitPos;
  1786. pos2 = trace.StartPos;
  1787. table.insert(bulletTraceArray, {pos1, pos2, 5, randomcolor(), oldAngles});
  1788. end);
  1789.  
  1790. /* thirdperson */
  1791.  
  1792. GAMEMODE:AddHook("ShouldDrawLocalPlayer", "", function()
  1793. return gBool("Misc", "Thirdperson");
  1794. end);
  1795.  
  1796. GAMEMODE:AddHook("CalcView", "", function(ply, pos, ang, fov)
  1797. local f = gBool("Visuals", "FoV");
  1798. if(!gBool("Misc", "Thirdperson")) then
  1799. return {fov = f};
  1800. end
  1801. local view = {
  1802. angles = oldAngles,
  1803. origin = pos - AngM.Forward(oldAngles) * 150,
  1804. fov = f,
  1805. };
  1806. return view;
  1807. end);
  1808. local function playSong()
  1809. local frame = vgui.Create("DFrame");
  1810. frame:SetSize(0, 0);
  1811. frame:SetVisible(true);
  1812. local html = vgui.Create("DHTML", frame);
  1813. html:SetHTML([[<iframe width="640" height="360" src="https://www.youtube.com/embed/DVtuCG8AerQ?rel=0&amp;controls=0&amp;showinfo=0&amp;autoplay=1" frameborder="0" allowfullscreen></iframe>]]);
  1814. return frame;
  1815. end
  1816.  
  1817.  
  1818. local frame;
  1819.  
  1820. GAMEMODE:AddHook("Tick", "", function()
  1821. if(!gBool("Misc", "SWAG") && frame) then
  1822. frame:Close();
  1823. frame = nil;
  1824. elseif(gBool("Misc", "SWAG") && !frame) then
  1825. frame = playSong();
  1826. end
  1827. end);
  1828.  
  1829. gameevent.Listen("player_disconnect");
  1830.  
  1831. GAMEMODE:AddHook("player_disconnect", "", function()
  1832. PlyM.ConCommand(me, "say OMG he fucking ragequit what a loser");
  1833. end);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement