daily pastebin goal
16%
SHARE
TWEET

Shitcheat 4.3

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