daily pastebin goal
70%
SHARE
TWEET

Shitcheat 4.2

Caliber_ Jul 20th, 2017 (edited) 130 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local defcon = { Menu = { t = {}; b = {}; c = 0}; Alive = {};}
  2. defcon.Normal           = {
  3.     aimbot                  = true;
  4.     aimbot_fov              = 5;
  5.     aimbot_friendly_fire    = true;
  6.     triggerbot              = true;
  7.     silent                  = false;
  8.    
  9.     esp_player              = true;
  10.     esp_player_dist         = 16000;
  11.     esp_player_showdist     = true;
  12.     esp_player_name         = true;
  13.     esp_player_rank         = true;
  14.     esp_player_health       = true;
  15.     esp_player_armor        = true;
  16.     esp_player_glow         = true;
  17.     boxESP                  = false;
  18.     chams                   = false;
  19.    
  20.     esp_entity              = true;
  21.     esp_entity_dist         = 16000;
  22.     propchams               = false;
  23.    
  24.     flashlight_spam         = false;
  25.    
  26.     darkrp_money            = false;
  27.     darkrp_god              = false;
  28.    
  29.     ttt_deathnotifs         = true;
  30.     bhop_bhop               = true;
  31.     crosshair               = false;
  32.     velocity                = false;
  33.     chatspam1               = false;
  34.     chatspam2               = false;
  35.     lasereyes               = false;
  36.    
  37.     freecam_below           = false;
  38.     freecam_below2          = false;
  39.     freecam_below3          = false;
  40.     freecam_above           = false;
  41.     freecam_above2          = false;
  42.     freecam_above3          = false;
  43.     freecam_side            = false;
  44.     freecam_side2           = false;
  45.     freecam_side3           = false;
  46.     cl_noclip               = false;
  47.    
  48.     pickupinradius          = false;
  49.     dupeinradius            = false;
  50. }
  51. defcon.Settings         = (file.Exists("d_settings.txt", "DATA") and util.JSONToTable(file.Read("d_settings.txt", "DATA"))) or defcon.Normal
  52. defcon.Entities         = (file.Exists("d_entities.txt", "DATA") and util.JSONToTable(file.Read("d_entities.txt", "DATA"))) or {}
  53. defcon.Whitelist        = (file.Exists("d_whitelist.txt", "DATA") and util.JSONToTable(file.Read("d_whitelist.txt", "DATA"))) or {}
  54. defcon.AimKey           = (file.Exists("d_aimkey.txt", "DATA") and tonumber(file.Read("d_aimkey.txt", "DATA"))) or KEY_LALT
  55.  
  56. --colors
  57.  
  58. red = Color(255,0,0,255);
  59. black = Color(0,0,0,255);
  60. green = Color(0,255,0,255);
  61. white = Color(255,255,255,255);
  62. blue = Color(0,0,255,255);
  63. cyan = Color(0,255,255,255);
  64. pink = Color(255,0,255,255);
  65. blue = Color(0,0,255,255);
  66. grey = Color(100,100,100,255);
  67. gold = Color(255,228,0,255);
  68. lightblue = Color(155,205,248);
  69. lightgreen = Color(174,255,0);
  70. iceblue = Color(116,187,251,255);
  71. orange = Color(255,165,0,255);
  72. brown = Color(112, 89, 50, 255);
  73.  
  74. --menu display messages
  75.  
  76. defcon.Phrases          = {
  77.     "niggerniggerniggernigger";
  78.     "bob good is not so good";
  79.     "sheo is a kike";
  80.     "new shitcheat";
  81.     "better than snixzz!";
  82.     "100x better than snixzz";
  83.     "i hate niggers";
  84.     "suck my dick";
  85.     "donul trump";
  86.     "remove kebab";
  87.     "remember, no russian";
  88.     "Made by the Madbluntz.rs Team";
  89.     "we need to nuke japan again";
  90.     "now with freecam";
  91.     "go fast eat ass";
  92.     "[OOC]Johnny Nutmegg: you fucking suck dick bro";
  93.     "the fuck are you looking at";
  94.     "fucking eat shit kid";
  95.     "commies go home";
  96.     "tito is a dirty nigger";
  97.     "now with more dongs";
  98.     "north virginia battle falag isnt the confed flag";
  99.     "free forever, always.";
  100.     "the KKK is dead stop crying about it";
  101.     "back to africa";
  102.     "if you voted for hillary delete system32";
  103.     "[LOOC]poop: hi";
  104.     "gulag";
  105.     "halgualuhglugaluaglhuaglhuaglhu";
  106.     "remember to enable ESP";
  107.     "skype is shit";
  108.     "bent dick";
  109.     "nigger";
  110.     "minecraft used to be good";
  111.     "lets go back to 2011";
  112.     "not an argument";
  113.     "better than niggermenu";
  114.     "still using lua";
  115.     "better than gearmenu";
  116.     "personalized";
  117.     "who wants a free mbam key";
  118.     "remember kids, dont advertise.";
  119.     "madbluntz.rs - home of shitcheat";
  120.     "where my new england homies at";
  121.     "JSY3050PA";
  122.     "cuck";
  123.     "free gift card giveaway";
  124.     "exploding capacitors";
  125.     "Team AVO deserves ice cream";
  126.     "made with notepad++";
  127.     "made on microshit windon't 8.1";
  128.     "Pravi srpski ratni heroj";
  129.     "kosovo je srbija";
  130.     "REMOV KEBAB";
  131.     "i hear sadness";
  132.     "this isn't the final version, trust me.";
  133.     "there's more where that came from";
  134.     "remember; no russian";
  135.     "whoops";
  136.     "how many of these fucking things do you have";
  137.     "jesus christ";
  138.     "one side";
  139.     "down with fascists";
  140.     "good night alt right";
  141.     "trump isn't a fascist you fucking retards";
  142.     "hitler only killed 12 million stfu";
  143.     "if you advertize a discord server i'll ddos u";
  144.     "don't forget to credit the people u steal hacks from";
  145.     "AUFHIFUWEHFUWAHFULFUWAHIFAWHIFUWHLFIUAWHFIUAWHFILWUHWAFHWILUFHWALIUFHWIUFHWAIUFHWUFHWLIFUHWIUFWHUIHFW";
  146.     "dirty fucking NIGGERS";
  147.     "spear chuckers get out of my country";
  148.     "hi";
  149.     "if you see this message, tell calb";
  150.     "BIG FUCK, TELL TONY";
  151.     "cucked ape";
  152.     "rust sucks";
  153.     "garry newman more like garry jewman";
  154.     "official website: madbluntz.rs/shitcheat";
  155.     "listen to my music @ caliberr.bandcamp.com";
  156.     "discord.gg/nigger";
  157.     "furries will die from brain tumors";
  158.     "space left blank intentionally";
  159.     "whoa, dude";
  160.     "As seen on TV";
  161.     "Awesome";
  162.     "100% pure";
  163.     "May contain nuts";
  164.     "Better than Prey";
  165.     "More polygons";
  166.     "Sexy";
  167.     "Limited edition";
  168.     "Flashing letters";
  169.     "It's here";
  170.     "Best in class";
  171.     "It's finished";
  172.     "Kind of dragon free";
  173.     "Excrement";
  174.     "More than 500 sold";
  175.     "One of a kind";
  176.     "Heaps of hits on YouTube";
  177.     "Indev";
  178.     "Spiders everywhere";
  179.     "Check it out";
  180.     "Holy cow, man";
  181.     "It's a game";
  182.     "Made in Sweden";
  183.     "Uses LWJGL";
  184.     "Reticulating splines";
  185.     "Singleplayer";
  186.     "Keyboard compatible";
  187.     "Undocumented";
  188.     "Ingots";
  189.     "That's no moon";
  190.     "l33t";
  191.     "Exclusive";
  192.     "The bee's knee";
  193.     "Down with O.P.P.";
  194.     "Closed source";
  195.     "Classy";
  196.     "Wow";
  197.     "Not on steam";
  198.     "Oh man";
  199.     "Awesome community";
  200.     "Pixels";
  201.     "Teetsuuuuoooo";
  202.     "Kaaneeeedaaaa";
  203.     "Now with difficulty";
  204.     "Enhanced";
  205.     "90% bug free";
  206.     "Pretty";
  207.     "12 herbs and spices";
  208.     "Fat free";
  209.     "Absolutely no memes";
  210.     "PRESS INSERT TO OPEN THE SECRET MENU";
  211.     "Free dental";
  212.     "Ask your doctor";
  213.     "Minors not welcome";
  214.     "Cloud computing";
  215.     "Legal in Finland";
  216.     "Hard to label";
  217.     "Technically good";
  218.     "Bringing home the bacon";
  219.     "Indie";
  220.     "GOTY";
  221.     "Ceci n'est pas une cheat menu";
  222.     "Euclidian";
  223.     "Now in 2D";
  224.     "Inspirational";
  225.     "Herregud";
  226.     "Complex cellular automata";
  227.     "NO SIR";
  228.     "Played by cowboys";
  229.     "OpenGL 2.1 (if supported)";
  230.     "tens of colors";
  231.     "Try it";
  232.     "Age of empires is better";
  233.     "Try the mushroom sjw";
  234.     "Sensational";
  235.     "Hot tamale, hot hot tamale";
  236.     "Play him off, fuckhead";
  237.     "Guaranteed";
  238.     "Macroscopic";
  239.     "Bring it on";
  240.     "Random splash";
  241.     "Call your mother";
  242.     "Monster infighting";
  243.     "Loved by millions";
  244.     "Ultimate edition";
  245.     "Freaky";
  246.     "PRESS INSERT TO OPEN sekrit MENU";
  247.     "You've got a brand new key";
  248.     "not water proof";
  249.     "Uninflammable";
  250.     "Whoa, dude";
  251.     "All inclusive";
  252.     "Tell your friends";
  253.     "NP is not in P";
  254.     "Livestreamed";
  255.     "Haunted";
  256.     "Polynomial";
  257.     "Terrestrial";
  258.     "All is full of ERP";
  259.     "Full of stars";
  260.     "Scientific";
  261.     "Not as cool as Spock";
  262.     "Collaborate and listen";
  263.     "Never fuck up";
  264.     "Take frequent breaks";
  265.     "Not linear";
  266.     "Han shot first";
  267.     "Nice to meet you";
  268.     "Buckets of lava";
  269.     "Ride the pig";
  270.     "Larger than Earth";
  271.     "sqrt(-1) love you";
  272.     "Phobos anomaly";
  273.     "toggle your frog";
  274.     "getting wood";
  275.     "Falling off cliffs";
  276.     "14% sugar";
  277.     "150% hyperbole";
  278.     "Synecdoche";
  279.     "Let's punc";
  280.     "Seecret Friday update";
  281.     "Reference implementation";
  282.     "PRESS INSERT 2 open secret bitch";
  283.     "Lewd with two dudes with food";
  284.     "Kiss the sky";
  285.     "20 GOTO 10";
  286.     "frog toggler";
  287.     "Verlet intregration";
  288.     "bad boy teenager club";
  289.     "shoe stealer";
  290.     "Peter Griffin";
  291.     "Do not distribute";
  292.     "Cogito ergo sum";
  293.     "44 lines of code";
  294.     "A skeleton popped out";
  295.     "The Work of nutmegg";
  296.     "The sum of its parts";
  297.     "BTAF used to be good";
  298.     "I miss ADOM";
  299.     "umop-apisdn";
  300.     "OICU812";
  301.     "Bring me Ray Cokes";
  302.     "Finger-licking";
  303.     "Thematic";
  304.     "Pneumatic";
  305.     "Sublime";
  306.     "Octagonal";
  307.     "Une baguette";
  308.     "Gargamel uses it";
  309.     "Rita is the new top dog";
  310.     "SWM forever";
  311.     "Representing Edsbyn";
  312.     "Matt Damon";
  313.     "Supercalifragilisticexpialidocious";
  314.     "Consummate V's";
  315.     "Cow Tools";
  316.     "Double buffered";
  317.     "Fan fiction";
  318.     "Flaxkikare";
  319.     "Jason Jason Jason";
  320.     "Hotter than the sun";
  321.     "Internet enabled";
  322.     "Autonomous";
  323.     "Engage";
  324.     "Fantasy";
  325.     "DRR DRR DRR";
  326.     "Kick it root down";
  327.     "Google anlyticsed";
  328.     "Now supports åäö";
  329.     "Give us Gordon";
  330.     "Tip your waiter";
  331.     "Very fun";
  332.     "12345 is a bad password";
  333.     "Vote for net neutrality";
  334.     "Lives in a pineapple under the sea";
  335.     "MAP11 has two names";
  336.     "Omnipotent";
  337.     "Gasp";
  338.     "...";
  339.     "Bees, bees, bees, bees";
  340.     "Jag känner en bot";
  341.     "Haha, LOL";
  342.     "Menger sponge";
  343.     "idspispopd";
  344.     "Eple (original edit)";
  345.     "So fresh, so clean";
  346.     "Slow acting portals";
  347.     "Don't look directly at the bugs";
  348.     "Finally without NIGGERS";
  349.     "Scary";
  350.     "Twittered about";
  351.     "Jump up, jump up, and get down";
  352.     "sheo is neat";
  353.     "a riddle, wrapped in a mystery";
  354.     "Huge tracts of land";
  355.     "Welcome to your Doom";
  356.     "Stay a while, stay forever";
  357.     "Stay a while and listen";
  358.     "Treatment for your rash";
  359.     "'Autological' is";
  360.     "Information wants to be free";
  361.     "Almost never' is an interesting concept";
  362.     "Lots of truthiness";
  363.     "The nigger is a baffoon";
  364.     "Turing complete";
  365.     "It's groundbreaking";
  366.     "Let our battles begin";
  367.     "The sky is the limit";
  368.     "Casul gayming";
  369.     "Undefeated";
  370.     "Kinda like Lemmings";
  371.     "Follow the train, CJ";
  372.     "Leveraging synergy";
  373.     "This message will never appear on the hack menu, isn't that weird?";
  374.     "Read more books";
  375.     "Khaaaaaaaaan";
  376.     "Less addictive than TV Tropes";
  377.     "More addictive than lemonade";
  378.     "Bigger than a bread box";
  379.     "Millions of peaches";
  380.     "Fnord";
  381.     "This is my true form";
  382.     "Totally forgot about Dre";
  383.     "Don't bother with the clones";
  384.     "Pumpkinhead";
  385.     "Hobo humping slobo babe";
  386.     "Feature packed";
  387.     "Conventional";
  388.     "Homeomorphic to a 3-sphere";
  389.     "Doesn't avoid double negatives";
  390.     "Meeting expectations";
  391.     "lives in cambodia";
  392.     "PC gaming since 1873";
  393.     "Ghoughpteighbteau tchoghs";
  394.     "GET GUD AT MINGING U NIGGER";
  395.     "NEXUS NOT FOUND";
  396.     "ADMIN SPOTTED";
  397.     "/plyban ^ 0";
  398.     " everyone type in chat caliber is a stupid nigger";
  399.     "caliber .50 BMG";
  400.     "andy.b choked on niggermenu";
  401.     "Déjà vu";
  402.     "Déjà vu";
  403.     "Got your nose";
  404.     "Haley loves Elan";
  405.     "Afraid of the big, black bat";
  406.     "Doesn't use stonel code";
  407.     "Child's play";
  408.     "See you next Friday or so";
  409.     "From the streets of Södermalm";
  410.     "150 bpm for 400000 minutes";
  411.     "Technologic";
  412.     "Funk soul brother";
  413.     "Pumpa kungen";
  414.     "日本ハロー!";
  415.     "한국 안녕하세요";
  416.     "Helo Cymru";
  417.     "Cześć Polsko";
  418.     "你好中国!";
  419.     "Привет Россия";
  420.     "Γεια σου Ελλάδα";
  421.     "My life for Aiur";
  422.     "I see your vocabulary has improved";
  423.     "Who put it there?";
  424.     "You can't explain that";
  425.     "if not ok then return end";
  426.     "§1C§2o§3l§4o§5r§6m§7a§8t§9i§ac";
  427.     "§kFUNKY LOL";
  428.     "Big Pointy Teeth";
  429.     "Bekarton guards the gate";
  430.     "Mmmph, mmph";
  431.     "Don't feed avocados to parrots";
  432.     "Swords for everyone";
  433.     ".party()";
  434.     "Pretty scary";
  435.     "I have a suggestion.";
  436.     "Now with extra hugs";
  437.     "Now Lua 6";
  438.     "Woah.";
  439.     "HURNERJSGER?";
  440.     "What's up, Doc?";
  441.     "Now contains 6 million random daily kikes!";
  442.     "That's Niggerwang";
  443.     "join this server right now u niggers";
  444.     "Put a little fence around it";
  445.     "Throw a blanket over it";
  446.     "Now with additional stuff";
  447.     "Extra things";
  448.     "niggaz in da hood";
  449.     "So sweet";
  450.     "Popping tags";
  451.     "Very influential in its circle";
  452.     "Now with extra yeet";
  453.     "Rise from your grave";
  454.     "Warning A huge battleship is approaching fast!";
  455.     "Blue warrior shot the food";
  456.     "Run, coward I hunger";
  457.     "Flavor with no seasoning";
  458.     "Strange, but not a stranger";
  459.     "Tougher than diamonds, rich like cream";
  460.     "Getting ready to show";
  461.     "Getting ready to know";
  462.     "i'm happy with it.";
  463.     "Getting ready to drop";
  464.     "Getting ready to suck";
  465.     "Getting ready to freak";
  466.     "Getting ready to speak";
  467.     "It swings, it jives";
  468.     "Cruising streets for gold";
  469.     "Take an eggbeater and beat it against a skillet";
  470.     "Make me a table, a funky table";
  471.     "Take the elevator to the mezzanine";
  472.     "Stop being reasonable, this is the Internet";
  473.     "/giveweapon m9k_1911a1 1";
  474.     "This is good for Realms.";
  475.     "now with memeware";
  476.     "fuck all y'all";
  477.     "cocaine is bad for u";
  478.     "school is gay";
  479.     "Any computer is a laptop if you're brave enough";
  480.     "Do it all, everything";
  481.     "Where there is not light, there can spider";
  482.     "GNU Terry Pratchett";
  483.     "More Digital";
  484.     "doot doot";
  485.     "Falling with style";
  486.     "There's no stopping the nutmegg";
  487.     "Throw yourself at the ground and miss";
  488.     "Rule #1: it's never my fault";
  489.     "Replaced molten cheese with blood?";
  490.     "Absolutely fixed relatively broken coordinates";
  491.     "Boats FTW";
  492.     "gay edition";
  493.     "REALLY gay edition";
  494.     "You're going too fast";
  495.     "made without parential permission";
  496.     "lapfuckstrax";
  497.     "aspie collective";
  498.     "a product of its time";
  499.     "their they're and there";
  500.     "endless streams of shit";
  501.     "new! old! terrible!";
  502.     "i make music now";
  503.     "this is my life now";
  504.     "i'm ok with this";
  505.     "u know wwhat this is prob the last version, i dont have anything new to add";
  506.     "shoutout to johnny nutmegg";
  507.     "etxraneous bullshit";
  508.     "inflated filesize";
  509.     "cancer";
  510.     "die";
  511.     "aimbot key is f";
  512.     "oh fuck off";
  513.     "try exanima";
  514.     "jerkcity.com - since 1998";
  515.    
  516. }
  517.  
  518. defcon.Phrases2             = {
  519.     "got fucked";
  520.     "got shit on";
  521.     "died";
  522.     "got holocausted";
  523.     "ate shit";
  524.     "tried to fly a potato";
  525.     "dug too deep";
  526.     "got RDM'd";
  527.     "tried to drink molten stone";
  528.     "got owned";
  529.     "ate that dirt";
  530.     "fought the law (and the law won)";
  531.     "was slain";
  532.     "tried to do hvh with an aimware user";
  533.     "downloaded memeware";
  534.     "deleted system32";
  535.     "got mad";
  536.     "kicked the bucket";
  537.     "downloaded malware";
  538.     "unsubscribed from dramaalert";
  539.     "went to hell";
  540.     "did not pass go";
  541.     "did not collect 200 dollars";
  542.     "went to detroit at night";
  543.     "got smashed";
  544.     "got their fucking brains blown out";
  545.     "became one with the ground";
  546.     "got gangbanged";
  547.     "literally ate shit";
  548.     "listened to a kanye west album";
  549.     "fucked a cat";
  550.     "got their dick bitten off by spets";
  551.     "tried to erp with spets";
  552.     "broke their spine";
  553.     "broke their dick";
  554.     "unjammed an open-bolt weapon";
  555.     "tried to use the carthus curved sword in a fight club";
  556.     "unfinished string lol";
  557.     "is dead lol";
  558.     "got boned";
  559.     "got permbanned by spets";
  560.     "tried to break into rcon";
  561.     "drowned";
  562.     "got struck by lightening";
  563.     "was detected by CAC";
  564.     "sat on a dick";
  565.     "posted their IP on raidforums";
  566.     "smoked bad weed";
  567.     "tried to run from a cheater";
  568. }
  569. defcon.Keys = {
  570. "KEY_0", "KEY_1", "KEY_2", "KEY_3", "KEY_4", "KEY_5",
  571. "KEY_6", "KEY_7", "KEY_8", "KEY_9", "KEY_A", "KEY_B", "KEY_C",
  572. "KEY_D", "KEY_E", "KEY_F", "KEY_G", "KEY_H", "KEY_I", "KEY_J",
  573. "KEY_K", "KEY_L", "KEY_M", "KEY_N", "KEY_O", "KEY_P", "KEY_Q",
  574. "KEY_R", "KEY_S", "KEY_T", "KEY_U", "KEY_V", "KEY_W", "KEY_X",
  575. "KEY_Y", "KEY_Z", "KEY_PAD_0", "KEY_PAD_1", "KEY_PAD_2", "KEY_PAD_3",
  576. "KEY_PAD_4", "KEY_PAD_5", "KEY_PAD_6", "KEY_PAD_7", "KEY_PAD_8", "KEY_PAD_9",
  577. "KEY_PAD_DIVIDE", "KEY_PAD_MULTIPLY", "KEY_PAD_MINUS", "KEY_PAD_PLUS", "KEY_PAD_ENTER",
  578. "KEY_PAD_DECIMAL", "KEY_LBRACKET", "KEY_RBRACKET", "KEY_SEMICOLON", "KEY_APOSTROPHE",
  579. "KEY_BACKQUOTE", "KEY_COMMA", "KEY_PERIOD", "KEY_SLASH", "KEY_BACKSLASH", "KEY_MINUS",
  580. "KEY_EQUAL", "KEY_ENTER", "KEY_SPACE", "KEY_BACKSPACE", "KEY_TAB", "KEY_CAPSLOCK",
  581. "KEY_NUMLOCK", "KEY_ESCAPE", "KEY_SCROLLLOCK", "KEY_INSERT", "KEY_DELETE", "KEY_HOME",
  582. "KEY_END", "KEY_PAGEUP", "KEY_PAGEDOWN", "KEY_BREAK", "KEY_LSHIFT", "KEY_RSHIFT",
  583. "KEY_LALT", "KEY_RALT", "KEY_LCONTROL", "KEY_RCONTROL", "KEY_LWIN", "KEY_RWIN",
  584. "KEY_APP", "KEY_UP", "KEY_LEFT", "KEY_DOWN", "KEY_RIGHT", "KEY_F1", "KEY_F2",
  585. "KEY_F3", "KEY_F4", "KEY_F5", "KEY_F6", "KEY_F7", "KEY_F8", "KEY_F9",
  586. "KEY_F10", "KEY_F11", "KEY_F12", "KEY_CAPSLOCKTOGGLE", "KEY_NUMLOCKTOGGLE",
  587. "KEY_SCROLLLOCKTOGGLE"
  588. };
  589.  
  590. local function SafeCheck(v)
  591.     if v ~=LocalPlayer() and v:Alive() and v:IsValid() and v:GetActiveWeapon():IsValid() and v:Health() >= 1 then
  592.         return true
  593.     else
  594.         return false
  595.     end
  596. end
  597.  
  598. for k,v in pairs(defcon.Normal) do
  599.     if defcon.Settings[k] == nil then
  600.         defcon.Settings = defcon.Normal
  601.         -- so if you fuck with my shit i fuck with your shit
  602.     end
  603. end
  604.  
  605. -- functions
  606.  
  607. function defcon.Update(x,y,z, ok)
  608.     if x == "setting" then
  609.         defcon.Settings[y] = z
  610.         if ok == true then
  611.             file.Write("d_settings.txt", util.TableToJSON(defcon.Settings))
  612.         end
  613.     elseif x == "entity" then
  614.         file.Write("d_entities.txt", util.TableToJSON(defcon.Entities))
  615.     elseif x == "friend" then
  616.         file.Write("d_whitelist.txt", util.TableToJSON(defcon.Whitelist))
  617.     end
  618. end
  619. function defcon.ESPCheck(typ, v)
  620.     if typ == "player" then
  621.         if v:Alive() && v:Health() >= 1 && v ~= LocalPlayer() /*&& /*LocalPlayer():Alive() &&*/ /*LocalPlayer():Team() ~= TEAM_SPECTATOR*/ then
  622.             return true
  623.         end
  624.     elseif typ == "entity" then
  625.         if IsValid(v) then
  626.             return true
  627.         end
  628.     end
  629.     return false
  630. end
  631. function defcon.ESPDistance(typ, v)
  632.     if typ == "player" then
  633.         if defcon.Settings["esp_player_dist"] >= 16000 then
  634.             return true
  635.         elseif v:GetPos():Distance(LocalPlayer():GetPos()) < (defcon.Settings["esp_player_dist"]) then
  636.             return true
  637.         end
  638.     elseif typ == "entity" then
  639.         if defcon.Settings["esp_entity_dist"] >= 16000 then
  640.             return true
  641.         elseif v:GetPos():Distance(LocalPlayer():GetPos()) < (defcon.Settings["esp_entity_dist"]) then
  642.             return true
  643.         end
  644.     end
  645.     return false
  646. end
  647. function defcon.GetShootPos(ent)
  648.     local eyes = ent:LookupAttachment("eyes");
  649.     if(eyes ~= 0) then
  650.         eyes = ent:GetAttachment(eyes);
  651.         if(eyes and eyes.Pos) then
  652.             return eyes.Pos, eyes.Ang;
  653.         end
  654.     end
  655. end
  656. function defcon.Visible(ent)
  657.     local pos = LocalPlayer():GetShootPos()
  658.     local ang = LocalPlayer():GetAimVector()
  659.     local trace = {start = LocalPlayer():GetShootPos(), endpos = defcon.GetShootPos(ent), filter = {LocalPlayer(), ent}, mask = 1174421507};
  660.     local tr = util.TraceLine(trace);
  661.     return(tr.Fraction == 1);
  662. end
  663. function defcon.Whitelisted(ent)
  664.     if defcon.Whitelist[ent:SteamID()] then return true
  665.     else return false end
  666. end
  667. function defcon.CanTarget(v)
  668.     if v:IsPlayer() then
  669.         if (defcon.Visible(v) and (not defcon.Whitelisted(v)) and v:Alive() and (v:Health() > 0) and v:Team() ~= TEAM_SPECTATOR) then
  670.             if (v ~= LocalPlayer() and LocalPlayer():Alive() and LocalPlayer():Team() ~= TEAM_SPECTATOR) then
  671.                 if not(defcon.Settings["aimbot_friendly_fire"]) then
  672.                     if (v:Team() ~= LocalPlayer():Team()) then
  673.                         return true
  674.                     end
  675.                 else
  676.                     return true
  677.                 end
  678.             end
  679.         end
  680.     end
  681.     return false
  682. end
  683. function defcon.Ents()
  684.     local t = {}
  685.     for k,v in pairs(ents.GetAll()) do
  686.         if IsValid(v) and not(table.HasValue(t, v:GetClass())) then
  687.             table.insert(t, v:GetClass())
  688.         end
  689.     end
  690.     table.sort(t, function(a,b) return a < b end)
  691.    
  692.     return t
  693. end
  694.  
  695. -- fonts
  696.  
  697. surface.CreateFont("deffont", {
  698.     font    =   "impact",
  699.     size    =   64
  700. });
  701.  
  702. surface.CreateFont("deffontesp1", {
  703.     font="TabLarge",
  704.     size=13,
  705.     weight=700
  706. });
  707. surface.CreateFont("deffontesp2", {
  708.     font="TabLarge",
  709.     size=10,
  710.     weight=700
  711. });
  712. surface.CreateFont("fuck", {
  713.     font="Console",
  714.     size=13,
  715.     weight=100
  716. });
  717. surface.CreateFont("velmet", {
  718.  size = 50,
  719.  weight = 500,
  720.  antialias = true,
  721.  font = "VCR OSD Mono"
  722.  });
  723.  surface.CreateFont("warnign", {
  724.  size = 18,
  725.  weight = 0,
  726.  antialias = false,
  727.  font = "times new roman"
  728.  });
  729.  
  730. -- long vars
  731.  
  732. local menu              = defcon.Menu
  733. local current           = defcon.Current
  734. local alive             = defcon.Alive
  735. local normal            = defcon.Normal
  736. local settings          = defcon.Settings
  737. local entities          = defcon.Entities
  738. local whitelist         = defcon.Whitelist
  739. local phrases           = defcon.Phrases
  740. local espcheck          = defcon.ESPCheck
  741. local espdistance       = defcon.ESPDistance
  742.  
  743. -- menu base
  744.  
  745. local function AddTab(txt, tab, func)
  746.     menu.c = menu.c + 1 -- increase the counter for the amount of tabs
  747.     local panel
  748.     if tab and tab == true then
  749.         panel = vgui.Create("DPanel", menu.frame);
  750.         panel:SetPos(120,25);
  751.         panel:SetSize(376,406);
  752.         if menu.Current == txt then
  753.             panel:SetVisible(true)
  754.         else
  755.             panel:SetVisible(false)
  756.         end
  757.         panel.Paint = function()
  758.             surface.SetDrawColor( 163, 163, 163, 255 )
  759.             surface.DrawOutlinedRect( 0, 0, panel:GetWide() - 1, panel:GetTall() - 1)
  760.             draw.SimpleText(string.upper(txt), "deffont", 10, 5, Color(210, 210, 210, 235), TEXT_ALIGN_LEFT);
  761.         end
  762.     end
  763.     local button = vgui.Create("DButton", menu.buttons);
  764.     button:SetText(txt);
  765.     button:SetSize(80, 20);
  766.     button:SetPos(15, -15+(25*menu.c));
  767.     button:SetTextColor(color_white)
  768.     button.Paint = function(self)
  769.         surface.SetDrawColor(100,100,100,220)
  770.         surface.DrawRect(0, 0,self:GetSize())
  771.         surface.SetDrawColor(0,0,0,0)
  772.         surface.DrawOutlinedRect(0,0,self:GetSize())
  773.     end
  774.     button.DoClick = func or (tab and tab == true and function()
  775.         for k,v in pairs(menu.t) do
  776.             if v ~= panel then
  777.                 v:SetVisible(false)
  778.             end
  779.         end
  780.         panel:SetVisible(true)
  781.         menu.Current = txt
  782.         surface.PlaySound("ambient/levels/canals/drip4.wav");
  783.     end)
  784.     return panel, button;
  785. end
  786.  
  787. --derma bullshit + menu niggering
  788.  
  789. local function AddFeature(id, parent, typ, name, setting, o1, o2)
  790.     if not parent then return end
  791.     if typ == "button" then
  792.         local label = vgui.Create("DLabel", parent)
  793.         label:SetText(name)
  794.         label:SetPos(5,(55+(id*25)))
  795.         label:SizeToContents(false)
  796.         local button = vgui.Create("DButton", parent)
  797.         if defcon.Settings[setting] == true then
  798.             button:SetText("enabled")
  799.         else
  800.             button:SetText("disabled")
  801.         end
  802.         button:SetSize(80,20)
  803.         if not id then
  804.             button:SetPos(285,45)
  805.         else
  806.             button:SetPos(285,(55+(id*25)))
  807.         end
  808.         button.DoClick = function()
  809.             if button:GetText() == "enabled" then
  810.                 button:SetText("disabled"); defcon.Update("setting", setting, false, true)
  811.             else
  812.                 button:SetText("enabled"); defcon.Update("setting", setting, true, true)
  813.             end
  814.         end
  815.         button:SetTextColor(color_white)
  816.         button.Paint = function(self)
  817.             surface.SetDrawColor(100,100,100,220)
  818.             surface.DrawRect(0, 0,self:GetSize())
  819.             surface.SetDrawColor(0,0,0,0)
  820.             surface.DrawOutlinedRect(0,0,self:GetSize())
  821.         end
  822.         return button,label
  823.     elseif typ == "slider" then
  824.         local slider = vgui.Create("DNumSlider", parent)
  825.         slider:SetPos(5, (45+(id*25)))
  826.         slider:SetText(name)
  827.         slider:SetMinMax(o1, o2)
  828.         slider:SetWide(372.5)
  829.         slider:SetDecimals( 0 )
  830.         slider:SetFGColor(255,255,255,255)
  831.         slider:SetBGColor(255,255,255,255)
  832.         slider:SetValue(defcon.Settings[setting])
  833.         slider.OnValueChanged = function(panel, value)
  834.             local c = tonumber(value)
  835.             defcon.Update("setting", setting, math.Round(c), true)
  836.         end
  837.         return slider;
  838.     end
  839.  
  840.     if typ == "label" then
  841.         local label = vgui.Create("DLabel", parent)
  842.         label:SetText(name)
  843.         label:SetPos(5,(55+(id*25)))
  844.         label:SizeToContents(false)
  845.         label:SetFont("warnign")
  846.         label.Paint = function(self)
  847.             label:SetTextColor(Color( 43, 98, 226, 255 ))
  848.             end
  849.        
  850.     return label
  851.     end
  852.         if typ == "label2" then
  853.         local label = vgui.Create("DLabel", parent)
  854.         label:SetText(name)
  855.         label:SetPos(5,(55+(id*25)))
  856.         label:SizeToContents(false)
  857.         label:SetFont("fuck")
  858.         label.Paint = function(self)
  859.             label:SetTextColor(Color( 140, 140, 140, 255 ))
  860.             end
  861.            
  862.     return label2
  863.     end
  864.         if typ == "label3" then
  865.         local label = vgui.Create("DLabel", parent)
  866.         label:SetText(name)
  867.         label:SetPos(5,(55+(id*25)))
  868.         label:SizeToContents(false)
  869.         label:SetFont("warnign")
  870.         label.Paint = function(self)
  871.             label:SetTextColor(Color( 43, 98, 226, 255 ))
  872.             end
  873.        
  874.     return label3
  875. end
  876.     if not parent then return end
  877.     if typ == "canser" then
  878.         local label = vgui.Create("DLabel", parent)
  879.         label:SetText(name)
  880.         label:SetPos(5,(55+(id*25)))
  881.         label:SizeToContents(false)
  882.         local button = vgui.Create("DButton", parent)
  883.         if defcon.Settings[setting] == true then
  884.             button:SetText("enabled")
  885.         else
  886.             button:SetText("disabled")
  887.         end
  888.         button:SetSize(80,20)
  889.         if not id then
  890.             button:SetPos(285,45)
  891.         else
  892.             button:SetPos(285,(55+(id*25)))
  893.         end
  894.         button.DoClick = function()
  895.             if button:GetText() == "enabled" then
  896.                 button:SetText("disabled"); defcon.Update("setting", setting, false, true); RunConsoleCommand "SH_toggle"
  897.             else
  898.                 button:SetText("enabled"); defcon.Update("setting", setting, true, true); RunConsoleCommand "SH_toggle"
  899.             end
  900.         end
  901.         button:SetTextColor(color_white)
  902.         button.Paint = function(self)
  903.             surface.SetDrawColor(100,100,100,220)
  904.             surface.DrawRect(0, 0,self:GetSize())
  905.             surface.SetDrawColor(0,0,0,0)
  906.             surface.DrawOutlinedRect(0,0,self:GetSize())
  907.     end
  908.     end
  909.     if not parent then return end
  910.     if typ == "landsernigger" then
  911.         local label = vgui.Create("DLabel", parent)
  912.         label:SetText(name)
  913.         label:SetPos(5,(55+(id*25)))
  914.         label:SizeToContents(false)
  915.         local button = vgui.Create("DButton", parent)
  916.         if defcon.Settings[setting] == true then
  917.             button:SetText("search")
  918.         else
  919.             button:SetText("search")
  920.         end
  921.         button:SetSize(80,20)
  922.         if not id then
  923.             button:SetPos(285,45)
  924.         else
  925.             button:SetPos(285,(55+(id*25)))
  926.         end
  927.         button.DoClick = function()
  928.             if button:GetText() == "enabled" then
  929.                 button:SetText("search"); defcon.Update("setting", setting, false, true); RunConsoleCommand "pickupinradius"
  930.             else
  931.                 button:SetText("search"); defcon.Update("setting", setting, true, true); RunConsoleCommand "pickupinradius"
  932.             end
  933.         end
  934.         button:SetTextColor(color_white)
  935.         button.Paint = function(self)
  936.             surface.SetDrawColor(100,100,100,220)
  937.             surface.DrawRect(0, 0,self:GetSize())
  938.             surface.SetDrawColor(0,0,0,0)
  939.             surface.DrawOutlinedRect(0,0,self:GetSize())
  940.     end
  941.     end
  942.         if not parent then return end
  943.     if typ == "landsernigger6" then
  944.         local label = vgui.Create("DLabel", parent)
  945.         label:SetText(name)
  946.         label:SetPos(5,(55+(id*25)))
  947.         label:SizeToContents(false)
  948.         local button = vgui.Create("DButton", parent)
  949.         if defcon.Settings[setting] == true then
  950.             button:SetText("enabled")
  951.         else
  952.             button:SetText("disabled")
  953.         end
  954.         button:SetSize(80,20)
  955.         if not id then
  956.             button:SetPos(285,45)
  957.         else
  958.             button:SetPos(285,(55+(id*25)))
  959.         end
  960.         button.DoClick = function()
  961.             if button:GetText() == "enabled" then
  962.                 button:SetText("disabled"); defcon.Update("setting", setting, false, true); RunConsoleCommand ("defcon.chams", "0")
  963.             else
  964.                 button:SetText("enabled"); defcon.Update("setting", setting, true, true); RunConsoleCommand ("defcon.chams", "1")
  965.             end
  966.         end
  967.         button:SetTextColor(color_white)
  968.         button.Paint = function(self)
  969.             surface.SetDrawColor(100,100,100,220)
  970.             surface.DrawRect(0, 0,self:GetSize())
  971.             surface.SetDrawColor(0,0,0,0)
  972.             surface.DrawOutlinedRect(0,0,self:GetSize())
  973.     end
  974.     end
  975.     if not parent then return end
  976.     if typ == "landsernigger3" then
  977.         local label = vgui.Create("DLabel", parent)
  978.         label:SetText(name)
  979.         label:SetPos(5,(55+(id*25)))
  980.         label:SizeToContents(false)
  981.         local button = vgui.Create("DButton", parent)
  982.         if defcon.Settings[setting] == true then
  983.             button:SetText("enabled")
  984.         else
  985.             button:SetText("disabled")
  986.         end
  987.         button:SetSize(80,20)
  988.         if not id then
  989.             button:SetPos(285,45)
  990.         else
  991.             button:SetPos(285,(55+(id*25)))
  992.         end
  993.         button.DoClick = function()
  994.             if button:GetText() == "enabled" then
  995.                 button:SetText("disabled"); defcon.Update("setting", setting, false, true); RunConsoleCommand ("defcon.boxESP", "0")
  996.             else
  997.                 button:SetText("enabled"); defcon.Update("setting", setting, true, true); RunConsoleCommand ("defcon.boxESP", "1")
  998.             end
  999.         end
  1000.         button:SetTextColor(color_white)
  1001.         button.Paint = function(self)
  1002.             surface.SetDrawColor(100,100,100,220)
  1003.             surface.DrawRect(0, 0,self:GetSize())
  1004.             surface.SetDrawColor(0,0,0,0)
  1005.             surface.DrawOutlinedRect(0,0,self:GetSize())
  1006.     end
  1007.     end
  1008.             if not parent then return end
  1009.     if typ == "landsernigger4" then
  1010.         local label = vgui.Create("DLabel", parent)
  1011.         label:SetText(name)
  1012.         label:SetPos(5,(55+(id*25)))
  1013.         label:SizeToContents(false)
  1014.         local button = vgui.Create("DButton", parent)
  1015.         if defcon.Settings[setting] == true then
  1016.             button:SetText("enabled")
  1017.         else
  1018.             button:SetText("disabled")
  1019.         end
  1020.         button:SetSize(80,20)
  1021.         if not id then
  1022.             button:SetPos(285,45)
  1023.         else
  1024.             button:SetPos(285,(55+(id*25)))
  1025.         end
  1026.         button.DoClick = function()
  1027.             if button:GetText() == "enabled" then
  1028.                 button:SetText("disabled"); defcon.Update("setting", setting, false, true); RunConsoleCommand ("defcon.propchams", "0")
  1029.             else
  1030.                 button:SetText("enabled"); defcon.Update("setting", setting, true, true); RunConsoleCommand ("defcon.propchams", "1")
  1031.             end
  1032.         end
  1033.         button:SetTextColor(color_white)
  1034.         button.Paint = function(self)
  1035.             surface.SetDrawColor(100,100,100,220)
  1036.             surface.DrawRect(0, 0,self:GetSize())
  1037.             surface.SetDrawColor(0,0,0,0)
  1038.             surface.DrawOutlinedRect(0,0,self:GetSize())
  1039.     end
  1040.     end
  1041.                 if not parent then return end
  1042.     if typ == "landsernigger5" then
  1043.         local label = vgui.Create("DLabel", parent)
  1044.         label:SetText(name)
  1045.         label:SetPos(5,(55+(id*25)))
  1046.         label:SizeToContents(false)
  1047.         local button = vgui.Create("DButton", parent)
  1048.         if defcon.Settings[setting] == true then
  1049.             button:SetText("enabled")
  1050.         else
  1051.             button:SetText("disabled")
  1052.         end
  1053.         button:SetSize(80,20)
  1054.         if not id then
  1055.             button:SetPos(285,45)
  1056.         else
  1057.             button:SetPos(285,(55+(id*25)))
  1058.         end
  1059.         button.DoClick = function()
  1060.             if button:GetText() == "enabled" then
  1061.                 button:SetText("disabled"); defcon.Update("setting", setting, false, true); RunConsoleCommand ("defcon.radiochams", "0")
  1062.             else
  1063.                 button:SetText("enabled"); defcon.Update("setting", setting, true, true); RunConsoleCommand ("defcon.radiochams", "1")
  1064.             end
  1065.         end
  1066.         button:SetTextColor(color_white)
  1067.         button.Paint = function(self)
  1068.             surface.SetDrawColor(100,100,100,220)
  1069.             surface.DrawRect(0, 0,self:GetSize())
  1070.             surface.SetDrawColor(0,0,0,0)
  1071.             surface.DrawOutlinedRect(0,0,self:GetSize())
  1072.     end
  1073.     end
  1074.     if not parent then return end
  1075.     if typ == "landsernigger2" then
  1076.         local label = vgui.Create("DLabel", parent)
  1077.         label:SetText(name)
  1078.         label:SetPos(5,(55+(id*25)))
  1079.         label:SizeToContents(false)
  1080.         local button = vgui.Create("DButton", parent)
  1081.         if defcon.Settings[setting] == true then
  1082.             button:SetText("dupe")
  1083.         else
  1084.             button:SetText("dupe")
  1085.         end
  1086.         button:SetSize(80,20)
  1087.         if not id then
  1088.             button:SetPos(285,45)
  1089.         else
  1090.             button:SetPos(285,(55+(id*25)))
  1091.         end
  1092.         button.DoClick = function()
  1093.             if button:GetText() == "enabled" then
  1094.                 button:SetText("dupe"); defcon.Update("setting", setting, false, true); RunConsoleCommand "dupeinradius"
  1095.             else
  1096.                 button:SetText("dupe"); defcon.Update("setting", setting, true, true); RunConsoleCommand "dupeinradius"
  1097.             end
  1098.         end
  1099.         button:SetTextColor(color_white)
  1100.         button.Paint = function(self)
  1101.             surface.SetDrawColor(100,100,100,220)
  1102.             surface.DrawRect(0, 0,self:GetSize())
  1103.             surface.SetDrawColor(0,0,0,0)
  1104.             surface.DrawOutlinedRect(0,0,self:GetSize())
  1105.     end
  1106. end
  1107. end
  1108.  
  1109. --menu
  1110.  
  1111. local function AddButton(parent, text, posx, posy, func)
  1112.     local button = vgui.Create("DButton", parent)
  1113.     button:SetText(text)
  1114.     button:SetSize(80,20)
  1115.     button:SetPos(posx,posy)
  1116.     button:SetTextColor(color_white)
  1117.     button.DoClick = func or function() end
  1118.     button.Paint = function(self)
  1119.         surface.SetDrawColor(100,100,100,220)
  1120.         surface.DrawRect(0, 0,self:GetSize())
  1121.         surface.SetDrawColor(163,163,163,0)
  1122.         surface.DrawOutlinedRect(0,0,self:GetSize())
  1123.     end
  1124.     return button
  1125. end
  1126.  
  1127. local function DrawMenu()
  1128.     if(menu.frame) then menu.frame:Remove(); menu.frame = nil; end
  1129.    
  1130.     menu.c = 0
  1131.    
  1132.     menu.frame = vgui.Create("DFrame");
  1133.     menu.frame:SetPos(ScrW()/2-184, ScrH()/2-155);
  1134.     menu.frame:SetSize(500, 435);
  1135.     menu.frame:SetTitle("Shitcheat 4.2 :: "..defcon.Phrases[math.random(1, table.Count(defcon.Phrases))]);
  1136.     menu.frame.Paint = function()
  1137.         surface.SetDrawColor(50,50,50,200)
  1138.         surface.DrawRect(0, 0,menu.frame:GetWide(),menu.frame:GetTall())
  1139.         surface.SetDrawColor(163,163,0,0)
  1140.         surface.DrawOutlinedRect(0,0,menu.frame:GetWide(),menu.frame:GetTall())
  1141.     end
  1142.     menu.frame:SetVisible(true);
  1143.     menu.frame:SetDraggable(true);
  1144.     menu.frame:SetSizable(false);
  1145.     menu.frame:ShowCloseButton(false);
  1146.     menu.frame:SetBackgroundBlur(true)
  1147.     menu.frame:MakePopup();
  1148.    
  1149.     menu.close = vgui.Create("DButton", menu.frame)
  1150.     menu.close:SetFont('marlett')
  1151.     menu.close:SetText('r')
  1152.     menu.close:SetColor(Color(255, 255, 255))
  1153.     menu.close:SetSize(15, 15)
  1154.     menu.close:SetDrawBackground(false)
  1155.     menu.close:SetPos(menu.frame:GetWide() - 20, 5)
  1156.     menu.close.DoClick = function()
  1157.         menu.frame:Remove(); menu.frame = nil;
  1158.     end
  1159.  
  1160.     menu.buttons = vgui.Create("DPanel",menu.frame)
  1161.     menu.buttons:SetPos(5, 25)
  1162.     menu.buttons:SetSize(111,406)
  1163.     menu.buttons:SetVisible(true)
  1164.     menu.buttons.Paint = function()
  1165.         surface.SetDrawColor(163,163,163,255)
  1166.         surface.DrawOutlinedRect(0,0,110,405)
  1167.     end
  1168.  
  1169.     menu.t.def = vgui.Create("DPanel", menu.frame);
  1170.     menu.t.def:SetPos(120,25);
  1171.     menu.t.def:SetSize(376,406);
  1172.     if menu.Current ~= nil then menu.t.def:SetVisible(false) end
  1173.     menu.t.def.Paint = function()
  1174.         surface.SetDrawColor( 163, 163, 163, 255 )
  1175.         surface.DrawOutlinedRect( 0, 0, menu.t.def:GetWide() - 1, menu.t.def:GetTall() - 1)
  1176.     end
  1177.    
  1178.     menu.t.a, menu.b.a      = AddTab("Aimbot",      true)
  1179.     menu.t.p, menu.b.p      = AddTab("Player ESP",  true)
  1180.     menu.t.e, menu.b.e      = AddTab("Entity ESP",  true)
  1181.     menu.t.m, menu.b.m      = AddTab("Misc.",       true)
  1182.     menu.t.f, menu.b.f      = AddTab("Freecam", true)
  1183.     --id, parent  , the type, the text , setting
  1184.     AddFeature(1, menu.t.a, "button", "Enabled (broken after july 2017 update)", "aimbot")
  1185.     AddFeature(2, menu.t.a, "button", "Triggerbot", "triggerbot")
  1186.     AddFeature(3, menu.t.a, "button", "Friendly Fire", "aimbot_friendly_fire")
  1187.     AddFeature(4, menu.t.a, "slider", "FOV", "aimbot_fov", 0, 180)
  1188.     AddFeature(6, menu.t.a, "label2", "The aimbot key is F by default                                                                                                                 ")
  1189.    
  1190.     AddFeature(1, menu.t.p, "button", "Enabled", "esp_player")
  1191.     AddFeature(2, menu.t.p, "button", "Show Name", "esp_player_name")
  1192.     AddFeature(3, menu.t.p, "button", "Show Rank", "esp_player_rank")
  1193.     AddFeature(4, menu.t.p, "button", "Show Health", "esp_player_health")
  1194.     AddFeature(5, menu.t.p, "button", "Show Armor", "esp_player_armor")
  1195.     AddFeature(6, menu.t.p, "button", "Show Distance", "esp_player_showdist")
  1196.     AddFeature(7, menu.t.p, "slider", "Draw Distance", "esp_player_dist", 0, 16000)
  1197.     AddFeature(8, menu.t.p, "button", "Draw Glow Halo", "esp_player_glow")
  1198.     AddFeature(9, menu.t.p, "button", "Laser Eyes", "lasereyes")
  1199.     AddFeature(10,menu.t.p, "landsernigger3", "Draw Hitboxes", "defcon.boxESP")
  1200.     AddFeature(11,menu.t.p, "landsernigger6", "Player Chams", "defcon.chams")
  1201.    
  1202.     AddFeature(1, menu.t.e, "button", "Entity Finder", "esp_entity")
  1203.     AddFeature(2, menu.t.e, "slider", "Draw Distance", "esp_entity_dist", 0, 16000)
  1204.     AddFeature(3, menu.t.e, "landsernigger4", "Physics Prop chams" , "defcon.propchams")
  1205.    
  1206.     AddFeature(1, menu.t.m, "button", "Flashlight Spam [hold leftarrow]", "flashlight_spam")
  1207.     AddFeature(2, menu.t.m, "button", "Bunny hopping [hold space]", "bhop_bhop")
  1208.     AddFeature(3, menu.t.m, "button", "Client side crosshair", "crosshair")
  1209.     AddFeature(4, menu.t.m, "button", "Big velocity meter", "velocity")
  1210.     AddFeature(5, menu.t.m, "button", "Chat spammer 1 [random messages, no vc]", "chatspam1")
  1211.     AddFeature(6, menu.t.m, "button", "Chat spammer 2 [hl2rp vc messages]", "chatspam2")
  1212.     AddFeature(7, menu.t.m, "label3", "You can bind the two scripts under this message to any key                                               ")
  1213.     AddFeature(8, menu.t.m, "label3", "Just type 'bind commandname key', e.g. 'bind +jump m'                                               ")
  1214.     AddFeature(9, menu.t.m, "landsernigger", "Pick up items in radius [Clockwork schemas only]","pickupinradius")
  1215.     AddFeature(10, menu.t.m, "label2", "Console coammand: pickupinradius                                               ")
  1216.     AddFeature(11, menu.t.m, "landsernigger2", "Duplicate items in radius [Clockwork schemas only]", "dupeinradius")
  1217.     AddFeature(12, menu.t.m, "label2", "Console command: dupeinradius                                               ")
  1218.  
  1219.     AddFeature(1, menu.t.f, "canser", "New Freecam", "cl_noclip")
  1220.     AddFeature(2, menu.t.f, "button", "Ghettocam (depricated)", "freecam_side")
  1221.  
  1222.     AddFeature(11, menu.t.f, "label", "NOTICE: entities may not appear when using freecam                                                     ")
  1223.    
  1224.     if string.find(gmod.GetGamemode().Name, "DarkRP") then
  1225.         AddFeature(9, menu.t.m, "button", "God-mode Exploit (Costs in-game $$$)", "darkrp_god")
  1226.     end
  1227.     local elist
  1228.     local elist2
  1229.     local elistc
  1230.     local elistc2
  1231.     local function makeelist()
  1232.         elist = vgui.Create("DComboBox", menu.t.e)
  1233.         elist:SetPos(10,menu.t.e:GetTall()-43)
  1234.         elist:SetSize(130,20)
  1235.         for k,v in pairs(defcon.Ents()) do
  1236.             if not(defcon.Entities[v]) then
  1237.                 local i = elist:AddChoice(v)
  1238.             end
  1239.         end
  1240.         elist.OnSelect = function(index,value,data)
  1241.             print(data)
  1242.             elist2 = data
  1243.         end
  1244.     end
  1245.     local function makeelistc()
  1246.         elistc = vgui.Create("DComboBox", menu.t.e)
  1247.         elistc:SetPos(235, menu.t.e:GetTall()-43)
  1248.         elistc:SetSize(130,20)
  1249.         for k,v in pairs(defcon.Entities) do
  1250.             local i = elistc:AddChoice(v)
  1251.         end
  1252.         elistc.OnSelect = function(index,value,data)
  1253.             elistc2 = data
  1254.         end
  1255.     end
  1256.     makeelist()
  1257.     makeelistc()
  1258.     AddButton(menu.t.e, "Add Entity", 35, menu.t.e:GetTall()-23, function()
  1259.         if(elist2) then
  1260.             for k,v in pairs(defcon.Ents()) do
  1261.                 if (v == elist2) then
  1262.                     print(v)
  1263.                     table.insert(defcon.Entities, v)
  1264.                     defcon.Update("entity")
  1265.                 end
  1266.             end
  1267.         end
  1268.         makeelist()
  1269.         makeelistc()
  1270.     end)
  1271.     AddButton(menu.t.e, "Remove Entity", 260, menu.t.e:GetTall()-23, function()
  1272.         if(elistc2) then
  1273.             for k,v in pairs(defcon.Entities) do
  1274.                 if (v == elistc2) then
  1275.                     defcon.Entities[k] = nil;
  1276.                     defcon.Update("entity")
  1277.                 end
  1278.             end
  1279.         end
  1280.         makeelist()
  1281.         makeelistc()
  1282.     end)
  1283.     local flist
  1284.     local flist2
  1285.     local flistc
  1286.     local flistc2
  1287.     local function makeflist()
  1288.         flist = vgui.Create("DComboBox", menu.t.a)
  1289.         flist:SetPos(10,menu.t.a:GetTall()-43)
  1290.         flist:SetSize(130,20)
  1291.         for k,v in pairs(player.GetAll()) do
  1292.             if v ~= LocalPlayer() then
  1293.                 if not(defcon.Whitelist[v:SteamID()]) then
  1294.                     local i = flist:AddChoice(v:Nick())
  1295.                 end
  1296.             end
  1297.         end
  1298.         flist.OnSelect = function(index,value,data)
  1299.             print(data)
  1300.             elist2 = data
  1301.         end
  1302.     end
  1303.     local function makeflistc()
  1304.         flistc = vgui.Create("DComboBox", menu.t.a)
  1305.         flistc:SetPos(235, menu.t.a:GetTall()-43)
  1306.         flistc:SetSize(130,20)
  1307.         for k,v in pairs(player.GetAll()) do
  1308.             if v ~= LocalPlayer() then
  1309.                 if defcon.Whitelist[v:SteamID()] then
  1310.                     local i = flistc:AddChoice(v:Nick())
  1311.                 end
  1312.             end
  1313.         end
  1314.         flistc.OnSelect = function(index,value,data)
  1315.             flistc2 = data
  1316.         end
  1317.     end
  1318.     makeflist()
  1319.     makeflistc()
  1320.     AddButton(menu.t.a, "Add Friend", 35, menu.t.a:GetTall()-23, function()
  1321.         if(flist2) then
  1322.             for k,v in pairs(player.GetAll()) do
  1323.                 if (v:Nick() == flist2) then
  1324.                     print(v:Nick())
  1325.                     table.insert(defcon.Whitelist, v:SteamID())
  1326.                     PrintTable(defcon.Whitelist)
  1327.                     defcon.Update("friend")
  1328.                 end
  1329.             end
  1330.         end
  1331.         makeflist()
  1332.         makeflistc()
  1333.     end)
  1334.     AddButton(menu.t.a, "Remove Friend", 260, menu.t.a:GetTall()-23, function()
  1335.         if(flistc2) then
  1336.             for k,v in pairs(defcon.Whitelist) do
  1337.                 if (v:SteamID() == flistc2) then
  1338.                     defcon.Whitelist[k] = nil;
  1339.                     defcon.Update("friend")
  1340.                 end
  1341.             end
  1342.         end
  1343.         makeflist()
  1344.         makeflistc()
  1345.     end)
  1346. end
  1347.  
  1348. --clientside noclip / freecam
  1349.  
  1350. local SH = {}
  1351.  
  1352. SH.Enabled = false
  1353. SH.ViewOrigin = Vector( 0, 0, 0 )
  1354. SH.ViewAngle = Angle( 0, 0, 0 )
  1355. SH.Velocity = Vector( 0, 0, 0 )
  1356. --[[
  1357. hook.Add("CalcView", "", function(p, o, a, f)
  1358.     return({
  1359.         angles = GetAngle(fa),
  1360.         origin = (defcon.Settings["freecam_side"] && o + am.Forward(fa) * -353 || o),
  1361.         fov = f,
  1362.     });
  1363. end);
  1364. --]]
  1365.  
  1366. function SH.CalcView( ply, origin, angles, fov, p, o, a, f )
  1367.     if ( !SH.Enabled ) then return end
  1368.     if ( SH.SetView ) then
  1369.         SH.ViewOrigin = origin
  1370.         SH.ViewAngle = angles
  1371.        
  1372.         SH.SetView = false
  1373.     end
  1374.     return { origin = SH.ViewOrigin, angles = SH.ViewAngle }
  1375. end
  1376. hook.Add( "CalcView", "niggerwalk", SH.CalcView )
  1377.  
  1378. function SH.CreateMove( cmd, ply, origin, angles, fov, p, o, a, f )
  1379.     if ( !SH.Enabled ) then return end
  1380.    
  1381.     local time = FrameTime()
  1382.     SH.ViewOrigin = SH.ViewOrigin + ( SH.Velocity * time)
  1383.     SH.Velocity = SH.Velocity * 0.95
  1384.    
  1385.     local sensitivity = 0.022
  1386.     SH.ViewAngle.p = math.Clamp( SH.ViewAngle.p + ( cmd:GetMouseY() * sensitivity ), -89, 89 )
  1387.     SH.ViewAngle.y = SH.ViewAngle.y + ( cmd:GetMouseX() * -1 * sensitivity )
  1388.    
  1389.     local nig = Vector( 0, 0, 0 )
  1390.     local add = Vector( 0, 0, 0 )
  1391.     local ang = SH.ViewAngle
  1392.     if ( cmd:KeyDown( IN_FORWARD ) ) then add = add + ang:Forward() end
  1393.     if ( cmd:KeyDown( IN_BACK ) ) then add = add - ang:Forward() end
  1394.     if ( cmd:KeyDown( IN_MOVERIGHT ) ) then add = add + ang:Right() end
  1395.     if ( cmd:KeyDown( IN_MOVELEFT ) ) then add = add - ang:Right() end
  1396.     if ( cmd:KeyDown( IN_JUMP ) ) then add = add + ang:Up() end
  1397.     if ( cmd:KeyDown( IN_DUCK ) ) then add = add - ang:Up() end
  1398.    
  1399.     add = add:GetNormal() * time * 500
  1400.     if ( cmd:KeyDown( IN_SPEED ) ) then add = add * 2 end
  1401.    
  1402.     SH.Velocity = SH.Velocity + add
  1403.    
  1404.     if ( SH.LockView == true ) then
  1405.         SH.LockView = cmd:GetViewAngles()
  1406.     end
  1407.     if ( SH.LockView ) then
  1408.         cmd:SetViewAngles( SH.LockView )
  1409.     end
  1410.    
  1411.     cmd:SetForwardMove( 0 )
  1412.     cmd:SetSideMove( 0 )
  1413.     cmd:SetUpMove( 0 )
  1414. end
  1415. hook.Add( "CreateMove", "niggerwalk", SH.CreateMove )
  1416.  
  1417. function SH.Toggle()
  1418.     SH.Enabled = !SH.Enabled
  1419.     SH.LockView = SH.Enabled
  1420.     SH.SetView = true
  1421.    
  1422.     local status = { [ true ] = "enabled", [ false ] = "disabled" }
  1423. end
  1424. concommand.Add( "SH_toggle", SH.Toggle )
  1425.  
  1426. concommand.Add( "SH_pos", function() print( SH.ViewOrigin ) end )
  1427.  
  1428. --old defunct freecam AKA ghettocam
  1429.  
  1430. hook.Add( "ShouldDrawLocalPlayer", "ThirdPersonDrawPlayer", function()
  1431.  
  1432.     if defcon.Settings["freecam_below"] or defcon.Settings["freecam_below2"] or defcon.Settings["freecam_below3"] or defcon.Settings["freecam_above"] or defcon.Settings["freecam_above2"] or defcon.Settings["freecam_above3"] or defcon.Settings["freecam_side"] or defcon.Settings["freecam_side2"] or defcon.Settings["freecam_side3"] then
  1433.  
  1434.         return true
  1435.  
  1436.     end
  1437.  
  1438. end )
  1439. hook.Add( "CalcView", "ThirdPersonView", "", function( ply, pos, angles, fov, p, o, a, f )
  1440.     if defcon.Settings["freecam_below"] then
  1441.         local view = {}
  1442.         view.origin = pos - ( angles:Forward() * -200 ) + ( angles:Right() * 0 ) + ( angles:Up() * -150 )
  1443.         view.angles = ply:EyeAngles() + Angle( 0, 180, 0 )
  1444.         view.fov = fov
  1445.         return GAMEMODE:CalcView( ply, view.origin, view.angles, view.fov )
  1446.     end
  1447.     if defcon.Settings["freecam_below2"] then
  1448.         local view = {}
  1449.         view.origin = pos - ( angles:Forward() * 200 ) + ( angles:Right() * 0 ) + ( angles:Up() * -150 )
  1450.         view.angles = ply:EyeAngles() + Angle( 0, 0, 0 )
  1451.         view.fov = fov
  1452.         return GAMEMODE:CalcView( ply, view.origin, view.angles, view.fov )
  1453.     end
  1454.         if defcon.Settings["freecam_below3"] then
  1455.         local view = {}
  1456.         view.origin = pos - ( angles:Forward() * 200 ) + ( angles:Right() * 0 ) + ( angles:Up() * -650 )
  1457.         view.angles = ply:EyeAngles() + Angle( 0, 0, 0 )
  1458.         view.fov = fov
  1459.         return GAMEMODE:CalcView( ply, view.origin, view.angles, view.fov )
  1460.     end
  1461.         if defcon.Settings["freecam_above"] then
  1462.         local view = {}
  1463.         view.origin = pos - ( angles:Forward() * 200 ) + ( angles:Right() * 0 ) + ( angles:Up() * 150 )
  1464.         view.angles = ply:EyeAngles() + Angle( 0, 0, 0 )
  1465.         view.fov = fov
  1466.         return GAMEMODE:CalcView( ply, view.origin, view.angles, view.fov )
  1467.     end
  1468.         if defcon.Settings["freecam_above2"] then
  1469.         local view = {}
  1470.         view.origin = pos - ( angles:Forward() * -200 ) + ( angles:Right() * 0 ) + ( angles:Up() * 150 )
  1471.         view.angles = ply:EyeAngles() + Angle( 0, 180, 0 )
  1472.         view.fov = fov
  1473.         return GAMEMODE:CalcView( ply, view.origin, view.angles, view.fov )
  1474.     end
  1475.         if defcon.Settings["freecam_above3"] then
  1476.         local view = {}
  1477.         view.origin = pos - ( angles:Forward() * 200 ) + ( angles:Right() * 0 ) + ( angles:Up() * 650 )
  1478.         view.angles = ply:EyeAngles() + Angle( 0, 0, 0 )
  1479.         view.fov = fov
  1480.         return GAMEMODE:CalcView( ply, view.origin, view.angles, view.fov )
  1481.     end
  1482.         if defcon.Settings["freecam_side"] then
  1483.         local view = {}
  1484.         view.origin = pos - ( angles:Forward() * 150 ) + ( angles:Right() * 150 ) + ( angles:Up() * 0 )
  1485.         view.angles = ply:EyeAngles() + Angle( 0, 0, 0 )
  1486.         view.fov = fov
  1487.         return GAMEMODE:CalcView( ply, view.origin, view.angles, view.fov )
  1488.     end
  1489.         if defcon.Settings["freecam_side2"] then
  1490.         local view = {}
  1491.         view.origin = pos - ( angles:Forward() * -150 ) + ( angles:Right() * 150 ) + ( angles:Up() * 0 )
  1492.         view.angles = ply:EyeAngles() + Angle( 0, 180, 0 )
  1493.         view.fov = fov
  1494.         return GAMEMODE:CalcView( ply, view.origin, view.angles, view.fov )
  1495.     end
  1496.             if defcon.Settings["freecam_side3"] then
  1497.         local view = {}
  1498.         view.origin = pos - ( angles:Forward() * 150 ) + ( angles:Right() * 650 ) + ( angles:Up() * 0 )
  1499.         view.angles = ply:EyeAngles() + Angle( 0, 0, 0 )
  1500.         view.fov = fov
  1501.         return GAMEMODE:CalcView( ply, view.origin, view.angles, view.fov )
  1502.     end
  1503.     end)
  1504.    
  1505. --best esp
  1506.  
  1507. hook.Add("HUDPaint", "catHUD", function()
  1508.     if defcon.Settings["esp_player"] or defcon.Settings["esp_entity"] then
  1509.         for k,v in pairs(ents.GetAll()) do
  1510.             if defcon.Settings["esp_player"] && v:IsPlayer() then
  1511.                 if(espcheck("player", v) and espdistance("player", v))then
  1512.                     local ESP = (v:EyePos()):ToScreen()
  1513.                     local name,health,rank,col,distance = "","","","",""
  1514.                     local outcol = Color(0,0,0,255)
  1515.                     local white = Color(255,255,255,255)
  1516.                     local outcol2 = outcol
  1517.                     if defcon.Settings["esp_player_name"] then
  1518.                         if v.GetRPName then name = v:GetRPName()
  1519.                         else name = v:Nick() end
  1520.                     end
  1521.                     if v:Nick() ~= name then rank = " "..v:Nick() end
  1522.                     if v.SteamName and name ~= v:SteamName() then rank = " "..v:SteamName() end
  1523.                     if defcon.Settings["esp_player_rank"] then
  1524.                         if v:IsSuperAdmin() then
  1525.                             rank = "[Super Admin]"..rank
  1526.                         elseif v:IsAdmin() then
  1527.                             rank = "[Admin]"..rank
  1528.                         elseif v:IsUserGroup("moderator") or v:IsUserGroup("mod") then
  1529.                             rank = "[Moderator]"..rank
  1530.                         elseif v:IsUserGroup("vip") or v:IsUserGroup("donator") then
  1531.                             rank = "[Donator]"..rank
  1532.                         end
  1533.                     end
  1534.                     if defcon.Settings["esp_player_health"] and not(defcon.Settings["esp_player_armor"]) then
  1535.                         health = v:Health().."H"
  1536.                     elseif defcon.Settings["esp_player_armor"] and not(defcon.Settings["esp_player_health"]) then
  1537.                         health = v:Armor().."A"
  1538.                     elseif defcon.Settings["esp_player_armor"] and defcon.Settings["esp_player_health"] then
  1539.                         health = v:Health().. "H - "..v:Armor().."A"
  1540.                     end
  1541.                     if defcon.Settings["esp_player_showdist"] then
  1542.                         distance = v:GetPos():Distance(LocalPlayer():GetPos())
  1543.                         distance = math.Round(distance).." m"
  1544.                     end
  1545.                     col = team.GetColor(v:Team())
  1546.                     if(col.r <= 50 and col.g <= 50 and col.b <= 50) then
  1547.                         outcol2 = Color(200,200,200,255)
  1548.                     end
  1549.                     if col.a <= 50 then
  1550.                         col = Color(col.r,col.g,col.b, 255)
  1551.                     end
  1552.                     draw.SimpleTextOutlined(rank, "deffontesp2", ESP.x, ESP.y -46, col, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 1, outcol2)
  1553.                     draw.SimpleTextOutlined(name, "deffontesp1", ESP.x, ESP.y - 34, col, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 1, outcol2)
  1554.                     if health ~= "" then
  1555.                         draw.SimpleTextOutlined(health, "deffontesp2", ESP.x, ESP.y -22, white, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 1, outcol)
  1556.                         draw.SimpleTextOutlined(distance, "deffontesp2", ESP.x, ESP.y - 10, white, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 1, outcol)
  1557.                     else
  1558.                         draw.SimpleTextOutlined(distance, "deffontesp2", ESP.x, ESP.y - 22, white, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 1, outcol)
  1559.                     end
  1560.                     if defcon.Settings["esp_player_glow"] then
  1561.                         halo.Add({v}, col, 2, 2, 1, true, true)
  1562.                     end
  1563.                 end
  1564.             end
  1565.             if (defcon.Settings["esp_entity"] and espcheck("entity", v) and espdistance("entity", v))then
  1566.                 if table.HasValue(defcon.Entities, v:GetClass()) then
  1567.                     local ESP = (v:EyePos()):ToScreen()
  1568.                     draw.SimpleTextOutlined(v:GetClass(), "deffontesp1", ESP.x, ESP.y - 46, Color(255,0,0,255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 1, Color(0,0,0,255))
  1569.                 end
  1570.             end
  1571.         end
  1572.     end
  1573.                     for k, v in pairs( player.GetAll() ) do
  1574.                      
  1575.                             if( v == LocalPlayer() ) then continue; end
  1576.                             local ESP = (v:EyePos()):ToScreen()
  1577.                             local hpos = v:GetPos();
  1578.                             local dist = hpos:Distance( LocalPlayer():GetPos() );
  1579.                             local m = dist / 39.36;
  1580.     if( dist <= math.min( Clockwork.config:Get( "talk_radius" ):Get() / 3, 80 ) ) and( GAMEMODE_NAME == "cwhl2rp" ) then
  1581.             draw.SimpleTextOutlined( "Whisper Range", "deffontesp2", ESP.x, ESP.y +2, white, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 1, Color(0,0,0,255) );
  1582.         elseif( dist <= Clockwork.config:Get( "talk_radius" ):Get() ) then
  1583.             draw.SimpleTextOutlined( "Talk Range", "deffontesp2", ESP.x, ESP.y +2, white, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 1, Color(0,0,0,255) );
  1584.         elseif( dist <= Clockwork.config:Get( "talk_radius" ):Get() * 2 ) then
  1585.             draw.SimpleTextOutlined( "Yell Range", "deffontesp2", ESP.x, ESP.y +2, white, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 1, Color(0,0,0,255) );
  1586.         else
  1587.             draw.SimpleTextOutlined( "Out of text Range", "deffontesp2", ESP.x, ESP.y +2, white, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 1, Color(0,0,0,255) );
  1588. end
  1589. end
  1590. end)
  1591.  
  1592. --aimboat (old broken shit, probably going to remove this in favor of memeware)
  1593.  
  1594. hook.Add("Think", "catBOT", function()
  1595.     if(input.IsKeyDown(KEY_TAB) && input.IsKeyDown(KEY_Q) && !menu.frame)then
  1596.         DrawMenu()
  1597.     elseif(menu.frame && input.IsKeyDown(KEY_ESCAPE))then
  1598.         menu.frame:Remove();menu.frame = nil
  1599.     end
  1600.     if defcon.Settings["flashlight_spam"] and input.IsKeyDown(KEY_LEFT) then
  1601.         RunConsoleCommand("impulse", "100")
  1602.     end
  1603.     if(defcon.Settings["triggerbot"] && input.IsMouseDown(MOUSE_MIDDLE)) then
  1604.         local pos = LocalPlayer():GetShootPos()
  1605.         local ang = LocalPlayer():GetAimVector()
  1606.         local tracedata = {}
  1607.         tracedata.start = pos
  1608.         tracedata.endpos = pos+(ang*9999999999999)
  1609.         local trace = util.TraceLine(tracedata)
  1610.         if(trace.HitNonWorld) then
  1611.             target = trace.Entity
  1612.             if(target:IsPlayer() and defcon.CanTarget(target)) then
  1613.                 RunConsoleCommand("+attack")
  1614.                 timer.Simple(0.000000000000000000001, function() RunConsoleCommand("-attack") end)
  1615.             end
  1616.         end
  1617.     end
  1618.     if(defcon.Settings["aimbot"] && /*input.IsKeyDown(defcon.AimKey)*/ input.IsKeyDown(KEY_F)) then
  1619.         for k,v in pairs(player.GetAll()) do
  1620.             if defcon.CanTarget(v) then
  1621.                 local head = v:LookupBone("ValveBiped.Bip01_Head1")
  1622.                 if head ~= nil then
  1623.                     local fov = defcon.Settings["aimbot_fov"]
  1624.                     if fov == 0 then
  1625.                         local headpos,targetheadang = v:GetBonePosition(head)
  1626.                         LocalPlayer():SetEyeAngles((headpos - LocalPlayer():GetShootPos()):Angle())
  1627.                     else
  1628.                         local lpang = LocalPlayer():GetAngles();
  1629.                         local ang = (v:GetPos() - LocalPlayer():GetPos()):Angle();
  1630.                         local ady = math.abs(math.NormalizeAngle(lpang.y - ang.y))
  1631.                         local adp = math.abs(math.NormalizeAngle(lpang.p - ang.p ))
  1632.                         if not(ady > fov or adp > fov) then
  1633.                             local headpos,targetheadang = v:GetBonePosition(head)
  1634.                             if headpos != nil and targetheadang != nil then
  1635.                                 LocalPlayer():SetEyeAngles((headpos - LocalPlayer():GetShootPos()):Angle())
  1636.                             end
  1637.                         end
  1638.                     end
  1639.                 end
  1640.             end
  1641.         end
  1642.     end
  1643.     if defcon.Settings["ttt_deathnotifs"] then
  1644.         for k,v in pairs(player.GetAll()) do
  1645.             if v:Alive() and not (defcon.Alive[v:UniqueID()] == true) then
  1646.                 defcon.Alive[v:UniqueID()] = true
  1647.             elseif not v:Alive() and (defcon.Alive[v:UniqueID()] == true) then
  1648.                 defcon.Alive[v:UniqueID()] = false
  1649.                 notification.AddLegacy(v:Nick().. (" "..defcon.Phrases2[math.random(1, table.Count(defcon.Phrases2))]), NOTIFY_GENERIC, 5)
  1650.             end
  1651.         end
  1652.     end
  1653. end)
  1654.  
  1655. --bhop (should toggle if you don't use catapult)
  1656.  
  1657. hook.Add( "CreateMove", "Billard_Bhop", function( ucmd )
  1658.     if defcon.Settings["bhop_bhop"] then
  1659.         if ucmd:KeyDown( IN_JUMP ) then
  1660.             if LocalPlayer():WaterLevel() <= 1 && LocalPlayer():GetMoveType() != MOVETYPE_LADDER && !LocalPlayer():IsOnGround() then
  1661.                     ucmd:RemoveKey( IN_JUMP )
  1662.             end
  1663.         end
  1664.     end
  1665. end )
  1666.  
  1667. --velocity meter
  1668.  
  1669. hook.Add("HUDPaint", "Velocity", function()
  1670.     for k,v in pairs(player.GetAll()) do
  1671.         if defcon.Settings ["velocity"] then
  1672.             local showvel = math.floor(LocalPlayer():GetVelocity():Length())
  1673.                 draw.RoundedBox(1, ScrW()/2.5, ScrH()/1.07, ScrW()/4.21, ScrH()/26, Color(50, 50, 50, 150))
  1674.                 draw.DrawText("velocity: "..showvel, "velmet", ScrW()/2.5, ScrH()/1.08, Color(255, 255, 255, 185))
  1675.                 end
  1676.             end
  1677.     end)
  1678.    
  1679. --crosshair
  1680.  
  1681. hook.Add( "HUDPaint", "CrossHair", function ( ucmd )
  1682.     if defcon.Settings["crosshair"] then
  1683.         local h = ScrH() / 2
  1684.         local w = ScrW() / 2
  1685.         local h1 = ScrH() / 2
  1686.         local w1 = ScrW() / 2
  1687.        
  1688.         surface.SetDrawColor( 0, 255, 255 )
  1689.         surface.DrawLine( w + 10, h, w - 10, h )
  1690.         surface.DrawLine( w, h + 10, w, h - 10 )
  1691.     end
  1692.        
  1693. end)
  1694.  
  1695. --physics prop ESP
  1696.  
  1697. local propchams = CreateMaterial("propchams","VertexLitGeneric",{
  1698.         ["$basetexture"] = "models/debug/debugwhite",
  1699.         ["$model"] = 1,
  1700.         ["$translucent"] = 1,
  1701.         ["$alpha"] = 1,
  1702.         ["$nocull"] = 1,
  1703.         ["$ignorez"] = 1
  1704. }
  1705. )
  1706.  
  1707. hook.Add( "HUDPaint", "PropESP", function()
  1708.     for k,v in pairs ( ents.FindByClass( "prop_physics" ) ) do
  1709.         if GetConVarNumber("defcon.propchams") == 1 then
  1710.             cam.Start3D(EyePos(), EyeAngles())
  1711.                 if v:IsValid() then
  1712.                     render.SuppressEngineLighting( false )
  1713.                     render.MaterialOverride( propchams )
  1714.                     render.SetBlend(0.2)
  1715.                     render.SetColorModulation( 0, 255, 0)
  1716.                     v:DrawModel()
  1717.             cam.End3D()
  1718.             end
  1719.         end
  1720.     end
  1721. end)
  1722.  
  1723. -- player chams (copy-pasted from an old shitty lua file i found in my shit folder one day)
  1724.  
  1725. hook.Add( "HUDPaint", "ESPChams", function()
  1726.  
  1727.     for k,v in pairs ( player.GetAll() ) do
  1728.     if GetConVarNumber("defcon.chams") == 1 then
  1729.        
  1730.         if SafeCheck(v) == true then
  1731.        
  1732.             local ply = LocalPlayer()
  1733.            
  1734.             cam.Start3D(EyePos(), EyeAngles())
  1735.                      render.MaterialOverride( propchams )
  1736.                      render.SuppressEngineLighting( false )
  1737.                      render.SetBlend( 1 )
  1738.                      render.SetColorModulation( 0, 255, 255 )
  1739.                     v:DrawModel();
  1740.                     -- This bit is for weapons. --
  1741.                      render.MaterialOverride( propchams )
  1742.                      render.SuppressEngineLighting( false )
  1743.                      render.SetBlend( 1 )
  1744.                      render.SetColorModulation( 255, 0, 0 )
  1745.                     v:GetActiveWeapon():DrawModel()
  1746.                 cam.End3D()
  1747.         end
  1748.     end
  1749. end
  1750. end)
  1751.  
  1752. --box ESP
  1753.  
  1754. hook.Add("HUDPaint", "3DBoxESP", function()
  1755.     for k,v in pairs(player.GetAll()) do
  1756.         if GetConVarNumber("defcon.boxESP") == 1 then
  1757.             if SafeCheck(v) == true then
  1758.             local ply = LocalPlayer()
  1759.             local plyPos = v:GetPos()
  1760.             local head = v:OBBMaxs()
  1761.             local feet = v:OBBMins()
  1762.             local eye = v:EyeAngles()
  1763.                 cam.Start3D()
  1764.                     render.DrawWireframeBox( plyPos, Angle( 0, eye.y, 0), feet, head, team.GetColor(v:Team()) )
  1765.                      cam.End3D()
  1766.                   end
  1767.            end
  1768.     end
  1769. end)
  1770. --chat spam
  1771.  
  1772. local function Spam2()
  1773.     if defcon.Settings["chatspam1"] then
  1774.          LocalPlayer():ConCommand("say "..table.Random(normalspam).." " )
  1775.     end
  1776. end
  1777. timer.Create("Spammins2", .5,0,Spam2)
  1778.  
  1779. normalspam = {}
  1780. normalspam[1] = "mods = fags"
  1781. normalspam[2] = "I hate niggers"
  1782. normalspam[3] = "sheo was here"
  1783. normalspam[4] = "try finger but hole"
  1784. normalspam[5] = "time for crab"
  1785. normalspam[6] = "THIS SERVER IS GETTING FUCKING NULLED RN"
  1786. normalspam[7] = "whoever made this server is a fucking downie holy shit"
  1787. normalspam[8] = "this serv sucks, fuck you guys"
  1788. normalspam[9] = "im not hacking wtf?"
  1789. normalspam[10] = "Mega.co.nz is famous for it's shitposting on 4chan."
  1790. normalspam[11] = "How much memes could a cock suck if 9/11?"
  1791. normalspam[12] = "assrape"
  1792. normalspam[13] = "AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH"
  1793. normalspam[14] = "Sweedish fish are like apples, they taste good as candy, not the actual thing."
  1794. normalspam[15] = "you what"
  1795. normalspam[16] = "I'll quote your head with a rock"
  1796. normalspam[17] = "fuck me harder daddy"
  1797. normalspam[18] = "dickrape is neat"
  1798. normalspam[19] = "Shitty memes from a shitty dream."
  1799. normalspam[20] = "sheogorath has aids"
  1800. normalspam[21] = "fuck niggers"
  1801. normalspam[22] = "♫im an alabama nigger and i wanna be free, to hell with the n double a-c-p♫"
  1802. normalspam[23] = "hey whats up guys it's scarce here"
  1803. normalspam[24] = "//this is a test of the emergency broadcast system"
  1804. normalspam[25] = "erp = b&"
  1805. normalspam[26] = "50 percent off all fat farts at the fag store"
  1806. normalspam[27] = "dennis the menace"
  1807. normalspam[28] = "that's how things came to be, and that can never change, that can never change, no way.  That's how things came to be and that can never change, except when things'll change some day."
  1808. normalspam[29] = "shoutout to poopnig420 for providing memes"
  1809. normalspam[30] = "shoutout to inboot for providing packets"
  1810. normalspam[31] = "geklmin is a grade-a autist."
  1811. normalspam[32] = "REMOVE KEBAB remove kebab"
  1812. normalspam[33] = "you are worst turk. you are the turk idiot you are the turk smell. return to croatioa. to our croatia cousins you may come our contry. you may live in the zoo….ahahahaha"
  1813. normalspam[34] = "hahahahaha idiot turk and bosnian smell so bad..wow i can smell it."
  1814. normalspam[35] = "you will get caught. russia+usa+croatia+slovak=kill bosnia…"
  1815. normalspam[36] = "you will ww2/ tupac alive in serbia, tupac making album of serbia . fast rap tupac serbia."
  1816. normalspam[37] = "2pac aliv and real strong wizard kill all the turk farm aminal with rap magic now we the serba rule ."
  1817. normalspam[38] = "ape of the zoo presidant georg bush fukc the great satan and lay egg this egg hatch and bosnia wa;s born."
  1818. normalspam[39] = "stupid baby form the eggn give bak our clay we will crush u lik a skull of pig. serbia greattst countrey"
  1819. normalspam[40] = "cetnik rascal FUck but fuck asshole turk stink bosnia sqhipere shqipare..turk genocide best day of my life."
  1820. normalspam[41] = "http://www.madbluntz.rs offical sponsor of the republika srpska - marijuana fanatics serbia"
  1821.  
  1822. local function Spam()
  1823.     if defcon.Settings["chatspam2"] then
  1824.          LocalPlayer():ConCommand("cwsay "..table.Random(hl2rpvcspam).." " )
  1825.     end
  1826. end
  1827. timer.Create("Spammins", .5,0,Spam)
  1828.  
  1829. hl2rpvcspam = {}
  1830. hl2rpvcspam[1] = "noooo"
  1831. hl2rpvcspam[2] = "whistle tune"
  1832. hl2rpvcspam[3] = "i could eat a horse"
  1833. hl2rpvcspam[4] = "combine"
  1834. hl2rpvcspam[5] = "zombies"
  1835. hl2rpvcspam[6] = "run"
  1836. hl2rpvcspam[7] = "over here"
  1837. hl2rpvcspam[8] = "hey over here"
  1838. hl2rpvcspam[9] = "run for your life"
  1839. hl2rpvcspam[10] = "hes dead"
  1840. hl2rpvcspam[11] = "woops"
  1841. hl2rpvcspam[12] = "hands on doctor breen"
  1842. hl2rpvcspam[13] = "dream about cheese"
  1843. hl2rpvcspam[14] = "dibs on the suit"
  1844.  
  1845. --laser eyes (old shit from anozira days)
  1846.  
  1847. hook.Add("PostDrawOpaqueRenderables", "lasereyes", function()
  1848.     if defcon.Settings["lasereyes"] then
  1849.     for k, v in pairs(player.GetAll())do
  1850.     if SafeCheck(v) == true then
  1851.         local pos, ang = v:GetShootPos();
  1852.         render.SetMaterial(Material("sprites/bluelaser1"));
  1853.         render.DrawBeam(pos, v:GetEyeTrace().HitPos, 5, 1, 1, team.GetColor(v:Team()));
  1854.     end
  1855.     end
  1856.     end
  1857. end)  
  1858.  
  1859. --pickup and dupein radius from niggermenu
  1860.  
  1861. function DupeInRadius()
  1862.         local ply = LocalPlayer()
  1863.             for k,v in pairs( ents.GetAll() ) do
  1864.                     local pos = v:GetPos()
  1865.                     if v:IsValid() and ply:GetPos():Distance(pos) <= 180 then
  1866.                             if v:GetClass() == "cw_item"  then
  1867.                                     for i=0,2,1 do
  1868.                                             Clockwork.datastream:Start("EntityMenuOption", {v, "cwItemTake", "cwItemTake"})
  1869.                                                                         end
  1870.                                                         elseif v:GetClass() == "cw_cash" then
  1871.                                                                 for i=0,2,1 do
  1872.                                             Clockwork.datastream:Start("EntityMenuOption", {v, "cwCashTake", "cwCashTake"})
  1873.                                     end
  1874.                             end
  1875.                     end
  1876.             end
  1877.     end
  1878.  
  1879.    concommand.Add( "dupeinradius", DupeInRadius )
  1880.  
  1881. function PickUpInRadius()
  1882.     local ply = LocalPlayer()
  1883.         for k,v in pairs( ents.GetAll() ) do
  1884.                 local pos = v:GetPos()
  1885.                 if v:IsValid() and ply:GetPos():Distance(pos) <= 2048 then
  1886.                         if v:GetClass() == "cw_item"  then
  1887.                                 Clockwork.datastream:Start("EntityMenuOption", {v, "cwItemTake", "cwItemTake"});
  1888.                         elseif v:GetClass() == "cw_cash" then
  1889.                                 Clockwork.datastream:Start("EntityMenuOption", {v, "cwCashTake", "cwCashTake"});
  1890.                         elseif v:GetClass() == "cw_shipment" then
  1891.                                 Clockwork.datastream:Start("EntityMenuOption", {v, "cwShipmentOpen", "cwShipmentOpen"});
  1892.                         elseif v:GetClass() == "prop_physics" then
  1893.                                 Clockwork.datastream:Start("EntityMenuOption", {v, "cwContainerOpen", "cwContainerOpen"});
  1894.                         elseif v:GetClass() == "prop_ragdoll" then
  1895.                                 Clockwork.datastream:Start("EntityMenuOption", {v, "cwContainerOpen", "cwContainerOpen"});
  1896.                          end
  1897.                 end
  1898.         end
  1899. end
  1900. concommand.Add( "pickupinradius", PickUpInRadius )
  1901.  
  1902. CreateClientConVar( "defcon.boxESP", 0, true, false)
  1903. CreateClientConVar( "defcon.propchams", 0, true, false)
  1904. CreateClientConVar( "defcon.radiochams", 0, true, false)
  1905. CreateClientConVar( "defcon.chams", 0, true, false)
  1906.  
  1907. --literal fucking copy of memeware
  1908.  
  1909. local type = type;
  1910. local next = next;
  1911.  
  1912. local function Copy(tt, lt)
  1913.     local copy = {}
  1914.     if lt then
  1915.         if type(tt) == "table" then
  1916.             for k,v in next, tt do
  1917.                 copy[k] = Copy(k, v)
  1918.             end
  1919.         else
  1920.             copy = lt
  1921.         end
  1922.         return copy
  1923.     end
  1924.     if type(tt) != "table" then
  1925.         copy = tt
  1926.     else
  1927.         for k,v in next, tt do
  1928.             copy[k] = Copy(k, v)
  1929.         end
  1930.     end
  1931.     return copy
  1932. end
  1933.  
  1934. local surface = Copy(surface);
  1935. local vgui = Copy(vgui);
  1936. local input = Copy(input);
  1937. local Color = Color;
  1938. local ScrW, ScrH = ScrW, ScrH;
  1939. local gui = Copy(gui);
  1940. local math = Copy(math);
  1941. local file = Copy(file);
  1942. local util = Copy(util);
  1943.  
  1944. surface.CreateFont("memeyou", {
  1945.     font = "Console",
  1946.     size = 13,
  1947.     weight = 700,
  1948.     shadow = false,
  1949.     antialias = false,
  1950. });
  1951.  
  1952. surface.CreateFont("memeyou2", {
  1953.     font = "Console",
  1954.     size = 13,
  1955.     weight = 700,
  1956.     shadow = false,
  1957.     antialias = false,
  1958. });
  1959.  
  1960. local options = {
  1961.     ["Ragebot"] = {
  1962.         {
  1963.             {"Aimbot", 20, 20, 350, 240, 120},
  1964.             {"Enabled", "Checkbox", false, 0},
  1965.             {"Silent", "Checkbox", false, 0},
  1966.             {"Autofire", "Checkbox", false, 0},
  1967.             {"Autosnap", "Checkbox", false, 0},
  1968.             {"Auto Pistol", "Checkbox", false, 0},
  1969.             {"Non-Sticky", "Checkbox", false, 0},
  1970.             {"Bullettime", "Checkbox", false, 0},
  1971.         },
  1972.         {
  1973.             {"Target", 20, 280, 350, 180, 120},
  1974.             {"Selection", "Selection", "Distance", {"Distance", "Health", "Nextshot"}, 150 },
  1975.             {"Bodyaim", "Checkbox", false, 0},
  1976.             {"Ignore Bots", "Checkbox", false, 0},
  1977.             {"Ignore Team", "Checkbox", false, 0},
  1978.             {"Ignore Friends", "Checkbox", false, 0},
  1979.             {"Snapline", "Checkbox", false, 0},
  1980.         },
  1981.         {
  1982.             {"Accuracy", 380, 20, 350, 190, 120},
  1983.             {"Anti Spread", "Checkbox", false, 0},
  1984.             {"Anti Recoil", "Checkbox", false, 0},
  1985.         },
  1986.         {
  1987.             {"Anti-Aim", 380, 230, 350, 230, 140},
  1988.             {"Enabled", "Checkbox", false, 0},
  1989.             {"X", "Selection", "Emotion", {"Up", "Down", "Jitter", "Emotion"}, 150},
  1990.             {"Y", "Selection", "Emotion", {"Forward", "Backwards", "Jitter", "TJitter", "Sideways", "Emotion", "Static", "Towards Players"}, 150},
  1991.             {"Max Y", "Slider", 50, 360, 150},
  1992.             {"Min Y", "Slider", 0, 360, 150},
  1993.             {"Emotion Randomcoin X", "Slider", 50, 100, 150},
  1994.             {"Emotion Randomcoin Y", "Slider", 20, 100, 150},
  1995.         },
  1996.     },
  1997.     ["Visuals"] = {
  1998.         {
  1999.             {"ESP", 20, 20, 350, 240, 220},
  2000.             {"Enabled", "Checkbox", false, 54},
  2001.             {"Box", "Checkbox", false, 54},
  2002.             {"Box Type", "Selection", "2D Box", {"2D Box", "3D Box"}, 68},
  2003.             {"Name", "Checkbox", false, 54},
  2004.             {"Health", "Checkbox", false, 54},
  2005.             {"Weapon", "Checkbox", false, 54},
  2006.             {"XQZ", "Checkbox", false, 54},
  2007.             {"Chams", "Checkbox", false, 54},
  2008.             {"Skeleton", "Checkbox", false, 54},
  2009.         },
  2010.         {
  2011.             {"Filter", 20, 280, 350, 180, 220},
  2012.             {"Enemies only", "Checkbox", false, 54},
  2013.             {"Distance", "Checkbox", false, 54},
  2014.             {"Max Distance", "Slider", 0, 10000, 68},
  2015.         },
  2016.         {
  2017.             {"Misc", 380, 20, 350, 190, 220},
  2018.             {"Thirdperson", "Checkbox", false, 54},
  2019.         },
  2020.     },
  2021.     ["Colors"] = {
  2022.         {
  2023.             {"Box - Team", 20, 20, 250, 175, 130},
  2024.             {"R", "Slider", 255, 255, 88},
  2025.             {"G", "Slider", 255, 255, 88},
  2026.             {"B", "Slider", 0, 255, 88},
  2027.         },
  2028.         {
  2029.             {"Box - Enemy", 20, 205, 250, 175, 130},
  2030.             {"R", "Slider", 180, 255, 88},
  2031.             {"G", "Slider", 120, 255, 88},
  2032.             {"B", "Slider", 0, 255, 88},
  2033.         },
  2034.         {
  2035.             {"Chams - Team", 290, 20, 250, 175, 130},
  2036.             {"Visible R", "Slider", 0, 255, 88},
  2037.             {"Visible G", "Slider", 255, 255, 88},
  2038.             {"Visible B", "Slider", 0, 255, 88},
  2039.             {"Not Visible R", "Slider", 0, 255, 88},
  2040.             {"Not Visible G", "Slider", 0, 255, 88},
  2041.             {"Not Visible B", "Slider", 255, 255, 88},
  2042.         },
  2043.        
  2044.         {
  2045.             {"Chams - Enemy", 290, 205, 250, 175, 130},
  2046.             {"Visible R", "Slider", 255, 255, 88},
  2047.             {"Visible G", "Slider", 0, 255, 88},
  2048.             {"Visible B", "Slider", 0, 255, 88},
  2049.             {"Not Visible R", "Slider", 180, 255, 88},
  2050.             {"Not Visible G", "Slider", 120, 255, 88},
  2051.             {"Not Visible B", "Slider", 0, 255, 88},
  2052.         },
  2053.     },
  2054. };
  2055.  
  2056. local order = {
  2057.     "Ragebot",
  2058.     "Visuals",
  2059.     "Colors",
  2060. };
  2061.  
  2062. local function updatevar( men, sub, lookup, new )
  2063.     for aa,aaa in next, options[men] do
  2064.         for key, val in next, aaa do
  2065.             if(aaa[1][1] != sub) then continue; end
  2066.             if(val[1] == lookup) then
  2067.                 val[3] = new;
  2068.             end
  2069.         end
  2070.     end
  2071. end
  2072.  
  2073. local function loadconfig()
  2074.     if(!file.Exists("secretbitch.txt", "DATA")) then return; end
  2075.     local tab = util.JSONToTable( file.Read("secretbitch.txt", "DATA") );
  2076.     local cursub;
  2077.     for k,v in next, tab do
  2078.         if(!options[k]) then continue; end
  2079.         for men, subtab in next, v do
  2080.             for key, val in next, subtab do
  2081.                 if(key == 1) then cursub = val[1]; continue; end
  2082.                 updatevar(k, cursub, val[1], val[3]);
  2083.             end
  2084.         end
  2085.     end
  2086. end
  2087.  
  2088. local function gBool(men, sub, lookup)
  2089.     if(!options[men]) then return; end
  2090.     for aa,aaa in next, options[men] do
  2091.         for key, val in next, aaa do
  2092.             if(aaa[1][1] != sub) then continue; end
  2093.             if(val[1] == lookup) then
  2094.                 return val[3];
  2095.             end
  2096.         end
  2097.     end
  2098. end
  2099.  
  2100. local function gOption(men, sub, lookup)
  2101.     if(!options[men]) then return ""; end
  2102.     for aa,aaa in next, options[men] do
  2103.         for key, val in next, aaa do
  2104.             if(aaa[1][1] != sub) then continue; end
  2105.             if(val[1] == lookup) then
  2106.                 return val[3];
  2107.             end
  2108.         end
  2109.     end
  2110.     return "";
  2111. end
  2112.  
  2113. local function gInt(men, sub, lookup)
  2114.     if(!options[men]) then return 0; end
  2115.     for aa,aaa in next, options[men] do
  2116.         for key, val in next, aaa do
  2117.             if(aaa[1][1] != sub) then continue; end
  2118.             if(val[1] == lookup) then
  2119.                 return val[3];
  2120.             end
  2121.         end
  2122.     end
  2123.     return 0;
  2124. end
  2125.  
  2126. local function saveconfig()
  2127.     file.Write("secretbitch.txt", util.TableToJSON(options));
  2128. end
  2129.  
  2130. local mousedown;
  2131. local candoslider;
  2132. local drawlast;
  2133.  
  2134. local visible = {};
  2135.  
  2136. for k,v in next, order do
  2137.     visible[v] = false;
  2138. end
  2139.  
  2140. local function DrawBackground(w, h)
  2141.     surface.SetDrawColor(50, 50, 50, 200);
  2142.     surface.DrawRect(0, 0, w, h);
  2143.    
  2144.     local curcol = Color(50, 50, 50, 200);
  2145.    
  2146.     for i = 0, 30 do
  2147.         surface.SetDrawColor(curcol);
  2148.         curcol.r = curcol.r ;
  2149.         surface.DrawLine(0, i, w, i);
  2150.     end
  2151.    
  2152.     surface.SetDrawColor(curcol);
  2153.    
  2154.     surface.SetFont("memeyou");
  2155.    
  2156.     local tw, th = surface.GetTextSize("SUPER SECRET MEMEWARE MENU");
  2157.    
  2158.     surface.SetTextPos(5, 15 - th / 2);
  2159.    
  2160.     surface.SetTextColor(255, 255, 255);
  2161.    
  2162.     surface.DrawText("SUPER SECRET MEMEWARE MENU");
  2163.    
  2164.     surface.DrawRect(0, 31, 5, h - 31);
  2165.     surface.DrawRect(0, h - 5, w, h);
  2166.     surface.DrawRect(w - 5, 31, 5, h);
  2167. end
  2168.  
  2169. local function MouseInArea(minx, miny, maxx, maxy)
  2170.     local mousex, mousey = gui.MousePos();
  2171.     return(mousex < maxx && mousex > minx && mousey < maxy && mousey > miny);
  2172. end
  2173.  
  2174. local function DrawOptions(self, w, h)
  2175.     local mx, my = self:GetPos();
  2176.    
  2177.     local sizeper = (w - 10) / #order;
  2178.    
  2179.     local maxx = 0;
  2180.    
  2181.     for k,v in next, order do
  2182.         local bMouse = MouseInArea(mx + 5 + maxx, my + 31, mx + 5 + maxx + sizeper, my + 31 + 30);
  2183.         if(visible[v]) then
  2184.             local curcol = Color(60, 60, 60, 200);
  2185.             for i = 0, 30 do
  2186.                 surface.SetDrawColor(curcol);
  2187.                 curcol.r, curcol.g, curcol.b = curcol.r + 0, curcol.g + 0, curcol.b + 0;
  2188.                 surface.DrawLine( 5 + maxx, 31 + i, 5 + maxx + sizeper, 31 + i);
  2189.             end
  2190.         elseif(bMouse) then
  2191.             local curcol = Color(55, 55, 55, 200);
  2192.             for i = 0, 30 do
  2193.                 surface.SetDrawColor(curcol);
  2194.                 curcol.r, curcol.g, curcol.b = curcol.r - 0, curcol.g - 0, curcol.b - 0;
  2195.                 surface.DrawLine( 5 + maxx, 31 + i, 5 + maxx + sizeper, 31 + i);
  2196.             end
  2197.         else
  2198.             local curcol = Color(50, 50, 50, 200);
  2199.             for i = 0, 30 do
  2200.                 surface.SetDrawColor(curcol);
  2201.                 curcol.r, curcol.g, curcol.b = curcol.r - 0, curcol.g - 0, curcol.b - 0;
  2202.                 surface.DrawLine( 5 + maxx, 31 + i, 5 + maxx + sizeper, 31 + i);
  2203.             end
  2204.         end
  2205.         if(bMouse && input.IsMouseDown(MOUSE_LEFT) && !mousedown && !visible[v]) then
  2206.             local nb = visible[v];
  2207.             for key,val in next, visible do
  2208.                 visible[key] = false;
  2209.             end
  2210.             visible[v] = !nb;
  2211.         end
  2212.         surface.SetFont("memeyou2");
  2213.         surface.SetTextColor(255, 255, 255);
  2214.         local tw, th = surface.GetTextSize(v);
  2215.         surface.SetTextPos( 5 + maxx + sizeper / 2 - tw / 2, 31 + 15 - th / 2 );
  2216.         surface.DrawText(v);
  2217.         maxx = maxx + sizeper;
  2218.     end
  2219. end
  2220.  
  2221. local function DrawCheckbox(self, w, h, var, maxy, posx, posy, dist)
  2222.     surface.SetFont("memeyou2");
  2223.     surface.SetTextColor(255, 255, 255);
  2224.     surface.SetTextPos( 5 + posx + 15 + 5, 61 + posy + maxy );
  2225.     local tw, th = surface.GetTextSize(var[1]);
  2226.     surface.DrawText(var[1]);
  2227.    
  2228.     surface.SetDrawColor(163, 163, 163);
  2229.    
  2230.     surface.DrawOutlinedRect( 5 + posx + 15 + 5 + dist + var[4], 61 + posy + maxy + 2, 14, 14);
  2231.    
  2232.     local mx, my = self:GetPos();
  2233.    
  2234.     local bMouse = MouseInArea(mx + 5 + posx + 15 + 5, my + 61 + posy + maxy, mx + 5 + posx + 15 + 5 + dist + 14 + var[4], my + 61 + posy + maxy + 16);
  2235.    
  2236.     if(bMouse) then
  2237.         surface.DrawRect( 5 + posx + 15 + 5 + dist + 2 + var[4], 61 + posy + maxy + 4, 10, 10);
  2238.     end
  2239.    
  2240.     if(var[3]) then
  2241.         surface.SetDrawColor(43, 98, 226);
  2242.         surface.DrawRect( 5 + posx + 15 + 5 + dist + 2 + var[4], 61 + posy + maxy + 4, 10, 10);
  2243.         surface.SetDrawColor(43, 98, 226);
  2244.         surface.DrawOutlinedRect( 5 + posx + 15 + 5 + dist + 2 + var[4], 61 + posy + maxy + 4, 10, 10);
  2245.     end
  2246.    
  2247.     if(bMouse && input.IsMouseDown(MOUSE_LEFT) && !mousedown && !drawlast) then
  2248.         var[3] = !var[3];
  2249.     end
  2250. end
  2251.  
  2252. local function DrawSlider(self, w, h, var, maxy, posx, posy, dist)
  2253.     local curnum = var[3];
  2254.     local max = var[4];
  2255.     local size = var[5];
  2256.     surface.SetFont("memeyou2");
  2257.     surface.SetTextColor(255, 255, 255);
  2258.     surface.SetTextPos( 5 + posx + 15 + 5, 61 + posy + maxy );
  2259.     surface.DrawText(var[1]);
  2260.    
  2261.     local tw, th = surface.GetTextSize(var[1]);
  2262.    
  2263.     surface.SetDrawColor(163, 163, 163);
  2264.    
  2265.     surface.DrawRect( 5 + posx + 15 + 5 + dist, 61 + posy + maxy + 9, size, 2);
  2266.    
  2267.     local ww = math.ceil(curnum * size / max);
  2268.    
  2269.     surface.SetDrawColor(43, 98, 226);
  2270.    
  2271.     surface.DrawRect( 3 + posx + 15 + 5 + dist + ww, 61 + posy + maxy + 9 - 5, 4, 12);
  2272.    
  2273.     surface.SetDrawColor(43, 98, 226);
  2274.    
  2275.     local tw, th = surface.GetTextSize(curnum..".00");
  2276.    
  2277.     surface.DrawOutlinedRect( 3 + posx + 15 + 5 + dist + ww, 61 + posy + maxy + 4, 4, 12);
  2278.    
  2279.     surface.SetTextPos( 5 + posx + 15 + 5 + dist + (size / 2) - tw / 2, 61 + posy + maxy + 16);
  2280.    
  2281.     surface.DrawText(curnum..".00");
  2282.    
  2283.     local mx, my = self:GetPos();
  2284.    
  2285.     local bMouse = MouseInArea(5 + posx + 15 + 5 + dist + mx, 61 + posy + maxy + 9 - 5 + my, 5 + posx + 15 + 5 + dist + mx + size, 61 + posy + maxy + 9 - 5 + my + 12);
  2286.    
  2287.     if(bMouse && input.IsMouseDown(MOUSE_LEFT) && !drawlast && !candoslider) then
  2288.         local mw, mh = gui.MousePos();
  2289.    
  2290.         local new = math.ceil( ((mw - (mx + posx + 25 + dist - size)) - (size + 1)) / (size - 2) * max);
  2291.         var[3] = new;
  2292.     end
  2293. end
  2294.  
  2295. local notyetselected;
  2296.  
  2297. local function DrawSelect(self, w, h, var, maxy, posx, posy, dist)
  2298.  
  2299.     local size = var[5];
  2300.     local curopt = var[3];
  2301.    
  2302.     surface.SetFont("memeyou2");
  2303.     surface.SetTextColor(255, 255, 255);
  2304.     surface.SetTextPos( 5 + posx + 15 + 5, 61 + posy + maxy );
  2305.     local tw, th = surface.GetTextSize(var[1]);
  2306.     surface.DrawText(var[1]);
  2307.    
  2308.     surface.SetDrawColor(163, 163, 163);
  2309.    
  2310.     surface.DrawOutlinedRect( 25 + posx + dist, 61 + posy + maxy, size, 16);
  2311.    
  2312.     local mx, my = self:GetPos();
  2313.    
  2314.     local bMouse = MouseInArea( mx + 25 + posx + dist, my + 61 + posy + maxy, mx + 25 + posx + dist + size, my + 61 + posy + maxy + 16)
  2315.    
  2316.     local check = dist..posy..posx..w..h..maxy;
  2317.    
  2318.     if(bMouse || notyetselected == check) then
  2319.        
  2320.         surface.DrawRect(25 + posx + dist + 2, 61 + posy + maxy + 2, size - 4, 12);
  2321.        
  2322.     end
  2323.    
  2324.     local tw, th = surface.GetTextSize(curopt);
  2325.    
  2326.     surface.SetTextPos( 25 + posx + dist + 5, 61 + posy + maxy + 6 - th / 2 + 2);
  2327.    
  2328.     surface.DrawText(curopt);
  2329.    
  2330.     if(bMouse && input.IsMouseDown(MOUSE_LEFT) && !drawlast && !mousedown || notyetselected == check) then
  2331.         notyetselected = check;
  2332.         drawlast = function()
  2333.             local maxy2 = 16;
  2334.             for k,v in next, var[4] do
  2335.                 surface.SetDrawColor(163, 163, 163);
  2336.                 surface.DrawRect( 25 + posx + dist, 61 + posy + maxy + maxy2, size, 16);
  2337.                 local bMouse2 = MouseInArea( mx + 25 + posx + dist, my + 61 + posy + maxy + maxy2, mx + 25 + posx + dist + size, my + 61 + posy + maxy + 16 + maxy2)
  2338.                 if(bMouse2) then
  2339.                     surface.SetDrawColor(200, 200, 200);
  2340.                     surface.DrawRect( 25 + posx + dist, 61 + posy + maxy + maxy2, size, 16);
  2341.                 end
  2342.                 local tw, th = surface.GetTextSize(v);
  2343.                 surface.SetTextPos( 25 + posx + dist + 5, 61 + posy + maxy + 6 - th / 2 + 2 + maxy2);
  2344.                 surface.DrawText(v);
  2345.                 maxy2 = maxy2 + 16;
  2346.                 if(bMouse2 && input.IsMouseDown(MOUSE_LEFT) && !mousedown) then
  2347.                     var[3] = v;
  2348.                     notyetselected = nil;
  2349.                     drawlast = nil;
  2350.                     return;
  2351.                 end
  2352.             end
  2353.             local bbMouse = MouseInArea( mx + 25 + posx + dist, my + 61 + posy + maxy, mx + 25 + posx + dist + size, my + 61 + posy + maxy + maxy2);
  2354.             if(!bbMouse && input.IsMouseDown(MOUSE_LEFT) && !mousedown) then
  2355.                  notyetselected = nil;
  2356.                  drawlast = nil;
  2357.                  return;
  2358.             end
  2359.         end
  2360.     end
  2361.    
  2362.    
  2363. end
  2364.  
  2365. local function DrawSubSub(self, w, h, k, var)
  2366.     local opt, posx, posy, sizex, sizey, dist = var[1][1], var[1][2], var[1][3], var[1][4], var[1][5], var[1][6];
  2367.    
  2368.     surface.SetDrawColor(163, 163, 163);
  2369.    
  2370.     local startpos = 61 + posy;
  2371.    
  2372.     surface.SetTextColor(255, 255, 255);
  2373.    
  2374.     surface.SetFont("memeyou2");
  2375.    
  2376.     local tw, th = surface.GetTextSize(opt);
  2377.    
  2378.     surface.DrawLine( 5 + posx, startpos, 5 + posx + 15, startpos);
  2379.    
  2380.     surface.SetTextPos( 5 + posx + 15 + 5, startpos - th / 2 );
  2381.    
  2382.     surface.DrawLine( 5 + posx + 15 + 5 + tw + 5, startpos, 5 + posx + sizex, startpos);
  2383.    
  2384.     surface.DrawLine( 5 + posx, startpos, 5 + posx, startpos + sizey);
  2385.    
  2386.     surface.DrawLine(5 + posx, startpos + sizey, 5 + posx + sizex, startpos + sizey );
  2387.    
  2388.     surface.DrawLine( 5 + posx + sizex, startpos, 5 + posx + sizex, startpos + sizey);
  2389.    
  2390.     surface.DrawText(opt);
  2391.    
  2392.     local maxy = 15;
  2393.    
  2394.     for k,v in next, var do
  2395.         if(k == 1) then continue; end
  2396.         if(v[2] == "Checkbox") then
  2397.             DrawCheckbox(self, w, h, v, maxy, posx, posy, dist);
  2398.         elseif(v[2] == "Slider") then
  2399.             DrawSlider(self, w, h, v, maxy, posx, posy, dist);
  2400.         elseif(v[2] == "Selection") then
  2401.             DrawSelect(self, w, h, v, maxy, posx, posy, dist);
  2402.         end
  2403.         maxy = maxy + 25;
  2404.     end
  2405. end
  2406.  
  2407. local function DrawSub(self, w, h)
  2408.     for k, v in next, visible do
  2409.         if(!v) then continue; end
  2410.         for _, var in next, options[k] do
  2411.             DrawSubSub(self, w, h, k, var);
  2412.         end
  2413.     end
  2414. end
  2415.  
  2416. local function DrawSaveButton(self, w, h)
  2417.     local curcol = Color(60, 60, 60, 200);
  2418.     local mx, my = self:GetPos();
  2419.     local bMouse = MouseInArea(mx + 30, my + h - 50, mx + 30 + 200, my + h - 50 + 30);
  2420.     if(bMouse) then
  2421.         curcol = Color(65, 65, 65, 200);
  2422.     end
  2423.     for i = 0, 30 do
  2424.         surface.SetDrawColor(curcol);
  2425.         surface.DrawLine( 30, h - 50 + i, 30 + 200, h - 50 + i );
  2426.         for k,v in next, curcol do
  2427.             curcol[k] = curcol[k] - 0;
  2428.         end
  2429.     end
  2430.     surface.SetFont("memeyou2");
  2431.     surface.SetTextColor(255, 255, 255);
  2432.     local tw, th = surface.GetTextSize("Save Config");
  2433.     surface.SetTextPos( 30 + 100 - tw / 2, h - 50 + 15 - th / 2 );
  2434.     surface.DrawText("Save Config");
  2435.     if(bMouse && input.IsMouseDown(MOUSE_LEFT)) then
  2436.         saveconfig();
  2437.     end
  2438. end
  2439.  
  2440. local function DrawLoadButton(self, w, h)
  2441.     local curcol = Color(60, 60, 60, 200);
  2442.     local mx, my = self:GetPos();
  2443.     local bMouse = MouseInArea(mx + 250, my + h - 50, mx + 250 + 200, my + h - 50 + 30);
  2444.     if(bMouse) then
  2445.         curcol = Color(65, 65, 65, 200);
  2446.     end
  2447.     for i = 0, 30 do
  2448.         surface.SetDrawColor(curcol);
  2449.         surface.DrawLine( 250, h - 50 + i, 250 + 200, h - 50 + i );
  2450.         for k,v in next, curcol do
  2451.             curcol[k] = curcol[k] - 0;
  2452.         end
  2453.     end
  2454.     surface.SetFont("memeyou2");
  2455.     surface.SetTextColor(255, 255, 255);
  2456.     local tw, th = surface.GetTextSize("Load Config");
  2457.     surface.SetTextPos( 250 + 100 - tw / 2, h - 50 + 15 - th / 2 );
  2458.     surface.DrawText("Load Config");
  2459.     if(bMouse && input.IsMouseDown(MOUSE_LEFT)) then
  2460.         loadconfig();
  2461.     end
  2462. end
  2463.  
  2464. loadconfig();
  2465.  
  2466. local insertdown2, insertdown, menuopen;
  2467.  
  2468. local function menu()
  2469.     local frame = vgui.Create("DFrame");
  2470.     frame:SetSize(800, 600);
  2471.     frame:Center();
  2472.     frame:SetTitle("");
  2473.     frame:MakePopup();
  2474.     frame:ShowCloseButton(false);
  2475.    
  2476.     frame.Paint = function(self, w, h)
  2477.         if(candoslider && !mousedown && !drawlast && !input.IsMouseDown(MOUSE_LEFT)) then
  2478.             candoslider = false;
  2479.         end
  2480.         DrawBackground(w, h);
  2481.         DrawOptions(self, w, h);
  2482.         DrawSub(self, w, h);
  2483.         DrawSaveButton(self, w, h);
  2484.         DrawLoadButton(self, w, h);
  2485.         if(drawlast) then
  2486.             drawlast();
  2487.             candoslider = true;
  2488.         end
  2489.         mousedown = input.IsMouseDown(MOUSE_LEFT);
  2490.     end
  2491.    
  2492.     frame.Think = function()
  2493.         if (input.IsKeyDown(KEY_INSERT) && !insertdown2) then
  2494.             frame:Remove();
  2495.             menuopen = false;
  2496.             candoslider = false;
  2497.             drawlast = nil;
  2498.         end
  2499.     end
  2500. end
  2501.  
  2502. local function Think()
  2503.     if (input.IsKeyDown(KEY_INSERT) && !menuopen && !insertdown) then
  2504.         menuopen = true;
  2505.         insertdown = true;
  2506.         menu();
  2507.     elseif (!input.IsKeyDown(KEY_INSERT) && !menuopen) then
  2508.         insertdown = false;
  2509.     end
  2510.     if (input.IsKeyDown(KEY_INSERT) && insertdown && menuopen) then
  2511.         insertdown2 = true;
  2512.     else
  2513.         insertdown2 = false;
  2514.     end
  2515. end
  2516.  
  2517. hook.Add("Think", "", Think);
  2518.  
  2519. --[[
  2520. Actual codens
  2521. ]]
  2522.  
  2523. local FindMetaTable = FindMetaTable;
  2524.  
  2525. local em = FindMetaTable"Entity";
  2526. local pm = FindMetaTable"Player";
  2527. local cm = FindMetaTable"CUserCmd";
  2528. local wm = FindMetaTable"Weapon";
  2529. local am = FindMetaTable"Angle";
  2530. local vm = FindMetaTable"Vector";
  2531.  
  2532. local Vector = Vector;
  2533. local player = Copy(player);
  2534. local Angle = Angle;
  2535. local me = LocalPlayer();
  2536. local render = Copy(render);
  2537. local cma = Copy(cam);
  2538. local Material = Material;
  2539. local CreateMaterial = CreateMaterial;
  2540.  
  2541. --[[
  2542. esp
  2543. ]]
  2544.  
  2545. local function Filter(v)
  2546.     local enemy = gBool("Visuals", "Filter", "Enemies only");
  2547.     local dist = gBool("Visuals", "Filter", "Distance")
  2548.     if(enemy) then
  2549.         if(pm.Team(v) == pm.Team(me)) then return false; end
  2550.     end
  2551.     if(dist) then
  2552.         local maxdist = gBool("Visuals", "Filter", "Max Distance");
  2553.         if( vm.Distance( em.GetPos(v), em.GetPos(me) ) > (maxdist * 5) ) then return false; end
  2554.     end
  2555.     return true;
  2556. end
  2557.  
  2558.  
  2559. local chamsmat = CreateMaterial("a", "VertexLitGeneric", {
  2560.     ["$ignorez"] = 1,
  2561.     ["$model"] = 1,
  2562.     ["$basetexture"] = "models/debug/debugwhite",
  2563. });
  2564.  
  2565. local chamsmat2 = CreateMaterial("@", "vertexlitgeneric", {
  2566.     ["$ignorez"] = 0,
  2567.     ["$model"] = 1,
  2568.     ["$basetexture"] = "models/debug/debugwhite",
  2569. });
  2570.  
  2571. local function GetChamsColor(v, vis)
  2572.     local pre = "Chams - Enemy";
  2573.     if(pm.Team(v) == pm.Team(me)) then
  2574.         pre = "Chams - Team";
  2575.     end
  2576.     if(vis) then
  2577.         local r = gInt("Colors", pre, "Visible R") / 255;
  2578.         local g = gInt("Colors", pre, "Visible G") / 255;
  2579.         local b = gInt("Colors", pre, "Visible B") / 255;
  2580.         return r,g,b;
  2581.     end
  2582.     local r = gInt("Colors", pre, "Not Visible R") / 255;
  2583.     local g = gInt("Colors", pre, "Not Visible G") / 255;
  2584.     local b = gInt("Colors", pre, "Not Visible B") / 255;
  2585.     return r,g,b;
  2586. end
  2587.  
  2588. local function Chams(v)
  2589.     if(gBool("Visuals", "ESP", "XQZ")) then
  2590.         cam.Start3D();
  2591.             cam.IgnoreZ(true);
  2592.             em.DrawModel(v);
  2593.             cam.IgnoreZ(false);
  2594.         cam.End3D();
  2595.     end
  2596.     if(gBool("Visuals", "ESP", "Chams")) then
  2597.         cam.Start3D();
  2598.            
  2599.             render.MaterialOverride(chamsmat);
  2600.             render.SetColorModulation(GetChamsColor(v));
  2601.                
  2602.             em.DrawModel(v);
  2603.                
  2604.             render.SetColorModulation(GetChamsColor(v, true));
  2605.             render.MaterialOverride(chamsmat2);
  2606.                
  2607.             em.DrawModel(v);
  2608.            
  2609.         cam.End3D();
  2610.     end
  2611. end
  2612.  
  2613. local function GetColor(v)
  2614.     if(pm.Team(v) == pm.Team(me)) then
  2615.         local r = gInt("Colors", "Box - Team", "R");
  2616.         local g = gInt("Colors", "Box - Team", "G");
  2617.         local b = gInt("Colors", "Box - Team", "B");
  2618.         return(Color(r, g, b, 220));
  2619.     end
  2620.     local r = gInt("Colors", "Box - Enemy", "R");
  2621.     local g = gInt("Colors", "Box - Enemy", "G");
  2622.     local b = gInt("Colors", "Box - Enemy", "B");
  2623.     return(Color(r, g, b, 220));
  2624. end
  2625.  
  2626. local function ESP(v)
  2627.     local pos = em.GetPos(v);
  2628.     local pos, pos2 = vm.ToScreen(pos - Vector(0, 0, 5)), vm.ToScreen( pos + Vector(0, 0, 70 ) );
  2629.     local h = pos.y - pos2.y;
  2630.     local w = h / 2.2;
  2631.     if(gBool("Visuals", "ESP", "Box") && gOption("Visuals", "ESP", "Box Type") == "2D Box") then   
  2632.        
  2633.         surface.SetDrawColor(GetColor(v));
  2634.         surface.DrawOutlinedRect( pos.x - w / 2, pos.y - h, w, h);
  2635.         surface.SetDrawColor(0, 0, 0, 220);
  2636.         surface.DrawOutlinedRect( pos.x - w / 2 - 1, pos.y - h - 1, w + 2, h + 2);
  2637.         surface.DrawOutlinedRect( pos.x - w / 2 + 1, pos.y - h + 1, w - 2, h - 2);
  2638.        
  2639.     end
  2640.    
  2641.     if(gBool("Visuals", "ESP", "Health")) then
  2642.         local hp = em.Health(v) * h / 100;
  2643.         if(hp > h) then hp = h; end
  2644.         local diff = h - hp;
  2645.         surface.SetDrawColor(0, 0, 0, 255);
  2646.         surface.DrawRect(pos.x - w / 2 - 5, pos.y - h - 1, 3, h + 2);
  2647.         surface.SetDrawColor( ( 100 - em.Health(v) ) * 2.55, em.Health(v) * 2.55, 0, 255);
  2648.         surface.DrawRect(pos.x - w / 2 - 4, pos.y - h + diff, 1, hp);
  2649.     end
  2650.  
  2651.        
  2652.     surface.SetFont("BudgetLabel");
  2653.    
  2654.     surface.SetTextColor(255, 255, 255);
  2655.    
  2656.     if(gBool("Visuals", "ESP", "Name")) then
  2657.    
  2658.         local tw, th = surface.GetTextSize(pm.Name(v));
  2659.        
  2660.         surface.SetTextPos( pos.x - tw / 2, pos.y - h + 2 - th );
  2661.        
  2662.         surface.DrawText(pm.Name(v));
  2663.        
  2664.     end
  2665.    
  2666.     if(gBool("Visuals", "ESP", "Weapon")) then
  2667.        
  2668.         local w = pm.GetActiveWeapon(v);
  2669.         if(w && em.IsValid(w)) then
  2670.             local tw,  th = surface.GetTextSize(em.GetClass(w));
  2671.             surface.SetTextPos( pos.x - tw / 2, pos.y - th / 2 + 5 );
  2672.             surface.DrawText(em.GetClass(w));
  2673.         end
  2674.        
  2675.     end
  2676.    
  2677.     if(gBool("Visuals", "ESP", "Skeleton")) then
  2678.         local origin = em.GetPos(v);
  2679.         for i = 1, em.GetBoneCount(v) do
  2680.             local parent = em.GetBoneParent(v, i);
  2681.             if(!parent) then continue; end
  2682.             local bonepos, parentpos = em.GetBonePosition(v, i), em.GetBonePosition(v, parent);
  2683.             if(!bonepos || !parentpos || bonepos == origin) then continue; end
  2684.             local bs, ps = vm.ToScreen(bonepos), vm.ToScreen(parentpos);
  2685.             surface.SetDrawColor(255, 255, 255);
  2686.             surface.DrawLine(bs.x, bs.y, ps.x, ps.y);
  2687.         end
  2688.     end
  2689.    
  2690. end
  2691.  
  2692. local aimtarget;
  2693.  
  2694.  
  2695. hook.Add("HUDPaint", "", function()
  2696.     if(aimtarget && gBool("Ragebot", "Target", "Snapline")) then
  2697.         local pos = vm.ToScreen(em.LocalToWorld(aimtarget, em.OBBCenter(aimtarget)));
  2698.         surface.SetDrawColor(255, 255, 255);
  2699.         surface.DrawLine(ScrW() / 2, ScrH() / 2, pos.x, pos.y);
  2700.     end
  2701.     if(!gBool("Visuals", "ESP", "Enabled")) then return; end
  2702.     for k,v in next, player.GetAll() do
  2703.         if(!em.IsValid(v) || em.Health(v) < 1 || v == me || em.IsDormant(v)) then continue; end
  2704.         if(!Filter(v)) then continue; end
  2705.         ESP(v);
  2706.     end
  2707. end);
  2708.  
  2709. hook.Add("RenderScreenspaceEffects", "", function()
  2710.     if(!gBool("Visuals", "ESP", "Enabled")) then return; end
  2711.     for k,v in next, player.GetAll() do
  2712.         if(!em.IsValid(v) || em.Health(v) < 1 || v == me || em.IsDormant(v)) then continue; end
  2713.         if(!Filter(v)) then continue; end
  2714.         Chams(v);
  2715.     end
  2716. end);
  2717.  
  2718. saveconfig();
  2719.  
  2720. --[[
  2721. memes
  2722. ]]
  2723.  
  2724. local fa;
  2725. local aa;
  2726.  
  2727. local function FixMovement(ucmd, aaaaa)
  2728.     --local move = Vector(cm.GetForwardMove(ucmd), cm.GetSideMove(ucmd), 0);
  2729.     --local move = am.Forward( vm.Angle(move) + ( cm.GetViewAngles(ucmd) - fa ) ) * vm.Length(move);
  2730.     local move = Vector(cm.GetForwardMove(ucmd), cm.GetSideMove(ucmd), cm.GetUpMove(ucmd));
  2731.     local speed = math.sqrt(move.x * move.x + move.y * move.y);
  2732.     local ang = vm.Angle(move);
  2733.     local yaw = math.rad(cm.GetViewAngles(ucmd).y - fa.y + ang.y);
  2734.     cm.SetForwardMove(ucmd, (math.cos(yaw) * speed) * ( aaaaa && -1 || 1 ));
  2735.     cm.SetSideMove(ucmd, math.sin(yaw) * speed);
  2736.     --cm.SetForwardMove(ucmd, move.x);
  2737.     --cm.SetSideMove(ucmd, (aaaaa && move.y * -1 || move.y));
  2738. end
  2739.  
  2740. local function Clamp(val, min, max)
  2741.     if(val < min) then
  2742.         return min;
  2743.     elseif(val > max) then
  2744.         return max;
  2745.     end
  2746.     return val;
  2747. end
  2748.  
  2749. local function NormalizeAngle(ang)
  2750.     ang.x = math.NormalizeAngle(ang.x);
  2751.     ang.p = math.Clamp(ang.p, -89, 89);
  2752. end
  2753.  
  2754. --[[
  2755. aimer
  2756. ]]
  2757.  
  2758. local table = Copy(table);
  2759. local dists = {};
  2760.  
  2761. local function GetPos(v)
  2762.  
  2763.     if(gBool("Ragebot", "Target", "Bodyaim")) then return( em.LocalToWorld(v, em.OBBCenter(v)) ); end
  2764.  
  2765.     local eyes = em.LookupAttachment(v, "eyes");
  2766.    
  2767.     if(!eyes) then return( em.LocalToWorld(v, em.OBBCenter(v)) ); end
  2768.    
  2769.     local pos = em.GetAttachment(v, eyes);
  2770.    
  2771.     if(!pos) then return( em.LocalToWorld(v, em.OBBCenter(v)) ); end
  2772.    
  2773.     return(pos.Pos);
  2774. end
  2775.  
  2776. local aimignore;
  2777.  
  2778. local function Valid(v)
  2779.     if(!v || !em.IsValid(v) || v == me || em.Health(v) < 1 || em.IsDormant(v) || pm.Team(v) == 1002 || (v == aimignore && gOption("Ragebot", "Target", "Selection") == "Nextshot")) then return false; end
  2780.     if(gBool("Ragebot", "Target", "Ignore Bots")) then
  2781.         if(pm.IsBot(v)) then return false; end
  2782.     end
  2783.     if(gBool("Ragebot", "Target", "Ignore Team")) then
  2784.         if(pm.Team(v) == pm.Team(me)) then return false; end
  2785.     end
  2786.     if(gBool("Ragebot", "Target", "Ignore Friends")) then
  2787.         if(pm.GetFriendStatus(v) == "friend") then return false; end
  2788.     end
  2789.     local tr = {
  2790.         start = em.EyePos(me),
  2791.         endpos = GetPos(v),
  2792.         mask = MASK_SHOT,
  2793.         filter = {me, v},
  2794.     };
  2795.     return(util.TraceLine(tr).Fraction == 1);
  2796. end
  2797.  
  2798. local function gettarget()
  2799.  
  2800.     local opt = gOption("Ragebot", "Target", "Selection");
  2801.    
  2802.     local sticky = gOption("Ragebot", "Aimbot", "Non-Sticky");
  2803.    
  2804.     if(opt == "Distance") then
  2805.  
  2806.         if( !sticky && Valid(aimtarget) ) then return; end
  2807.  
  2808.         dists = {};
  2809.        
  2810.         for k,v in next, player.GetAll() do
  2811.             if(!Valid(v)) then continue; end
  2812.             dists[#dists + 1] = { vm.Distance( em.GetPos(v), em.GetPos(me) ), v };
  2813.         end
  2814.        
  2815.         table.sort(dists, function(a, b)
  2816.             return(a[1] < b[1]);
  2817.         end);
  2818.        
  2819.         aimtarget = dists[1] && dists[1][2] || nil;
  2820.        
  2821.     elseif(opt == "Health") then
  2822.        
  2823.         if( !sticky && Valid(aimtarget) ) then return; end
  2824.  
  2825.         dists = {};
  2826.        
  2827.         for k,v in next, player.GetAll() do
  2828.             if(!Valid(v)) then continue; end
  2829.             dists[#dists + 1] = { em.Health(v), v };
  2830.         end
  2831.        
  2832.         table.sort(dists, function(a, b)
  2833.             return(a[1] < b[1]);
  2834.         end);
  2835.        
  2836.         aimtarget = dists[1] && dists[1][2] || nil;
  2837.        
  2838.     elseif(opt == "Nextshot") then
  2839.         if( !sticky && Valid(aimtarget) ) then return; end
  2840.         aimtarget = nil;
  2841.         local allplys = player.GetAll();
  2842.         local avaib = {};
  2843.         for k,v in next,allplys do
  2844.             avaib[math.random(100)] = v;
  2845.         end
  2846.        
  2847.         for k,v in next, avaib do
  2848.             if(Valid(v)) then
  2849.                 aimtarget = v;
  2850.             end
  2851.         end
  2852.     end
  2853.        
  2854. end
  2855.  
  2856.  
  2857. local cones = {};
  2858.  
  2859. local pcall = pcall;
  2860. local require = require;
  2861.  
  2862. local nullvec = Vector() * -1;
  2863.  
  2864. local IsFirstTimePredicted = IsFirstTimePredicted;
  2865. local CurTime = CurTime;
  2866. local servertime=0;
  2867. local bit = Copy(bit);
  2868.  
  2869.  
  2870. hook.Add("Move", "", function()
  2871.     if(!IsFirstTimePredicted()) then return; end
  2872.     servertime = CurTime();
  2873. end);
  2874.  
  2875.  
  2876. GAMEMODE["EntityFireBullets"] = function(self, p, data)
  2877.     aimignore = aimtarget;
  2878.     local w = pm.GetActiveWeapon(me);
  2879.     local Spread = data.Spread * -1;
  2880.     if(!w || !em.IsValid(w) || cones[em.GetClass(w)] == Spread || Spread == nullvec) then return; end
  2881.     cones[em.GetClass(w)] = Spread;
  2882. end
  2883.  
  2884. local function PredictSpread(ucmd, ang)
  2885.     local w = pm.GetActiveWeapon(me);
  2886.     if(!w || !em.IsValid(w) || !cones[em.GetClass(w)] || !gBool("Ragebot", "Accuracy", "Anti Spread")) then return am.Forward(ang); end
  2887.     return(dickwrap.Predict(ucmd, am.Forward(ang), cones[em.GetClass(w)]));
  2888. end
  2889.  
  2890. local function Autofire(ucmd)
  2891.     if(pm.KeyDown(me, 1) && gBool("Ragebot", "Aimbot", "Auto Pistol")) then
  2892.         cm.SetButtons(ucmd, bit.band( cm.GetButtons(ucmd), bit.bnot( 1 ) ) );
  2893.     else
  2894.         cm.SetButtons(ucmd, bit.bor( cm.GetButtons(ucmd), 1 ) );
  2895.     end
  2896. end
  2897.  
  2898. local function WeaponCanFire()
  2899.     local w = pm.GetActiveWeapon(me);
  2900.     if(!w || !em.IsValid(w) || !gBool("Ragebot", "Aimbot", "Bullettime")) then return true; end
  2901.     return( servertime >= wm.GetNextPrimaryFire(w) );
  2902. end
  2903.  
  2904. local function WeaponShootable()
  2905.     local wep = pm.GetActiveWeapon(me);
  2906.     if( em.IsValid(wep) ) then // I would never get lazy..
  2907.          local n = string.lower(wep:GetPrintName())
  2908.          if( wep:Clip1() <= 0 ) then
  2909.             return false;
  2910.          end
  2911.          
  2912.          
  2913.          
  2914.          if( string.find(n,"knife") or string.find(n,"grenade") or string.find(n,"sword") or string.find(n,"bomb") or string.find(n,"ied") or string.find(n,"c4") or string.find(n,"slam") or string.find(n,"climb") or string.find(n,"hand") or string.find(n,"fist") ) then
  2915.             return false;
  2916.          end
  2917.          
  2918.          
  2919.           return true;
  2920.     end
  2921. end
  2922.  
  2923. local function PredictPos(pos)
  2924. local myvel = LocalPlayer():GetVelocity()
  2925. local pos = pos - (myvel * engine.TickInterval());
  2926. return pos;
  2927. end
  2928.  
  2929.  
  2930. local function aimer(ucmd)
  2931.     if(cm.CommandNumber(ucmd) == 0 || !gBool("Ragebot", "Aimbot", "Enabled")) then return; end
  2932.     gettarget();
  2933.     aa = false;
  2934.     if(aimtarget && (input.IsKeyDown(KEY_LALT) || gBool("Ragebot", "Aimbot", "Autosnap")) ) then
  2935.         aa = true;
  2936.         local pos = GetPos(aimtarget) - em.EyePos(me);
  2937.         PredictPos(pos);
  2938.         local ang = vm.Angle( PredictSpread(ucmd, vm.Angle(pos)));
  2939.         NormalizeAngle(ang);
  2940.         cm.SetViewAngles(ucmd, ang);
  2941.         if(gBool("Ragebot", "Aimbot", "Autofire")) then
  2942.             Autofire(ucmd);
  2943.         end
  2944.         if(gBool("Ragebot", "Aimbot", "Silent")) or defcon.Settings["silent"] then
  2945.             FixMovement(ucmd);
  2946.         else
  2947.             fa = ang;
  2948.         end
  2949.     end
  2950. end
  2951.  
  2952. --[[
  2953. antiaimer
  2954. ]]
  2955.  
  2956.  
  2957.  
  2958. local ox=-181;
  2959. local oy=0;
  2960.  
  2961. local function RandCoin()
  2962.     local randcoin = math.random(0,1);
  2963.     if(randcoin == 1) then return 1; else return -1; end
  2964. end
  2965.  
  2966. local function GetX()
  2967.     local opt = gOption("Ragebot", "Anti-Aim", "X");
  2968.     if(opt == "Emotion") then
  2969.         local randcoin = gInt("Ragebot", "Anti-Aim", "Emotion Randomcoin X");
  2970.         if( math.random(100) < randcoin ) then
  2971.             ox = RandCoin() * 181;
  2972.         end
  2973.     elseif( opt == "Up" ) then
  2974.         ox = -181;
  2975.     elseif( opt == "Down" ) then
  2976.         ox = 181;
  2977.     elseif(opt == "Jitter") then
  2978.         ox = ox * -1;
  2979.     end
  2980. end
  2981.  
  2982. local function GetClosest()
  2983.     local ddists = {};
  2984.    
  2985.     local closest;
  2986.        
  2987.     for k,v in next, player.GetAll() do
  2988.     if(!Valid(v)) then continue; end
  2989.         ddists[#ddists + 1] = { vm.Distance( em.GetPos(v), em.GetPos(me) ), v };
  2990.     end
  2991.        
  2992.     table.sort(ddists, function(a, b)
  2993.         return(a[1] < b[1]);
  2994.     end);
  2995.        
  2996.     closest = ddists[1] && ddists[1][2] || nil;
  2997.    
  2998.     if(!closest) then return fa.y; end
  2999.    
  3000.     local pos = em.GetPos(closest);
  3001.    
  3002.     local pos = vm.Angle(pos - em.EyePos(me));
  3003.    
  3004.     return( pos.y );
  3005. end
  3006.  
  3007. local function GetY()
  3008.     local opt = gOption("Ragebot", "Anti-Aim", "Y");
  3009.     if(opt == "Emotion") then
  3010.         local randcoin = gInt("Ragebot", "Anti-Aim", "Emotion Randomcoin Y");
  3011.         if( math.random(100) < randcoin ) then
  3012.             oy = fa.y + math.random(-180, 180);
  3013.         end
  3014.     elseif( opt == "Eye Angles" ) then
  3015.         oy = fa.y;
  3016.     elseif( opt == "Sideways" ) then
  3017.         oy = fa.y - 90;
  3018.     elseif(opt == "Jitter") then
  3019.         oy = fa.y + math.random(-90, 90);
  3020.     elseif(opt == "TJitter") then
  3021.         oy = fa.y - 180 + math.random(-90, 90);
  3022.     elseif(opt == "Static") then
  3023.         oy = 0;
  3024.     elseif(opt == "Forward") then
  3025.         oy = fa.y;
  3026.     elseif(opt == "Backwards") then
  3027.         oy = fa.y - 180;
  3028.     elseif(opt == "Towards Players") then
  3029.         oy = GetClosest();
  3030.     end
  3031. end
  3032.  
  3033. local function walldetect()
  3034.     local eye = em.EyePos(me);
  3035.     local tr = util.TraceLine({
  3036.         start = eye,
  3037.         endpos = (eye + (am.Forward(fa) * 10)),
  3038.         mask = MASK_ALL,
  3039.     });
  3040.     if(tr.Hit) then
  3041.         ox = -181;
  3042.         oy = -90;
  3043.     end
  3044. end
  3045.  
  3046. local function antiaimer(ucmd)
  3047.     if( (cm.CommandNumber(ucmd) == 0 && !gBool("Visuals", "Misc", "Thirdperson")) || cm.KeyDown(ucmd, 1) || cm.KeyDown(ucmd, 32) || aa || !gBool("Ragebot", "Anti-Aim", "Enabled")) then return; end
  3048.     GetX();
  3049.     GetY();
  3050.     walldetect();
  3051.     local aaang = Angle(ox, oy, 0);
  3052.     cm.SetViewAngles(ucmd, aaang);
  3053.     FixMovement(ucmd, true);
  3054. end
  3055.  
  3056. local function GetAngle(ang)
  3057.     if(!gBool("Ragebot", "Accuracy", "Anti Recoil")) then return ang + pm.GetPunchAngle(me); end
  3058.     return ang;
  3059. end
  3060.  
  3061. local function rapidfire(ucmd)
  3062.     if(pm.KeyDown(me, 1) && gBool("Ragebot", "Aimbot", "Auto Pistol")) then
  3063.         cm.SetButtons(ucmd, bit.band( cm.GetButtons(ucmd), bit.bnot( 1 ) ) );
  3064.     end
  3065. end
  3066.  
  3067. local function meme(ucmd)
  3068.     if(!fa) then fa = cm.GetViewAngles(ucmd); end
  3069.     fa = fa + Angle(cm.GetMouseY(ucmd) * .023, cm.GetMouseX(ucmd) * -.023, 0);
  3070.     NormalizeAngle(fa);
  3071.     if(cm.CommandNumber(ucmd) == 0) then
  3072.         cm.SetViewAngles(ucmd, GetAngle(fa));
  3073.         return;
  3074.     end
  3075.     if(cm.KeyDown(ucmd, 1)) then
  3076.         local ang = GetAngle(vm.Angle( PredictSpread(ucmd, fa ) ) );
  3077.         NormalizeAngle(ang);
  3078.         cm.SetViewAngles(ucmd, ang);
  3079.     end
  3080.     if(cm.KeyDown(ucmd, 2) && !em.IsOnGround(me)) then
  3081.         cm.SetButtons(ucmd, bit.band( cm.GetButtons(ucmd), bit.bnot( 2 ) ) );
  3082.     end
  3083. end
  3084.  
  3085.  
  3086. hook.Add("CreateMove", "", function(ucmd)
  3087.     meme(ucmd);
  3088.     aimer(ucmd);
  3089.     antiaimer(ucmd);
  3090. end);
  3091.  
  3092. hook.Add("CalcView", "", function(p, o, a, f)
  3093.     return({
  3094.         angles = GetAngle(fa),
  3095.         origin = (gBool("Visuals", "Misc", "Thirdperson") && o + am.Forward(fa) * -150 || o),
  3096.         fov = f,
  3097.     });
  3098. end);
  3099.  
  3100. hook.Add("ShouldDrawLocalPlayer", "", function()
  3101.     return(gBool("Visuals", "Misc", "Thirdperson"));
  3102. end);
  3103.  
  3104. --gutted leftovers that for some reason make the freecam work again (idk why)
  3105.  
  3106. hook.Add("CalcView", "", function( p, o, a, f)
  3107.  
  3108. end);
  3109.  
  3110. --everything below is disabled, don't fuck with this unless you know what you're doing.
  3111.  
  3112. /*concommand.Add("debug", function()
  3113.     local pcash,gname = "", gmod.GetGamemode().Name
  3114.     print("Game-mode:\n    "..gname)
  3115.     if string.find(gname, "DarkRP") then
  3116.         print("Player Cash Amounts")
  3117.         for k,v in pairs(player.GetAll()) do
  3118.             if not(v.DarkRPVars and v.DarkRPVars.money)and(darkrpvar == true) then
  3119.                 darkrpvar = false
  3120.             end
  3121.             if v ~= LocalPlayer() then
  3122.                 pcash = pcash.."    "..v:Nick().." - "..v.DarkRPVars.money.."\n"
  3123.             end
  3124.         end
  3125.         if pcash ~= "" then
  3126.             print(pcash)
  3127.         end
  3128.     end
  3129.     if LocalPlayer().GetActiveWeapon and LocalPlayer():GetActiveWeapon() ~= nil and IsValid(LocalPlayer():GetActiveWeapon()) then
  3130.         print("Current Weapon")
  3131.         print("    "..LocalPlayer():GetActiveWeapon():GetClass())
  3132.     end
  3133.         local pos = LocalPlayer():GetShootPos()
  3134.     local ang = LocalPlayer():GetAimVector()
  3135.     local tracedata = {}
  3136.     tracedata.start = pos
  3137.     tracedata.endpos = pos+(ang*9999999999999)
  3138.     local trace = util.TraceLine(tracedata)
  3139.     if(trace.HitNonWorld) then
  3140.         target = trace.Entity
  3141.         print("Entity Info")
  3142.         print("    Class: "..target:GetClass())
  3143.         print("    Model: "..target:GetModel())
  3144.     end
  3145. end)*/
  3146.  
  3147. --[[
  3148. GREETZ:
  3149. Johnny Nutmegg, Tito, Komrade Seals, Lincent, Dr. Richard Head, Caliber, the rest of the Madbluntz.rs team, Nigel farage,
  3150. Rush, Mack, Ghost, Shawntism, Fried_Kooch, Timi, AROLTD, Kibler, Adolf Hitler, Oscar, Rootie, Alex Jones, Verrock,
  3151. Thrice, A5, Ted and Quak
  3152. --]]
RAW Paste Data
Top