Guest User

Untitled

a guest
Jan 17th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 104.41 KB | None | 0 0
  1.  
  2.  
  3. local type = type
  4. local next = next
  5.  
  6. local Nostalgia = Nostalgia or {}
  7.  
  8. local function Copy(tt, lt)
  9. local copy = {}
  10. if lt then
  11. if type(tt) == "table" then
  12. for k,v in next, tt do
  13. copy[k] = Copy(k, v)
  14. end
  15. else
  16. copy = lt
  17. end
  18. return copy
  19. end
  20. if type(tt) ~= "table" then
  21. copy = tt
  22. else
  23. for k,v in next, tt do
  24. copy[k] = Copy(k, v)
  25. end
  26. end
  27. return copy
  28. end
  29.  
  30. local FindMetaTable = FindMetaTable
  31. local em = FindMetaTable("Entity")
  32. local pm = FindMetaTable("Player")
  33. local cm = FindMetaTable("CUserCmd")
  34. local wm = FindMetaTable("Weapon")
  35. local am = FindMetaTable("Angle")
  36. local vm = FindMetaTable("Vector")
  37. local cn = FindMetaTable("ConVar")
  38. local im = FindMetaTable("IMaterial")
  39. local Vector = Vector
  40. local Angle = Angle
  41. local render = Copy(render)
  42. local cma = Copy(cam)
  43. local surface = Copy(surface)
  44. local vgui = Copy(vgui)
  45. local input = Copy(input)
  46. local player = Copy(player)
  47. local gui = Copy(gui)
  48. local math = Copy(math)
  49. local file = Copy(file)
  50. local util = Copy(util)
  51. local Material = Material
  52. local CreateMaterial = CreateMaterial
  53. local Color = Color
  54. local require = require
  55. local ScrW, ScrH = ScrW, ScrH
  56. local LocalPlayer = LocalPlayer
  57. local me = LocalPlayer()
  58. local _G = _G
  59.  
  60. Nostalgia.pGetAll = player.GetAll
  61.  
  62. bsendpacket = true
  63.  
  64. require("bsendpacket")
  65. require("fhook")
  66. require("stringtables")
  67. require("dickwrap")
  68. require("EnginePred")
  69. require("aaa")
  70. require("ChatClear")
  71.  
  72. surface.CreateFont( "ESPFont", {
  73. font = "Arial",
  74. size = 16,
  75. weight = 500,
  76. blursize = 0,
  77. scanlines = 0,
  78. antialias = false,
  79. underline = false,
  80. italic = false,
  81. strikeout = false,
  82. symbol = false,
  83. rotary = false,
  84. shadow = false,
  85. additive = false,
  86. outline = true,
  87. } )
  88.  
  89. surface.CreateFont("MenuFont", {
  90. font = "HaxrCorp S8 Standard",
  91. size = 16,
  92. antialias = false,
  93. outline = true,
  94. })
  95.  
  96. surface.CreateFont("MiscFont", {
  97. font = "HaxrCorp S8 Standard",
  98. size = 14,
  99. antialias = false,
  100. outline = true,
  101. })
  102.  
  103. function GAMEMODE:Detour(hType)
  104. if(not self.oldFunctions) then
  105. self.oldFunctions = {}
  106. end
  107. self.oldFunctions[hType] = self[hType] or function() end
  108.  
  109. self[hType] = function(self, ...)
  110. local originalRet = {self.oldFunctions[hType](self, ...)}
  111.  
  112. for k,v in next, self.addedHooks[hType] do
  113. local ret = {v(...)}
  114. if(#ret ~= 0) then
  115. return(unpack(ret))
  116. end
  117. end
  118.  
  119. return(unpack(originalRet))
  120. end
  121. end
  122.  
  123. function GAMEMODE:AddHook(hType, name, func)
  124. if(not self.addedHooks) then
  125. self.addedHooks = {}
  126. end
  127. if(not self.addedHooks[hType]) then
  128. self.addedHooks[hType] = {}
  129. self:Detour(hType)
  130. end
  131. self.addedHooks[hType][name] = func
  132. end
  133.  
  134. function GAMEMODE:RemoveHook(hType, name)
  135. if(not self.addedHooks or not self.addedHooks[hType]) then
  136. return
  137. end
  138. self.addedHooks[hType][name] = nil
  139. end
  140.  
  141. local hide = {
  142. CHudHealth = true,
  143. CHudAmmo = true,
  144. CHudBattery = true,
  145. CHudSecondaryAmmo = true,
  146. CHudDamageIndicator = true,
  147. CHudCrosshair = true,
  148. }
  149.  
  150. GAMEMODE:AddHook("HUDShouldDraw", "", function( name )
  151. if ( hide[ name ] ) then
  152. return false
  153. end
  154. end)
  155.  
  156. local options = {
  157. ["Aimbot"] = {
  158. {
  159. {"Aimbot", 20, 20, 350, 240, 120},
  160. {"Enabled", "Checkbox", false, 0},
  161. {"Middle Mouse", "Checkbox", false, 0},
  162. {"Silent", "Checkbox", false, 0},
  163. {"pSilent", "Checkbox", false, 0},
  164. {"Auto Fire", "Checkbox", false, 0},
  165. {"Auto Pistol", "Checkbox", false, 0},
  166. {"Auto Reload", "Checkbox", false, 0},
  167. {"Non-Sticky", "Checkbox", false, 0},
  168. },
  169. {
  170. {"Target", 20, 280, 350, 180, 120},
  171. {"Selection", "Selection", "Distance", {"Next Shot", "Distance", "Health"}, 150 },
  172. {"Body Aim", "Checkbox", false, 0},
  173. {"Ignore Team", "Checkbox", false, 0},
  174. {"Ignore Friends", "Checkbox", false, 0},
  175. {"Ignore Admins", "Checkbox", false, 0},
  176. {"Ignore Spawning", "Checkbox", false, 0},
  177. },
  178. {
  179. {"Extra", 380, 20, 350, 240, 120},
  180. {"No Recoil", "Checkbox", false, 0},
  181. {"No Spread", "Checkbox", false, 0},
  182. {"Snap Lines", "Checkbox", false, 0},
  183. {"Bullet Time", "Checkbox", false, 0},
  184. {"Auto Wall", "Checkbox", false, 0},
  185. {"Fake Lag", "Checkbox", false, 0},
  186. {"Lag Choke", "Slider", 0, 14, 150},
  187. {"Lag Send", "Slider", 0, 14, 150},
  188. },
  189. {
  190. {"HVH", 380, 280, 350, 180, 140},
  191. {"AntiAim", "Checkbox", false, 0},
  192. {"AntiAim Type", "Selection", "Static", {"Static", "Jitter", "TJitter", "Backwards Jitter", "Sideways", "Towards", "Random", "Spinbot", "Cycle"}, 150 },
  193. {"Spinbot Speed", "Slider", 0, 50, 150},
  194. {"FA Mode", "Checkbox", false, 0},
  195. {"Sync Mode", "Checkbox", false, 0},
  196. {"Air Duck", "Checkbox", false, 0},
  197. },
  198. },
  199. ["ESP"] = {
  200. {
  201. {"ESP", 20, 20, 350, 300, 220},
  202. {"Enabled", "Checkbox", false, 54},
  203. {"Box", "Checkbox", false, 54},
  204. {"Name", "Checkbox", false, 54},
  205. {"Health", "Checkbox", false, 54},
  206. {"Health Bar", "Checkbox", false, 54},
  207. {"Weapon", "Checkbox", false, 54},
  208. {"Rank", "Checkbox", false, 54},
  209. {"Ping", "Checkbox", false, 54},
  210. {"Entities", "Checkbox", false, 54},
  211. {"Skeleton", "Checkbox", false, 54},
  212. {"Chams", "Checkbox", false, 54},
  213. },
  214. {
  215. {"Misc", 380, 20, 350, 300, 220},
  216. {"Chat Spam", "Checkbox", false, 54},
  217. {"Spam Type", "Selection", "Aimware", {"Aimware", "Jokes", "IP Spam", "Sales", "Message", "Shoutout", "Killstreaks", "Spawn", "Taunts", "Money", "OOC", "Chatclear", "Ulx Spam"}, 68},
  218. {"Name Stealer", "Checkbox", false, 54},
  219. {"Steal Type", "Selection", "Normal", {"Normal", "DarkRP"}, 68},
  220. {"Bunny Hop", "Checkbox", false, 54},
  221. {"Spectators", "Checkbox", false, 54},
  222. {"Radar", "Checkbox", false, 54},
  223. {"Money", "Checkbox", false, 54},
  224. {"Team Colors", "Checkbox", false, 54},
  225. {"Thirdperson", "Checkbox", false, 54},
  226. {"Thirdperson Distance", "Slider", 9, 100, 88},
  227. },
  228. },
  229. ["Extra"] = {
  230. {
  231. {"Extra", 20, 20, 250, 150, 130},
  232. {"Display Status", "Checkbox", false, 54},
  233. {"No Sky", "Checkbox", false, 54},
  234. {"Fullbright", "Checkbox", false, 54},
  235. {"Rapid Fire", "Checkbox", false, 54},
  236. {"Flashlight Spam", "Checkbox", false, 54},
  237. },
  238. {
  239. {"Speedhack", 20, 190, 250, 80, 130},
  240. {"pSpeed", "Checkbox", false, 0},
  241. {"pSpeed Amount", "Slider", 1, 13, 75},
  242. },
  243. {
  244. {"Viewmodel", 290, 20, 205, 150, 100},
  245. {"Wireframe", "Checkbox", false, 54},
  246. {"No Hands", "Checkbox", false, 54},
  247. {"Red", "Slider", 0, 255, 75},
  248. {"Green", "Slider", 0, 255, 75},
  249. {"Blue", "Slider", 0, 255, 75},
  250. },
  251. {
  252. {"Anti AFK", 515, 20, 255, 50, 130},
  253. {"Enabled", "Checkbox", false, 54},
  254. },
  255. {
  256. {"Emotes", 515, 90, 255, 80, 130},
  257. {"Enabled", "Checkbox", false, 54},
  258. {"Emote Type", "Selection", "Dance", {"Dance", "Sexy", "Wave", "Robot", "Bow"}, 68 },
  259. },
  260. },
  261. ["Settings"] = {
  262. {
  263. {"Menu Color", 20, 20, 250, 105, 130},
  264. {"Red", "Slider", 0, 255, 88},
  265. {"Green", "Slider", 0, 255, 88},
  266. {"Blue", "Slider", 0, 255, 88},
  267. },
  268. {
  269. {"Window Color", 20, 145, 250, 105, 130},
  270. {"Red", "Slider", 0, 255, 88},
  271. {"Green", "Slider", 0, 255, 88},
  272. {"Blue", "Slider", 0, 255, 88},
  273. },
  274. {
  275. {"Team ESP Color", 20, 270, 250, 105, 130},
  276. {"Red", "Slider", 0, 255, 88},
  277. {"Green", "Slider", 0, 255, 88},
  278. {"Blue", "Slider", 0, 255, 88},
  279. },
  280. {
  281. {"Enemy ESP Color", 290, 20, 205, 105, 100},
  282. {"Red", "Slider", 0, 255, 75},
  283. {"Green", "Slider", 0, 255, 75},
  284. {"Blue", "Slider", 0, 255, 75},
  285. },
  286. {
  287. {"Team Chams Color", 290, 145, 205, 105, 100},
  288. {"Red", "Slider", 0, 255, 75},
  289. {"Green", "Slider", 0, 255, 75},
  290. {"Blue", "Slider", 0, 255, 75},
  291. },
  292. {
  293. {"Enemy Chams Color", 290, 270, 205, 105, 100},
  294. {"Red", "Slider", 0, 255, 75},
  295. {"Green", "Slider", 0, 255, 75},
  296. {"Blue", "Slider", 0, 255, 75},
  297. },
  298. {
  299. {"Crosshair Color", 515, 20, 255, 105, 130},
  300. {"Red", "Slider", 0, 255, 88},
  301. {"Green", "Slider", 0, 255, 88},
  302. {"Blue", "Slider", 0, 255, 88},
  303. },
  304. {
  305. {"Positions", 515, 145, 255, 130, 130},
  306. {"Status X", "Slider", 0, 1000, 88},
  307. {"Status Y", "Slider", 0, 1000, 88},
  308. {"Window X", "Slider", 0, 1000, 88},
  309. {"Window Y", "Slider", 0, 1000, 88},
  310. },
  311. {
  312. {"Filter", 515, 295, 255, 80, 130},
  313. {"ESP", "Checkbox", false, 54},
  314. {"Distance", "Slider", 0, 5000, 88},
  315. },
  316. },
  317. }
  318.  
  319. local order = {
  320. "Aimbot",
  321. "ESP",
  322. "Extra",
  323. "Settings",
  324. }
  325.  
  326. local function updatevar( men, sub, lookup, new )
  327. for aa,aaa in next, options[men] do
  328. for key, val in next, aaa do
  329. if(aaa[1][1] ~= sub) then continue end
  330. if(val[1] == lookup) then
  331. val[3] = new
  332. end
  333. end
  334. end
  335. end
  336.  
  337. local function loadconfig()
  338. if(not file.Exists("Nostalgia_normal.txt", "DATA")) then return end
  339. local tab = util.JSONToTable( file.Read("Nostalgia_normal.txt", "DATA") )
  340. local cursub
  341. for k,v in next, tab do
  342. if(not options[k]) then continue end
  343. for men, subtab in next, v do
  344. for key, val in next, subtab do
  345. if(key == 1) then cursub = val[1] continue end
  346. updatevar(k, cursub, val[1], val[3])
  347. end
  348. end
  349. end
  350. end
  351.  
  352. local function loadconfig2()
  353. if(not file.Exists("Nostalgia_hvh.txt", "DATA")) then return end
  354. local tab = util.JSONToTable( file.Read("Nostalgia_hvh.txt", "DATA") )
  355. local cursub
  356. for k,v in next, tab do
  357. if(not options[k]) then continue end
  358. for men, subtab in next, v do
  359. for key, val in next, subtab do
  360. if(key == 1) then cursub = val[1] continue end
  361. updatevar(k, cursub, val[1], val[3])
  362. end
  363. end
  364. end
  365. end
  366.  
  367. local function gBool(men, sub, lookup)
  368. if(not options[men]) then return end
  369. for aa,aaa in next, options[men] do
  370. for key, val in next, aaa do
  371. if(aaa[1][1] ~= sub) then continue end
  372. if(val[1] == lookup) then
  373. return val[3]
  374. end
  375. end
  376. end
  377. end
  378.  
  379. local function gOption(men, sub, lookup)
  380. if(not options[men]) then return "" end
  381. for aa,aaa in next, options[men] do
  382. for key, val in next, aaa do
  383. if(aaa[1][1] ~= sub) then continue end
  384. if(val[1] == lookup) then
  385. return val[3]
  386. end
  387. end
  388. end
  389. return ""
  390. end
  391.  
  392. local function gInt(men, sub, lookup)
  393. if(not options[men]) then return 0 end
  394. for aa,aaa in next, options[men] do
  395. for key, val in next, aaa do
  396. if(aaa[1][1] ~= sub) then continue end
  397. if(val[1] == lookup) then
  398. return val[3]
  399. end
  400. end
  401. end
  402. return 0
  403. end
  404.  
  405. local function saveconfig()
  406. file.Write("Nostalgia_normal.txt", util.TableToJSON(options))
  407. end
  408.  
  409. local function saveconfig2()
  410. file.Write("Nostalgia_hvh.txt", util.TableToJSON(options))
  411. end
  412.  
  413. local mousedown
  414. local candoslider
  415. local drawlast
  416.  
  417. local visible = {}
  418.  
  419. for k,v in next, order do
  420. visible[v] = false
  421. end
  422.  
  423. local titles = {
  424. "CriTically AccLaimed Smash Hit DeVestating Hack"
  425. }
  426.  
  427. render.Capture = function( ... )
  428. print( "Blocked render.Capture() Call Stack Entry" )
  429. return util.Base64Encode( util.CRC( "Field Spic" ) )
  430. end
  431.  
  432. render.CapturePixels = function( ... )
  433. print( "Blocked render.CapturePixels() Call Stack Entry" )
  434. return util.Base64Encode( "Field Nigger" )
  435. end
  436.  
  437.  
  438. local MenuTitle = (titles[math.random(#titles)])
  439. local function DrawBackground(w, h)
  440. surface.SetDrawColor(0, 0, 0, 225)
  441. surface.DrawRect(0, 0, w, h)
  442. local curcol = Color(0, 0, 0, 25)
  443. surface.SetDrawColor(curcol)
  444. surface.SetFont("MenuFont")
  445. local tw, th = surface.GetTextSize("[Nostalgia - not by north] "..MenuTitle)
  446. surface.SetTextPos(5, 15 - th / 2)
  447. surface.SetTextColor(HSVToColor(RealTime()*120%360,1,1))
  448. surface.DrawText("[Norton - by Plague] "..MenuTitle)
  449. surface.DrawRect(0, 31, 5, h - 31)
  450. surface.DrawRect(0, h - 5, w, h)
  451. surface.DrawRect(w - 5, 31, 5, h)
  452. surface.SetDrawColor(gInt("Settings", "Menu Color", "Red"),gInt("Settings", "Menu Color", "Green"),gInt("Settings", "Menu Color", "Blue"), 100)
  453. surface.DrawRect(0, 0, 1, h)
  454. surface.DrawRect(799, 0, 1, h)
  455. surface.DrawRect(0, 0, w, 1)
  456. surface.DrawRect(0, 599, w, 1)
  457. end
  458.  
  459. local function MouseInArea(minx, miny, maxx, maxy)
  460. local mousex, mousey = gui.MousePos()
  461. return(mousex < maxx and mousex > minx and mousey < maxy and mousey > miny)
  462. end
  463.  
  464. local function DrawOptions(self, w, h)
  465. local mx, my = self:GetPos()
  466. local sizeper = (w - 10) / #order
  467. local maxx = 0
  468.  
  469. for k,v in next, order do
  470. local bMouse = MouseInArea(mx + 5 + maxx, my + 31, mx + 5 + maxx + sizeper, my + 31 + 30)
  471. if(visible[v]) then
  472. local curcol = Color(gInt("Settings", "Menu Color", "Red") / 2, gInt("Settings", "Menu Color", "Green") / 2, gInt("Settings", "Menu Color", "Blue") / 2, 100)
  473. for i = 0, 30 do
  474. surface.SetDrawColor(curcol)
  475. curcol.r, curcol.g, curcol.b = curcol.r + 3, curcol.g + 3, curcol.b + 3
  476. surface.DrawLine( 5 + maxx, 31 + i, 5 + maxx + sizeper, 31 + i)
  477. end
  478. elseif(bMouse) then
  479. local curcol = Color(124, 124, 124, 100)
  480. for i = 0, 30 do
  481. surface.SetDrawColor(curcol)
  482. curcol.r, curcol.g, curcol.b = curcol.r - 1.7, curcol.g - 1.7, curcol.b - 1.7
  483. surface.DrawLine( 5 + maxx, 31 + i, 5 + maxx + sizeper, 31 + i)
  484. end
  485. else
  486. local curcol = Color(51, 51, 51, 100)
  487. for i = 0, 30 do
  488. surface.SetDrawColor(curcol)
  489. curcol.r, curcol.g, curcol.b = curcol.r - 1.7, curcol.g - 1.7, curcol.b - 1.7
  490. surface.DrawLine( 5 + maxx, 31 + i, 5 + maxx + sizeper, 31 + i)
  491. end
  492. end
  493. if(bMouse and input.IsMouseDown(MOUSE_LEFT) and not mousedown and not visible[v]) then
  494. local nb = visible[v]
  495. for key,val in next, visible do
  496. visible[key] = false
  497. end
  498. visible[v] = not nb
  499. end
  500. surface.SetFont("MenuFont")
  501. surface.SetTextColor(gInt("Settings", "Menu Color", "Red"),gInt("Settings", "Menu Color", "Green"),gInt("Settings", "Menu Color", "Blue"), 125)
  502. local tw, th = surface.GetTextSize(v)
  503. surface.SetTextPos( 5 + maxx + sizeper / 2 - tw / 2, 31 + 15 - th / 2 )
  504. surface.DrawText(v)
  505. maxx = maxx + sizeper
  506. end
  507. end
  508.  
  509. local function DrawCheckbox(self, w, h, var, maxy, posx, posy, dist)
  510. surface.SetFont("MenuFont")
  511. surface.SetTextColor(gInt("Settings", "Menu Color", "Red"),gInt("Settings", "Menu Color", "Green"),gInt("Settings", "Menu Color", "Blue"), 125)
  512. surface.SetTextPos( 5 + posx + 15 + 5, 61 + posy + maxy )
  513. local tw, th = surface.GetTextSize(var[1])
  514. surface.DrawText(var[1])
  515. surface.SetDrawColor(gInt("Settings", "Menu Color", "Red"),gInt("Settings", "Menu Color", "Green"),gInt("Settings", "Menu Color", "Blue"), 100)
  516. surface.DrawOutlinedRect( 5 + posx + 15 + 5 + dist + var[4], 61 + posy + maxy + 2, 14, 14)
  517. local mx, my = self:GetPos()
  518. local bMouse = MouseInArea(mx + 5 + posx + 15 + 5, my + 61 + posy + maxy, mx + 5 + posx + 15 + 5 + dist + 14 + var[4], my + 61 + posy + maxy + 16)
  519.  
  520. if(bMouse) then
  521. surface.DrawRect( 5 + posx + 15 + 5 + dist + 2 + var[4], 61 + posy + maxy + 4, 10, 10)
  522.  
  523. end
  524.  
  525. if(var[3]) then
  526. surface.SetDrawColor(gInt("Settings", "Menu Color", "Red") -30,gInt("Settings", "Menu Color", "Green") -30,gInt("Settings", "Menu Color", "Blue") -30, 100)
  527. surface.DrawRect( 5 + posx + 15 + 5 + dist + 2 + var[4], 61 + posy + maxy + 4, 10, 10)
  528. surface.SetDrawColor(gInt("Settings", "Menu Color", "Red") -10,gInt("Settings", "Menu Color", "Green") -10,gInt("Settings", "Menu Color", "Blue") -10, 100)
  529. surface.DrawOutlinedRect( 5 + posx + 15 + 5 + dist + 2 + var[4], 61 + posy + maxy + 4, 10, 10)
  530. end
  531.  
  532. if(bMouse and input.IsMouseDown(MOUSE_LEFT) and not mousedown and not drawlast) then
  533. var[3] = not var[3]
  534. end
  535. end
  536.  
  537. local function DrawSlider(self, w, h, var, maxy, posx, posy, dist)
  538. local curnum = var[3]
  539. local max = var[4]
  540. local size = var[5]
  541. surface.SetFont("MenuFont")
  542. surface.SetTextColor(gInt("Settings", "Menu Color", "Red"),gInt("Settings", "Menu Color", "Green"),gInt("Settings", "Menu Color", "Blue"), 125)
  543. surface.SetTextPos( 5 + posx + 15 + 5, 61 + posy + maxy )
  544. surface.DrawText(var[1])
  545. local tw, th = surface.GetTextSize(var[1])
  546. surface.SetDrawColor(50, 50, 50, 50)
  547. surface.DrawRect( 5 + posx + 15 + 5 + dist, 61 + posy + maxy + 9, size, 3.5)
  548. surface.SetDrawColor(gInt("Settings", "Menu Color", "Red"),gInt("Settings", "Menu Color", "Green"),gInt("Settings", "Menu Color", "Blue"), 100)
  549. surface.DrawRect( 5 + posx + 15 + 5 + dist, 61 + posy + maxy + 9, size, 3.5)
  550. local ww = math.ceil(curnum * size / max)
  551. surface.DrawRect( 3 + posx + 15 + 5 + dist + ww, 61 + posy + maxy + 9 - 5, 4, 12)
  552. surface.SetDrawColor(0,0,0)
  553. local tw, th = surface.GetTextSize(curnum..".00")
  554. surface.DrawOutlinedRect( 3 + posx + 15 + 5 + dist + ww, 61 + posy + maxy + 4, 4, 12)
  555. surface.SetTextPos( 5 + posx + 15 + 5 + dist + (size / 2) - tw / 2, 61 + posy + maxy + 16)
  556. surface.DrawText(curnum..".00")
  557. local mx, my = self:GetPos()
  558. local bMouse = MouseInArea(5 + posx + 15 + 5 + dist + mx, 61 + posy + maxy + 9 - 5 + my, 5 + posx + 15 + 5 + dist + mx + size, 61 + posy + maxy + 9 - 5 + my + 12)
  559.  
  560. if(bMouse and input.IsMouseDown(MOUSE_LEFT) and not drawlast and not candoslider) then
  561. local mw, mh = gui.MousePos()
  562. local new = math.ceil( ((mw - (mx + posx + 25 + dist - size)) - (size + 1)) / (size - 2) * max)
  563. var[3] = new
  564. end
  565. end
  566.  
  567. local notyetselected
  568.  
  569. local function DrawSelect(self, w, h, var, maxy, posx, posy, dist)
  570. local size = var[5]
  571. local curopt = var[3]
  572. surface.SetFont("MenuFont")
  573. surface.SetTextColor(gInt("Settings", "Menu Color", "Red"),gInt("Settings", "Menu Color", "Green"),gInt("Settings", "Menu Color", "Blue"), 125)
  574. surface.SetTextPos( 5 + posx + 15 + 5, 61 + posy + maxy )
  575. local tw, th = surface.GetTextSize(var[1])
  576. surface.DrawText(var[1])
  577. surface.SetDrawColor(gInt("Settings", "Menu Color", "Red"),gInt("Settings", "Menu Color", "Green"),gInt("Settings", "Menu Color", "Blue"), 100)
  578. surface.DrawOutlinedRect( 25 + posx + dist, 61 + posy + maxy, size, 16)
  579. local mx, my = self:GetPos()
  580. local bMouse = MouseInArea( mx + 25 + posx + dist, my + 61 + posy + maxy, mx + 25 + posx + dist + size, my + 61 + posy + maxy + 16)
  581. local check = dist..posy..posx..w..h..maxy
  582.  
  583. if(bMouse or notyetselected == check) then
  584. surface.DrawRect(25 + posx + dist + 2, 61 + posy + maxy + 2, size - 4, 12)
  585. end
  586.  
  587. local tw, th = surface.GetTextSize(curopt)
  588. surface.SetTextPos( 25 + posx + dist + 5, 61 + posy + maxy + 6 - th / 2 + 2)
  589. surface.DrawText(curopt)
  590.  
  591. if(bMouse and input.IsMouseDown(MOUSE_LEFT) and not drawlast and not mousedown or notyetselected == check) then
  592. notyetselected = check
  593. drawlast = function()
  594. local maxy2 = 16
  595. for k,v in next, var[4] do
  596. surface.SetDrawColor(gInt("Settings", "Menu Color", "Red"),gInt("Settings", "Menu Color", "Green"),gInt("Settings", "Menu Color", "Blue"), 25)
  597. surface.DrawRect( 25 + posx + dist, 61 + posy + maxy + maxy2, size, 16)
  598. local bMouse2 = MouseInArea( mx + 25 + posx + dist, my + 61 + posy + maxy + maxy2, mx + 25 + posx + dist + size, my + 61 + posy + maxy + 16 + maxy2)
  599. if(bMouse2) then
  600. surface.SetDrawColor(gInt("Settings", "Menu Color", "Red")-50,gInt("Settings", "Menu Color", "Green")-50,gInt("Settings", "Menu Color", "Blue")-50, 100)
  601. surface.DrawRect( 25 + posx + dist, 61 + posy + maxy + maxy2, size, 16)
  602. end
  603. local tw, th = surface.GetTextSize(v)
  604. surface.SetTextPos( 25 + posx + dist + 5, 61 + posy + maxy + 6 - th / 2 + 2 + maxy2)
  605. surface.DrawText(v)
  606. maxy2 = maxy2 + 16
  607. if(bMouse2 and input.IsMouseDown(MOUSE_LEFT) and not mousedown) then
  608. var[3] = v
  609. notyetselected = nil
  610. drawlast = nil
  611. return
  612. end
  613. end
  614. local bbMouse = MouseInArea( mx + 25 + posx + dist, my + 61 + posy + maxy, mx + 25 + posx + dist + size, my + 61 + posy + maxy + maxy2)
  615. if(not bbMouse and input.IsMouseDown(MOUSE_LEFT) and not mousedown) then
  616. notyetselected = nil
  617. drawlast = nil
  618. return
  619. end
  620. end
  621. end
  622. end
  623.  
  624. local function DrawSubSub(self, w, h, k, var)
  625. local opt, posx, posy, sizex, sizey, dist = var[1][1], var[1][2], var[1][3], var[1][4], var[1][5], var[1][6]
  626. surface.SetDrawColor(gInt("Settings", "Menu Color", "Red"),gInt("Settings", "Menu Color", "Green"),gInt("Settings", "Menu Color", "Blue"), 25)
  627. local startpos = 61 + posy
  628. surface.SetTextColor(gInt("Settings", "Menu Color", "Red"),gInt("Settings", "Menu Color", "Green"),gInt("Settings", "Menu Color", "Blue"), 125)
  629. surface.SetFont("MenuFont")
  630. local tw, th = surface.GetTextSize(opt)
  631. surface.DrawLine( 5 + posx, startpos, 5 + posx + 15, startpos)
  632. surface.SetTextPos( 5 + posx + 15 + 5, startpos - th / 2 )
  633. surface.DrawLine( 5 + posx + 15 + 5 + tw + 5, startpos, 5 + posx + sizex, startpos)
  634. surface.DrawLine( 5 + posx, startpos, 5 + posx, startpos + sizey)
  635. surface.DrawLine(5 + posx, startpos + sizey, 5 + posx + sizex, startpos + sizey )
  636. surface.DrawLine( 5 + posx + sizex, startpos, 5 + posx + sizex, startpos + sizey)
  637. surface.DrawText(opt)
  638. local maxy = 15
  639.  
  640. for k,v in next, var do
  641. if(k == 1) then continue end
  642. if(v[2] == "Checkbox") then
  643. DrawCheckbox(self, w, h, v, maxy, posx, posy, dist)
  644. elseif(v[2] == "Slider") then
  645. DrawSlider(self, w, h, v, maxy, posx, posy, dist)
  646. elseif(v[2] == "Selection") then
  647. DrawSelect(self, w, h, v, maxy, posx, posy, dist)
  648. end
  649. maxy = maxy + 25
  650. end
  651. end
  652.  
  653. local function DrawSub(self, w, h)
  654. for k, v in next, visible do
  655. if(not v) then continue end
  656. for _, var in next, options[k] do
  657. DrawSubSub(self, w, h, k, var)
  658. end
  659. end
  660. end
  661.  
  662. --normal save
  663. local function DrawSaveButton(self, w, h)
  664. local curcol = Color(100, 100, 100, 75)
  665. local mx, my = self:GetPos()
  666. local bMouse = MouseInArea(mx + 30, my + h - 50, mx + 30 + 115, my + h - 50 + 30)
  667. if(bMouse) then
  668. curcol = Color(gInt("Settings", "Menu Color", "Red") + 60,gInt("Settings", "Menu Color", "Green") + 60,gInt("Settings", "Menu Color", "Blue") + 60, 75)
  669. end
  670. for i = 0, 30 do
  671. surface.SetDrawColor(curcol)
  672. surface.DrawLine( 30, h - 50 + i, 30 + 115, h - 50 + i )
  673. for k,v in next, curcol do
  674. curcol[k] = curcol[k] - 2
  675. end
  676. end
  677. surface.SetFont("MenuFont")
  678. surface.SetTextColor(gInt("Settings", "Menu Color", "Red"),gInt("Settings", "Menu Color", "Green"),gInt("Settings", "Menu Color", "Blue"), 125)
  679. local tw, th = surface.GetTextSize("Save Normal")
  680. surface.SetTextPos( 30 + 60 - tw / 2, h - 50 + 15 - th / 2 )
  681. surface.DrawText("Save Normal")
  682. if(bMouse and input.IsMouseDown(MOUSE_LEFT)) then
  683. saveconfig()
  684. timer.Create( "ChatPrint1", 0.1, 1, function() chat.AddText( Color(math.random(255), math.random(255), math.random(255)), "[", "Norton", "] ", Color( 255, 255, 255 ), "Normal settings saved ") end )
  685. end
  686. end
  687.  
  688. local function DrawLoadButton(self, w, h)
  689. local curcol = Color(100, 100, 100, 75)
  690. local mx, my = self:GetPos()
  691. local bMouse = MouseInArea(mx + 160, my + h - 50, mx + 270, my + h - 50 + 30)
  692. if(bMouse) then
  693. curcol = Color(gInt("Settings", "Menu Color", "Red") + 60,gInt("Settings", "Menu Color", "Green") + 60,gInt("Settings", "Menu Color", "Blue") + 60, 75)
  694. end
  695. for i = 0, 30 do
  696. surface.SetDrawColor(curcol)
  697. surface.DrawLine( 160, h - 50 + i, 270, h - 50 + i )
  698. for k,v in next, curcol do
  699. curcol[k] = curcol[k] - 2
  700. end
  701. end
  702. surface.SetFont("MenuFont")
  703. surface.SetTextColor(gInt("Settings", "Menu Color", "Red"),gInt("Settings", "Menu Color", "Green"),gInt("Settings", "Menu Color", "Blue"), 125)
  704. local tw, th = surface.GetTextSize("Load Normal")
  705. surface.SetTextPos( 117 + 100 - tw / 2, h - 50 + 15 - th / 2 )
  706. surface.DrawText("Load Normal")
  707. if(bMouse and input.IsMouseDown(MOUSE_LEFT)) then
  708. loadconfig()
  709. timer.Create( "ChatPrint2", 0.1, 1, function() chat.AddText( Color(math.random(255), math.random(255), math.random(255)), "[", "Norton", "] ", Color( 255, 255, 255 ), "Normal settings loaded ") end )
  710. end
  711. end
  712.  
  713. local function DrawSaveButton2(self, w, h)
  714. local curcol = Color(100, 100, 100, 75)
  715. local mx, my = self:GetPos()
  716. local bMouse = MouseInArea(mx + 515, my + h - 50, mx + 617, my + h - 50 + 30)
  717. if(bMouse) then
  718. curcol = Color(gInt("Settings", "Menu Color", "Red") + 60,gInt("Settings", "Menu Color", "Green") + 60,gInt("Settings", "Menu Color", "Blue") + 60, 75)
  719. end
  720. for i = 0, 30 do
  721. surface.SetDrawColor(curcol)
  722. surface.DrawLine( 515, h - 50 + i, 617, h - 50 + i )
  723. for k,v in next, curcol do
  724. curcol[k] = curcol[k] - 2
  725. end
  726. end
  727. surface.SetFont("MenuFont")
  728. surface.SetTextColor(gInt("Settings", "Menu Color", "Red"),gInt("Settings", "Menu Color", "Green"),gInt("Settings", "Menu Color", "Blue"), 125)
  729. local tw, th = surface.GetTextSize("Save HVH")
  730. surface.SetTextPos( 515 + 50 - tw / 2, h - 50 + 15 - th / 2 )
  731. surface.DrawText("Save HVH")
  732. if(bMouse and input.IsMouseDown(MOUSE_LEFT)) then
  733. saveconfig2()
  734. timer.Create( "ChatPrint", 0.1, 1, function() chat.AddText( Color(math.random(255), math.random(255), math.random(255)), "[", "Norton", "] ", Color( 255, 255, 255 ), "HVH settings saved ") end )
  735. end
  736. end
  737.  
  738. local function DrawLoadButton2(self, w, h)
  739. local curcol = Color(100, 100, 100, 75)
  740. local mx, my = self:GetPos()
  741. local bMouse = MouseInArea(mx + 631, my + h - 50, mx + 735, my + h - 50 + 30)
  742. if(bMouse) then
  743. curcol = Color(gInt("Settings", "Menu Color", "Red") + 60,gInt("Settings", "Menu Color", "Green") + 60,gInt("Settings", "Menu Color", "Blue") + 60, 75)
  744. end
  745. for i = 0, 30 do
  746. surface.SetDrawColor(curcol)
  747. surface.DrawLine( 631, h - 50 + i, 735, h - 50 + i )
  748. for k,v in next, curcol do
  749. curcol[k] = curcol[k] - 2
  750. end
  751. end
  752. surface.SetFont("MenuFont")
  753. surface.SetTextColor(gInt("Settings", "Menu Color", "Red"),gInt("Settings", "Menu Color", "Green"),gInt("Settings", "Menu Color", "Blue"), 125)
  754. local tw, th = surface.GetTextSize("Load HVH")
  755. surface.SetTextPos( 584 + 100 - tw / 2, h - 50 + 15 - th / 2 )
  756. surface.DrawText("Load HVH")
  757. if(bMouse and input.IsMouseDown(MOUSE_LEFT)) then
  758. loadconfig2()
  759. timer.Create( "ChatPrint5", 0.1, 1, function() chat.AddText( Color(math.random(255), math.random(255), math.random(255)), "[", "Norton", "] ", Color( 255, 255, 255 ), "HVH settings loaded") end )
  760. end
  761. end
  762.  
  763. loadconfig()
  764.  
  765. local insertdown2, insertdown, menuopen
  766. local function menu()
  767. local frame = vgui.Create("DFrame")
  768. frame:SetSize(800, 600)
  769. frame:Center()
  770. frame:SetTitle("")
  771. frame:MakePopup()
  772. frame:ShowCloseButton(false)
  773.  
  774. frame.Paint = function(self, w, h)
  775. if(candoslider and not mousedown and not drawlast and not input.IsMouseDown(MOUSE_LEFT)) then
  776. candoslider = false
  777. end
  778. DrawBackground(w, h)
  779. DrawOptions(self, w, h)
  780. DrawSub(self, w, h)
  781. DrawSaveButton(self, w, h)
  782. DrawSaveButton2(self, w, h)
  783. DrawLoadButton(self, w, h)
  784. DrawLoadButton2(self, w, h)
  785. if(drawlast) then
  786. drawlast()
  787. candoslider = true
  788. end
  789. mousedown = input.IsMouseDown(MOUSE_LEFT)
  790. end
  791.  
  792. frame.Think = function()
  793. if (input.IsKeyDown(KEY_INSERT) and not insertdown2) then
  794. frame:Remove()
  795. menuopen = false
  796. candoslider = false
  797. drawlast = nil
  798. end
  799. end
  800. end
  801.  
  802. local toggler = 0
  803. local function RapidFire(pCmd)
  804. if(gBool("Extra", "Extra", "Rapid Fire")) then
  805. if me:KeyDown(IN_ATTACK) then
  806. if me:Health() > 0 then
  807. if IsValid(me:GetActiveWeapon()) and me:GetActiveWeapon():GetClass() ~= "weapon_physgun" then
  808. if toggler == 0 then
  809. pCmd:SetButtons(bit.bor(pCmd:GetButtons(), IN_ATTACK))
  810. toggler = 1
  811. else
  812. pCmd:SetButtons(bit.band(pCmd:GetButtons(), bit.bnot(IN_ATTACK)))
  813. toggler = 0
  814. end
  815. end
  816. end
  817. end
  818. end
  819. end
  820.  
  821. local function AntiAFK()
  822. if(not gBool("Extra", "Anti AFK", "Enabled")) then
  823. timer.Create("afk1", 6, 0, function()
  824. local commands = {"moveleft", "moveright", "moveup", "movedown"}
  825. local command1 = table.Random( commands )
  826. local command2 = table.Random( commands )
  827. timer.Create("afk2", 1, 1, function()
  828. RunConsoleCommand( "+"..command1 ) RunConsoleCommand( "+"..command2 )
  829. end)
  830. timer.Create("afk3", 4, 1, function()
  831. RunConsoleCommand( "-"..command1 ) RunConsoleCommand( "-"..command2 )
  832. end)
  833. end)
  834. end
  835. end
  836.  
  837. surface.CreateFont("HUDLogo",{font = "Arial", size = 30, weight = 100000, antialias = 0})
  838.  
  839. local function DrawOutlinedText ( title, font, x, y, color, OUTsize, OUTcolor )
  840. draw.SimpleTextOutlined ( title, font, x, y, color, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, OUTsize, OUTcolor )
  841. end
  842.  
  843. local function DrawOutlinedTextEx ( title, font, x, y, color, w, h, OUTsize, OUTcolor )
  844. draw.SimpleTextOutlined ( title, font, x, y, color, w, h, OUTsize, OUTcolor )
  845. end
  846.  
  847. local function Logo()
  848. draw.RoundedBox(1, gInt("Settings", "Positions", "Status X"), gInt("Settings", "Positions", "Status Y") -24, 90, 22, Color(0,0,0, 225))
  849. draw.RoundedBox(1, gInt("Settings", "Positions", "Status X") +1, gInt("Settings", "Positions", "Status Y") -23, 88, 20, Color(gInt("Settings", "Window Color", "Red"),gInt("Settings", "Window Color", "Green"),gInt("Settings", "Window Color", "Blue"), 125))
  850. draw.DrawText("~Norton~", "MenuFont", gInt("Settings", "Positions", "Status X") +45, gInt("Settings", "Positions", "Status Y") -22, HSVToColor(RealTime()*126%360,1,1), TEXT_ALIGN_CENTER)
  851. end
  852.  
  853. --hp, ammo, etc status
  854. local function Status()
  855. local hh = 8
  856. local wep = pm.GetActiveWeapon(me)
  857. local vw, vh = surface.GetTextSize("Health: "..me:Health())
  858. local hp = me:Health()
  859. local velocity = me:GetVelocity():Length()
  860.  
  861. if hp < 0 then
  862. hp = 0
  863. end
  864.  
  865. surface.SetFont("MenuFont")
  866. surface.SetTextColor(130, 130, 255, 225)
  867. surface.SetTextPos(gInt("Settings", "Positions", "Status X") +2, hh + gInt("Settings", "Positions", "Status Y") - vh / 2)
  868. surface.DrawText("Status:")
  869. surface.SetTextColor(0, 255, 0, 225)
  870.  
  871. hh = hh + 12
  872. surface.SetTextPos(gInt("Settings", "Positions", "Status X") +2, hh + gInt("Settings", "Positions", "Status Y") - vh / 2)
  873. surface.SetTextColor(255 - hp * 2.55, hp * 2, 0, 225)
  874. surface.DrawText("Health: "..hp)
  875.  
  876. if( em.IsValid(wep) ) then
  877. local daclip = wep:Clip1()
  878. local pw, ph = surface.GetTextSize("Ammo: "..daclip)
  879.  
  880. if daclip < 0 then
  881. daclip = 0
  882. end
  883.  
  884. surface.SetTextColor(255, 140, 0, 225)
  885. hh = hh + 11
  886. surface.SetTextPos(gInt("Settings", "Positions", "Status X") +2, hh + gInt("Settings", "Positions", "Status Y") - ph / 2)
  887. surface.DrawText("Ammo: "..daclip.."/"..me:GetAmmoCount( wep:GetPrimaryAmmoType() ))
  888. else
  889. local pw, ph = surface.GetTextSize("Ammo: ".."0".."/".."0")
  890. surface.SetTextColor(255, 140, 0, 225)
  891. hh = hh + 11
  892. surface.SetTextPos(gInt("Settings", "Positions", "Status X") +2, hh + gInt("Settings", "Positions", "Status Y") - ph / 2)
  893. surface.DrawText("Ammo: ".."0".."/".."0")
  894. end
  895.  
  896. hh = hh + 12
  897. surface.SetTextPos(gInt("Settings", "Positions", "Status X") +2, hh + gInt("Settings", "Positions", "Status Y") - vh / 2)
  898. surface.SetTextColor(255, 0, 100, 225)
  899. surface.DrawText("Velocity: "..math["Round"](velocity))
  900.  
  901. admincount = 0
  902. for k,v in next, Nostalgia.pGetAll() do
  903. if v:GetNWString("usergroup") ~= "user" and v:GetNWString("usergroup") ~= "member" and v:GetNWString("usergroup") ~= "VIP" and v:GetNWString("usergroup") ~= "User" and v:GetNWString("usergroup") ~= "vip" and v:GetNWString("usergroup") ~= "v.i.p." and v:GetNWString("usergroup") ~= "donator" and v:GetNWString("usergroup") ~= "power-donator" and v:GetNWString("usergroup") ~= "guest" and v:GetNWString("usergroup") ~= "known" and v:GetNWString("usergroup") ~= "regular" and v:GetNWString("usergroup") ~= "" then
  904. surface.SetTextColor(gInt("Settings", "Window Color", "Red"),gInt("Settings", "Window Color", "Green"),gInt("Settings", "Window Color", "Blue"), 200)
  905. hh = hh + 13
  906. surface.SetTextPos(gInt("Settings", "Positions", "Status X") +2, hh + gInt("Settings", "Positions", "Status Y") - vh / 2 +admincount)
  907. surface.DrawText( "[" .. v:GetNWString("usergroup").."] ")
  908. surface.SetTextColor(255,255,255, 225)
  909. surface.DrawText(v:GetName())
  910. admincount = admincount-1
  911. end
  912. end
  913.  
  914. if admincount==0 then
  915. surface.SetTextColor(0,200,0, 225)
  916. hh = hh + 13
  917. surface.SetTextPos(gInt("Settings", "Positions", "Status X") +1, hh + gInt("Settings", "Positions", "Status Y") - vh / 2)
  918. surface.DrawText( "[no admins online]")
  919. end
  920. end
  921.  
  922. --spectators
  923. local function spectator()
  924. local radarX, radarY, radarWidth, radarHeight = 50, ScrH() / 3, 200, 200
  925. local black = (Color(0,0,0,255))
  926. local red = (Color(255,0,0,125))
  927. local green = (Color(0,255,0,125))
  928. local tblack = (Color(0,0,0,225))
  929. local white = (Color(255,255,255,255))
  930. local pink = Color(gInt("Settings", "Window Color", "Red"),gInt("Settings", "Window Color", "Green"),gInt("Settings", "Window Color", "Blue"), 25)
  931. local pink2 = Color(gInt("Settings", "Window Color", "Red"),gInt("Settings", "Window Color", "Green"),gInt("Settings", "Window Color", "Blue"), 125)
  932. local hudspecslength = 150
  933.  
  934. specscount = 0
  935.  
  936. draw.RoundedBox(0, gInt("Settings", "Positions", "Window X") +2, gInt("Settings", "Positions", "Window Y"), radarWidth, radarHeight, Color(0, 0, 0, 235 ))
  937. draw.RoundedBox(0, gInt("Settings", "Positions", "Window X") +2, gInt("Settings", "Positions", "Window Y"), radarWidth, 21, pink)
  938. draw.RoundedBox(0, gInt("Settings", "Positions", "Window X") +2, gInt("Settings", "Positions", "Window Y"), 1, 200, pink)
  939. draw.RoundedBox(0, gInt("Settings", "Positions", "Window X") +202, gInt("Settings", "Positions", "Window Y"), 1, 200, pink)
  940. draw.RoundedBox(0, gInt("Settings", "Positions", "Window X") +2, gInt("Settings", "Positions", "Window Y") +200, 200, 1, pink)
  941. draw.RoundedBox(0, gInt("Settings", "Positions", "Window X") +2, gInt("Settings", "Positions", "Window Y") +21, 200, 1, pink)
  942. draw.RoundedBox(0, gInt("Settings", "Positions", "Window X") +3, gInt("Settings", "Positions", "Window Y") +1, radarWidth -1, 20, Color(0, 0, 0, 25 ))
  943. draw.SimpleText("[Spectators]", "MiscFont", gInt("Settings", "Positions", "Window X") +102, gInt("Settings", "Positions", "Window Y") +11, pink2, 1, 1)
  944.  
  945. for k,v in pairs(Nostalgia.pGetAll()) do
  946. if (IsValid(v:GetObserverTarget())) and v:GetObserverTarget() == me then
  947. DrawOutlinedText (v:GetName(), "MiscFont", gInt("Settings", "Positions", "Window X") + 102, gInt("Settings", "Positions", "Window Y") + 32 +specscount, red, 0.1, black)
  948. specscount = specscount+12
  949. end
  950. end
  951.  
  952. if specscount == 0 then
  953. DrawOutlinedText ("none", "MiscFont", gInt("Settings", "Positions", "Window X") + 102, gInt("Settings", "Positions", "Window Y") + 32, green, 0.1, black)
  954. end
  955.  
  956. hudspecslength = specscount + 19
  957.  
  958. end
  959.  
  960. local function DrawFilledCircle(x, y, radius, quality)
  961. local circle = {}
  962. local tmp = 0
  963. for i = 1, quality do
  964. tmp = math.rad(i * 360) / quality
  965. circle[i] = {x = x + math.cos(tmp) * radius, y = y + math.sin(tmp) * radius}
  966. end
  967. surface.DrawPoly(circle)
  968. end
  969.  
  970. local function DrawArrow(x, y, myRotation)
  971. local arrow = {}
  972. arrow[1] = {x = x, y = y}
  973. arrow[2] = {x = x + 4, y = y + 7.5}
  974. arrow[3] = {x = x, y = y + 5}
  975. arrow[4] = {x = x - 4, y = y + 7.5}
  976. myRotation = myRotation * -1
  977. myRotation = math.rad(myRotation)
  978. for i = 1, 4 do
  979. local theirX = arrow[i].x
  980. local theirY = arrow[i].y
  981. theirX = theirX - x
  982. theirY = theirY - y
  983. arrow[i].x = theirX * math.cos(myRotation) - theirY * math.sin(myRotation)
  984. arrow[i].y = theirX * math.sin(myRotation) + theirY * math.cos(myRotation)
  985. arrow[i].x = arrow[i].x + x
  986. arrow[i].y = arrow[i].y + y
  987. end
  988. surface.DrawPoly(arrow)
  989. end
  990.  
  991. local radarX, radarY, radarWidth, radarHeight = 50, ScrH() / 3, 200, 200
  992. local function RadarDraw()
  993. local col = Color(gInt("Settings", "Window Color", "Red"),gInt("Settings", "Window Color", "Green"),gInt("Settings", "Window Color", "Blue"), 25)
  994. local col2 = Color(gInt("Settings", "Window Color", "Red"),gInt("Settings", "Window Color", "Green"),gInt("Settings", "Window Color", "Blue"), 125)
  995. local everything = ents.GetAll()
  996. draw.RoundedBox(0, gInt("Settings", "Positions", "Window X") +212, gInt("Settings", "Positions", "Window Y"), radarWidth, radarHeight, Color(0, 0, 0, 235 ))
  997. draw.RoundedBox(0, gInt("Settings", "Positions", "Window X") +212, gInt("Settings", "Positions", "Window Y"), radarWidth, 21, col)
  998. draw.RoundedBox(0, gInt("Settings", "Positions", "Window X") +212, gInt("Settings", "Positions", "Window Y"), 1, 200, col)
  999. draw.RoundedBox(0, gInt("Settings", "Positions", "Window X") +412, gInt("Settings", "Positions", "Window Y"), 1, 200, col)
  1000. draw.RoundedBox(0, gInt("Settings", "Positions", "Window X") +212, gInt("Settings", "Positions", "Window Y") +200, 200, 1, col)
  1001. draw.RoundedBox(0, gInt("Settings", "Positions", "Window X") +212, gInt("Settings", "Positions", "Window Y") +21, 200, 1, col)
  1002. draw.RoundedBox(0, gInt("Settings", "Positions", "Window X") +212 +1, gInt("Settings", "Positions", "Window Y") +1, radarWidth -1, 20, Color(0, 0, 0, 25 ))
  1003. draw.SimpleText("[Radar]", "MiscFont", gInt("Settings", "Positions", "Window X") +312, gInt("Settings", "Positions", "Window Y") +11, col2, 1, 1)
  1004. draw.NoTexture()
  1005. surface.SetDrawColor(team.GetColor(me:Team()))
  1006.  
  1007. for k = 1, #everything do
  1008. local v = everything[k]
  1009. if (v:IsPlayer() and v:Health() > 0 and v:Team() ~= TEAM_SPECTATOR or (v:IsNPC() and v:Health() > 0)) then
  1010. color = v:IsPlayer() and team.GetColor(v:Team()) or Color(255,255,255)
  1011. surface.SetDrawColor(color)
  1012. local myPos = me:GetPos()
  1013. local theirPos = v:GetPos()
  1014. local myAngles = me:GetAngles()
  1015. local theirX = (radarX + (radarWidth / 2)) + ((theirPos.x - myPos.x) / 40)
  1016. local theirY = (radarY + (radarHeight / 2)) + ((myPos.y - theirPos.y) / 40)
  1017.  
  1018. local myRotation = myAngles.y - 90
  1019. myRotation = math.rad(myRotation)
  1020. theirX = theirX - (radarX + (radarWidth / 2))
  1021. theirY = theirY - (radarY + (radarHeight / 2))
  1022. local newX = theirX * math.cos(myRotation) - theirY * math.sin(myRotation)
  1023. local newY = theirX * math.sin(myRotation) + theirY * math.cos(myRotation)
  1024. newX = newX + (gInt("Settings", "Positions", "Window X") +2 + (radarWidth / 2))
  1025. newY = newY + (gInt("Settings", "Positions", "Window Y") +2 + (radarHeight / 2))
  1026. if newX < (gInt("Settings", "Positions", "Window X") +2 + radarWidth) and newX > gInt("Settings", "Positions", "Window X") +2 and newY < (gInt("Settings", "Positions", "Window Y") + radarHeight) and newY > gInt("Settings", "Positions", "Window Y") then
  1027. DrawArrow(newX + 225, newY, v:EyeAngles().y - myAngles.y)
  1028. end
  1029. end
  1030. end
  1031. end
  1032.  
  1033. --crosshair
  1034. local function crosshair()
  1035. if me:Health() < 1 then return end
  1036. local x1, y1 = ScrW() * 0.5, ScrH() * 0.5
  1037. surface.SetDrawColor(0,0,0)
  1038. surface.DrawOutlinedRect(x1-2, y1-2, 6, 6)
  1039. surface.SetDrawColor(gInt("Settings", "Crosshair Color", "Red"),gInt("Settings", "Crosshair Color", "Green"),gInt("Settings", "Crosshair Color", "Blue"), 225)
  1040. surface.DrawRect(x1-1, y1-1, 4, 4)
  1041. end
  1042.  
  1043. --fullbright
  1044. GAMEMODE:AddHook("RenderScene", "", function()
  1045. render.SetLightingMode(gBool("Extra", "Extra", "Fullbright") and 1 or 0)
  1046. end)
  1047.  
  1048. GAMEMODE:AddHook("PostDrawViewmodel", "", function()
  1049. render.SetLightingMode(0)
  1050. end)
  1051.  
  1052. GAMEMODE:AddHook("PreDrawEffects", "", function()
  1053. render.SetLightingMode(0)
  1054. end)
  1055.  
  1056. local function MESP()
  1057. for k, v in pairs( ents.FindByClass( "spawned_shipment" ) ) do
  1058. local pos = em.GetPos(v) + Vector( 1,0,-6 )
  1059. local pos2 = pos + Vector(0, 0, 70)
  1060. local pos = vm.ToScreen(pos)
  1061. local pos2 = vm.ToScreen(pos2)
  1062. local h = pos.y - pos2.y
  1063. local w = h / 1.3
  1064. local h = h/ 1.8
  1065. local col = (Color(255,0,100))
  1066. local color = Color(255, 0, 100)
  1067. local Ent = v
  1068. local Dist = math.floor(Ent:GetPos():Distance(me:GetShootPos())/40)
  1069. surface.SetDrawColor(col)
  1070. surface.DrawOutlinedRect(pos.x - w / 2.1, pos.y - h /1.1, w, h)
  1071. local ocol = (gBool("ESP", "Autism") and Color(math.random(255), math.random(255), math.random(255)) or Color(0,0,0))
  1072. surface.SetDrawColor(ocol)
  1073. surface.DrawOutlinedRect(pos.x - w / 2.1 - 1, pos.y - h /1.1 - 1, w + 2, h + 2)
  1074. surface.DrawOutlinedRect(pos.x - w / 2.1 + 1, pos.y - h /1.1 + 1, w - 2, h - 2)
  1075. draw.DrawText( "Shipment", "MiscFont", pos.x +w/50, pos.y + h /11, Color(255, 255, 255), 1 )
  1076. surface.SetDrawColor(Color(0,0,0))
  1077. end
  1078.  
  1079. for k, v in pairs( ents.FindByClass( "spawned_weapon" ) ) do
  1080. local pos = em.GetPos(v) + Vector( 1.5,0,-13.5 )
  1081. local pos2 = pos + Vector(0, 0, 70)
  1082. local pos = vm.ToScreen(pos)
  1083. local pos2 = vm.ToScreen(pos2)
  1084. local h = pos.y - pos2.y
  1085. local w = h / 1.3
  1086. local h = h/ 3
  1087. local col = (Color(100, 0, 255))
  1088. local color = Color(100, 0, 255)
  1089. local Ent = v
  1090. local Dist = math.floor(Ent:GetPos():Distance(me:GetShootPos())/40)
  1091. surface.SetDrawColor(col)
  1092. surface.DrawOutlinedRect(pos.x - w / 2, pos.y - h, w, h)
  1093. local ocol = (gBool("ESP", "Autism") and Color(math.random(255), math.random(255), math.random(255)) or Color(0,0,0))
  1094. surface.SetDrawColor(ocol)
  1095. surface.DrawOutlinedRect(pos.x - w / 2 - 1, pos.y - h - 1, w + 2, h + 2)
  1096. surface.DrawOutlinedRect(pos.x - w / 2 + 1, pos.y - h + 1, w - 2, h - 2)
  1097. draw.SimpleText("Weapon", "MiscFont", pos.x, pos.y - h - 2 - (friendstatus == "friend" and 7 or 7), Color(255, 255, 255), 1, 1)
  1098. surface.SetDrawColor(Color(0,0,0))
  1099. end
  1100.  
  1101. for k, v in pairs( ents.FindByClass( "spawned_money" ) ) do
  1102. local pos = em.GetPos(v) + Vector( -0.5,0,-4.5 )
  1103. local pos2 = pos + Vector(0, 0, 70)
  1104. local pos = vm.ToScreen(pos)
  1105. local pos2 = vm.ToScreen(pos2)
  1106. local h = pos.y - pos2.y
  1107. local w = h / 6
  1108. local h = h/ 7
  1109. local col = (Color(0, 200, 0))
  1110. local color = Color(0, 200, 0)
  1111. local Ent = v
  1112. local Dist = math.floor(Ent:GetPos():Distance(me:GetShootPos())/40)
  1113. surface.SetDrawColor(col)
  1114. surface.DrawOutlinedRect(pos.x - w / 2, pos.y - h, w, h)
  1115. local ocol = (gBool("Extra", "Autism") and HSVToColor(RealTime()*33%360,1,1) or Color(0,0,0))
  1116. surface.SetDrawColor(ocol)
  1117. surface.DrawOutlinedRect(pos.x - w / 2 - 1, pos.y - h - 1, w + 2, h + 2)
  1118. surface.DrawOutlinedRect(pos.x - w / 2 + 1, pos.y - h + 1, w - 2, h - 2)
  1119. draw.DrawText( "Money", "MiscFont", pos.x, pos.y, Color(255, 255, 255), 1 )
  1120. surface.SetDrawColor(Color(0,0,0))
  1121. end
  1122.  
  1123. for k, v in pairs( ents.FindByClass( "weapon_mu_magnum" ) ) do
  1124. local pos = em.GetPos(v) + Vector( 0,5,20 )
  1125. local pos2 = pos + Vector(0, 0, 70)
  1126. local pos = vm.ToScreen(pos)
  1127. local pos2 = vm.ToScreen(pos2)
  1128. local h = pos.y - pos2.y
  1129. local w = h / 3
  1130. local h = h/ 3
  1131. local col = (gBool("ESP", "Autism") and Color(math.random(255), math.random(255), math.random(255)) or Color(100,100,255))
  1132. local color = Color(0,0,0)
  1133. local Ent = v
  1134. local Dist = math.floor(Ent:GetPos():Distance(me:GetShootPos())/40)
  1135. draw.DrawText( "Magnum", "MiscFont", pos.x -0, pos.y +10, Color(0,200,0))
  1136. end
  1137.  
  1138. for k, v in pairs( ents.FindByClass( "weapon_mu_knife" ) ) do
  1139. local pos = em.GetPos(v) + Vector( 0,5,20 )
  1140. local pos2 = pos + Vector(0, 0, 70)
  1141. local pos = vm.ToScreen(pos)
  1142. local pos2 = vm.ToScreen(pos2)
  1143. local h = pos.y - pos2.y
  1144. local w = h / 3
  1145. local h = h/ 3
  1146. local col = (Color(100,100,255))
  1147. local color = Color(0,0,0)
  1148. local Ent = v
  1149. local Dist = math.floor(Ent:GetPos():Distance(me:GetShootPos())/40)
  1150. draw.DrawText( "Knife", "MiscFont", pos.x -0, pos.y +10, Color(200,0,0))
  1151. end
  1152.  
  1153. for k, v in pairs( ents.FindByClass( "mu_loot" ) ) do
  1154. local pos = em.GetPos(v) + Vector( -0.5,0,-12 )
  1155. local pos2 = pos + Vector(0, 0, 70)
  1156. local pos = vm.ToScreen(pos)
  1157. local pos2 = vm.ToScreen(pos2)
  1158. local h = pos.y - pos2.y
  1159. local w = h / 3
  1160. local h = h/ 3
  1161. local col = (Color(100,100,255))
  1162. local color = Color(0,0,0)
  1163. local Ent = v
  1164. local Dist = math.floor(Ent:GetPos():Distance(me:GetShootPos())/40)
  1165. surface.SetDrawColor(col)
  1166. surface.DrawOutlinedRect(pos.x - w / 2, pos.y - h, w, h)
  1167. local ocol = (gBool("ESP", "Autism") and Color(math.random(255), math.random(255), math.random(255)) or Color(0,0,0))
  1168. surface.SetDrawColor(ocol)
  1169. surface.DrawOutlinedRect(pos.x - w / 2 - 1, pos.y - h - 1, w + 2, h + 2)
  1170. surface.DrawOutlinedRect(pos.x - w / 2 + 1, pos.y - h + 1, w - 2, h - 2)
  1171. draw.DrawText( "Loot", "MiscFont", pos.x, pos.y, Color(gInt("Settings", "Menu Color", "Red"), gInt("Settings", "Menu Color", "Green"), gInt("Settings", "Menu Color", "Blue")), 1 )
  1172. surface.SetDrawColor(Color(0,0,0))
  1173. end
  1174.  
  1175. for k, v in next, ents.FindByClass( "gy_medkit" ) do
  1176. local pos = em.GetPos(v) + Vector( 1,0,-6 )
  1177. local pos2 = pos + Vector(0, 0, 70)
  1178. local pos = vm.ToScreen(pos)
  1179. local pos2 = vm.ToScreen(pos2)
  1180. local h = pos.y - pos2.y
  1181. local w = h / 2
  1182. local h = h/ 3.3
  1183. local col = (Color(0, 200, 0))
  1184. local color = Color(0, 200, 0)
  1185. local Ent = v
  1186. local Dist = math.floor(Ent:GetPos():Distance(me:GetShootPos())/40)
  1187. surface.SetDrawColor(col)
  1188. surface.DrawOutlinedRect(pos.x - w / 2, pos.y - h /1.1, w, h)
  1189. local ocol = (gBool("ESP", "Autism") and Color(math.random(255), math.random(255), math.random(255)) or Color(0,0,0))
  1190. surface.SetDrawColor(ocol)
  1191. surface.DrawOutlinedRect(pos.x - w / 2 - 1, pos.y - h /1.1 - 1, w + 2, h + 2)
  1192. surface.DrawOutlinedRect(pos.x - w / 2 + 1, pos.y - h /1.1 + 1, w - 2, h - 2)
  1193. draw.DrawText( "Health", "MiscFont", pos.x +w/50 -1, pos.y + h /11, Color(gInt("Settings", "Menu Color", "Red"), gInt("Settings", "Menu Color", "Green"), gInt("Settings", "Menu Color", "Blue")), 1 )
  1194. surface.SetDrawColor(Color(0,0,0))
  1195. end
  1196.  
  1197. for k, v in next, ents.FindByClass( "weapon_ttt_c4" ) do
  1198. local pos = em.GetPos(v) + Vector( 1,0,-6 )
  1199. local pos2 = pos + Vector(0, 0, 70)
  1200. local pos = vm.ToScreen(pos)
  1201. local pos2 = vm.ToScreen(pos2)
  1202. local h = pos.y - pos2.y
  1203. local w = h / 1.3
  1204. local h = h/ 1.8
  1205. local col = (Color(200, 0, 0))
  1206. local color = Color(200, 0,0)
  1207. local Ent = v
  1208. local Dist = math.floor(Ent:GetPos():Distance(me:GetShootPos())/40)
  1209. draw.DrawText( "Traitor", "MiscFont", pos.x +w/50, pos.y + h /11, Color(255, 0, 100), 1 )
  1210. end
  1211.  
  1212. for k, v in next, ents.FindByClass( "weapon_ttt_knife" ) do
  1213. local pos = em.GetPos(v) + Vector( 1,0,-6 )
  1214. local pos2 = pos + Vector(0, 0, 70)
  1215. local pos = vm.ToScreen(pos)
  1216. local pos2 = vm.ToScreen(pos2)
  1217. local h = pos.y - pos2.y
  1218. local w = h / 1.3
  1219. local h = h/ 1.8
  1220. local col = (Color(200,0,0))
  1221. local color = Color(0,0,0)
  1222. local Ent = v
  1223. local Dist = math.floor(Ent:GetPos():Distance(me:GetShootPos())/40)
  1224. draw.DrawText( "Traitor", "MiscFont", pos.x +w/50, pos.y + h /11, Color(255, 0, 100), 1 )
  1225. end
  1226.  
  1227. for k, v in next, ents.FindByClass( "weapon_ttt_phammer" ) do
  1228. local pos = em.GetPos(v) + Vector( 1,0,-6 )
  1229. local pos2 = pos + Vector(0, 0, 70)
  1230. local pos = vm.ToScreen(pos)
  1231. local pos2 = vm.ToScreen(pos2)
  1232. local h = pos.y - pos2.y
  1233. local w = h / 1.3
  1234. local h = h/ 1.8
  1235. local col = (Color(200,0,0))
  1236. local color = Color(0,0,0)
  1237. local Ent = v
  1238. local Dist = math.floor(Ent:GetPos():Distance(me:GetShootPos())/40)
  1239. draw.DrawText( "Traitor", "MiscFont", pos.x +w/50, pos.y + h /11, Color(255, 0, 100), 1 )
  1240. end
  1241.  
  1242. for k, v in next, ents.FindByClass( "weapon_ttt_sipistol" ) do
  1243. local pos = em.GetPos(v) + Vector( 1,0,-6 )
  1244. local pos2 = pos + Vector(0, 0, 70)
  1245. local pos = vm.ToScreen(pos)
  1246. local pos2 = vm.ToScreen(pos2)
  1247. local h = pos.y - pos2.y
  1248. local w = h / 1.3
  1249. local h = h/ 1.8
  1250. local col = (Color(200,0,0))
  1251. local color = Color(0,0,0)
  1252. local Ent = v
  1253. local Dist = math.floor(Ent:GetPos():Distance(me:GetShootPos())/40)
  1254. draw.DrawText( "Traitor", "MiscFont", pos.x +w/50, pos.y + h /11, Color(255, 0, 100), 1 )
  1255. end
  1256.  
  1257. for k, v in next, ents.FindByClass( "weapon_ttt_flaregun" ) do
  1258. local pos = em.GetPos(v) + Vector( 1,0,-6 )
  1259. local pos2 = pos + Vector(0, 0, 70)
  1260. local pos = vm.ToScreen(pos)
  1261. local pos2 = vm.ToScreen(pos2)
  1262. local h = pos.y - pos2.y
  1263. local w = h / 1.3
  1264. local h = h/ 1.8
  1265. local col = (Color(200,0,0))
  1266. local color = Color(0,0,0)
  1267. local Ent = v
  1268. local Dist = math.floor(Ent:GetPos():Distance(me:GetShootPos())/40)
  1269. draw.DrawText( "Traitor", "MiscFont", pos.x +w/50, pos.y + h /11, Color(255, 0, 100), 1 )
  1270. end
  1271.  
  1272. for k, v in next, ents.FindByClass( "weapon_ttt_push" ) do
  1273. local pos = em.GetPos(v) + Vector( 1,0,-6 )
  1274. local pos2 = pos + Vector(0, 0, 70)
  1275. local pos = vm.ToScreen(pos)
  1276. local pos2 = vm.ToScreen(pos2)
  1277. local h = pos.y - pos2.y
  1278. local w = h / 1.3
  1279. local h = h/ 1.8
  1280. local col = (Color(200,0,0))
  1281. local color = Color(0,0,0)
  1282. local Ent = v
  1283. local Dist = math.floor(Ent:GetPos():Distance(me:GetShootPos())/40)
  1284. draw.DrawText( "Traitor", "MiscFont", pos.x +w/50, pos.y + h /11, Color(255, 0, 100), 1 )
  1285. end
  1286.  
  1287. for k, v in next, ents.FindByClass( "weapon_ttt_radio" ) do
  1288. local pos = em.GetPos(v) + Vector( 1,0,-6 )
  1289. local pos2 = pos + Vector(0, 0, 70)
  1290. local pos = vm.ToScreen(pos)
  1291. local pos2 = vm.ToScreen(pos2)
  1292. local h = pos.y - pos2.y
  1293. local w = h / 1.3
  1294. local h = h/ 1.8
  1295. local col = (Color(200,0,0))
  1296. local color = Color(0,0,0)
  1297. local Ent = v
  1298. local Dist = math.floor(Ent:GetPos():Distance(me:GetShootPos())/40)
  1299. draw.DrawText( "Traitor", "MiscFont", pos.x +w/50, pos.y + h /11, Color(255, 0, 100), 1 )
  1300. end
  1301.  
  1302. for k, v in next, ents.FindByClass( "weapon_ttt_teleport" ) do
  1303. local pos = em.GetPos(v) + Vector( 1,0,-6 )
  1304. local pos2 = pos + Vector(0, 0, 70)
  1305. local pos = vm.ToScreen(pos)
  1306. local pos2 = vm.ToScreen(pos2)
  1307. local h = pos.y - pos2.y
  1308. local w = h / 1.3
  1309. local h = h/ 1.8
  1310. local col = (Color(200,0,0))
  1311. local color = Color(0,0,0)
  1312. local Ent = v
  1313. local Dist = math.floor(Ent:GetPos():Distance(me:GetShootPos())/40)
  1314. draw.DrawText( "Traitor", "MiscFont", pos.x +w/50, pos.y + h /11, Color(255, 0, 100), 1 )
  1315. end
  1316.  
  1317. for k, v in next, ents.FindByClass( "(Disguise)" ) do
  1318. local pos = em.GetPos(v) + Vector( 1,0,-6 )
  1319. local pos2 = pos + Vector(0, 0, 70)
  1320. local pos = vm.ToScreen(pos)
  1321. local pos2 = vm.ToScreen(pos2)
  1322. local h = pos.y - pos2.y
  1323. local w = h / 1.3
  1324. local h = h/ 1.8
  1325. local col = (Color(200,0,0))
  1326. local color = Color(0,0,0)
  1327. local Ent = v
  1328. local Dist = math.floor(Ent:GetPos():Distance(me:GetShootPos())/40)
  1329. draw.DrawText( "Traitor", "MiscFont", pos.x +w/50, pos.y + h /11, Color(255, 0, 100), 1 )
  1330. end
  1331.  
  1332. for k, v in next, ents.FindByClass( "npc_*" ) do
  1333. local col = Color(0, 255, 0)
  1334. local col2 = Color(( 100 - em.Health(v) ) * 2.55, em.Health(v) * 2.55, 0, 255)
  1335. local pos = em.GetPos(v)
  1336. local min, max = em.GetCollisionBounds(v)
  1337. local pos2 = pos + Vector(0, 0, max.z)
  1338. local pos = vm.ToScreen(pos)
  1339. local pos2 = vm.ToScreen(pos2)
  1340. local hh = 0
  1341. local h = pos.y - pos2.y
  1342. local w = h / 1.7
  1343. local hp = em.Health(v) * h / 100
  1344. local health = em.Health(v)
  1345. local col = (Color(255, 170, 0))
  1346. local color = Color(255,170,0)
  1347. local Ent = v
  1348. local Dist = math.floor(Ent:GetPos():Distance(me:GetShootPos())/40)
  1349. if health < 0 then
  1350. health = 0
  1351. end
  1352. if (v:Health() > 0) then
  1353. surface.SetDrawColor(col)
  1354. surface.DrawOutlinedRect(pos.x - w / 2, pos.y - h, w, h)
  1355. local ocol = (gBool("ESP", "Autism") and Color(math.random(255), math.random(255), math.random(255)) or Color(0,0,0))
  1356. surface.SetDrawColor(ocol)
  1357. surface.DrawOutlinedRect(pos.x - w / 2 - 1, pos.y - h - 1, w + 2, h + 2)
  1358. surface.DrawOutlinedRect(pos.x - w / 2 + 1, pos.y - h + 1, w - 2, h - 2)
  1359. draw.SimpleText(v:GetClass(), "ESPFont", pos.x, pos.y - h -2 - (friendstatus == "friend" and 7 or 7), Color(255, 255, 255), 1, 1)
  1360. surface.SetDrawColor(Color(0,0,0))
  1361. local col1 = Color((100 - em.Health(v)) * 2.55, em.Health(v) * 2.55, 0)
  1362. draw.SimpleText(health.."HP", "ESPFont", pos.x, pos.y - 2, col1, 1, 0)
  1363. if(hp > h) then hp = h end
  1364. local diff = h - hp
  1365. surface.SetDrawColor(0, 0, 0, 255)
  1366. surface.DrawRect(pos.x - w / 2 - 7, pos.y - h - 1, 5, h + 2)
  1367. surface.SetDrawColor(col2)
  1368. surface.DrawRect(pos.x - w / 2 - 6, pos.y - h + diff, 3, hp)
  1369. end
  1370. end
  1371. end
  1372.  
  1373. local ChatTables = {
  1374. "nigger",
  1375. "nigger",
  1376. "nigger",
  1377. "nigger",
  1378. "nigger",
  1379. "nigger",
  1380. "nigger",
  1381. "nigger",
  1382. "nigger",
  1383. "nigger",
  1384. "nigger",
  1385. }
  1386.  
  1387. local ChatTables2 = {
  1388. "I have gaming carpet.",
  1389. "I have a gaming thermometer.",
  1390. "It's the gaming water I drink.",
  1391. "I only eat gamer branded food.",
  1392. "I am the best gamer.",
  1393. "My favourite game is unturned.",
  1394. "I have no arms or legs.",
  1395. "Back in my days they called me fetus puncher.",
  1396. "I beat up nigger babies.",
  1397. }
  1398.  
  1399. local ChatTables4 = {
  1400. " -- IP RETURNED: 74.500.23.6.",
  1401. " -- IP RETURNED: 142.241.236.241.",
  1402. " -- IP RETURNED: 54.210.116.221.",
  1403. " -- IP RETURNED: 250.81.137.62.",
  1404. " -- IP RETURNED: 28.153.33.233.",
  1405. " -- IP RETURNED: 247.362.39.22.",
  1406. " -- IP RETURNED: 250.81.137.62.",
  1407. " -- IP RETURNED: 8c3f:dfdf:9234:bcfc:520e:9dbe:dacc:6069.",
  1408. " -- IP RETURNED: a9a7:134e:8f87:b5b9:5087:898b:1437:d732.",
  1409. " -- IP RETURNED: NULL //RETRYING.",
  1410. " -- IP RETURNED: 200.117.166.8.",
  1411. " -- IP RETURNED: 4f09:1fec:597f:54be:6fc1:4d7:3455:1f81.",
  1412. " -- IP RETURNED: 215.170.103.191.",
  1413. " -- IP RETURNED: 26.252.202.189.",
  1414. " -- IP RETURNED: 196.18.229.221.",
  1415. " -- IP RETURNED: 226.109.148.109.",
  1416. " -- IP RETURNED: 191.165.116.128.",
  1417. " -- IP RETURNED: 1.209.15.9.",
  1418. " -- IP RETURNED: 100.1.29.45.",
  1419. " -- IP RETURNED: 229.102.211.72.",
  1420. }
  1421.  
  1422. local ChatTables5 = {
  1423. "Hera Hack",
  1424. "Big Hack",
  1425. "Aimware",
  1426. "Skid Smasher",
  1427. "Smeg Hack",
  1428. "Spin Squad",
  1429. "Memeware",
  1430. "Aimjunkies",
  1431. "AHack",
  1432. "Blue Bot",
  1433. "Lenny Scripts",
  1434. "Pony Hack",
  1435. "Titty Smasher",
  1436. }
  1437.  
  1438. local namechangeTime = 0
  1439. local function Think()
  1440. if (input.IsKeyDown(KEY_INSERT) and not menuopen and not insertdown) then
  1441. menuopen = true
  1442. insertdown = true
  1443. menu()
  1444. elseif (not input.IsKeyDown(KEY_INSERT) and not menuopen) then
  1445. insertdown = false
  1446. end
  1447. if (input.IsKeyDown(KEY_INSERT) and insertdown and menuopen) then
  1448. insertdown2 = true
  1449. else
  1450. insertdown2 = false
  1451. end
  1452.  
  1453. --chat spammer
  1454. if(gBool("ESP", "Misc", "Chat Spam") and gOption("ESP", "Misc", "Spam Type") == "Ulx Spam") then
  1455. RunConsoleCommand("ulx vote |||||||| PLAGUE OWNS ALL")
  1456. end
  1457.  
  1458. if(gBool("ESP", "Misc", "Chat Spam") and gOption("ESP", "Misc", "Spam Type") == "Chatclear") then
  1459. RunConsoleCommand("chatclear_run")
  1460. end
  1461.  
  1462. if(gBool("ESP", "Misc", "Chat Spam") and gOption("ESP", "Misc", "Spam Type") == "Aimware") then
  1463. RunConsoleCommand("say", "www.AIMWARE.net | Premium Rage/Legit GMOD Cheat")
  1464. end
  1465.  
  1466. if(gBool("ESP", "Misc", "Chat Spam") and gOption("ESP", "Misc", "Spam Type") == "Jokes") then
  1467. RunConsoleCommand("say", ChatTables2[math.random(#ChatTables2)])
  1468. end
  1469.  
  1470. if(gBool("ESP", "Misc", "Chat Spam") and gOption("ESP", "Misc", "Spam Type") == "OOC") then
  1471. RunConsoleCommand("chatclear_ooc")
  1472. end
  1473.  
  1474. if(gBool("ESP", "Misc", "Chat Spam") and gOption("ESP", "Misc", "Spam Type") == "IP Spam") then
  1475. local randply = Nostalgia.pGetAll()[math.random(#Nostalgia.pGetAll())]
  1476. local friendstatus = pm.GetFriendStatus(randply)
  1477.  
  1478. if (not randply:IsValid() or randply == me or (friendstatus == "friend")) then return end
  1479. RunConsoleCommand("say", randply:Name()..ChatTables4[math.random(#ChatTables4)])
  1480. end
  1481.  
  1482. if(gBool("ESP", "Misc", "Chat Spam") and gOption("ESP", "Misc", "Spam Type") == "Money") then
  1483. RunConsoleCommand("say", "/dropmoney "..math.random(2,10))
  1484. end
  1485.  
  1486. if(gBool("ESP", "Misc", "Chat Spam") and gOption("ESP", "Misc", "Spam Type") == "Shoutout") then
  1487. RunConsoleCommand("say", "~Norton~ Owns your "..ChatTables5[math.random(#ChatTables5)]..".")
  1488. end
  1489.  
  1490. if(gBool("ESP", "Misc", "Chat Spam") and gOption("ESP", "Misc", "Spam Type") == "Sales") then
  1491. RunConsoleCommand("say", "~Norton~ Buy now $100000.")
  1492. end
  1493.  
  1494. if(gBool("ESP", "Misc", "Chat Spam") and gOption("ESP", "Misc", "Spam Type") == "Message") then
  1495. local v = Nostalgia.pGetAll()[math.random(#Nostalgia.pGetAll())]
  1496. if (v ~= me and v:GetFriendStatus() ~= "friend" and not pm.IsAdmin(v)) then
  1497. LocalPlayer():ConCommand("ulx psay \"".. v:Nick() .."\" "..ChatTables[math.random(#ChatTables)])
  1498. end
  1499. end
  1500.  
  1501. if(gBool("Extra", "Emotes", "Enabled") and gOption("Extra", "Emotes", "Emote Type") == "Dance") then
  1502. RunConsoleCommand("act", "dance")
  1503. end
  1504.  
  1505. if(gBool("Extra", "Emotes", "Enabled") and gOption("Extra", "Emotes", "Emote Type") == "Sexy") then
  1506. RunConsoleCommand("act", "muscle")
  1507. end
  1508.  
  1509. if(gBool("Extra", "Emotes", "Enabled") and gOption("Extra", "Emotes", "Emote Type") == "Wave") then
  1510. RunConsoleCommand("act", "wave")
  1511. end
  1512.  
  1513. if(gBool("Extra", "Emotes", "Enabled") and gOption("Extra", "Emotes", "Emote Type") == "Robot") then
  1514. RunConsoleCommand("act", "robot")
  1515. end
  1516.  
  1517. if(gBool("Extra", "Emotes", "Enabled") and gOption("Extra", "Emotes", "Emote Type") == "Bow") then
  1518. RunConsoleCommand("act", "bow")
  1519. end
  1520.  
  1521. if(gBool("Extra", "Extra", "Flashlight Spam")) then
  1522. RunConsoleCommand("impulse", "100" )
  1523. end
  1524.  
  1525. --namestealer
  1526. if(gBool("ESP", "Misc", "Name Stealer")) then
  1527. local randply = Nostalgia.pGetAll()[math.random(#Nostalgia.pGetAll())]
  1528. local friendstatus = pm.GetFriendStatus(randply)
  1529. local rank = pm.IsAdmin(randply)
  1530. GAMEMODE:RemoveHook("Think", "nametaker2")
  1531. GAMEMODE:AddHook("Think", "nametaker", function()
  1532. if (not randply:IsValid() or randply == me or friendstatus == "friend" or rank ) then return end
  1533. _fhook_changename(randply:Name().." ")
  1534. end)
  1535. elseif(not gBool("ESP", "Misc", "Name Stealer")) then
  1536. GAMEMODE:RemoveHook("Think", "nametaker")
  1537. GAMEMODE:AddHook("Think", "nametaker2", function()
  1538. _fhook_changename(pm.Nick(me))
  1539. end)
  1540. end
  1541.  
  1542. if(gBool("ESP", "Misc", "Name Stealer") and gOption("ESP", "Misc", "Steal Type") == "DarkRP") then
  1543. local v = Nostalgia.pGetAll()[math.random(#Nostalgia.pGetAll())]
  1544. local scrambledName = string.sub(v:Nick(), 1, 1)..v:Nick()
  1545. local friendstatus = pm.GetFriendStatus(v)
  1546. local rank = pm.IsAdmin(v)
  1547. namechangeTime = namechangeTime + 1
  1548. if namechangeTime > 650 then
  1549. if (v ~= me or friendstatus ~= "friend" or rank ) then
  1550. RunConsoleCommand("say", "/name "..scrambledName)
  1551. namechangeTime = 0
  1552. end
  1553. end
  1554. end
  1555. end
  1556.  
  1557. GAMEMODE:AddHook("Think", "", Think)
  1558.  
  1559. local function Filter(v)
  1560. if(gBool("Settings", "Filter", "ESP")) then
  1561. local friendstatus = pm.GetFriendStatus(v)
  1562. if friendstatus == "friend" then return true end
  1563. local dist = gBool("Settings", "Filter", "Distance")
  1564. if( vm.Distance( em.GetPos(v), em.GetPos(me) ) > (dist * 5) ) then return false end
  1565. end
  1566. return true
  1567. end
  1568.  
  1569. local function GetChamsColor(v)
  1570. if(pm.Team(v) == pm.Team(me)) then
  1571. local r = gInt("Settings", "Team Chams Color", "Red")
  1572. local g = gInt("Settings", "Team Chams Color", "Green")
  1573. local b = gInt("Settings", "Team Chams Color", "Blue")
  1574. return(Color(r, g, b, 220))
  1575. end
  1576. local r = gInt("Settings", "Enemy Chams Color", "Red")
  1577. local g = gInt("Settings", "Enemy Chams Color", "Green")
  1578. local b = gInt("Settings", "Enemy Chams Color", "Blue")
  1579. return(Color(r, g, b, 220))
  1580. end
  1581.  
  1582. local chamsmat = CreateMaterial("a", "VertexLitGeneric", {
  1583. ["$ignorez"] = 1,
  1584. ["$model"] = 1,
  1585. ["$basetexture"] = "models/debug/debugwhite",
  1586. })
  1587.  
  1588. local chamsmat2 = CreateMaterial("@", "VertexLitGeneric", {
  1589. ["$ignorez"] = 0,
  1590. ["$model"] = 1,
  1591. ["$basetexture"] = "models/debug/debugwhite",
  1592. })
  1593.  
  1594. local function Chams(v)
  1595. if(gBool("ESP", "ESP", "Chams")) then
  1596. local col = gBool("ESP", "Misc", "Team Colors") and team.GetColor(pm.Team(v)) or GetChamsColor(v)
  1597. local wep = v:GetActiveWeapon()
  1598. if wep:IsValid() then
  1599. cam.Start3D()
  1600. render.MaterialOverride(chamsmat)
  1601. render.SetColorModulation(col.r/255, col.g/255, col.b/255, 255)
  1602. em.DrawModel(wep)
  1603. render.SetColorModulation(col.r/170, col.g/170, col.b/170, 255)
  1604. render.MaterialOverride(chamsmat2)
  1605. em.DrawModel(wep)
  1606. cam.End3D()
  1607. end
  1608.  
  1609. cam.Start3D()
  1610. render.MaterialOverride(chamsmat)
  1611. render.SetColorModulation(col.b / 255, col.r / 255, col.g / 255)
  1612. em.DrawModel(v)
  1613. render.SetColorModulation(col.r / 255, col.g / 255, col.b / 255)
  1614. render.MaterialOverride(chamsmat2)
  1615. em.DrawModel(v)
  1616. render.SetColorModulation(1, 1, 1)
  1617. cam.End3D()
  1618. end
  1619. end
  1620.  
  1621. local duckTime = 0
  1622. local function Bunnyhop(pCmd)
  1623. local duckEstimate = math.Round(58 + 1 / engine.TickInterval())
  1624. if(not gBool("ESP", "Misc", "Bunny Hop") or em.GetMoveType(me) == MOVETYPE_NOCLIP or me:Health() < 1) then return end
  1625. if(not me:IsOnGround()) then
  1626. pCmd:RemoveKey(2)
  1627. duckTime = duckTime + 1
  1628. if(pCmd:GetMouseX() > 1 or pCmd:GetMouseX() < -1) then
  1629. if(pCmd:GetMouseX() < 0) then
  1630. pCmd:SetSideMove(-400)
  1631. else
  1632. pCmd:SetSideMove(400)
  1633. end
  1634. else
  1635. pCmd:SetForwardMove(5850 / me:GetVelocity():Length2D())
  1636. pCmd:SetSideMove((pCmd:CommandNumber() % 2) == 0 and -400 or 400)
  1637. end
  1638. else
  1639. if(pCmd:KeyDown(2)) then
  1640. pCmd:SetForwardMove(400)
  1641. end
  1642. if(pCmd:KeyDown(IN_JUMP)) then
  1643. pCmd:SetForwardMove(10000)
  1644. end
  1645. if gBool("Aimbot", "HVH", "Air Duck") and cm.CommandNumber(pCmd) ~= 0 and duckTime < duckEstimate then
  1646. cm.SetButtons(pCmd, bit.bor(cm.GetButtons(pCmd), IN_DUCK))
  1647. else
  1648. duckTime = 0
  1649. end
  1650. end
  1651. end
  1652.  
  1653. local header = '\x7Fwalkbot\n'
  1654. local mode = -1
  1655. local fs = nil
  1656.  
  1657. local play_direction = 1
  1658. local next_waypoint = 1
  1659. local waypoints = {}
  1660.  
  1661. local function DrawFancyBox( v, c )
  1662. surface.SetDrawColor( c )
  1663.  
  1664. local b1 = ( v + Vector( 5, 5, 0 ) ):ToScreen()
  1665. local b2 = ( v + Vector( 5, -5, 0 ) ):ToScreen()
  1666. local b3 = ( v + Vector( -5, 5, 0 ) ):ToScreen()
  1667. local b4 = ( v + Vector( -5, -5, 0 ) ):ToScreen()
  1668.  
  1669. local t1 = ( v + Vector( 5, 5, 32 ) ):ToScreen()
  1670. local t2 = ( v + Vector( 5, -5, 32 ) ):ToScreen()
  1671. local t3 = ( v + Vector( -5, 5, 32 ) ):ToScreen()
  1672. local t4 = ( v + Vector( -5, -5, 32 ) ):ToScreen()
  1673.  
  1674. surface.DrawLine( b1.x, b1.y, b3.x, b3.y )
  1675. surface.DrawLine( b2.x, b2.y, b4.x, b4.y )
  1676. surface.DrawLine( b1.x, b1.y, b2.x, b2.y )
  1677. surface.DrawLine( b3.x, b3.y, b4.x, b4.y )
  1678.  
  1679. surface.DrawLine( b1.x, b1.y, t1.x, t1.y )
  1680. surface.DrawLine( b2.x, b2.y, t2.x, t2.y )
  1681. surface.DrawLine( b3.x, b3.y, t3.x, t3.y )
  1682. surface.DrawLine( b4.x, b4.y, t4.x, t4.y )
  1683.  
  1684. surface.DrawLine( t1.x, t1.y, t3.x, t3.y )
  1685. surface.DrawLine( t2.x, t2.y, t4.x, t4.y )
  1686. surface.DrawLine( t1.x, t1.y, t2.x, t2.y )
  1687. surface.DrawLine( t3.x, t3.y, t4.x, t4.y )
  1688. end
  1689.  
  1690. local function RecordVector( v )
  1691. fs:WriteFloat( v.x )
  1692. fs:WriteFloat( v.y )
  1693. fs:WriteFloat( v.z )
  1694. fs:Flush()
  1695. end
  1696.  
  1697. local lastpos = Vector()
  1698. local lastyaw = 0
  1699. local function walkBot(pCmd)
  1700. local np = me:GetPos()
  1701.  
  1702. if fs then
  1703. if mode == 0 then
  1704. if math.abs( math.abs( lastyaw ) - math.abs( pCmd:GetViewAngles().y ) ) > 10 and lastpos:Distance( np ) > 52 or lastpos:Distance( np ) > 392 then
  1705. print( 'recorded new waypoint' )
  1706.  
  1707. lastpos = np
  1708. lastyaw = pCmd:GetViewAngles().y
  1709.  
  1710. RecordVector( util.QuickTrace( np + me:OBBCenter(), np - Vector( 0, 0, 8192 ), me ).HitPos )
  1711. end
  1712. end
  1713. end
  1714.  
  1715. if mode == 1 then
  1716. local vec = waypoints[ next_waypoint ] - np
  1717. if vec:Length2D() < me:GetVelocity():Length2D() * 0.1 then
  1718. if waypoints[ next_waypoint + play_direction ] then
  1719. next_waypoint = next_waypoint + play_direction
  1720. else
  1721. play_direction = play_direction == 1 and -1 or 1
  1722. end
  1723. end
  1724.  
  1725. local a = vec:Angle()
  1726.  
  1727. local move = Vector( pCmd:GetForwardMove(), pCmd:GetSideMove(), 0 )
  1728. local vec = ( move:Angle() + Angle( 0, pCmd:GetViewAngles().y - a.y, 0 ) ):Forward() * move:Length()
  1729.  
  1730. pCmd:SetForwardMove( vec[1] )
  1731. pCmd:SetSideMove( vec[2] )
  1732. end
  1733. end
  1734.  
  1735. concommand.Add( 'record_w', function( _, _, _, fn )
  1736. fs = file.Open( fn .. '.txt', 'wb', 'DATA' )
  1737.  
  1738. if fs then
  1739. fs:Write( header )
  1740. fs:Write( game.GetMap() )
  1741.  
  1742. lastpos = Vector()
  1743. mode = 0
  1744. else
  1745. print( 'filestream was not created' )
  1746. end
  1747. end)
  1748.  
  1749. concommand.Add( 'play_w', function( _, _, _, fn )
  1750. local f = file.Open( fn .. '.txt', 'rb', 'DATA' )
  1751.  
  1752. if f then
  1753. local h = f:Read( #header )
  1754. local m = f:Read( #game.GetMap() )
  1755.  
  1756. if h == header then
  1757. if m == game.GetMap() then
  1758. play_direction = 1
  1759. next_waypoint = 1
  1760. mode = 1
  1761.  
  1762. table.Empty( waypoints )
  1763.  
  1764. local x = f:ReadFloat()
  1765. local y = f:ReadFloat()
  1766. local z = f:ReadFloat()
  1767.  
  1768. while x and y and z do
  1769. table.insert( waypoints, Vector( x, y, z ) )
  1770.  
  1771. x = f:ReadFloat()
  1772. y = f:ReadFloat()
  1773. z = f:ReadFloat()
  1774. end
  1775.  
  1776. RunConsoleCommand( '+forward' )
  1777. else
  1778. print( 'wrong map' )
  1779. end
  1780. else
  1781. print( 'invalid header' )
  1782. end
  1783.  
  1784. f:Close()
  1785. else
  1786. print( 'unknown file' )
  1787. end
  1788. end )
  1789.  
  1790. concommand.Add( 'stop_w', function()
  1791. if fs then fs:Close() end
  1792.  
  1793. RunConsoleCommand( '-forward' )
  1794. mode = -1
  1795. end )
  1796.  
  1797. /*
  1798. local function Speed()
  1799. pspeed = gBool("Extra", "Speedhack", "pSpeed")
  1800. pspeedspeed = gBool("Extra", "Speedhack", "pSpeed Amount")
  1801. end
  1802. */
  1803.  
  1804. GAMEMODE:AddHook("PreDrawSkyBox", "", function()
  1805. if (not gBool("Extra", "Extra", "No Sky")) then return end
  1806. render.Clear(0, 0, 0, 255)
  1807. return true
  1808. end )
  1809.  
  1810. local wireframeMat = Material("models/wireframe")
  1811. GAMEMODE:AddHook("PreDrawViewModel", "", function()
  1812. if(not gBool("Extra", "Viewmodel", "Wireframe") or gBool("ESP", "Misc", "Thirdperson")) then return end
  1813. local WepMat = Material("models/wireframe")
  1814. render.MaterialOverride(WepMat)
  1815. render.SetColorModulation(gInt("Extra", "Viewmodel", "Red") /255,gInt("Extra", "Viewmodel", "Green") /255,gInt("Extra", "Viewmodel", "Blue") / 255 )
  1816. end )
  1817.  
  1818. GAMEMODE:AddHook("PreDrawPlayerHands", "", function()
  1819. if(gBool("Extra", "Viewmodel", "No Hands") or gBool("ESP", "Misc", "Thirdperson")) then
  1820. return true
  1821. else
  1822. return false
  1823. end
  1824. end )
  1825.  
  1826. local function GetColor(v)
  1827. if(pm.Team(v) == pm.Team(me)) then
  1828. local r = gInt("Settings", "Team ESP Color", "Red")
  1829. local g = gInt("Settings", "Team ESP Color", "Green")
  1830. local b = gInt("Settings", "Team ESP Color", "Blue")
  1831. return(Color(r, g, b, 220))
  1832. end
  1833. local r = gInt("Settings", "Enemy ESP Color", "Red")
  1834. local g = gInt("Settings", "Enemy ESP Color", "Green")
  1835. local b = gInt("Settings", "Enemy ESP Color", "Blue")
  1836. return(Color(r, g, b, 220))
  1837. end
  1838.  
  1839. local function GetColor2(v)
  1840. if(pm.Team(v) == pm.Team(me)) then
  1841. local r = gInt("Settings", "Team ESP Color", "Red")
  1842. local g = gInt("Settings", "Team ESP Color", "Green")
  1843. local b = gInt("Settings", "Team ESP Color", "Blue")
  1844. return(Color(r, g, b, 25))
  1845. end
  1846. local r = gInt("Settings", "Enemy ESP Color", "Red")
  1847. local g = gInt("Settings", "Enemy ESP Color", "Green")
  1848. local b = gInt("Settings", "Enemy ESP Color", "Blue")
  1849. return(Color(r, g, b, 25))
  1850. end
  1851.  
  1852. local INT_MAX = 2147483647
  1853.  
  1854. local corners = {}
  1855. local screen = {}
  1856.  
  1857. local function GetCorners( e )
  1858. local mins, maxs = em.OBBMins( e ), em.OBBMaxs( e )
  1859. local pos = em.GetPos( e )
  1860.  
  1861. corners = {
  1862. Vector( mins.x, mins.y, mins.z ),
  1863. Vector( mins.x, mins.y, maxs.z ),
  1864. Vector( mins.x, maxs.y, mins.z ),
  1865. Vector( mins.x, maxs.y, maxs.z ),
  1866. Vector( maxs.x, mins.y, mins.z ),
  1867. Vector( maxs.x, mins.y, maxs.z ),
  1868. Vector( maxs.x, maxs.y, mins.z ),
  1869. Vector( maxs.x, maxs.y, maxs.z )
  1870. }
  1871.  
  1872. local x1, y1, x2, y2 = INT_MAX, INT_MAX, 0, 0
  1873.  
  1874. for k, v in next, corners do
  1875. screen = vm.ToScreen( pos + v )
  1876.  
  1877. if ( screen ) then
  1878. x1, y1 = math.min( x1, screen.x ), math.min( y1, screen.y )
  1879. x2, y2 = math.max( x2, screen.x ), math.max( y2, screen.y )
  1880. end
  1881. end
  1882.  
  1883. if ( x1 ~= INT_MAX ) and ( y1 ~= INT_MAX ) and ( x2 ~= 0 ) and ( y2 ~= 0 ) then
  1884. return x1, y1, x2 - x1, y2 - y1
  1885. end
  1886. end
  1887.  
  1888. local function ESP(v)
  1889. local pos = em.GetPos( v )
  1890. local min, max = em.GetCollisionBounds(v)
  1891. local pos2 = pos + Vector(0, 0, max.z)
  1892. local pos = vm.ToScreen(pos)
  1893. local pos2 = vm.ToScreen(pos2)
  1894. local hh = 0
  1895. surface.SetFont( "ESPFont" )
  1896. surface.SetTextColor( 255, 255, 255 )
  1897.  
  1898. local hp = 0
  1899. local x, y, w, h = 0, 0, 0, 0
  1900. local height = 0
  1901. local nick = ""
  1902. local tw, th = 0, 0
  1903. local wep
  1904.  
  1905. hp = math.Clamp( em.Health(v), 1, 100 )
  1906.  
  1907. x, y, w, h = GetCorners( v )
  1908.  
  1909. if ( w ) and ( h ) then
  1910. surface.SetDrawColor( team.GetColor( pm.Team(v) ) )
  1911.  
  1912. surface.DrawOutlinedRect( x, y, w, h )
  1913.  
  1914. surface.SetDrawColor( 0, 0, 0, 255 )
  1915. surface.DrawOutlinedRect( x + 1, y + 1, w - 2, h - 2 )
  1916. surface.DrawOutlinedRect( x - 1, y - 1, w + 2, h + 2 )
  1917.  
  1918. height = ( hp / 100 * h )
  1919. if(gBool("ESP", "ESP", "Health Bar")) then
  1920. surface.DrawRect( x - 6, y - 1, 4, h + 2 )
  1921. surface.SetDrawColor( HSVToColor( hp / 100 * 120, 1, 1 ) )
  1922. surface.DrawRect( x - 5, y + ( h - height ), 2, height )
  1923. end
  1924.  
  1925. if(gBool("ESP", "ESP", "Name")) then
  1926. local col1 = Color(255,255,255)
  1927. local col2 = Color(100,100,255)
  1928. local friendstatus = pm.GetFriendStatus(v)
  1929. draw.SimpleText(pm.Name(v), "ESPFont", pos.x, pos.y - h - 1 - (friendstatus == "friend" and 7 or 7), col1, 1, 1)
  1930. end
  1931.  
  1932. if (friendstatus == "friend") then
  1933. draw.SimpleText("Friend", "ESPFont", pos.x, pos.y - h - 17 - 1, HSVToColor(RealTime()*65%360,1,1), 1, 1)
  1934. end
  1935.  
  1936. if(gBool("ESP", "ESP", "Health")) then
  1937. hh = hh + 1
  1938. local col1 = Color((100 - em.Health(v)) * 2.55, em.Health(v) * 2, 0)
  1939. draw.SimpleText(em.Health(v).."HP", "ESPFont", pos.x, pos.y - 2 + hh, col1, 1, 0)
  1940. hh = hh + 9
  1941. end
  1942.  
  1943. if(gBool("ESP", "ESP", "Weapon")) then
  1944. hh = hh + 1
  1945. local w = pm.GetActiveWeapon(v)
  1946. if(w and em.IsValid(w)) then
  1947. local col = Color(175,125,50)
  1948. draw.SimpleText(w:GetPrintName(), "ESPFont", pos.x, pos.y - 2 + hh, col, 1, 0)
  1949. hh = hh + 9
  1950. end
  1951. end
  1952.  
  1953. if(gBool("ESP", "ESP", "Rank")) then
  1954. hh = hh + 1
  1955. local col = Color(150,0,255)
  1956. draw.SimpleText(pm.GetUserGroup(v), "ESPFont", pos.x, pos.y - 2 + hh, col, 1, 0)
  1957. hh = hh + 9
  1958. end
  1959.  
  1960. if(gBool("ESP", "ESP", "Ping")) then
  1961. hh = hh + 1
  1962. local col1 = Color(v:Ping() * 2.55, 255 - v:Ping() - 5 * 2, 0)
  1963. draw.SimpleText(v:Ping().."ms", "ESPFont", pos.x, pos.y - 2 + hh, col1, 1, 0)
  1964. hh = hh + 9
  1965. end
  1966.  
  1967. if(gBool("ESP", "Misc", "Money")) then
  1968. hh = hh + 1
  1969. if (gmod.GetGamemode().Name == "DarkRP") then
  1970. local col1 = Color(0,150,0)
  1971. if (v:getDarkRPVar("money") == nil) then return end
  1972. local cash = v:getDarkRPVar("money")
  1973. draw.SimpleText(cash.."$", "ESPFont", pos.x, pos.y - 2 + hh, col1, 1, 0)
  1974. hh = hh + 9
  1975. end
  1976. end
  1977.  
  1978. if(gBool("ESP", "ESP", "Skeleton")) then
  1979. local col = gBool("ESP", "Misc", "Team Colors") and team.GetColor(pm.Team(v)) or GetColor(v)
  1980. local pos = em.GetPos(v)
  1981. for i = 0, em.GetBoneCount(v) do
  1982. local parent = em.GetBoneParent(v, i)
  1983. if(not parent) then continue end
  1984. local bonepos = em.GetBonePosition(v, i)
  1985. if(bonepos == pos) then continue end
  1986. local parentpos = em.GetBonePosition(v, parent)
  1987. if(not bonepos or not parentpos) then continue end
  1988. local screen1, screen2 = vm.ToScreen(bonepos), vm.ToScreen(parentpos)
  1989. surface.SetDrawColor(col)
  1990. surface.DrawLine(screen1.x, screen1.y, screen2.x, screen2.y)
  1991. end
  1992. end
  1993. end
  1994. end
  1995.  
  1996. local aimtarget
  1997. GAMEMODE:AddHook("DrawOverlay", "", function()
  1998.  
  1999. if mode == 0 and fs then
  2000. if not rec then
  2001. rec = Material( 'gmod/recording.png' )
  2002. end
  2003.  
  2004. surface.SetDrawColor( color_white )
  2005. surface.SetMaterial( rec )
  2006. surface.DrawTexturedRect( ScrW() - 512, 0, 512, 256, 0 )
  2007. end
  2008.  
  2009. if mode == 1 then
  2010. local prev
  2011. for k, v in next, waypoints do
  2012. local scr = v:ToScreen()
  2013. if not scr.visible then continue end
  2014.  
  2015. if prev and prev.x and prev.y then
  2016. surface.SetDrawColor( color_white )
  2017. surface.DrawLine( prev.x, prev.y, scr.x, scr.y )
  2018. end
  2019.  
  2020. DrawFancyBox( v, next_waypoint == k and Color(0, 225, 0) or Color(255, 0, 100) )
  2021. prev = scr
  2022. end
  2023. end
  2024.  
  2025. if(aimtarget and aimtarget:IsValid() and gBool("Aimbot", "Extra", "Snap Lines")) then
  2026. if me:Health() > 0 then
  2027. local col = Color(gInt("Settings", "Crosshair Color", "Red"),gInt("Settings", "Crosshair Color", "Green"),gInt("Settings", "Crosshair Color", "Blue"), 125)
  2028. local pos = vm.ToScreen(em.LocalToWorld(aimtarget, em.OBBCenter(aimtarget)))
  2029. surface.SetDrawColor(col)
  2030. surface.DrawLine(ScrW() / 2, ScrH() / 2, pos.x, pos.y)
  2031. surface.SetDrawColor(0,0,0)
  2032. surface.DrawOutlinedRect(pos.x -2, pos.y -2, 5, 5)
  2033. surface.SetDrawColor(gInt("Settings", "Crosshair Color", "Red"),gInt("Settings", "Crosshair Color", "Green"),gInt("Settings", "Crosshair Color", "Blue"))
  2034. surface.DrawRect(pos.x -1, pos.y -1, 3, 3)
  2035. end
  2036. end
  2037.  
  2038. if(gBool("ESP", "ESP", "Enabled")) then
  2039. for k,v in next, Nostalgia.pGetAll() do
  2040. if( v == me or not em.IsValid(v) or em.Health(v) < 0.1 or em.IsDormant( v ) or pm.Team(v) == TEAM_SPECTATOR) then continue end
  2041. if(not Filter(v)) then continue end
  2042. ESP(v)
  2043. end
  2044. end
  2045.  
  2046. if(gBool("ESP", "ESP", "Entities")) then
  2047. MESP()
  2048. end
  2049.  
  2050. if(gBool("ESP", "Misc", "Radar")) then
  2051. RadarDraw()
  2052. end
  2053.  
  2054. if(gBool("Extra", "Extra", "Display Status")) then
  2055. Logo()
  2056. Status()
  2057. end
  2058.  
  2059. if(gBool("ESP", "Misc", "Spectators")) then
  2060. spectator()
  2061. end
  2062.  
  2063. crosshair()
  2064. end)
  2065.  
  2066. GAMEMODE:AddHook("RenderScreenspaceEffects", "", function()
  2067. if(not gBool("ESP", "ESP", "Enabled")) then return end
  2068. for k,v in next, Nostalgia.pGetAll() do
  2069. if(not em.IsValid(v) or em.Health(v) < 1 or v == me or pm.Team(v) == TEAM_SPECTATOR) then continue end
  2070. if(not Filter(v)) then continue end
  2071. Chams(v)
  2072. end
  2073. end )
  2074.  
  2075. local fa
  2076. local aa
  2077. local oldAngles = Angle()
  2078. local function normalizeAngle(ang)
  2079. ang.p = math.NormalizeAngle(ang.p)
  2080. ang.p = math.Clamp(ang.p, -89, 89)
  2081. ang.y = math.NormalizeAngle(ang.y)
  2082. end
  2083.  
  2084. local function FixMovement(pCmd)
  2085. local vec = Vector(cm.GetForwardMove(pCmd), cm.GetSideMove(pCmd), 0)
  2086. local vel = math.sqrt(vec.x*vec.x + vec.y*vec.y)
  2087. local mang = vm.Angle(vec)
  2088. local yaw = cm.GetViewAngles(pCmd).y - fa.y + mang.y
  2089. if (((cm.GetViewAngles(pCmd).p+90)%360) > 180) then
  2090. yaw = 180 - yaw
  2091. end
  2092. yaw = ((yaw + 180)%360)-180
  2093. pCmd:SetForwardMove(math.cos(math.rad(yaw)) * vel)
  2094. pCmd:SetSideMove(math.sin(math.rad(yaw)) * vel)
  2095. end
  2096.  
  2097. local function Clamp(val, min, max)
  2098. if(val < min) then
  2099. return min
  2100. elseif(val > max) then
  2101. return max
  2102. end
  2103. return val
  2104. end
  2105.  
  2106. local function NormalizeAngle(ang)
  2107. ang.x = math.NormalizeAngle(ang.x)
  2108. ang.p = math.Clamp(ang.p, -89, 89)
  2109. end
  2110.  
  2111. local trace_walls = bit.bor(CONTENTS_TESTFOGVOLUME, CONTENTS_EMPTY, CONTENTS_MONSTER, CONTENTS_HITBOX)
  2112. local NoPenetration = {[MAT_SLOSH] = true}
  2113. local PenMod = {[MAT_SAND] = 0.5, [MAT_DIRT] = 0.8, [MAT_METAL] = 1.1, [MAT_TILE] = 0.9, [MAT_WOOD] = 1.2}
  2114. local trace_normal = bit.bor(CONTENTS_SOLID, CONTENTS_OPAQUE, CONTENTS_MOVEABLE, CONTENTS_DEBRIS, CONTENTS_MONSTER, CONTENTS_HITBOX, 402653442, CONTENTS_WATER)
  2115.  
  2116. local function fasAutowall(wep, startPos, aimPos, ply)
  2117. if not gBool("Aimbot", "Extra", "Auto Wall") then return end
  2118. local traces = {}
  2119. local traceResults = {}
  2120. local dir = (aimPos - startPos):GetNormalized()
  2121. traces[1] = { start = startPos, filter = me, mask = trace_normal, endpos = aimPos, }
  2122. traceResults[1] = util.TraceLine(traces[1])
  2123. if(NoPenetration[traceResults[1].MatType]) then return false end
  2124. if(-dir:DotProduct(traceResults[1].HitNormal) <= .26) then return false end
  2125.  
  2126. traces[2] = { start = traceResults[1].HitPos, endpos = traceResults[1].HitPos + dir * wep.PenStr * (PenMod[traceResults[1].MatType] or 1) * wep.PenMod, filter = me, mask = trace_walls, }
  2127. traceResults[2] = util.TraceLine(traces[2])
  2128. traces[3] = { start = traceResults[2].HitPos, endpos = traceResults[2].HitPos + dir * .1, filter = me, mask = trace_normal, }
  2129. traceResults [3] = util.TraceLine(traces[3])
  2130. traces[4] = { start = traceResults[2].HitPos, endpos = aimPos, filter = me, mask = MASK_SHOT, }
  2131. traceResults[4] = util.TraceLine(traces[4])
  2132. if(traceResults[4].Entity ~= ply) then return false end
  2133. return(not traceResults[3].Hit)
  2134. end
  2135.  
  2136. local function m9kAutowall(wep)
  2137. if not gBool("Aimbot", "Extra", "Auto Wall") then return end
  2138. local wep = me:GetActiveWeapon()
  2139. local trace = {
  2140. endpos = aimPos,
  2141. start = me:EyePos(),
  2142. mask = MASK_SHOT,
  2143. filter = me,
  2144. }
  2145. return wep:BulletPenetrate(10, nil, util.TraceLine(trace), DamageInfo())
  2146. end
  2147.  
  2148. local table = Copy(table)
  2149. local dists = {}
  2150. local function GetPos(v)
  2151. if(gBool("Aimbot", "Target", "Body Aim")) then return(em.LocalToWorld(v, em.OBBCenter(v))) end
  2152. local eyes = em.LookupAttachment(v, "eyes")
  2153. if(not eyes) then return( em.LocalToWorld(v, em.OBBCenter(v))) end
  2154. local pos = em.GetAttachment(v, eyes)
  2155. if(not pos) then return( em.LocalToWorld(v, em.OBBCenter(v))) end
  2156. return(pos.Pos)
  2157. end
  2158.  
  2159. --valid check for aimbot
  2160. local aimignore
  2161. local function Valid(v)
  2162. local wep = me:GetActiveWeapon()
  2163. if(not v or not em.IsValid(v) or v == me or em.Health(v) < 1 or em.IsDormant(v) or pm.Team(v) == 1002 or (v == aimignore and gOption("Aimbot", "Target", "Selection") == "Next Shot")) then return false end
  2164. if(gBool("Aimbot", "Target", "Ignore Team")) then
  2165. if(pm.Team(v) == pm.Team(me)) then return false end
  2166. end
  2167. if(gBool("Aimbot", "Target", "Ignore Friends")) then
  2168. if(pm.GetFriendStatus(v) == "friend") then return false end
  2169. end
  2170. if(gBool("Aimbot", "Target", "Ignore Admins")) then
  2171. if pm.IsAdmin(v) then return false end
  2172. end
  2173. if(gBool("Aimbot", "Target", "Ignore Spawning")) then
  2174. if em.GetColor(v).a < 255 then return false end
  2175. end
  2176. local tr = {
  2177. start = em.EyePos(me),
  2178. endpos = GetPos(v),
  2179. mask = MASK_SHOT,
  2180. filter = {me, v},
  2181. }
  2182. if(util.TraceLine(tr).Fraction == 1) then
  2183. return true
  2184. elseif(wep and wep:IsValid() and wep.PenStr) then
  2185. return fasAutowall(wep, tr.start, tr.endpos, v)
  2186. elseif (wep and wep:IsValid() and wep.BulletPenetrate) then
  2187. return m9kAutowall(wep, tr.start, tr.endpos, v)
  2188. end
  2189. return false
  2190. end
  2191.  
  2192. local function gettarget()
  2193. local opt = gOption("Aimbot", "Target", "Selection")
  2194. local sticky = gOption("Aimbot", "Aimbot", "Non-Sticky")
  2195.  
  2196. if(opt == "Distance") then
  2197. if( not sticky and Valid(aimtarget) ) then return end
  2198. dists = {}
  2199. for k,v in next, Nostalgia.pGetAll() do
  2200. if(not Valid(v)) then continue end
  2201. dists[#dists + 1] = { vm.Distance( em.GetPos(v), em.GetPos(me) ), v }
  2202. end
  2203. table.sort(dists, function(a, b)
  2204. return(a[1] < b[1])
  2205. end)
  2206. aimtarget = dists[1] and dists[1][2] or nil
  2207. elseif(opt == "Health") then
  2208. if( not sticky and Valid(aimtarget) ) then return end
  2209. dists = {}
  2210. for k,v in next, Nostalgia.pGetAll() do
  2211. if(not Valid(v)) then continue end
  2212. dists[#dists + 1] = { em.Health(v), v }
  2213. end
  2214. table.sort(dists, function(a, b)
  2215. return(a[1] < b[1])
  2216. end)
  2217. aimtarget = dists[1] and dists[1][2] or nil
  2218. elseif(opt == "Next Shot") then
  2219. if( not sticky and Valid(aimtarget) ) then return end
  2220. aimtarget = nil
  2221. local allplys = Nostalgia.pGetAll()
  2222. local avaib = {}
  2223. for k,v in next, allplys do
  2224. avaib[math.random(100)] = v
  2225. end
  2226. for k,v in next, avaib do
  2227. if(Valid(v)) then
  2228. aimtarget = v
  2229. end
  2230. end
  2231. end
  2232. aimignore = nil
  2233. end
  2234.  
  2235. --nospread
  2236. local cones = {}
  2237. local pcall = pcall
  2238. local require = require
  2239. local nullvec = Vector() * -1
  2240. local IsFirstTimePredicted = IsFirstTimePredicted
  2241. local CurTime = CurTime
  2242. local servertime = 0
  2243. local bit = Copy(bit)
  2244.  
  2245. local badSequences = {
  2246. [ACT_VM_DEPLOY] = true,
  2247. [ACT_VM_DEPLOY_1] = true,
  2248. [ACT_VM_DEPLOY_2] = true,
  2249. [ACT_VM_DEPLOY_3] = true,
  2250. [ACT_VM_DEPLOY_4] = true,
  2251. [ACT_VM_DEPLOY_5] = true,
  2252. [ACT_VM_DEPLOY_6] = true,
  2253. [ACT_VM_DEPLOY_7] = true,
  2254. [ACT_VM_DEPLOY_8] = true,
  2255. [ACT_VM_DEPLOY_EMPTY] = true,
  2256. [ACT_VM_ATTACH_SILENCER] = true,
  2257. [ACT_VM_DETACH_SILENCER] = true,
  2258. [ACT_VM_DRAW] = true,
  2259. [ACT_VM_DRAW_DEPLOYED] = true,
  2260. [ACT_VM_DRAW_EMPTY] = true,
  2261. [ACT_VM_DRAW_SILENCED] = true,
  2262. [ACT_VM_RELOAD] = true,
  2263. [ACT_VM_RELOAD_DEPLOYED] = true,
  2264. [ACT_VM_RELOAD_EMPTY] = true,
  2265. }
  2266.  
  2267. GAMEMODE:AddHook("Move", "", function()
  2268. if(IsFirstTimePredicted()) then
  2269. servertime = CurTime() + engine.TickInterval()
  2270. end
  2271. end )
  2272.  
  2273. local function WeaponCanFire()
  2274. local wep = me:GetActiveWeapon()
  2275. if(not wep or not wep:IsValid()) then
  2276. return false
  2277. end
  2278. local sequence = wep:GetSequence()
  2279. if(badSequences[sequence]) then return false end
  2280. if(wep:GetNextPrimaryFire() <= servertime) then
  2281. return true
  2282. end
  2283. return false
  2284. end
  2285.  
  2286. GAMEMODE["EntityFireBullets"] = function(self, p, data)
  2287. aimignore = aimtarget
  2288. local w = pm.GetActiveWeapon(me)
  2289. local Spread = data.Spread * -1
  2290. if(not w or not em.IsValid(w) or cones[em.GetClass(w)] == Spread or Spread == nullvec) then return end
  2291. cones[em.GetClass(w)] = Spread
  2292. end
  2293.  
  2294. local function PredictSpread(pCmd, ang)
  2295. local w = pm.GetActiveWeapon(me)
  2296. if(not w or not em.IsValid(w) or not cones[em.GetClass(w)] or not gBool("Aimbot", "Extra", "No Spread")) then return am.Forward(ang) end
  2297. return(dickwrap.Predict(pCmd, am.Forward(ang), cones[em.GetClass(w)]))
  2298. end
  2299.  
  2300. local function Autofire(pCmd)
  2301. if(pm.KeyDown(me, 1) and gBool("Aimbot", "Aimbot", "Auto Pistol")) then
  2302. cm.SetButtons(pCmd, bit.band(cm.GetButtons(pCmd), bit.bnot(1)))
  2303. else
  2304. cm.SetButtons(pCmd, bit.bor(cm.GetButtons(pCmd), 1))
  2305. end
  2306. end
  2307.  
  2308. local isReloading = false
  2309. local function AutoReload()
  2310. if(not gBool("Aimbot", "Aimbot", "Auto Reload")) then return end
  2311. local wep = pm.GetActiveWeapon(me)
  2312. if(em.IsValid(wep)) then
  2313. local n = string.lower(wep:GetPrintName())
  2314. if(wep:Clip1() <= 0 and isReloading == false) then
  2315. wep:DefaultReload(ACT_RELOAD)
  2316. isReloading = true
  2317. end
  2318. if(string.find(n,"knife") or string.find(n,"crowbar") or string.find(n,"camera") or string.find(n,"grenade") or string.find(n,"sword") or string.find(n,"bomb") or string.find(n,"ied") or string.find(n,"c4") or string.find(n,"slam") or string.find(n,"climb") or string.find(n,"hand") or string.find(n,"fist") ) then
  2319. return false
  2320. end
  2321. if (wep:Clip1() > 0) then
  2322. isReloading = false
  2323. end
  2324. end
  2325. end
  2326.  
  2327. local function Aimbot(pCmd)
  2328. if(not gBool("Aimbot", "Aimbot", "Enabled")) then return end
  2329. gettarget()
  2330. aa = false
  2331. if(aimtarget and (input.IsMouseDown(109) or not gBool("Aimbot", "Aimbot", "Middle Mouse")) and WeaponCanFire() and IsValid(me:GetActiveWeapon()) and me:GetActiveWeapon():GetClass() ~= "weapon_physgun" and me:GetActiveWeapon():GetClass() ~= "gmod_tool") then
  2332. aa = true
  2333. EnginePrediction(pCmd:CommandNumber())
  2334. local pos = GetPos(aimtarget) - em.EyePos(me) + Vector(-2,0,2)
  2335. local ang = vm.Angle(PredictSpread(pCmd, vm.Angle(pos)))
  2336. NormalizeAngle(ang)
  2337. cm.SetViewAngles(pCmd, ang)
  2338. if(gBool("Aimbot", "Aimbot", "Auto Fire")) then
  2339. Autofire(pCmd)
  2340. end
  2341. if(not gBool("Aimbot", "Aimbot", "Silent")) then
  2342. fa = ang
  2343. end
  2344. if(gBool("Aimbot", "Aimbot", "pSilent")) then
  2345. bsendpacket = false
  2346. end
  2347. end
  2348. end
  2349.  
  2350. local function GetClosest()
  2351. local ddists = {}
  2352. local closest
  2353. for k,v in next, Nostalgia.pGetAll() do
  2354. if(not Valid(v)) or pm.Team(v) == pm.Team(me) then continue end
  2355. ddists[#ddists + 1] = { vm.Distance( em.GetPos(v), em.GetPos(me) ), v }
  2356. end
  2357. table.sort(ddists, function(a, b)
  2358. return(a[1] < b[1])
  2359. end)
  2360. closest = ddists[1] and ddists[1][2] or nil
  2361. if(not closest) then return fa.y end
  2362. local pos = em.GetPos(closest)
  2363. local pos = vm.Angle(pos - em.EyePos(me))
  2364. return( pos.y )
  2365. end
  2366.  
  2367. local spinAmt = -179
  2368. local loop = {1, 6, 11, 16}
  2369. local AATbl = {1,4,7,10}
  2370. local aaLoop = 1
  2371. local aaChoke = 0
  2372. local FakeLagTick = 1
  2373. local buttNips = 0
  2374. local function Antiaim(pCmd)
  2375. if(em.GetMoveType(me) == MOVETYPE_LADDER or em.GetMoveType(me) == MOVETYPE_NOCLIP or me:Health() < 1 or cm.CommandNumber(pCmd) == 0 and not gBool("ESP", "Misc", "Thirdperson") or cm.KeyDown(pCmd, 1) or cm.KeyDown(pCmd, 32) or aa or aimTarget or cm.KeyDown(pCmd, 1) and WeaponCanFire()) then return end
  2376. if(gBool("Aimbot", "HVH", "AntiAim") and gOption("Aimbot", "HVH", "AntiAim Type") == "Static") then
  2377. if(aaLoop > #loop) then
  2378. aaLoop = 1
  2379. end
  2380. if(gBool("Aimbot", "HVH", "FA Mode") and not gBool("Aimbot", "Extra", "Fake Lag")) then
  2381. if(aaChoke < 1) then
  2382. cm.SetViewAngles(pCmd, Angle(-181 + math.Rand(0.030000, 0.080000), 150 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2383. aaChoke = aaChoke + 1
  2384. bsendpacket = false
  2385. else
  2386. cm.SetViewAngles(pCmd, Angle(table.Random({AATbl[aaLoop],-AATbl[aaLoop]}) + math.Rand(0.030000, 0.080000), math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2387. aaChoke = 0
  2388. end
  2389. elseif(gBool("Aimbot", "HVH", "Sync Mode") and gBool("Aimbot", "Extra", "Fake Lag")) then
  2390. if FakeLagTick >= 1 then
  2391. cm.SetViewAngles(pCmd, Angle(-181 + math.Rand(0.030000, 0.080000), 150 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2392. else
  2393. cm.SetViewAngles(pCmd, Angle(table.Random({AATbl[aaLoop],-AATbl[aaLoop]}) + math.Rand(0.030000, 0.080000), math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2394. end
  2395. else
  2396. cm.SetViewAngles(pCmd, Angle(-181 + math.Rand(0.030000, 0.080000), 150 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2397. end
  2398. end
  2399.  
  2400. if(gBool("Aimbot", "HVH", "AntiAim") and gOption("Aimbot", "HVH", "AntiAim Type") == "Jitter") then
  2401. if(aaLoop > #loop) then
  2402. aaLoop = 1
  2403. end
  2404. if(gBool("Aimbot", "HVH", "FA Mode") and not gBool("Aimbot", "Extra", "Fake Lag")) then
  2405. if(aaChoke < 1) then
  2406. cm.SetViewAngles(pCmd, Angle(-181 + math.Rand(0.030000, 0.080000), math.Rand(-666,666) + math.Rand(0.030000, 0.080000), 0))
  2407. aaChoke = aaChoke + 1
  2408. bsendpacket = false
  2409. else
  2410. cm.SetViewAngles(pCmd, Angle(table.Random({AATbl[aaLoop],-AATbl[aaLoop]}) + math.Rand(0.030000, 0.080000), math.Rand(-666,666) + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2411. aaChoke = 0
  2412. end
  2413. elseif(gBool("Aimbot", "HVH", "Sync Mode") and gBool("Aimbot", "Extra", "Fake Lag")) then
  2414. if FakeLagTick >= 1 then
  2415. cm.SetViewAngles(pCmd, Angle(-181 + math.Rand(0.030000, 0.080000), math.Rand(-666,666) + math.Rand(0.030000, 0.080000), 0))
  2416. else
  2417. cm.SetViewAngles(pCmd, Angle(table.Random({AATbl[aaLoop],-AATbl[aaLoop]}) + math.Rand(0.030000, 0.080000), math.Rand(-666,666) + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2418. end
  2419. else
  2420. cm.SetViewAngles(pCmd, Angle(-181 + math.Rand(0.030000, 0.080000), math.Rand(-666,666) + math.Rand(0.030000, 0.080000), 0))
  2421. end
  2422. end
  2423.  
  2424. if(gBool("Aimbot", "HVH", "AntiAim") and gOption("Aimbot", "HVH", "AntiAim Type") == "TJitter") then
  2425. if(aaLoop > #loop) then aaLoop = 1 end
  2426. if(gBool("Aimbot", "HVH", "FA Mode") and not gBool("Aimbot", "Extra", "Fake Lag")) then
  2427. if(aaChoke < 1) then
  2428. cm.SetViewAngles(pCmd, Angle(-181 + math.Rand(0.030000, 0.080000), fa.y + math.Rand(-60, 60) + math.Rand(0.030000, 0.080000), 0))
  2429. aaChoke = aaChoke + 1
  2430. bsendpacket = false
  2431. else
  2432. cm.SetViewAngles(pCmd, Angle(table.Random({AATbl[aaLoop],-AATbl[aaLoop]}) + math.Rand(0.030000, 0.080000), fa.y + math.Rand(-60, 60) + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2433. aaChoke = 0
  2434. end
  2435. elseif(gBool("Aimbot", "HVH", "Sync Mode") and gBool("Aimbot", "Extra", "Fake Lag")) then
  2436. if FakeLagTick >= 1 then
  2437. cm.SetViewAngles(pCmd, Angle(-181 + math.Rand(0.030000, 0.080000), fa.y + math.Rand(-60, 60) + math.Rand(0.030000, 0.080000), 0))
  2438. else
  2439. cm.SetViewAngles(pCmd, Angle(table.Random({AATbl[aaLoop],-AATbl[aaLoop]}) + math.Rand(0.030000, 0.080000), fa.y + math.Rand(-60, 60) + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2440. end
  2441. else
  2442. cm.SetViewAngles(pCmd, Angle(-181 + math.Rand(0.030000, 0.080000), fa.y + math.Rand(-60, 60) + math.Rand(0.030000, 0.080000), 0))
  2443. end
  2444. end
  2445.  
  2446. if(gBool("Aimbot", "HVH", "AntiAim") and gOption("Aimbot", "HVH", "AntiAim Type") == "Backwards Jitter") then
  2447. if(aaLoop > #loop) then aaLoop = 1 end
  2448. if(gBool("Aimbot", "HVH", "FA Mode") and not gBool("Aimbot", "Extra", "Fake Lag")) then
  2449. if(aaChoke < 1) then
  2450. cm.SetViewAngles(pCmd, Angle(-181 + 0.087929, fa.y - 180 + math.Rand(-60, 60) + 0.087929, 0))
  2451. aaChoke = aaChoke + 1
  2452. bsendpacket = false
  2453. else
  2454. cm.SetViewAngles(pCmd, Angle(table.Random({AATbl[aaLoop],-AATbl[aaLoop]}) + math.Rand(0.030000, 0.080000), fa.y - 90 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2455. aaChoke = 0
  2456. end
  2457. elseif(gBool("Aimbot", "HVH", "Sync Mode") and gBool("Aimbot", "Extra", "Fake Lag")) then
  2458. if FakeLagTick >= 1 then
  2459. cm.SetViewAngles(pCmd, Angle(-181 + 0.087929, fa.y - 180 + math.Rand(-60, 60) + 0.087929, 0))
  2460. else
  2461. cm.SetViewAngles(pCmd, Angle(table.Random({AATbl[aaLoop],-AATbl[aaLoop]}) + math.Rand(0.030000, 0.080000), fa.y - 90 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2462. end
  2463. else
  2464. cm.SetViewAngles(pCmd, Angle(-181 + 0.087929, fa.y - 180 + math.Rand(-60, 60) + 0.087929, 0))
  2465. end
  2466. end
  2467.  
  2468. if(gBool("Aimbot", "HVH", "AntiAim") and gOption("Aimbot", "HVH", "AntiAim Type") == "Sideways") then
  2469. if(aaLoop > #loop) then aaLoop = 1 end
  2470. if(gBool("Aimbot", "HVH", "FA Mode") and not gBool("Aimbot", "Extra", "Fake Lag")) then
  2471. if(aaChoke < 1) then
  2472. cm.SetViewAngles(pCmd, Angle(-181 + math.Rand(0.030000, 0.080000), fa.y + 90 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2473. aaChoke = aaChoke + 1
  2474. bsendpacket = false
  2475. else
  2476. cm.SetViewAngles(pCmd, Angle(table.Random({AATbl[aaLoop],-AATbl[aaLoop]}) + math.Rand(0.030000, 0.080000), fa.y - 90 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2477. aaChoke = 0
  2478. end
  2479. elseif(gBool("Aimbot", "HVH", "Sync Mode") and gBool("Aimbot", "Extra", "Fake Lag")) then
  2480. if FakeLagTick >= 1 then
  2481. cm.SetViewAngles(pCmd, Angle(-181 + math.Rand(0.030000, 0.080000), fa.y + 90 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2482. else
  2483. cm.SetViewAngles(pCmd, Angle(table.Random({AATbl[aaLoop],-AATbl[aaLoop]}) + math.Rand(0.030000, 0.080000), fa.y - 90 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2484. end
  2485. else
  2486. cm.SetViewAngles(pCmd, Angle(-181 + math.Rand(0.030000, 0.080000), fa.y + 90 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2487. end
  2488. end
  2489.  
  2490. if(gBool("Aimbot", "HVH", "AntiAim") and gOption("Aimbot", "HVH", "AntiAim Type") == "Towards") then
  2491. if(aaLoop > #loop) then aaLoop = 1 end
  2492. if(gBool("Aimbot", "HVH", "FA Mode") and not gBool("Aimbot", "Extra", "Fake Lag")) then
  2493. if(aaChoke < 1) then
  2494. cm.SetViewAngles(pCmd, Angle(-181 + math.Rand(0.030000, 0.080000), GetClosest() + 150 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2495. aaChoke = aaChoke + 1
  2496. bsendpacket = false
  2497. else
  2498. cm.SetViewAngles(pCmd, Angle(table.Random({AATbl[aaLoop],-AATbl[aaLoop]}) + math.Rand(0.030000, 0.080000), GetClosest() - 150 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2499. aaChoke = 0
  2500. end
  2501. elseif(gBool("Aimbot", "HVH", "Sync Mode") and gBool("Aimbot", "Extra", "Fake Lag")) then
  2502. if FakeLagTick >= 1 then
  2503. cm.SetViewAngles(pCmd, Angle(-181 + math.Rand(0.030000, 0.080000), GetClosest() + 150 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2504. else
  2505. cm.SetViewAngles(pCmd, Angle(table.Random({AATbl[aaLoop],-AATbl[aaLoop]}) + math.Rand(0.030000, 0.080000), GetClosest() - 150 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2506. end
  2507. else
  2508. cm.SetViewAngles(pCmd, Angle(-181 + math.Rand(0.030000, 0.080000), GetClosest() + 150 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2509. end
  2510. end
  2511.  
  2512. if(gBool("Aimbot", "HVH", "AntiAim") and gOption("Aimbot", "HVH", "AntiAim Type") == "Random") then
  2513. if(aaLoop > #loop) then aaLoop = 1 end
  2514. if(gBool("Aimbot", "HVH", "FA Mode") and not gBool("Aimbot", "Extra", "Fake Lag")) then
  2515. if(aaChoke < 1) then
  2516. cm.SetViewAngles(pCmd, Angle(-632 + math.Rand(0.030000, 0.080000), - 360 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2517. aaChoke = aaChoke + 1
  2518. bsendpacket = false
  2519. else
  2520. cm.SetViewAngles(pCmd, Angle(table.Random({AATbl[aaLoop],-AATbl[aaLoop]}) + math.Rand(0.030000, 0.080000), -180 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2521. aaChoke = 0
  2522. end
  2523. elseif(gBool("Aimbot", "HVH", "Sync Mode") and gBool("Aimbot", "Extra", "Fake Lag")) then
  2524. if FakeLagTick >= 1 then
  2525. cm.SetViewAngles(pCmd, Angle(-632 + math.Rand(0.030000, 0.080000), - 360 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2526. else
  2527. cm.SetViewAngles(pCmd, Angle(table.Random({AATbl[aaLoop],-AATbl[aaLoop]}) + math.Rand(0.030000, 0.080000), -180 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2528. end
  2529. else
  2530. cm.SetViewAngles(pCmd, Angle(-632 + math.Rand(0.030000, 0.080000), - 360 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0))
  2531. end
  2532. end
  2533.  
  2534. if(gBool("Aimbot", "HVH", "AntiAim") and gOption("Aimbot", "HVH", "AntiAim Type") == "Spinbot") then
  2535. if(aaLoop > #loop) then aaLoop = 1 end
  2536. spinAmt = spinAmt + gInt("Aimbot", "HVH", "Spinbot Speed") + 0.5
  2537. if(spinAmt >= 179) then
  2538. spinAmt = -179
  2539. end
  2540. if(gBool("Aimbot", "HVH", "FA Mode") and not gBool("Aimbot", "Extra", "Fake Lag")) then
  2541. if(aaChoke < 1) then
  2542. cm.SetViewAngles(pCmd, Angle(-181 + math.Rand(0.030000, 0.080000), spinAmt + math.Rand(0.030000, 0.080000), 0))
  2543. aaChoke = aaChoke + 1
  2544. bsendpacket = false
  2545. else
  2546. cm.SetViewAngles(pCmd, Angle(table.Random({AATbl[aaLoop],-AATbl[aaLoop]}) + math.Rand(0.030000, 0.080000), spinAmt - 180 + math.Rand(0.030000, 0.080000), 0))
  2547. aaChoke = 0
  2548. end
  2549. elseif(gBool("Aimbot", "HVH", "Sync Mode") and gBool("Aimbot", "Extra", "Fake Lag")) then
  2550. if FakeLagTick >= 1 then
  2551. cm.SetViewAngles(pCmd, Angle(-181 + math.Rand(0.030000, 0.080000), spinAmt + math.Rand(0.030000, 0.080000), 0))
  2552. else
  2553. cm.SetViewAngles(pCmd, Angle(table.Random({AATbl[aaLoop],-AATbl[aaLoop]}) + math.Rand(0.030000, 0.080000), spinAmt - 180 + math.Rand(0.030000, 0.080000), 0))
  2554. end
  2555. else
  2556. cm.SetViewAngles(pCmd, Angle(-181 + math.Rand(0.030000, 0.080000), spinAmt + math.Rand(0.030000, 0.080000), 0))
  2557. end
  2558. end
  2559.  
  2560.  
  2561.  
  2562.  
  2563. if(gBool("Aimbot", "HVH", "AntiAim") and gOption("Aimbot", "HVH", "AntiAim Type") == "Cycle") then
  2564. if(aaLoop > #loop) then aaLoop = 1 end
  2565. if buttNips == 0 then
  2566. cm.SetViewAngles(pCmd, Angle(-181 + math.Rand(0.030000, 0.080000), 150 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0)) --static
  2567. buttNips = buttNips + 1
  2568. elseif buttNips == 1 then
  2569. cm.SetViewAngles(pCmd, Angle(-181 + math.Rand(0.030000, 0.080000), math.Rand(-666,666) + math.Rand(0.030000, 0.080000), 0)) --jitter
  2570. buttNips = buttNips + 1
  2571. elseif buttNips == 2 then
  2572. cm.SetViewAngles(pCmd, Angle(-181 + math.Rand(0.030000, 0.080000), fa.y + math.Rand(-60, 60) + math.Rand(0.030000, 0.080000), 0)) --tjitter
  2573. buttNips = buttNips + 1
  2574. elseif buttNips == 3 then
  2575. cm.SetViewAngles(pCmd, Angle(table.Random({AATbl[aaLoop],-AATbl[aaLoop]}) + math.Rand(0.030000, 0.080000), fa.y - 90 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0)) --bw jitter
  2576. buttNips = buttNips + 1
  2577. elseif buttNips == 4 then
  2578. cm.SetViewAngles(pCmd, Angle(-181 + math.Rand(0.030000, 0.080000), fa.y + 90 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0)) --sideways
  2579. buttNips = buttNips + 1
  2580. elseif buttNips == 5 then
  2581. cm.SetViewAngles(pCmd, Angle(-632 + math.Rand(0.030000, 0.080000), - 360 + math.Rand(1, 13) + math.Rand(0.030000, 0.080000), 0)) --rand
  2582. buttNips = 0
  2583. end
  2584. end
  2585. end
  2586.  
  2587.  
  2588. local function Fakelag(pCmd, Choke, Send)
  2589. if not gBool("Aimbot", "Extra", "Fake Lag") then return end
  2590. // if (pCmd:CommandNumber() == 0) then
  2591. // return true
  2592. // end
  2593. if (not Choke) then
  2594. Choke = gInt("Aimbot", "Extra", "Lag Choke")
  2595. end
  2596. if (not Send) then
  2597. Send = gInt("Aimbot", "Extra", "Lag Send")
  2598. end
  2599. FakeLagTick = FakeLagTick + 1
  2600. if (FakeLagTick > (Choke + Send)) then
  2601. FakeLagTick = 0
  2602. end
  2603. if not (Send >= FakeLagTick) then
  2604. bsendpacket = false
  2605. end
  2606. return true
  2607. end
  2608.  
  2609. /*
  2610. local tick = 0
  2611. local function fakeLag(pCmd)
  2612. tick = tick + 1
  2613. bSendPacket = (tick % (gInt("Aimbot", "Extra", "Lag Choke") + 1)) == 0;
  2614. end
  2615. */
  2616.  
  2617. local function GetAngle(ang)
  2618. if(not gBool("Aimbot", "Extra", "No Recoil")) then return ang + pm.GetPunchAngle(me) end
  2619. return ang
  2620. end
  2621.  
  2622. local function rapidfire(pCmd)
  2623. if(pm.KeyDown(me, 1) and gBool("Aimbot", "Aimbot", "Auto Pistol")) then
  2624. cm.SetButtons(pCmd, bit.band( cm.GetButtons(pCmd), bit.bnot( 1 ) ) )
  2625. end
  2626. end
  2627. local fake = GetConVarNumber("m_yaw")
  2628. local function FakeAngs(pCmd)
  2629. if(not fa) then fa = cm.GetViewAngles(pCmd) end
  2630. fa = fa + Angle(cm.GetMouseY(pCmd) * .022, cm.GetMouseX(pCmd) * -.022, 0)
  2631. NormalizeAngle(fa)
  2632. //if(pCmd ~= nil or cm.CommandNumber(pCmd) == 0) then
  2633. cm.SetViewAngles(pCmd, GetAngle(fa))
  2634. //return
  2635. // end
  2636. if(cm.KeyDown(pCmd, 1)) then
  2637. local ang = GetAngle(vm.Angle(PredictSpread(pCmd, fa ) ) )
  2638. NormalizeAngle(ang)
  2639. cm.SetViewAngles(pCmd, ang)
  2640. end
  2641. end
  2642.  
  2643. GAMEMODE:AddHook("CreateMove", "", function(pCmd)
  2644. bsendpacket = true
  2645. Bunnyhop(pCmd)
  2646. FakeAngs(pCmd)
  2647. //if(pCmd == nil or pCmd:CommandNumber() == 0) then
  2648. //return
  2649. //localindex = em.EntIndex(me)
  2650. //currentcommand = pCmd:CommandNumber()
  2651. //end
  2652. if(pCmd:CommandNumber() == 0 or pCmd == nil) then
  2653. return
  2654. end
  2655. local oldAngles = cm.GetViewAngles(pCmd)
  2656.  
  2657. //AutoReload()
  2658. Aimbot(pCmd)
  2659. Fakelag(pCmd)
  2660. Antiaim(pCmd)
  2661. RapidFire(pCmd)
  2662. walkBot(pCmd)
  2663. //AntiAFK()
  2664. //Speed()
  2665. if(oldAngles ~= cm.GetViewAngles(pCmd)) then
  2666. local x = cm.GetViewAngles(pCmd).x
  2667. FixMovement(pCmd, x > 89 and true or x < -89 and true or false)
  2668. end
  2669. end )
  2670.  
  2671. GAMEMODE:AddHook("ShouldDrawLocalPlayer", "", function()
  2672. return(gBool("ESP", "Misc", "Thirdperson"));
  2673. end);
  2674.  
  2675. GAMEMODE:AddHook("CalcView", "", function(p, o, a, f)
  2676. local view = {
  2677. angles = GetAngle(fa),
  2678. origin = (gBool("ESP", "Misc", "Thirdperson") && o + am.Forward(fa) * (gInt("ESP", "Misc", "Thirdperson Distance") * -10) || o),
  2679. };
  2680. return view;
  2681. end);
  2682.  
  2683. gameevent.Listen("player_disconnect")
  2684.  
  2685. GAMEMODE:AddHook("player_disconnect", "", function()
  2686. if(gBool("ESP", "Misc", "Chat Spam") and gOption("ESP", "Misc", "Spam Type") == "Killstreaks") then
  2687. RunConsoleCommand("say", "".."Rage quit")
  2688. end
  2689.  
  2690. if(gBool("ESP", "Misc", "Chat Spam") and gOption("ESP", "Misc", "Spam Type") == "Taunts") then
  2691. RunConsoleCommand("say", "rq lmao")
  2692. end
  2693. end)
  2694.  
  2695. gameevent.Listen("player_spawn")
  2696.  
  2697. GAMEMODE:AddHook("player_spawn", "", function()
  2698. if(gBool("ESP", "Misc", "Chat Spam") and gOption("ESP", "Misc", "Spam Type") == "Taunts") then
  2699. RunConsoleCommand("say", "memed by a memer")
  2700. end
  2701. if(gBool("ESP", "Misc", "Chat Spam") and gOption("ESP", "Misc", "Spam Type") == "Killstreaks") then
  2702. RunConsoleCommand("say", "")
  2703. end
  2704. if(gBool("ESP", "Misc", "Chat Spam") and gOption("ESP", "Misc", "Spam Type") == "Spawn") then
  2705. RunConsoleCommand("say", "")
  2706. end
  2707. end)
  2708.  
  2709. local playerphrases = {
  2710. "Owned",
  2711. "Memed",
  2712. "Smashed",
  2713. "Obliterated",
  2714. "Destroyed",
  2715. "Annihilated",
  2716. "Decimated",
  2717. "Wrecked",
  2718. "Demolished",
  2719. "Trashed",
  2720. "Ruined",
  2721. "Murdered",
  2722. "Exterminated",
  2723. "Slaughtered",
  2724. "Butchered",
  2725. "Genocided",
  2726. "Executed",
  2727. "Bamboozled",
  2728. }
  2729.  
  2730. local excuses = {
  2731. "lag",
  2732. "bad ping",
  2733. "aimbot was off",
  2734. "was alt tabbed",
  2735. "mouse was unplugged",
  2736. "keyboard was unplugged",
  2737. "monitor was unplugged",
  2738. "router was unplugged",
  2739. "dog was on keyboard",
  2740. "antiaim wasn't even on",
  2741. }
  2742.  
  2743. local taunts = {
  2744. "Is that all you got",
  2745. "Mad cuz bad. :^)",
  2746. "LOL shit hack u got there m8 ",
  2747. "Good sir, I believe you just got.. what they call? Oh yes, 'Rekt'.",
  2748. "You look pretty in the dirt :^)"
  2749. }
  2750.  
  2751. local playerkills = 0
  2752. local function entity_killed(info)
  2753. local Entity = Entity
  2754. if(gBool("ESP", "Misc", "Chat Spam") and gOption("ESP", "Misc", "Spam Type") == "Taunts") then
  2755. local killer = Entity(info.entindex_attacker)
  2756. local killed = Entity(info.entindex_killed)
  2757. if(killed == me) then
  2758. RunConsoleCommand("say", excuses[math.random(#excuses)])
  2759. end
  2760. if(not em.IsValid(killer) or not em.IsValid(killed) or killer ~= me or killer == killed or not killed:IsPlayer()) then
  2761. return
  2762. end
  2763. RunConsoleCommand("say", taunts[math.random(#taunts)])
  2764. end
  2765.  
  2766. if(gBool("ESP", "Misc", "Chat Spam") and gOption("ESP", "Misc", "Spam Type") == "Killstreaks") then
  2767. local killer = Entity(info.entindex_attacker)
  2768. local killed = Entity(info.entindex_killed)
  2769. if(killed == me and playerkills > 0 and killer ~= me) then
  2770. RunConsoleCommand("say", "// plague "..killed:Nick().."'s ".."killstreak of "..playerkills.." has been ended by "..killer:Nick()..".")
  2771. playerkills = 0
  2772. end
  2773. if(not em.IsValid(killer) or not em.IsValid(killed) or killer ~= me or killer == killed or not killed:IsPlayer()) then
  2774. return
  2775. end
  2776. playerkills = playerkills + 1
  2777. RunConsoleCommand("say", "// plague "..playerphrases[math.random(#playerphrases)].." "..killed:Nick().." [".."Killstreak: "..playerkills.."]")
  2778. end
  2779. end
  2780.  
  2781. GAMEMODE:AddHook("entity_killed", "", entity_killed)
  2782.  
  2783. gameevent.Listen("entity_killed")
  2784. /*
  2785. local escapejs = { ["\\"] = "\\\\", ["\0"] = "\\0" , ["\b"] = "\\b" , ["\t"] = "\\t" , ["\n"] = "\\n" , ["\v"] = "\\v" , ["\f"] = "\\f" , ["\r"] = "\\r" , ["\""] = "\\\"", ["\'"] = "\\\'" } function string.JavascriptSafe( str ) str = str:gsub( ".", escapejs ) str = str:gsub( "\226\128\168", "\\\226\128\168" ) str = str:gsub( "\226\128\169", "\\\226\128\169" ) return str end local function GetLuaFiles(client_lua_files) local count = client_lua_files:Count() local ret = {} for i = 1, count - 2 do ret[i] = { Path = client_lua_files:GetString(i), CRC = client_lua_files:GetUserDataInt(i) } end return ret end local function GetLuaFileContents(crc) local fs = file.Open("cache/lua/" .. crc .. ".lua", "rb", "MOD") fs:Seek(4) local contents = util.Decompress(fs:Read(fs:Size() - 4)) return contents:sub(1, -2) end local function dumbFile(path, contents) if not path:match("%.txt$") then path = path..".txt" end local curdir = "" for t in path:gmatch("[^/\\*]+") do curdir = curdir..t if curdir:match("%.txt$") then print("writing: ", curdir) file.Write(curdir, contents) else curdir = curdir.."/" print("Creating: ", curdir) file.CreateDir(curdir) end end end local dumbFolderCache = "" local function dumbFolder(node) for _, subnode in ipairs(node.ChildNodes:GetChildren()) do if subnode:HasChildren() then dumbFolder(subnode) else dumbFile(dumbFolderCache..subnode.pathh, GetLuaFileContents(subnode.CRC)) end end end
  2786. local VIEWER = {}
  2787. local ourCol = Color(gInt("Settings", "Menu Color", "Red"), gInt("Settings", "Menu Color", "Green"), gInt("Settings", "Menu Color", "Blue"))
  2788. local ourCol2 = Color(gInt("Settings", "Menu Color", "Red") / 2, gInt("Settings", "Menu Color", "Green") / 2, gInt("Settings", "Menu Color", "Blue") / 2)
  2789. local ourCol3 = Color(gInt("Settings", "Menu Color", "Red") / 3, gInt("Settings", "Menu Color", "Green") / 3, gInt("Settings", "Menu Color", "Blue") / 3)
  2790. */
  2791.  
  2792. if (ChatClear == nil) then
  2793. chat.AddText("FAILURE!")
  2794. else
  2795. concommand.Add("chatclear_run", function() ChatClear.Run() end) // Normal Chat
  2796. concommand.Add("chatclear_ooc", function() ChatClear.OOC() end) // Global Chat for DarkRP
  2797. end
  2798.  
  2799. local CSBOI = {}
  2800. CSBOI.CircleStrafeVal = 0
  2801. CSBOI._G = table.Copy(_G)
  2802. CSBOI.localply = CSBOI._G.LocalPlayer()
  2803. CSBOI.cl_forwardspeed_cvar = CSBOI._G.GetConVar("cl_forwardspeed")
  2804. CSBOI.cl_forwardspeed_value = 10000
  2805. if (CSBOI.cl_forwardspeed_cvar) then
  2806. CSBOI.cl_forwardspeed_value = CSBOI.cl_forwardspeed_cvar:GetFloat()
  2807. end
  2808. CSBOI.cl_sidespeed_cvar = CSBOI._G.GetConVar("cl_sidespeed")
  2809. CSBOI.cl_sidespeed_value = 10000
  2810. if (CSBOI.cl_sidespeed_cvar) then
  2811. CSBOI.cl_sidespeed_value = CSBOI.cl_sidespeed_cvar:GetFloat()
  2812. end
  2813.  
  2814. function CSBOI.ClampMove(cmd)
  2815. if (cmd:GetForwardMove() > CSBOI.cl_forwardspeed_value) then
  2816. cmd:SetForwardMove(CSBOI.cl_forwardspeed_value)
  2817. end
  2818. if (cmd:GetSideMove() > CSBOI.cl_sidespeed_value) then
  2819. cmd:SetSideMove(CSBOI.cl_sidespeed_value)
  2820. end
  2821. end
  2822.  
  2823. function CSBOI.FixMove(cmd, rotation)
  2824. local rot_cos = CSBOI._G.math.cos(rotation)
  2825. local rot_sin = CSBOI._G.math.sin(rotation)
  2826. local cur_forwardmove = cmd:GetForwardMove()
  2827. local cur_sidemove = cmd:GetSideMove()
  2828. cmd:SetForwardMove(((rot_cos * cur_forwardmove) - (rot_sin * cur_sidemove)))
  2829. cmd:SetSideMove(((rot_sin * cur_forwardmove) + (rot_cos * cur_sidemove)))
  2830. end
  2831.  
  2832. CSBOI.CircleStrafeSpeed = 3
  2833. function CSBOI.CircleStrafe(cmd)
  2834. if (CSBOI._G.input.IsKeyDown(KEY_F)) then
  2835. CSBOI.CircleStrafeVal = CSBOI.CircleStrafeVal + CSBOI.CircleStrafeSpeed
  2836. if ((CSBOI.CircleStrafeVal > 0) and ((CSBOI.CircleStrafeVal / CSBOI.CircleStrafeSpeed) > 361)) then
  2837. CSBOI.CircleStrafeVal = 0
  2838. end
  2839. CSBOI.FixMove(cmd, CSBOI._G.math.rad((CSBOI.CircleStrafeVal - CSBOI._G.engine.TickInterval())))
  2840. return false
  2841. else
  2842. CSBOI.CircleStrafeVal = 0
  2843. end
  2844. return true
  2845. end
  2846.  
  2847. function CSBOI.RunIt(cmd)
  2848. if (CSBOI.localply) then
  2849. if (cmd:KeyDown(IN_JUMP)) then
  2850. local local_velocity = CSBOI.localply:GetVelocity()
  2851. if (local_velocity:Length2D() < 50) then
  2852. cmd:SetForwardMove(CSBOI.cl_forwardspeed_value)
  2853. end
  2854. local shouldautostrafe = CSBOI.CircleStrafe(cmd)
  2855. if (!CSBOI.localply:OnGround()) then
  2856. if (shouldautostrafe) then
  2857. // Do your AutoStrafe Here
  2858. end
  2859. cmd:SetButtons(cmd:GetButtons() - IN_JUMP)
  2860. end
  2861. else
  2862. CSBOI.CircleStrafeVal = 0
  2863. end
  2864. end
  2865. CSBOI.ClampMove(cmd)
  2866. end
  2867. CSBOI._G.hook.Add("CreateMove", "CSBOI", CSBOI.RunIt)
  2868.  
  2869.  
  2870.  
  2871.  
  2872. chat.AddText(Color(math.random(255), math.random(255), math.random(255)), "[", "Norton", "] ", Color( 255, 255, 255 ), "Norton Initialized! ")
Add Comment
Please, Sign In to add comment