daily pastebin goal
94%
SHARE
TWEET

Shitcheat 4.4

Caliber_ Jul 30th, 2017 (edited) 136 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.     "used reddit";
  588.     "unjammed an open-bolt weapon";
  589.     "brought snixzz3 to a gmod hvh";
  590.     "tried to use the carthus curved sword in a fight club";
  591.     "unfinished string lol";
  592.     "is dead lol";
  593.     "contracted autism";
  594.     "didn't praise johnny nutmegg";
  595.     "watched an amy schumer comedy special";
  596.     "voted for hillary clinton";
  597.     "supported communism";
  598.     "got boned";
  599.     "got permbanned by spets";
  600.     "tried to break into rcon";
  601.     "drowned";
  602.     "got struck by lightening";
  603.     "was detected by CAC";
  604.     "sat on a dick";
  605.     "got raped anally";
  606.     "followed bob good";
  607.     "tried to ERP with sheo";
  608.     "didn't let someone react to their /me";
  609.     "got blamed for mingery";
  610.     "stole rations";
  611.     "posted their IP on raidforums";
  612.     "smoked bad weed";
  613.     "choked on niggermenu";
  614.     "dedicated his whole life to hl2rp";
  615.     "visited nebulous";
  616.     "didn't subscribe to madbluntz";
  617.     "used snixzz3";
  618.     "tried to run from a cheater";
  619. }
  620. defcon.Keys = {
  621. "KEY_0", "KEY_1", "KEY_2", "KEY_3", "KEY_4", "KEY_5",
  622. "KEY_6", "KEY_7", "KEY_8", "KEY_9", "KEY_A", "KEY_B", "KEY_C",
  623. "KEY_D", "KEY_E", "KEY_F", "KEY_G", "KEY_H", "KEY_I", "KEY_J",
  624. "KEY_K", "KEY_L", "KEY_M", "KEY_N", "KEY_O", "KEY_P", "KEY_Q",
  625. "KEY_R", "KEY_S", "KEY_T", "KEY_U", "KEY_V", "KEY_W", "KEY_X",
  626. "KEY_Y", "KEY_Z", "KEY_PAD_0", "KEY_PAD_1", "KEY_PAD_2", "KEY_PAD_3",
  627. "KEY_PAD_4", "KEY_PAD_5", "KEY_PAD_6", "KEY_PAD_7", "KEY_PAD_8", "KEY_PAD_9",
  628. "KEY_PAD_DIVIDE", "KEY_PAD_MULTIPLY", "KEY_PAD_MINUS", "KEY_PAD_PLUS", "KEY_PAD_ENTER",
  629. "KEY_PAD_DECIMAL", "KEY_LBRACKET", "KEY_RBRACKET", "KEY_SEMICOLON", "KEY_APOSTROPHE",
  630. "KEY_BACKQUOTE", "KEY_COMMA", "KEY_PERIOD", "KEY_SLASH", "KEY_BACKSLASH", "KEY_MINUS",
  631. "KEY_EQUAL", "KEY_ENTER", "KEY_SPACE", "KEY_BACKSPACE", "KEY_TAB", "KEY_CAPSLOCK",
  632. "KEY_NUMLOCK", "KEY_ESCAPE", "KEY_SCROLLLOCK", "KEY_INSERT", "KEY_DELETE", "KEY_HOME",
  633. "KEY_END", "KEY_PAGEUP", "KEY_PAGEDOWN", "KEY_BREAK", "KEY_LSHIFT", "KEY_RSHIFT",
  634. "KEY_LALT", "KEY_RALT", "KEY_LCONTROL", "KEY_RCONTROL", "KEY_LWIN", "KEY_RWIN",
  635. "KEY_APP", "KEY_UP", "KEY_LEFT", "KEY_DOWN", "KEY_RIGHT", "KEY_F1", "KEY_F2",
  636. "KEY_F3", "KEY_F4", "KEY_F5", "KEY_F6", "KEY_F7", "KEY_F8", "KEY_F9",
  637. "KEY_F10", "KEY_F11", "KEY_F12", "KEY_CAPSLOCKTOGGLE", "KEY_NUMLOCKTOGGLE",
  638. "KEY_SCROLLLOCKTOGGLE"
  639. };
  640.  
  641. local function SafeCheck(v)
  642.     if v ~=LocalPlayer() and v:Alive() and v:IsValid() and v:GetActiveWeapon():IsValid() and v:Health() >= 1 then
  643.         return true
  644.     else
  645.         return false
  646.     end
  647. end
  648.  
  649. for k,v in pairs(defcon.Normal) do
  650.     if defcon.Settings[k] == nil then
  651.         defcon.Settings = defcon.Normal
  652.         -- so if you fuck with my shit i fuck with your shit
  653.     end
  654. end
  655.  
  656. -- functions
  657.  
  658. function defcon.Update(x,y,z, ok)
  659.     if x == "setting" then
  660.         defcon.Settings[y] = z
  661.         if ok == true then
  662.             file.Write("d_settings.txt", util.TableToJSON(defcon.Settings))
  663.         end
  664.     elseif x == "entity" then
  665.         file.Write("d_entities.txt", util.TableToJSON(defcon.Entities))
  666.     elseif x == "friend" then
  667.         file.Write("d_whitelist.txt", util.TableToJSON(defcon.Whitelist))
  668.     end
  669. end
  670. function defcon.ESPCheck(typ, v)
  671.     if typ == "player" then
  672.         if v:Alive() && v:Health() >= 1 && v ~= LocalPlayer() /*&& /*LocalPlayer():Alive() &&*/ /*LocalPlayer():Team() ~= TEAM_SPECTATOR*/ then
  673.             return true
  674.         end
  675.     elseif typ == "entity" then
  676.         if IsValid(v) then
  677.             return true
  678.         end
  679.     end
  680.     return false
  681. end
  682. function defcon.ESPDistance(typ, v)
  683.     if typ == "player" then
  684.         if defcon.Settings["esp_player_dist"] >= 16000 then
  685.             return true
  686.         elseif v:GetPos():Distance(LocalPlayer():GetPos()) < (defcon.Settings["esp_player_dist"]) then
  687.             return true
  688.         end
  689.     elseif typ == "entity" then
  690.         if defcon.Settings["esp_entity_dist"] >= 16000 then
  691.             return true
  692.         elseif v:GetPos():Distance(LocalPlayer():GetPos()) < (defcon.Settings["esp_entity_dist"]) then
  693.             return true
  694.         end
  695.     end
  696.     return false
  697. end
  698. function defcon.GetShootPos(ent)
  699.     local eyes = ent:LookupAttachment("eyes");
  700.     if(eyes ~= 0) then
  701.         eyes = ent:GetAttachment(eyes);
  702.         if(eyes and eyes.Pos) then
  703.             return eyes.Pos, eyes.Ang;
  704.         end
  705.     end
  706. end
  707. function defcon.Visible(ent)
  708.     local pos = LocalPlayer():GetShootPos()
  709.     local ang = LocalPlayer():GetAimVector()
  710.     local trace = {start = LocalPlayer():GetShootPos(), endpos = defcon.GetShootPos(ent), filter = {LocalPlayer(), ent}, mask = 1174421507};
  711.     local tr = util.TraceLine(trace);
  712.     return(tr.Fraction == 1);
  713. end
  714. function defcon.Whitelisted(ent)
  715.     if defcon.Whitelist[ent:SteamID()] then return true
  716.     else return false end
  717. end
  718. function defcon.CanTarget(v)
  719.     if v:IsPlayer() then
  720.         if (defcon.Visible(v) and (not defcon.Whitelisted(v)) and v:Alive() and (v:Health() > 0) and v:Team() ~= TEAM_SPECTATOR) then
  721.             if (v ~= LocalPlayer() and LocalPlayer():Alive() and LocalPlayer():Team() ~= TEAM_SPECTATOR) then
  722.                 if not(defcon.Settings["aimbot_friendly_fire"]) then
  723.                     if (v:Team() ~= LocalPlayer():Team()) then
  724.                         return true
  725.                     end
  726.                 else
  727.                     return true
  728.                 end
  729.             end
  730.         end
  731.     end
  732.     return false
  733. end
  734. function defcon.Ents()
  735.     local t = {}
  736.     for k,v in pairs(ents.GetAll()) do
  737.         if IsValid(v) and not(table.HasValue(t, v:GetClass())) then
  738.             table.insert(t, v:GetClass())
  739.         end
  740.     end
  741.     table.sort(t, function(a,b) return a < b end)
  742.    
  743.     return t
  744. end
  745.  
  746. -- fonts
  747.  
  748. surface.CreateFont("deffont", {
  749.     font    =   "impact",
  750.     size    =   64
  751. });
  752.  
  753. surface.CreateFont("deffontesp1", {
  754.     font="TabLarge",
  755.     size=13,
  756.     weight=700
  757. });
  758. surface.CreateFont("deffontesp2", {
  759.     font="TabLarge",
  760.     size=10,
  761.     weight=700
  762. });
  763. surface.CreateFont("fuck", {
  764.     font="Console",
  765.     size=13,
  766.     weight=100
  767. });
  768.  surface.CreateFont("warnign", {
  769.  size = 18,
  770.  weight = 0,
  771.  antialias = false,
  772.  font = "times new roman"
  773.  });
  774.  
  775. -- long vars
  776.  
  777. local menu              = defcon.Menu
  778. local current           = defcon.Current
  779. local alive             = defcon.Alive
  780. local normal            = defcon.Normal
  781. local settings          = defcon.Settings
  782. local entities          = defcon.Entities
  783. local whitelist         = defcon.Whitelist
  784. local phrases           = defcon.Phrases
  785. local espcheck          = defcon.ESPCheck
  786. local espdistance       = defcon.ESPDistance
  787.  
  788. -- menu base
  789.  
  790. local function AddTab(txt, tab, func)
  791.     menu.c = menu.c + 1 -- increase the counter for the amount of tabs
  792.     local panel
  793.     if tab and tab == true then
  794.         panel = vgui.Create("DPanel", menu.frame);
  795.         panel:SetPos(120,25);
  796.         panel:SetSize(376,406);
  797.         if menu.Current == txt then
  798.             panel:SetVisible(true)
  799.         else
  800.             panel:SetVisible(false)
  801.         end
  802.         panel.Paint = function()
  803.             surface.SetDrawColor( 163, 163, 163, 255 )
  804.             surface.DrawOutlinedRect( 0, 0, panel:GetWide() - 1, panel:GetTall() - 1)
  805.             draw.SimpleText(string.upper(txt), "deffont", 10, 5, Color(210, 210, 210, 235), TEXT_ALIGN_LEFT);
  806.         end
  807.     end
  808.     local button = vgui.Create("DButton", menu.buttons);
  809.     button:SetText(txt);
  810.     button:SetSize(80, 20);
  811.     button:SetPos(15, -15+(25*menu.c));
  812.     button:SetTextColor(color_white)
  813.     button.Paint = function(self)
  814.         surface.SetDrawColor(100,100,100,220)
  815.         surface.DrawRect(0, 0,self:GetSize())
  816.         surface.SetDrawColor(0,0,0,0)
  817.         surface.DrawOutlinedRect(0,0,self:GetSize())
  818.     end
  819.     button.DoClick = func or (tab and tab == true and function()
  820.         for k,v in pairs(menu.t) do
  821.             if v ~= panel then
  822.                 v:SetVisible(false)
  823.             end
  824.         end
  825.         panel:SetVisible(true)
  826.         menu.Current = txt
  827.         surface.PlaySound("ambient/levels/canals/drip4.wav");
  828.     end)
  829.     return panel, button;
  830. end
  831.  
  832. --derma bullshit + menu niggering
  833.  
  834. local function AddFeature(id, parent, typ, name, setting, o1, o2)
  835.     if not parent then return end
  836.     if typ == "button" then
  837.         local label = vgui.Create("DLabel", parent)
  838.         label:SetText(name)
  839.         label:SetPos(5,(55+(id*25)))
  840.         label:SizeToContents(false)
  841.         local button = vgui.Create("DButton", parent)
  842.         if defcon.Settings[setting] == true then
  843.             button:SetText("enabled")
  844.         else
  845.             button:SetText("disabled")
  846.         end
  847.         button:SetSize(80,20)
  848.         if not id then
  849.             button:SetPos(285,45)
  850.         else
  851.             button:SetPos(285,(55+(id*25)))
  852.         end
  853.         button.DoClick = function()
  854.             if button:GetText() == "enabled" then
  855.                 button:SetText("disabled"); defcon.Update("setting", setting, false, true)
  856.             else
  857.                 button:SetText("enabled"); defcon.Update("setting", setting, true, true)
  858.             end
  859.         end
  860.         button:SetTextColor(color_white)
  861.         button.Paint = function(self)
  862.             surface.SetDrawColor(100,100,100,220)
  863.             surface.DrawRect(0, 0,self:GetSize())
  864.             surface.SetDrawColor(0,0,0,0)
  865.             surface.DrawOutlinedRect(0,0,self:GetSize())
  866.         end
  867.         return button,label
  868.     elseif typ == "slider" then
  869.         local slider = vgui.Create("DNumSlider", parent)
  870.         slider:SetPos(5, (45+(id*25)))
  871.         slider:SetText(name)
  872.         slider:SetMinMax(o1, o2)
  873.         slider:SetWide(372.5)
  874.         slider:SetDecimals( 0 )
  875.         slider:SetFGColor(255,255,255,255)
  876.         slider:SetBGColor(255,255,255,255)
  877.         slider:SetValue(defcon.Settings[setting])
  878.         slider.OnValueChanged = function(panel, value)
  879.             local c = tonumber(value)
  880.             defcon.Update("setting", setting, math.Round(c), true)
  881.         end
  882.         return slider;
  883.     end
  884.  
  885.     if typ == "label" then
  886.         local label = vgui.Create("DLabel", parent)
  887.         label:SetText(name)
  888.         label:SetPos(5,(55+(id*25)))
  889.         label:SizeToContents(false)
  890.         label:SetFont("warnign")
  891.         label.Paint = function(self)
  892.             label:SetTextColor(Color( 43, 98, 226, 255 ))
  893.             end
  894.        
  895.     return label
  896.     end
  897.         if typ == "label2" then
  898.         local label = vgui.Create("DLabel", parent)
  899.         label:SetText(name)
  900.         label:SetPos(5,(55+(id*25)))
  901.         label:SizeToContents(false)
  902.         label:SetFont("fuck")
  903.         label.Paint = function(self)
  904.             label:SetTextColor(Color( 140, 140, 140, 255 ))
  905.             end
  906.            
  907.     return label2
  908.     end
  909.         if typ == "label3" then
  910.         local label = vgui.Create("DLabel", parent)
  911.         label:SetText(name)
  912.         label:SetPos(5,(55+(id*25)))
  913.         label:SizeToContents(false)
  914.         label:SetFont("warnign")
  915.         label.Paint = function(self)
  916.             label:SetTextColor(Color( 43, 98, 226, 255 ))
  917.             end
  918.        
  919.     return label3
  920. end
  921.     if not parent then return end
  922.     if typ == "canser" then
  923.         local label = vgui.Create("DLabel", parent)
  924.         label:SetText(name)
  925.         label:SetPos(5,(55+(id*25)))
  926.         label:SizeToContents(false)
  927.         local button = vgui.Create("DButton", parent)
  928.         if defcon.Settings[setting] == true then
  929.             button:SetText("enabled")
  930.         else
  931.             button:SetText("disabled")
  932.         end
  933.         button:SetSize(80,20)
  934.         if not id then
  935.             button:SetPos(285,45)
  936.         else
  937.             button:SetPos(285,(55+(id*25)))
  938.         end
  939.         button.DoClick = function()
  940.             if button:GetText() == "enabled" then
  941.                 button:SetText("disabled"); defcon.Update("setting", setting, false, true); RunConsoleCommand "SH_toggle"
  942.             else
  943.                 button:SetText("enabled"); defcon.Update("setting", setting, true, true); RunConsoleCommand "SH_toggle"
  944.             end
  945.         end
  946.         button:SetTextColor(color_white)
  947.         button.Paint = function(self)
  948.             surface.SetDrawColor(100,100,100,220)
  949.             surface.DrawRect(0, 0,self:GetSize())
  950.             surface.SetDrawColor(0,0,0,0)
  951.             surface.DrawOutlinedRect(0,0,self:GetSize())
  952.     end
  953.     end
  954.     if not parent then return end
  955.     if typ == "landsernigger" then
  956.         local label = vgui.Create("DLabel", parent)
  957.         label:SetText(name)
  958.         label:SetPos(5,(55+(id*25)))
  959.         label:SizeToContents(false)
  960.         local button = vgui.Create("DButton", parent)
  961.         if defcon.Settings[setting] == true then
  962.             button:SetText("search")
  963.         else
  964.             button:SetText("search")
  965.         end
  966.         button:SetSize(80,20)
  967.         if not id then
  968.             button:SetPos(285,45)
  969.         else
  970.             button:SetPos(285,(55+(id*25)))
  971.         end
  972.         button.DoClick = function()
  973.             if button:GetText() == "enabled" then
  974.                 button:SetText("search"); defcon.Update("setting", setting, false, true); RunConsoleCommand "pickupinradius"
  975.             else
  976.                 button:SetText("search"); defcon.Update("setting", setting, true, true); RunConsoleCommand "pickupinradius"
  977.             end
  978.         end
  979.         button:SetTextColor(color_white)
  980.         button.Paint = function(self)
  981.             surface.SetDrawColor(100,100,100,220)
  982.             surface.DrawRect(0, 0,self:GetSize())
  983.             surface.SetDrawColor(0,0,0,0)
  984.             surface.DrawOutlinedRect(0,0,self:GetSize())
  985.     end
  986.     end
  987.         if not parent then return end
  988.     if typ == "landsernigger6" then
  989.         local label = vgui.Create("DLabel", parent)
  990.         label:SetText(name)
  991.         label:SetPos(5,(55+(id*25)))
  992.         label:SizeToContents(false)
  993.         local button = vgui.Create("DButton", parent)
  994.         if defcon.Settings[setting] == true then
  995.             button:SetText("enabled")
  996.         else
  997.             button:SetText("disabled")
  998.         end
  999.         button:SetSize(80,20)
  1000.         if not id then
  1001.             button:SetPos(285,45)
  1002.         else
  1003.             button:SetPos(285,(55+(id*25)))
  1004.         end
  1005.         button.DoClick = function()
  1006.             if button:GetText() == "enabled" then
  1007.                 button:SetText("disabled"); defcon.Update("setting", setting, false, true); RunConsoleCommand ("defcon.chams", "0")
  1008.             else
  1009.                 button:SetText("enabled"); defcon.Update("setting", setting, true, true); RunConsoleCommand ("defcon.chams", "1")
  1010.             end
  1011.         end
  1012.         button:SetTextColor(color_white)
  1013.         button.Paint = function(self)
  1014.             surface.SetDrawColor(100,100,100,220)
  1015.             surface.DrawRect(0, 0,self:GetSize())
  1016.             surface.SetDrawColor(0,0,0,0)
  1017.             surface.DrawOutlinedRect(0,0,self:GetSize())
  1018.     end
  1019.     end
  1020.     if not parent then return end
  1021.     if typ == "landsernigger3" then
  1022.         local label = vgui.Create("DLabel", parent)
  1023.         label:SetText(name)
  1024.         label:SetPos(5,(55+(id*25)))
  1025.         label:SizeToContents(false)
  1026.         local button = vgui.Create("DButton", parent)
  1027.         if defcon.Settings[setting] == true then
  1028.             button:SetText("enabled")
  1029.         else
  1030.             button:SetText("disabled")
  1031.         end
  1032.         button:SetSize(80,20)
  1033.         if not id then
  1034.             button:SetPos(285,45)
  1035.         else
  1036.             button:SetPos(285,(55+(id*25)))
  1037.         end
  1038.         button.DoClick = function()
  1039.             if button:GetText() == "enabled" then
  1040.                 button:SetText("disabled"); defcon.Update("setting", setting, false, true); RunConsoleCommand ("defcon.boxESP", "0")
  1041.             else
  1042.                 button:SetText("enabled"); defcon.Update("setting", setting, true, true); RunConsoleCommand ("defcon.boxESP", "1")
  1043.             end
  1044.         end
  1045.         button:SetTextColor(color_white)
  1046.         button.Paint = function(self)
  1047.             surface.SetDrawColor(100,100,100,220)
  1048.             surface.DrawRect(0, 0,self:GetSize())
  1049.             surface.SetDrawColor(0,0,0,0)
  1050.             surface.DrawOutlinedRect(0,0,self:GetSize())
  1051.     end
  1052.     end
  1053.             if not parent then return end
  1054.     if typ == "landsernigger4" then
  1055.         local label = vgui.Create("DLabel", parent)
  1056.         label:SetText(name)
  1057.         label:SetPos(5,(55+(id*25)))
  1058.         label:SizeToContents(false)
  1059.         local button = vgui.Create("DButton", parent)
  1060.         if defcon.Settings[setting] == true then
  1061.             button:SetText("enabled")
  1062.         else
  1063.             button:SetText("disabled")
  1064.         end
  1065.         button:SetSize(80,20)
  1066.         if not id then
  1067.             button:SetPos(285,45)
  1068.         else
  1069.             button:SetPos(285,(55+(id*25)))
  1070.         end
  1071.         button.DoClick = function()
  1072.             if button:GetText() == "enabled" then
  1073.                 button:SetText("disabled"); defcon.Update("setting", setting, false, true); RunConsoleCommand ("defcon.propchams", "0")
  1074.             else
  1075.                 button:SetText("enabled"); defcon.Update("setting", setting, true, true); RunConsoleCommand ("defcon.propchams", "1")
  1076.             end
  1077.         end
  1078.         button:SetTextColor(color_white)
  1079.         button.Paint = function(self)
  1080.             surface.SetDrawColor(100,100,100,220)
  1081.             surface.DrawRect(0, 0,self:GetSize())
  1082.             surface.SetDrawColor(0,0,0,0)
  1083.             surface.DrawOutlinedRect(0,0,self:GetSize())
  1084.     end
  1085.     end
  1086.                 if not parent then return end
  1087.     if typ == "landsernigger5" then
  1088.         local label = vgui.Create("DLabel", parent)
  1089.         label:SetText(name)
  1090.         label:SetPos(5,(55+(id*25)))
  1091.         label:SizeToContents(false)
  1092.         local button = vgui.Create("DButton", parent)
  1093.         if defcon.Settings[setting] == true then
  1094.             button:SetText("enabled")
  1095.         else
  1096.             button:SetText("disabled")
  1097.         end
  1098.         button:SetSize(80,20)
  1099.         if not id then
  1100.             button:SetPos(285,45)
  1101.         else
  1102.             button:SetPos(285,(55+(id*25)))
  1103.         end
  1104.         button.DoClick = function()
  1105.             if button:GetText() == "enabled" then
  1106.                 button:SetText("disabled"); defcon.Update("setting", setting, false, true); RunConsoleCommand ("defcon.radiochams", "0")
  1107.             else
  1108.                 button:SetText("enabled"); defcon.Update("setting", setting, true, true); RunConsoleCommand ("defcon.radiochams", "1")
  1109.             end
  1110.         end
  1111.         button:SetTextColor(color_white)
  1112.         button.Paint = function(self)
  1113.             surface.SetDrawColor(100,100,100,220)
  1114.             surface.DrawRect(0, 0,self:GetSize())
  1115.             surface.SetDrawColor(0,0,0,0)
  1116.             surface.DrawOutlinedRect(0,0,self:GetSize())
  1117.     end
  1118.     end
  1119.     if not parent then return end
  1120.     if typ == "landsernigger2" then
  1121.         local label = vgui.Create("DLabel", parent)
  1122.         label:SetText(name)
  1123.         label:SetPos(5,(55+(id*25)))
  1124.         label:SizeToContents(false)
  1125.         local button = vgui.Create("DButton", parent)
  1126.         if defcon.Settings[setting] == true then
  1127.             button:SetText("dupe")
  1128.         else
  1129.             button:SetText("dupe")
  1130.         end
  1131.         button:SetSize(80,20)
  1132.         if not id then
  1133.             button:SetPos(285,45)
  1134.         else
  1135.             button:SetPos(285,(55+(id*25)))
  1136.         end
  1137.         button.DoClick = function()
  1138.             if button:GetText() == "enabled" then
  1139.                 button:SetText("dupe"); defcon.Update("setting", setting, false, true); RunConsoleCommand "dupeinradius"
  1140.             else
  1141.                 button:SetText("dupe"); defcon.Update("setting", setting, true, true); RunConsoleCommand "dupeinradius"
  1142.             end
  1143.         end
  1144.         button:SetTextColor(color_white)
  1145.         button.Paint = function(self)
  1146.             surface.SetDrawColor(100,100,100,220)
  1147.             surface.DrawRect(0, 0,self:GetSize())
  1148.             surface.SetDrawColor(0,0,0,0)
  1149.             surface.DrawOutlinedRect(0,0,self:GetSize())
  1150.     end
  1151. end
  1152. end
  1153.  
  1154. --menu
  1155.  
  1156. local function AddButton(parent, text, posx, posy, func)
  1157.     local button = vgui.Create("DButton", parent)
  1158.     button:SetText(text)
  1159.     button:SetSize(80,20)
  1160.     button:SetPos(posx,posy)
  1161.     button:SetTextColor(color_white)
  1162.     button.DoClick = func or function() end
  1163.     button.Paint = function(self)
  1164.         surface.SetDrawColor(100,100,100,220)
  1165.         surface.DrawRect(0, 0,self:GetSize())
  1166.         surface.SetDrawColor(163,163,163,0)
  1167.         surface.DrawOutlinedRect(0,0,self:GetSize())
  1168.     end
  1169.     return button
  1170. end
  1171.  
  1172. local function DrawMenu()
  1173.     if(menu.frame) then menu.frame:Remove(); menu.frame = nil; end
  1174.    
  1175.     menu.c = 0
  1176.    
  1177.     menu.frame = vgui.Create("DFrame");
  1178.     menu.frame:SetPos(ScrW()/2-184, ScrH()/2-155);
  1179.     menu.frame:SetSize(500, 435);
  1180.     menu.frame:SetTitle("Shitcheat 4.4 :: "..defcon.Phrases[math.random(1, table.Count(defcon.Phrases))]);
  1181.     menu.frame.Paint = function()
  1182.         surface.SetDrawColor(50,50,50,200)
  1183.         surface.DrawRect(0, 0,menu.frame:GetWide(),menu.frame:GetTall())
  1184.         surface.SetDrawColor(163,163,0,0)
  1185.         surface.DrawOutlinedRect(0,0,menu.frame:GetWide(),menu.frame:GetTall())
  1186.     end
  1187.     menu.frame:SetVisible(true);
  1188.     menu.frame:SetDraggable(true);
  1189.     menu.frame:SetSizable(false);
  1190.     menu.frame:ShowCloseButton(false);
  1191.     menu.frame:SetBackgroundBlur(true)
  1192.     menu.frame:MakePopup();
  1193.    
  1194.     menu.close = vgui.Create("DButton", menu.frame)
  1195.     menu.close:SetFont('marlett')
  1196.     menu.close:SetText('r')
  1197.     menu.close:SetColor(Color(255, 255, 255))
  1198.     menu.close:SetSize(15, 15)
  1199.     menu.close:SetDrawBackground(false)
  1200.     menu.close:SetPos(menu.frame:GetWide() - 20, 5)
  1201.     menu.close.DoClick = function()
  1202.         menu.frame:Remove(); menu.frame = nil;
  1203.     end
  1204.  
  1205.     menu.buttons = vgui.Create("DPanel",menu.frame)
  1206.     menu.buttons:SetPos(5, 25)
  1207.     menu.buttons:SetSize(111,406)
  1208.     menu.buttons:SetVisible(true)
  1209.     menu.buttons.Paint = function()
  1210.         surface.SetDrawColor(163,163,163,255)
  1211.         surface.DrawOutlinedRect(0,0,110,405)
  1212.     end
  1213.  
  1214.     menu.t.def = vgui.Create("DPanel", menu.frame);
  1215.     menu.t.def:SetPos(120,25);
  1216.     menu.t.def:SetSize(376,406);
  1217.     if menu.Current ~= nil then menu.t.def:SetVisible(false) end
  1218.     menu.t.def.Paint = function()
  1219.         surface.SetDrawColor( 163, 163, 163, 255 )
  1220.         surface.DrawOutlinedRect( 0, 0, menu.t.def:GetWide() - 1, menu.t.def:GetTall() - 1)
  1221.     end
  1222.    
  1223.     menu.t.a, menu.b.a      = AddTab("Aimbot",      true)
  1224.     menu.t.p, menu.b.p      = AddTab("Player ESP",  true)
  1225.     menu.t.e, menu.b.e      = AddTab("Entity ESP",  true)
  1226.     menu.t.m, menu.b.m      = AddTab("Misc.",       true)
  1227.     menu.t.f, menu.b.f      = AddTab("Freecam", true)
  1228.     --id, parent  , the type, the text , setting
  1229.     AddFeature(1, menu.t.a, "button", "Enabled (broken after july 2017 update)", "aimbot")
  1230.     AddFeature(2, menu.t.a, "button", "Triggerbot", "triggerbot")
  1231.     AddFeature(3, menu.t.a, "button", "Friendly Fire", "aimbot_friendly_fire")
  1232.     AddFeature(4, menu.t.a, "slider", "FOV", "aimbot_fov", 0, 180)
  1233.     AddFeature(6, menu.t.a, "label2", "The aimbot key is F by default                                                                                                                 ")
  1234.    
  1235.     AddFeature(1, menu.t.p, "button", "Enabled", "esp_player")
  1236.     AddFeature(2, menu.t.p, "button", "Show Name", "esp_player_name")
  1237.     AddFeature(3, menu.t.p, "button", "Show Rank", "esp_player_rank")
  1238.     AddFeature(4, menu.t.p, "button", "Show Health", "esp_player_health")
  1239.     AddFeature(5, menu.t.p, "button", "Show Armor", "esp_player_armor")
  1240.     AddFeature(6, menu.t.p, "button", "Show Distance", "esp_player_showdist")
  1241.     AddFeature(7, menu.t.p, "slider", "Draw Distance", "esp_player_dist", 0, 16000)
  1242.     AddFeature(8, menu.t.p, "button", "Draw Glow Halo", "esp_player_glow")
  1243.     AddFeature(9, menu.t.p, "button", "Laser Eyes", "lasereyes")
  1244.     AddFeature(10,menu.t.p, "landsernigger3", "Draw Hitboxes", "defcon.boxESP")
  1245.     AddFeature(11,menu.t.p, "landsernigger6", "Player Chams", "defcon.chams")
  1246.    
  1247.     AddFeature(1, menu.t.e, "button", "Entity Finder", "esp_entity")
  1248.     AddFeature(2, menu.t.e, "slider", "Draw Distance", "esp_entity_dist", 0, 16000)
  1249.     AddFeature(3, menu.t.e, "landsernigger4", "Physics Prop chams" , "defcon.propchams")
  1250.    
  1251.     AddFeature(1, menu.t.m, "button", "Flashlight Spam [hold leftarrow]", "flashlight_spam")
  1252.     AddFeature(2, menu.t.m, "button", "Bunny hopping [hold space]", "bhop_bhop")
  1253.     AddFeature(3, menu.t.m, "button", "Client side crosshair", "crosshair")
  1254.     AddFeature(4, menu.t.m, "button", "Big velocity meter", "velocity")
  1255.     AddFeature(5, menu.t.m, "button", "Chat spammer 1 [random messages, no vc]", "chatspam1")
  1256.     AddFeature(6, menu.t.m, "button", "Chat spammer 2 [hl2rp vc messages]", "chatspam2")
  1257.     AddFeature(7, menu.t.m, "label3", "You can bind the two scripts under this message to any key                                               ")
  1258.     AddFeature(8, menu.t.m, "label3", "Just type 'bind commandname key', e.g. 'bind +jump m'                                               ")
  1259.     AddFeature(9, menu.t.m, "landsernigger", "Pick up items in radius [Clockwork schemas only]","pickupinradius")
  1260.     AddFeature(10, menu.t.m, "label2", "Console coammand: pickupinradius                                               ")
  1261.     AddFeature(11, menu.t.m, "landsernigger2", "Duplicate items in radius [Clockwork schemas only]", "dupeinradius")
  1262.     AddFeature(12, menu.t.m, "label2", "Console command: dupeinradius                                               ")
  1263.  
  1264.     AddFeature(1, menu.t.f, "canser", "New Freecam", "cl_noclip")
  1265.     AddFeature(2, menu.t.f, "button", "Ghettocam (depricated)", "freecam_side")
  1266.  
  1267.     AddFeature(11, menu.t.f, "label", "NOTICE: entities may not appear when using freecam                                                     ")
  1268.    
  1269.     if string.find(gmod.GetGamemode().Name, "DarkRP") then
  1270.         AddFeature(1, menu.t.g, "button", "God-mode Exploit (Costs in-game $$$)", "darkrp_god")
  1271.     elseif string.find(gmod.GetGamemode().Name, "Trouble in Terrorist Town") then
  1272.         AddFeature(1, menu.t.g, "button", "Display Death Notifications", "ttt_deathnotifs")
  1273.     end
  1274.     local elist
  1275.     local elist2
  1276.     local elistc
  1277.     local elistc2
  1278.     local function makeelist()
  1279.         elist = vgui.Create("DComboBox", menu.t.e)
  1280.         elist:SetPos(10,menu.t.e:GetTall()-43)
  1281.         elist:SetSize(130,20)
  1282.         for k,v in pairs(defcon.Ents()) do
  1283.             if not(defcon.Entities[v]) then
  1284.                 local i = elist:AddChoice(v)
  1285.             end
  1286.         end
  1287.         elist.OnSelect = function(index,value,data)
  1288.             print(data)
  1289.             elist2 = data
  1290.         end
  1291.     end
  1292.     local function makeelistc()
  1293.         elistc = vgui.Create("DComboBox", menu.t.e)
  1294.         elistc:SetPos(235, menu.t.e:GetTall()-43)
  1295.         elistc:SetSize(130,20)
  1296.         for k,v in pairs(defcon.Entities) do
  1297.             local i = elistc:AddChoice(v)
  1298.         end
  1299.         elistc.OnSelect = function(index,value,data)
  1300.             elistc2 = data
  1301.         end
  1302.     end
  1303.     makeelist()
  1304.     makeelistc()
  1305.     AddButton(menu.t.e, "Add Entity", 35, menu.t.e:GetTall()-23, function()
  1306.         if(elist2) then
  1307.             for k,v in pairs(defcon.Ents()) do
  1308.                 if (v == elist2) then
  1309.                     print(v)
  1310.                     table.insert(defcon.Entities, v)
  1311.                     defcon.Update("entity")
  1312.                 end
  1313.             end
  1314.         end
  1315.         makeelist()
  1316.         makeelistc()
  1317.     end)
  1318.     AddButton(menu.t.e, "Remove Entity", 260, menu.t.e:GetTall()-23, function()
  1319.         if(elistc2) then
  1320.             for k,v in pairs(defcon.Entities) do
  1321.                 if (v == elistc2) then
  1322.                     defcon.Entities[k] = nil;
  1323.                     defcon.Update("entity")
  1324.                 end
  1325.             end
  1326.         end
  1327.         makeelist()
  1328.         makeelistc()
  1329.     end)
  1330.     local flist
  1331.     local flist2
  1332.     local flistc
  1333.     local flistc2
  1334.     local function makeflist()
  1335.         flist = vgui.Create("DComboBox", menu.t.a)
  1336.         flist:SetPos(10,menu.t.a:GetTall()-43)
  1337.         flist:SetSize(130,20)
  1338.         for k,v in pairs(player.GetAll()) do
  1339.             if v ~= LocalPlayer() then
  1340.                 if not(defcon.Whitelist[v:SteamID()]) then
  1341.                     local i = flist:AddChoice(v:Nick())
  1342.                 end
  1343.             end
  1344.         end
  1345.         flist.OnSelect = function(index,value,data)
  1346.             print(data)
  1347.             elist2 = data
  1348.         end
  1349.     end
  1350.     local function makeflistc()
  1351.         flistc = vgui.Create("DComboBox", menu.t.a)
  1352.         flistc:SetPos(235, menu.t.a:GetTall()-43)
  1353.         flistc:SetSize(130,20)
  1354.         for k,v in pairs(player.GetAll()) do
  1355.             if v ~= LocalPlayer() then
  1356.                 if defcon.Whitelist[v:SteamID()] then
  1357.                     local i = flistc:AddChoice(v:Nick())
  1358.                 end
  1359.             end
  1360.         end
  1361.         flistc.OnSelect = function(index,value,data)
  1362.             flistc2 = data
  1363.         end
  1364.     end
  1365.     makeflist()
  1366.     makeflistc()
  1367.     AddButton(menu.t.a, "Add Friend", 35, menu.t.a:GetTall()-23, function()
  1368.         if(flist2) then
  1369.             for k,v in pairs(player.GetAll()) do
  1370.                 if (v:Nick() == flist2) then
  1371.                     print(v:Nick())
  1372.                     table.insert(defcon.Whitelist, v:SteamID())
  1373.                     PrintTable(defcon.Whitelist)
  1374.                     defcon.Update("friend")
  1375.                 end
  1376.             end
  1377.         end
  1378.         makeflist()
  1379.         makeflistc()
  1380.     end)
  1381.     AddButton(menu.t.a, "Remove Friend", 260, menu.t.a:GetTall()-23, function()
  1382.         if(flistc2) then
  1383.             for k,v in pairs(defcon.Whitelist) do
  1384.                 if (v:SteamID() == flistc2) then
  1385.                     defcon.Whitelist[k] = nil;
  1386.                     defcon.Update("friend")
  1387.                 end
  1388.             end
  1389.         end
  1390.         makeflist()
  1391.         makeflistc()
  1392.     end)
  1393. end
  1394.  
  1395. --clientside noclip / freecam
  1396.  
  1397. local SH = {}
  1398.  
  1399. SH.Enabled = false
  1400. SH.ViewOrigin = Vector( 0, 0, 0 )
  1401. SH.ViewAngle = Angle( 0, 0, 0 )
  1402. SH.Velocity = Vector( 0, 0, 0 )
  1403. --[[
  1404. hook.Add("CalcView", "", function(p, o, a, f)
  1405.     return({
  1406.         angles = GetAngle(fa),
  1407.         origin = (defcon.Settings["freecam_side"] && o + am.Forward(fa) * -353 || o),
  1408.         fov = f,
  1409.     });
  1410. end);
  1411. --]]
  1412.  
  1413. function SH.CalcView( ply, origin, angles, fov, p, o, a, f )
  1414.     if ( !SH.Enabled ) then return end
  1415.     if ( SH.SetView ) then
  1416.         SH.ViewOrigin = origin
  1417.         SH.ViewAngle = angles
  1418.        
  1419.         SH.SetView = false
  1420.     end
  1421.     return { origin = SH.ViewOrigin, angles = SH.ViewAngle }
  1422. end
  1423. hook.Add( "CalcView", "niggerwalk", SH.CalcView )
  1424.  
  1425. function SH.CreateMove( cmd, ply, origin, angles, fov, p, o, a, f )
  1426.     if ( !SH.Enabled ) then return end
  1427.    
  1428.     local time = FrameTime()
  1429.     SH.ViewOrigin = SH.ViewOrigin + ( SH.Velocity * time)
  1430.     SH.Velocity = SH.Velocity * 0.95
  1431.    
  1432.     local sensitivity = 0.022
  1433.     SH.ViewAngle.p = math.Clamp( SH.ViewAngle.p + ( cmd:GetMouseY() * sensitivity ), -89, 89 )
  1434.     SH.ViewAngle.y = SH.ViewAngle.y + ( cmd:GetMouseX() * -1 * sensitivity )
  1435.    
  1436.     local nig = Vector( 0, 0, 0 )
  1437.     local add = Vector( 0, 0, 0 )
  1438.     local ang = SH.ViewAngle
  1439.     if ( cmd:KeyDown( IN_FORWARD ) ) then add = add + ang:Forward() end
  1440.     if ( cmd:KeyDown( IN_BACK ) ) then add = add - ang:Forward() end
  1441.     if ( cmd:KeyDown( IN_MOVERIGHT ) ) then add = add + ang:Right() end
  1442.     if ( cmd:KeyDown( IN_MOVELEFT ) ) then add = add - ang:Right() end
  1443.     if ( cmd:KeyDown( IN_JUMP ) ) then add = add + ang:Up() end
  1444.     if ( cmd:KeyDown( IN_DUCK ) ) then add = add - ang:Up() end
  1445.    
  1446.     add = add:GetNormal() * time * 500
  1447.     if ( cmd:KeyDown( IN_SPEED ) ) then add = add * 2 end
  1448.    
  1449.     SH.Velocity = SH.Velocity + add
  1450.    
  1451.     if ( SH.LockView == true ) then
  1452.         SH.LockView = cmd:GetViewAngles()
  1453.     end
  1454.     if ( SH.LockView ) then
  1455.         cmd:SetViewAngles( SH.LockView )
  1456.     end
  1457.    
  1458.     cmd:SetForwardMove( 0 )
  1459.     cmd:SetSideMove( 0 )
  1460.     cmd:SetUpMove( 0 )
  1461. end
  1462. hook.Add( "CreateMove", "niggerwalk", SH.CreateMove )
  1463.  
  1464. function SH.Toggle()
  1465.     SH.Enabled = !SH.Enabled
  1466.     SH.LockView = SH.Enabled
  1467.     SH.SetView = true
  1468.    
  1469.     local status = { [ true ] = "enabled", [ false ] = "disabled" }
  1470. end
  1471. concommand.Add( "SH_toggle", SH.Toggle )
  1472.  
  1473. concommand.Add( "SH_pos", function() print( SH.ViewOrigin ) end )
  1474.  
  1475. --old defunct freecam AKA ghettocam
  1476.  
  1477. hook.Add( "ShouldDrawLocalPlayer", "ThirdPersonDrawPlayer", function()
  1478.  
  1479.     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
  1480.  
  1481.         return true
  1482.  
  1483.     end
  1484.  
  1485. end )
  1486. hook.Add( "CalcView", "ThirdPersonView", "", function( ply, pos, angles, fov, p, o, a, f )
  1487.     if defcon.Settings["freecam_below"] then
  1488.         local view = {}
  1489.         view.origin = pos - ( angles:Forward() * -200 ) + ( angles:Right() * 0 ) + ( angles:Up() * -150 )
  1490.         view.angles = ply:EyeAngles() + Angle( 0, 180, 0 )
  1491.         view.fov = fov
  1492.         return GAMEMODE:CalcView( ply, view.origin, view.angles, view.fov )
  1493.     end
  1494.     if defcon.Settings["freecam_below2"] then
  1495.         local view = {}
  1496.         view.origin = pos - ( angles:Forward() * 200 ) + ( angles:Right() * 0 ) + ( angles:Up() * -150 )
  1497.         view.angles = ply:EyeAngles() + Angle( 0, 0, 0 )
  1498.         view.fov = fov
  1499.         return GAMEMODE:CalcView( ply, view.origin, view.angles, view.fov )
  1500.     end
  1501.         if defcon.Settings["freecam_below3"] then
  1502.         local view = {}
  1503.         view.origin = pos - ( angles:Forward() * 200 ) + ( angles:Right() * 0 ) + ( angles:Up() * -650 )
  1504.         view.angles = ply:EyeAngles() + Angle( 0, 0, 0 )
  1505.         view.fov = fov
  1506.         return GAMEMODE:CalcView( ply, view.origin, view.angles, view.fov )
  1507.     end
  1508.         if defcon.Settings["freecam_above"] then
  1509.         local view = {}
  1510.         view.origin = pos - ( angles:Forward() * 200 ) + ( angles:Right() * 0 ) + ( angles:Up() * 150 )
  1511.         view.angles = ply:EyeAngles() + Angle( 0, 0, 0 )
  1512.         view.fov = fov
  1513.         return GAMEMODE:CalcView( ply, view.origin, view.angles, view.fov )
  1514.     end
  1515.         if defcon.Settings["freecam_above2"] then
  1516.         local view = {}
  1517.         view.origin = pos - ( angles:Forward() * -200 ) + ( angles:Right() * 0 ) + ( angles:Up() * 150 )
  1518.         view.angles = ply:EyeAngles() + Angle( 0, 180, 0 )
  1519.         view.fov = fov
  1520.         return GAMEMODE:CalcView( ply, view.origin, view.angles, view.fov )
  1521.     end
  1522.         if defcon.Settings["freecam_above3"] then
  1523.         local view = {}
  1524.         view.origin = pos - ( angles:Forward() * 200 ) + ( angles:Right() * 0 ) + ( angles:Up() * 650 )
  1525.         view.angles = ply:EyeAngles() + Angle( 0, 0, 0 )
  1526.         view.fov = fov
  1527.         return GAMEMODE:CalcView( ply, view.origin, view.angles, view.fov )
  1528.     end
  1529.         if defcon.Settings["freecam_side"] then
  1530.         local view = {}
  1531.         view.origin = pos - ( angles:Forward() * 150 ) + ( angles:Right() * 150 ) + ( angles:Up() * 0 )
  1532.         view.angles = ply:EyeAngles() + Angle( 0, 0, 0 )
  1533.         view.fov = fov
  1534.         return GAMEMODE:CalcView( ply, view.origin, view.angles, view.fov )
  1535.     end
  1536.         if defcon.Settings["freecam_side2"] then
  1537.         local view = {}
  1538.         view.origin = pos - ( angles:Forward() * -150 ) + ( angles:Right() * 150 ) + ( angles:Up() * 0 )
  1539.         view.angles = ply:EyeAngles() + Angle( 0, 180, 0 )
  1540.         view.fov = fov
  1541.         return GAMEMODE:CalcView( ply, view.origin, view.angles, view.fov )
  1542.     end
  1543.             if defcon.Settings["freecam_side3"] then
  1544.         local view = {}
  1545.         view.origin = pos - ( angles:Forward() * 150 ) + ( angles:Right() * 650 ) + ( angles:Up() * 0 )
  1546.         view.angles = ply:EyeAngles() + Angle( 0, 0, 0 )
  1547.         view.fov = fov
  1548.         return GAMEMODE:CalcView( ply, view.origin, view.angles, view.fov )
  1549.     end
  1550.     end)
  1551.    
  1552. --best esp
  1553.  
  1554. hook.Add("HUDPaint", "catHUD", function()
  1555.     if defcon.Settings["esp_player"] or defcon.Settings["esp_entity"] then
  1556.         for k,v in pairs(ents.GetAll()) do
  1557.             if defcon.Settings["esp_player"] && v:IsPlayer() then
  1558.                 if(espcheck("player", v) and espdistance("player", v))then
  1559.                     local ESP = (v:EyePos()):ToScreen()
  1560.                     local name,health,rank,col,distance = "","","","",""
  1561.                     local outcol = Color(0,0,0,255)
  1562.                     local white = Color(255,255,255,255)
  1563.                     local outcol2 = outcol
  1564.                     if defcon.Settings["esp_player_name"] then
  1565.                         if v.GetRPName then name = v:GetRPName()
  1566.                         else name = v:Nick() end
  1567.                     end
  1568.                     if v:Nick() ~= name then rank = " "..v:Nick() end
  1569.                     if v.SteamName and name ~= v:SteamName() then rank = " "..v:SteamName() end
  1570.                     if defcon.Settings["esp_player_rank"] then
  1571.                         if v:IsSuperAdmin() then
  1572.                             rank = "[Super Admin]"..rank
  1573.                         elseif v:IsAdmin() then
  1574.                             rank = "[Admin]"..rank
  1575.                         elseif v:IsUserGroup("moderator") or v:IsUserGroup("mod") then
  1576.                             rank = "[Moderator]"..rank
  1577.                         elseif v:IsUserGroup("vip") or v:IsUserGroup("donator") then
  1578.                             rank = "[Donator]"..rank
  1579.                         end
  1580.                     end
  1581.                     if defcon.Settings["esp_player_health"] and not(defcon.Settings["esp_player_armor"]) then
  1582.                         health = v:Health().."H"
  1583.                     elseif defcon.Settings["esp_player_armor"] and not(defcon.Settings["esp_player_health"]) then
  1584.                         health = v:Armor().."A"
  1585.                     elseif defcon.Settings["esp_player_armor"] and defcon.Settings["esp_player_health"] then
  1586.                         health = v:Health().. "H - "..v:Armor().."A"
  1587.                     end
  1588.                     if defcon.Settings["esp_player_showdist"] then
  1589.                         distance = v:GetPos():Distance(LocalPlayer():GetPos())
  1590.                         distance = math.Round(distance).." m"
  1591.                     end
  1592.                     col = team.GetColor(v:Team())
  1593.                     if(col.r <= 50 and col.g <= 50 and col.b <= 50) then
  1594.                         outcol2 = Color(200,200,200,255)
  1595.                     end
  1596.                     if col.a <= 50 then
  1597.                         col = Color(col.r,col.g,col.b, 255)
  1598.                     end
  1599.                     draw.SimpleTextOutlined(rank, "deffontesp2", ESP.x, ESP.y -46, col, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 1, outcol2)
  1600.                     draw.SimpleTextOutlined(name, "deffontesp1", ESP.x, ESP.y - 34, col, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 1, outcol2)
  1601.                     if health ~= "" then
  1602.                         draw.SimpleTextOutlined(health, "deffontesp2", ESP.x, ESP.y -22, white, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 1, outcol)
  1603.                         draw.SimpleTextOutlined(distance, "deffontesp2", ESP.x, ESP.y - 10, white, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 1, outcol)
  1604.                     else
  1605.                         draw.SimpleTextOutlined(distance, "deffontesp2", ESP.x, ESP.y - 22, white, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 1, outcol)
  1606.                     end
  1607.                     if defcon.Settings["esp_player_glow"] then
  1608.                         halo.Add({v}, col, 2, 2, 1, true, true)
  1609.                     end
  1610.                 end
  1611.             end
  1612.             if (defcon.Settings["esp_entity"] and espcheck("entity", v) and espdistance("entity", v))then
  1613.                 if table.HasValue(defcon.Entities, v:GetClass()) then
  1614.                     local ESP = (v:EyePos()):ToScreen()
  1615.                     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))
  1616.                 end
  1617.             end
  1618.         end
  1619.     end
  1620.                     for k, v in pairs( player.GetAll() ) do
  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. surface.CreateFont("velmet", {
  1719.  size = 50,
  1720.  weight = 50,
  1721.  antialias = true,
  1722.  font = "courier new"
  1723.  });
  1724.  
  1725. hook.Add("HUDPaint", "Velocity", function()
  1726.     for k,v in pairs(player.GetAll()) do
  1727.         if defcon.Settings ["velocity"] then
  1728.             local showvel = math.floor(LocalPlayer():GetVelocity():Length())
  1729.                 draw.RoundedBox(1, ScrW()/2.5, ScrH()/1.07, ScrW()/4.21, ScrH()/26, Color(50, 50, 50, 150))
  1730.                 draw.DrawText("VELOCITY: "..showvel, "velmet", ScrW()/2.5, ScrH()/1.075, Color(255, 255, 255, 185))
  1731.                 end
  1732.             end
  1733.     end)
  1734.    
  1735. --crosshair
  1736.  
  1737. hook.Add( "HUDPaint", "CrossHair", function ( ucmd )
  1738.     if defcon.Settings["crosshair"] then
  1739.         local h = ScrH() / 2
  1740.         local w = ScrW() / 2
  1741.         local h1 = ScrH() / 2
  1742.         local w1 = ScrW() / 2
  1743.        
  1744.         surface.SetDrawColor( 0, 255, 255 )
  1745.         surface.DrawLine( w + 10, h, w - 10, h )
  1746.         surface.DrawLine( w, h + 10, w, h - 10 )
  1747.     end
  1748.        
  1749. end)
  1750.  
  1751. --physics prop ESP
  1752.  
  1753. local propchams = CreateMaterial("propchams","VertexLitGeneric",{
  1754.         ["$basetexture"] = "models/debug/debugwhite",
  1755.         ["$model"] = 1,
  1756.         ["$translucent"] = 1,
  1757.         ["$alpha"] = 1,
  1758.         ["$nocull"] = 1,
  1759.         ["$ignorez"] = 1
  1760. }
  1761. )
  1762.  
  1763. hook.Add( "HUDPaint", "PropESP", function()
  1764.     for k,v in pairs ( ents.FindByClass( "prop_physics" ) ) do
  1765.         if GetConVarNumber("defcon.propchams") == 1 then
  1766.             cam.Start3D(EyePos(), EyeAngles())
  1767.                 if v:IsValid() then
  1768.                     render.SuppressEngineLighting( false )
  1769.                     render.MaterialOverride( propchams )
  1770.                     render.SetBlend(0.2)
  1771.                     render.SetColorModulation( 0, 255, 0)
  1772.                     v:DrawModel()
  1773.             cam.End3D()
  1774.             end
  1775.         end
  1776.     end
  1777. end)
  1778.  
  1779. -- player chams (copy-pasted from an old shitty lua file i found in my shit folder one day)
  1780.  
  1781. hook.Add( "HUDPaint", "ESPChams", function()
  1782.  
  1783.     for k,v in pairs ( player.GetAll() ) do
  1784.     if GetConVarNumber("defcon.chams") == 1 then
  1785.        
  1786.         if SafeCheck(v) == true then
  1787.        
  1788.             local ply = LocalPlayer()
  1789.            
  1790.             cam.Start3D(EyePos(), EyeAngles())
  1791.                      render.MaterialOverride( propchams )
  1792.                      render.SuppressEngineLighting( false )
  1793.                      render.SetBlend( 1 )
  1794.                      render.SetColorModulation( 0, 255, 255 )
  1795.                     v:DrawModel();
  1796.                     -- This bit is for weapons. --
  1797.                      render.MaterialOverride( propchams )
  1798.                      render.SuppressEngineLighting( false )
  1799.                      render.SetBlend( 1 )
  1800.                      render.SetColorModulation( 255, 0, 0 )
  1801.                     v:GetActiveWeapon():DrawModel()
  1802.                 cam.End3D()
  1803.         end
  1804.     end
  1805. end
  1806. end)
  1807.  
  1808. --box ESP
  1809.  
  1810. hook.Add("HUDPaint", "3DBoxESP", function()
  1811.     for k,v in pairs(player.GetAll()) do
  1812.         if GetConVarNumber("defcon.boxESP") == 1 then
  1813.             if SafeCheck(v) == true then
  1814.             local ply = LocalPlayer()
  1815.             local plyPos = v:GetPos()
  1816.             local head = v:OBBMaxs()
  1817.             local feet = v:OBBMins()
  1818.             local eye = v:EyeAngles()
  1819.                 cam.Start3D()
  1820.                     render.DrawWireframeBox( plyPos, Angle( 0, eye.y, 0), feet, head, team.GetColor(v:Team()) )
  1821.                      cam.End3D()
  1822.                   end
  1823.            end
  1824.     end
  1825. end)
  1826. --chat spam
  1827.  
  1828. local function Spam2()
  1829.     if defcon.Settings["chatspam1"] then
  1830.          LocalPlayer():ConCommand("say "..table.Random(normalspam).." " )
  1831.     end
  1832. end
  1833. timer.Create("Spammins2", .5,0,Spam2)
  1834.  
  1835. normalspam = {}
  1836. normalspam[1] = "mods = fags"
  1837. normalspam[2] = "I hate niggers"
  1838. normalspam[3] = "sheo was here"
  1839. normalspam[4] = "try finger but hole"
  1840. normalspam[5] = "time for crab"
  1841. normalspam[6] = "THIS SERVER IS GETTING FUCKING NULLED RN"
  1842. normalspam[7] = "whoever made this server is a fucking downie holy shit"
  1843. normalspam[8] = "this serv sucks, fuck you guys"
  1844. normalspam[9] = "im not hacking wtf?"
  1845. normalspam[10] = "Mega.co.nz is famous for it's shitposting on 4chan."
  1846. normalspam[11] = "How much memes could a cock suck if 9/11?"
  1847. normalspam[12] = "assrape"
  1848. normalspam[13] = "AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH"
  1849. normalspam[14] = "Sweedish fish are like apples, they taste good as candy, not the actual thing."
  1850. normalspam[15] = "you what"
  1851. normalspam[16] = "I'll quote your head with a rock"
  1852. normalspam[17] = "fuck me harder daddy"
  1853. normalspam[18] = "dickrape is neat"
  1854. normalspam[19] = "Shitty memes from a shitty dream."
  1855. normalspam[20] = "sheogorath has aids"
  1856. normalspam[21] = "fuck niggers"
  1857. normalspam[22] = "♫im an alabama nigger and i wanna be free, to hell with the n double a-c-p♫"
  1858. normalspam[23] = "hey whats up guys it's scarce here"
  1859. normalspam[24] = "//this is a test of the emergency broadcast system"
  1860. normalspam[25] = "erp = b&"
  1861. normalspam[26] = "50 percent off all fat farts at the fag store"
  1862. normalspam[27] = "dennis the menace"
  1863. 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."
  1864. normalspam[29] = "shoutout to poopnig420 for providing memes"
  1865. normalspam[30] = "shoutout to inboot for providing packets"
  1866. normalspam[31] = "geklmin is a grade-a autist."
  1867. normalspam[32] = "REMOVE KEBAB remove kebab"
  1868. 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"
  1869. normalspam[34] = "hahahahaha idiot turk and bosnian smell so bad..wow i can smell it."
  1870. normalspam[35] = "you will get caught. russia+usa+croatia+slovak=kill bosnia…"
  1871. normalspam[36] = "you will ww2/ tupac alive in serbia, tupac making album of serbia . fast rap tupac serbia."
  1872. normalspam[37] = "2pac aliv and real strong wizard kill all the turk farm aminal with rap magic now we the serba rule ."
  1873. normalspam[38] = "ape of the zoo presidant georg bush fukc the great satan and lay egg this egg hatch and bosnia wa;s born."
  1874. normalspam[39] = "stupid baby form the eggn give bak our clay we will crush u lik a skull of pig. serbia greattst countrey"
  1875. normalspam[40] = "cetnik rascal FUck but fuck asshole turk stink bosnia sqhipere shqipare..turk genocide best day of my life."
  1876. normalspam[41] = "http://www.madbluntz.rs offical sponsor of the republika srpska - marijuana fanatics serbia"
  1877.  
  1878. local function Spam()
  1879.     if defcon.Settings["chatspam2"] then
  1880.          LocalPlayer():ConCommand("cwsay "..table.Random(hl2rpvcspam).." " )
  1881.     end
  1882. end
  1883. timer.Create("Spammins", .5,0,Spam)
  1884.  
  1885. hl2rpvcspam = {}
  1886. hl2rpvcspam[1] = "noooo"
  1887. hl2rpvcspam[2] = "whistle tune"
  1888. hl2rpvcspam[3] = "i could eat a horse"
  1889. hl2rpvcspam[4] = "combine"
  1890. hl2rpvcspam[5] = "zombies"
  1891. hl2rpvcspam[6] = "run"
  1892. hl2rpvcspam[7] = "over here"
  1893. hl2rpvcspam[8] = "hey over here"
  1894. hl2rpvcspam[9] = "run for your life"
  1895. hl2rpvcspam[10] = "hes dead"
  1896. hl2rpvcspam[11] = "woops"
  1897. hl2rpvcspam[12] = "hands on doctor breen"
  1898. hl2rpvcspam[13] = "dream about cheese"
  1899. hl2rpvcspam[14] = "dibs on the suit"
  1900.  
  1901. --laser eyes (old shit from anozira days)
  1902.  
  1903. hook.Add("PostDrawOpaqueRenderables", "lasereyes", function()
  1904.     if defcon.Settings["lasereyes"] then
  1905.     for k, v in pairs(player.GetAll())do
  1906.     if SafeCheck(v) == true then
  1907.         local pos, ang = v:GetShootPos();
  1908.         render.SetMaterial(Material("sprites/bluelaser1"));
  1909.         render.DrawBeam(pos, v:GetEyeTrace().HitPos, 5, 1, 1, team.GetColor(v:Team()));
  1910.     end
  1911.     end
  1912.     end
  1913. end)  
  1914.  
  1915. --pickup and dupein radius from niggermenu
  1916.  
  1917. function DupeInRadius()
  1918.         local ply = LocalPlayer()
  1919.             for k,v in pairs( ents.GetAll() ) do
  1920.                     local pos = v:GetPos()
  1921.                     if v:IsValid() and ply:GetPos():Distance(pos) <= 180 then
  1922.                             if v:GetClass() == "cw_item"  then
  1923.                                     for i=0,2,1 do
  1924.                                             Clockwork.datastream:Start("EntityMenuOption", {v, "cwItemTake", "cwItemTake"})
  1925.                                                                         end
  1926.                                                         elseif v:GetClass() == "cw_cash" then
  1927.                                                                 for i=0,2,1 do
  1928.                                             Clockwork.datastream:Start("EntityMenuOption", {v, "cwCashTake", "cwCashTake"})
  1929.                                     end
  1930.                             end
  1931.                     end
  1932.             end
  1933.     end
  1934.  
  1935.    concommand.Add( "dupeinradius", DupeInRadius )
  1936.  
  1937. function PickUpInRadius()
  1938.     local ply = LocalPlayer()
  1939.         for k,v in pairs( ents.GetAll() ) do
  1940.                 local pos = v:GetPos()
  1941.                 if v:IsValid() and ply:GetPos():Distance(pos) <= 2048 then
  1942.                         if v:GetClass() == "cw_item"  then
  1943.                                 Clockwork.datastream:Start("EntityMenuOption", {v, "cwItemTake", "cwItemTake"});
  1944.                         elseif v:GetClass() == "cw_cash" then
  1945.                                 Clockwork.datastream:Start("EntityMenuOption", {v, "cwCashTake", "cwCashTake"});
  1946.                         elseif v:GetClass() == "cw_shipment" then
  1947.                                 Clockwork.datastream:Start("EntityMenuOption", {v, "cwShipmentOpen", "cwShipmentOpen"});
  1948.                         elseif v:GetClass() == "prop_physics" then
  1949.                                 Clockwork.datastream:Start("EntityMenuOption", {v, "cwContainerOpen", "cwContainerOpen"});
  1950.                         elseif v:GetClass() == "prop_ragdoll" then
  1951.                                 Clockwork.datastream:Start("EntityMenuOption", {v, "cwContainerOpen", "cwContainerOpen"});
  1952.                          end
  1953.                 end
  1954.         end
  1955. end
  1956. concommand.Add( "pickupinradius", PickUpInRadius )
  1957.  
  1958. CreateClientConVar( "defcon.boxESP", 0, true, false)
  1959. CreateClientConVar( "defcon.propchams", 0, true, false)
  1960. CreateClientConVar( "defcon.radiochams", 0, true, false)
  1961. CreateClientConVar( "defcon.chams", 0, true, false)
  1962.  
  1963. --literal fucking copy of memeware
  1964.  
  1965. local type = type;
  1966. local next = next;
  1967.  
  1968. local function Copy(tt, lt)
  1969.     local copy = {}
  1970.     if lt then
  1971.         if type(tt) == "table" then
  1972.             for k,v in next, tt do
  1973.                 copy[k] = Copy(k, v)
  1974.             end
  1975.         else
  1976.             copy = lt
  1977.         end
  1978.         return copy
  1979.     end
  1980.     if type(tt) != "table" then
  1981.         copy = tt
  1982.     else
  1983.         for k,v in next, tt do
  1984.             copy[k] = Copy(k, v)
  1985.         end
  1986.     end
  1987.     return copy
  1988. end
  1989.  
  1990. local surface = Copy(surface);
  1991. local vgui = Copy(vgui);
  1992. local input = Copy(input);
  1993. local Color = Color;
  1994. local ScrW, ScrH = ScrW, ScrH;
  1995. local gui = Copy(gui);
  1996. local math = Copy(math);
  1997. local file = Copy(file);
  1998. local util = Copy(util);
  1999.  
  2000. surface.CreateFont("memeyou", {
  2001.     font = "Console",
  2002.     size = 13,
  2003.     weight = 700,
  2004.     shadow = false,
  2005.     antialias = false,
  2006. });
  2007.  
  2008. surface.CreateFont("memeyou2", {
  2009.     font = "Console",
  2010.     size = 13,
  2011.     weight = 700,
  2012.     shadow = false,
  2013.     antialias = false,
  2014. });
  2015.  
  2016. local options = {
  2017.     ["Ragebot"] = {
  2018.         {
  2019.             {"Aimbot", 20, 20, 350, 240, 120},
  2020.             {"Enabled", "Checkbox", false, 0},
  2021.             {"Silent", "Checkbox", false, 0},
  2022.             {"Autofire", "Checkbox", false, 0},
  2023.             {"Autosnap", "Checkbox", false, 0},
  2024.             {"Auto Pistol", "Checkbox", false, 0},
  2025.             {"Non-Sticky", "Checkbox", false, 0},
  2026.             {"Bullettime", "Checkbox", false, 0},
  2027.         },
  2028.         {
  2029.             {"Target", 20, 280, 350, 180, 120},
  2030.             {"Selection", "Selection", "Distance", {"Distance", "Health", "Nextshot"}, 150 },
  2031.             {"Bodyaim", "Checkbox", false, 0},
  2032.             {"Ignore Bots", "Checkbox", false, 0},
  2033.             {"Ignore Team", "Checkbox", false, 0},
  2034.             {"Ignore Friends", "Checkbox", false, 0},
  2035.             {"Snapline", "Checkbox", false, 0},
  2036.         },
  2037.         {
  2038.             {"Accuracy", 380, 20, 350, 190, 120},
  2039.             {"Anti Spread", "Checkbox", false, 0},
  2040.             {"Anti Recoil", "Checkbox", false, 0},
  2041.         },
  2042.         {
  2043.             {"Anti-Aim", 380, 230, 350, 230, 140},
  2044.             {"Enabled", "Checkbox", false, 0},
  2045.             {"X", "Selection", "Emotion", {"Up", "Down", "Jitter", "Emotion"}, 150},
  2046.             {"Y", "Selection", "Emotion", {"Forward", "Backwards", "Jitter", "TJitter", "Sideways", "Emotion", "Static", "Towards Players"}, 150},
  2047.             {"Max Y", "Slider", 50, 360, 150},
  2048.             {"Min Y", "Slider", 0, 360, 150},
  2049.             {"Emotion Randomcoin X", "Slider", 50, 100, 150},
  2050.             {"Emotion Randomcoin Y", "Slider", 20, 100, 150},
  2051.         },
  2052.     },
  2053.     ["Visuals"] = {
  2054.         {
  2055.             {"ESP", 20, 20, 350, 240, 220},
  2056.             {"Enabled", "Checkbox", false, 54},
  2057.             {"Box", "Checkbox", false, 54},
  2058.             {"Box Type", "Selection", "2D Box", {"2D Box", "3D Box"}, 68},
  2059.             {"Name", "Checkbox", false, 54},
  2060.             {"Health", "Checkbox", false, 54},
  2061.             {"Weapon", "Checkbox", false, 54},
  2062.             {"XQZ", "Checkbox", false, 54},
  2063.             {"Chams", "Checkbox", false, 54},
  2064.             {"Skeleton", "Checkbox", false, 54},
  2065.         },
  2066.         {
  2067.             {"Filter", 20, 280, 350, 180, 220},
  2068.             {"Enemies only", "Checkbox", false, 54},
  2069.             {"Distance", "Checkbox", false, 54},
  2070.             {"Max Distance", "Slider", 0, 10000, 68},
  2071.         },
  2072.         {
  2073.             {"Misc", 380, 20, 350, 190, 220},
  2074.             {"Thirdperson", "Checkbox", false, 54},
  2075.         },
  2076.     },
  2077.     ["Colors"] = {
  2078.         {
  2079.             {"Box - Team", 20, 20, 250, 175, 130},
  2080.             {"R", "Slider", 255, 255, 88},
  2081.             {"G", "Slider", 255, 255, 88},
  2082.             {"B", "Slider", 0, 255, 88},
  2083.         },
  2084.         {
  2085.             {"Box - Enemy", 20, 205, 250, 175, 130},
  2086.             {"R", "Slider", 180, 255, 88},
  2087.             {"G", "Slider", 120, 255, 88},
  2088.             {"B", "Slider", 0, 255, 88},
  2089.         },
  2090.         {
  2091.             {"Chams - Team", 290, 20, 250, 175, 130},
  2092.             {"Visible R", "Slider", 0, 255, 88},
  2093.             {"Visible G", "Slider", 255, 255, 88},
  2094.             {"Visible B", "Slider", 0, 255, 88},
  2095.             {"Not Visible R", "Slider", 0, 255, 88},
  2096.             {"Not Visible G", "Slider", 0, 255, 88},
  2097.             {"Not Visible B", "Slider", 255, 255, 88},
  2098.         },
  2099.        
  2100.         {
  2101.             {"Chams - Enemy", 290, 205, 250, 175, 130},
  2102.             {"Visible R", "Slider", 255, 255, 88},
  2103.             {"Visible G", "Slider", 0, 255, 88},
  2104.             {"Visible B", "Slider", 0, 255, 88},
  2105.             {"Not Visible R", "Slider", 180, 255, 88},
  2106.             {"Not Visible G", "Slider", 120, 255, 88},
  2107.             {"Not Visible B", "Slider", 0, 255, 88},
  2108.         },
  2109.     },
  2110. };
  2111.  
  2112. local order = {
  2113.     "Ragebot",
  2114.     "Visuals",
  2115.     "Colors",
  2116. };
  2117.  
  2118. local function updatevar( men, sub, lookup, new )
  2119.     for aa,aaa in next, options[men] do
  2120.         for key, val in next, aaa do
  2121.             if(aaa[1][1] != sub) then continue; end
  2122.             if(val[1] == lookup) then
  2123.                 val[3] = new;
  2124.             end
  2125.         end
  2126.     end
  2127. end
  2128.  
  2129. local function loadconfig()
  2130.     if(!file.Exists("secretbitch.txt", "DATA")) then return; end
  2131.     local tab = util.JSONToTable( file.Read("secretbitch.txt", "DATA") );
  2132.     local cursub;
  2133.     for k,v in next, tab do
  2134.         if(!options[k]) then continue; end
  2135.         for men, subtab in next, v do
  2136.             for key, val in next, subtab do
  2137.                 if(key == 1) then cursub = val[1]; continue; end
  2138.                 updatevar(k, cursub, val[1], val[3]);
  2139.             end
  2140.         end
  2141.     end
  2142. end
  2143.  
  2144. local function gBool(men, sub, lookup)
  2145.     if(!options[men]) then return; end
  2146.     for aa,aaa in next, options[men] do
  2147.         for key, val in next, aaa do
  2148.             if(aaa[1][1] != sub) then continue; end
  2149.             if(val[1] == lookup) then
  2150.                 return val[3];
  2151.             end
  2152.         end
  2153.     end
  2154. end
  2155.  
  2156. local function gOption(men, sub, lookup)
  2157.     if(!options[men]) then return ""; end
  2158.     for aa,aaa in next, options[men] do
  2159.         for key, val in next, aaa do
  2160.             if(aaa[1][1] != sub) then continue; end
  2161.             if(val[1] == lookup) then
  2162.                 return val[3];
  2163.             end
  2164.         end
  2165.     end
  2166.     return "";
  2167. end
  2168.  
  2169. local function gInt(men, sub, lookup)
  2170.     if(!options[men]) then return 0; end
  2171.     for aa,aaa in next, options[men] do
  2172.         for key, val in next, aaa do
  2173.             if(aaa[1][1] != sub) then continue; end
  2174.             if(val[1] == lookup) then
  2175.                 return val[3];
  2176.             end
  2177.         end
  2178.     end
  2179.     return 0;
  2180. end
  2181.  
  2182. local function saveconfig()
  2183.     file.Write("secretbitch.txt", util.TableToJSON(options));
  2184. end
  2185.  
  2186. local mousedown;
  2187. local candoslider;
  2188. local drawlast;
  2189.  
  2190. local visible = {};
  2191.  
  2192. for k,v in next, order do
  2193.     visible[v] = false;
  2194. end
  2195.  
  2196. local function DrawBackground(w, h)
  2197.     surface.SetDrawColor(50, 50, 50, 200);
  2198.     surface.DrawRect(0, 0, w, h);
  2199.    
  2200.     local curcol = Color(50, 50, 50, 200);
  2201.    
  2202.     for i = 0, 30 do
  2203.         surface.SetDrawColor(curcol);
  2204.         curcol.r = curcol.r ;
  2205.         surface.DrawLine(0, i, w, i);
  2206.     end
  2207.    
  2208.     surface.SetDrawColor(curcol);
  2209.    
  2210.     surface.SetFont("memeyou");
  2211.    
  2212.     local tw, th = surface.GetTextSize("SUPER SECRET MEMEWARE MENU");
  2213.    
  2214.     surface.SetTextPos(5, 15 - th / 2);
  2215.    
  2216.     surface.SetTextColor(255, 255, 255);
  2217.    
  2218.     surface.DrawText("SUPER SECRET MEMEWARE MENU");
  2219.    
  2220.     surface.DrawRect(0, 31, 5, h - 31);
  2221.     surface.DrawRect(0, h - 5, w, h);
  2222.     surface.DrawRect(w - 5, 31, 5, h);
  2223. end
  2224.  
  2225. local function MouseInArea(minx, miny, maxx, maxy)
  2226.     local mousex, mousey = gui.MousePos();
  2227.     return(mousex < maxx && mousex > minx && mousey < maxy && mousey > miny);
  2228. end
  2229.  
  2230. local function DrawOptions(self, w, h)
  2231.     local mx, my = self:GetPos();
  2232.    
  2233.     local sizeper = (w - 10) / #order;
  2234.    
  2235.     local maxx = 0;
  2236.    
  2237.     for k,v in next, order do
  2238.         local bMouse = MouseInArea(mx + 5 + maxx, my + 31, mx + 5 + maxx + sizeper, my + 31 + 30);
  2239.         if(visible[v]) then
  2240.             local curcol = Color(60, 60, 60, 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.         elseif(bMouse) then
  2247.             local curcol = Color(55, 55, 55, 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.         else
  2254.             local curcol = Color(50, 50, 50, 200);
  2255.             for i = 0, 30 do
  2256.                 surface.SetDrawColor(curcol);
  2257.                 curcol.r, curcol.g, curcol.b = curcol.r - 0, curcol.g - 0, curcol.b - 0;
  2258.                 surface.DrawLine( 5 + maxx, 31 + i, 5 + maxx + sizeper, 31 + i);
  2259.             end
  2260.         end
  2261.         if(bMouse && input.IsMouseDown(MOUSE_LEFT) && !mousedown && !visible[v]) then
  2262.             local nb = visible[v];
  2263.             for key,val in next, visible do
  2264.                 visible[key] = false;
  2265.             end
  2266.             visible[v] = !nb;
  2267.         end
  2268.         surface.SetFont("memeyou2");
  2269.         surface.SetTextColor(255, 255, 255);
  2270.         local tw, th = surface.GetTextSize(v);
  2271.         surface.SetTextPos( 5 + maxx + sizeper / 2 - tw / 2, 31 + 15 - th / 2 );
  2272.         surface.DrawText(v);
  2273.         maxx = maxx + sizeper;
  2274.     end
  2275. end
  2276.  
  2277. local function DrawCheckbox(self, w, h, var, maxy, posx, posy, dist)
  2278.     surface.SetFont("memeyou2");
  2279.     surface.SetTextColor(255, 255, 255);
  2280.     surface.SetTextPos( 5 + posx + 15 + 5, 61 + posy + maxy );
  2281.     local tw, th = surface.GetTextSize(var[1]);
  2282.     surface.DrawText(var[1]);
  2283.    
  2284.     surface.SetDrawColor(163, 163, 163);
  2285.    
  2286.     surface.DrawOutlinedRect( 5 + posx + 15 + 5 + dist + var[4], 61 + posy + maxy + 2, 14, 14);
  2287.    
  2288.     local mx, my = self:GetPos();
  2289.    
  2290.     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);
  2291.    
  2292.     if(bMouse) then
  2293.         surface.DrawRect( 5 + posx + 15 + 5 + dist + 2 + var[4], 61 + posy + maxy + 4, 10, 10);
  2294.     end
  2295.    
  2296.     if(var[3]) then
  2297.         surface.SetDrawColor(43, 98, 226);
  2298.         surface.DrawRect( 5 + posx + 15 + 5 + dist + 2 + var[4], 61 + posy + maxy + 4, 10, 10);
  2299.         surface.SetDrawColor(43, 98, 226);
  2300.         surface.DrawOutlinedRect( 5 + posx + 15 + 5 + dist + 2 + var[4], 61 + posy + maxy + 4, 10, 10);
  2301.     end
  2302.    
  2303.     if(bMouse && input.IsMouseDown(MOUSE_LEFT) && !mousedown && !drawlast) then
  2304.         var[3] = !var[3];
  2305.     end
  2306. end
  2307.  
  2308. local function DrawSlider(self, w, h, var, maxy, posx, posy, dist)
  2309.     local curnum = var[3];
  2310.     local max = var[4];
  2311.     local size = var[5];
  2312.     surface.SetFont("memeyou2");
  2313.     surface.SetTextColor(255, 255, 255);
  2314.     surface.SetTextPos( 5 + posx + 15 + 5, 61 + posy + maxy );
  2315.     surface.DrawText(var[1]);
  2316.    
  2317.     local tw, th = surface.GetTextSize(var[1]);
  2318.    
  2319.     surface.SetDrawColor(163, 163, 163);
  2320.    
  2321.     surface.DrawRect( 5 + posx + 15 + 5 + dist, 61 + posy + maxy + 9, size, 2);
  2322.    
  2323.     local ww = math.ceil(curnum * size / max);
  2324.    
  2325.     surface.SetDrawColor(43, 98, 226);
  2326.    
  2327.     surface.DrawRect( 3 + posx + 15 + 5 + dist + ww, 61 + posy + maxy + 9 - 5, 4, 12);
  2328.    
  2329.     surface.SetDrawColor(43, 98, 226);
  2330.    
  2331.     local tw, th = surface.GetTextSize(curnum..".00");
  2332.    
  2333.     surface.DrawOutlinedRect( 3 + posx + 15 + 5 + dist + ww, 61 + posy + maxy + 4, 4, 12);
  2334.    
  2335.     surface.SetTextPos( 5 + posx + 15 + 5 + dist + (size / 2) - tw / 2, 61 + posy + maxy + 16);
  2336.    
  2337.     surface.DrawText(curnum..".00");
  2338.    
  2339.     local mx, my = self:GetPos();
  2340.    
  2341.     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);
  2342.    
  2343.     if(bMouse && input.IsMouseDown(MOUSE_LEFT) && !drawlast && !candoslider) then
  2344.         local mw, mh = gui.MousePos();
  2345.    
  2346.         local new = math.ceil( ((mw - (mx + posx + 25 + dist - size)) - (size + 1)) / (size - 2) * max);
  2347.         var[3] = new;
  2348.     end
  2349. end
  2350.  
  2351. local notyetselected;
  2352.  
  2353. local function DrawSelect(self, w, h, var, maxy, posx, posy, dist)
  2354.  
  2355.     local size = var[5];
  2356.     local curopt = var[3];
  2357.    
  2358.     surface.SetFont("memeyou2");
  2359.     surface.SetTextColor(255, 255, 255);
  2360.     surface.SetTextPos( 5 + posx + 15 + 5, 61 + posy + maxy );
  2361.     local tw, th = surface.GetTextSize(var[1]);
  2362.     surface.DrawText(var[1]);
  2363.    
  2364.     surface.SetDrawColor(163, 163, 163);
  2365.    
  2366.     surface.DrawOutlinedRect( 25 + posx + dist, 61 + posy + maxy, size, 16);
  2367.    
  2368.     local mx, my = self:GetPos();
  2369.    
  2370.     local bMouse = MouseInArea( mx + 25 + posx + dist, my + 61 + posy + maxy, mx + 25 + posx + dist + size, my + 61 + posy + maxy + 16)
  2371.    
  2372.     local check = dist..posy..posx..w..h..maxy;
  2373.    
  2374.     if(bMouse || notyetselected == check) then
  2375.        
  2376.         surface.DrawRect(25 + posx + dist + 2, 61 + posy + maxy + 2, size - 4, 12);
  2377.        
  2378.     end
  2379.    
  2380.     local tw, th = surface.GetTextSize(curopt);
  2381.    
  2382.     surface.SetTextPos( 25 + posx + dist + 5, 61 + posy + maxy + 6 - th / 2 + 2);
  2383.    
  2384.     surface.DrawText(curopt);
  2385.    
  2386.     if(bMouse && input.IsMouseDown(MOUSE_LEFT) && !drawlast && !mousedown || notyetselected == check) then
  2387.         notyetselected = check;
  2388.         drawlast = function()
  2389.             local maxy2 = 16;
  2390.             for k,v in next, var[4] do
  2391.                 surface.SetDrawColor(163, 163, 163);
  2392.                 surface.DrawRect( 25 + posx + dist, 61 + posy + maxy + maxy2, size, 16);
  2393.                 local bMouse2 = MouseInArea( mx + 25 + posx + dist, my + 61 + posy + maxy + maxy2, mx + 25 + posx + dist + size, my + 61 + posy + maxy + 16 + maxy2)
  2394.                 if(bMouse2) then
  2395.                     surface.SetDrawColor(200, 200, 200);
  2396.                     surface.DrawRect( 25 + posx + dist, 61 + posy + maxy + maxy2, size, 16);
  2397.                 end
  2398.                 local tw, th = surface.GetTextSize(v);
  2399.                 surface.SetTextPos( 25 + posx + dist + 5, 61 + posy + maxy + 6 - th / 2 + 2 + maxy2);
  2400.                 surface.DrawText(v);
  2401.                 maxy2 = maxy2 + 16;
  2402.                 if(bMouse2 && input.IsMouseDown(MOUSE_LEFT) && !mousedown) then
  2403.                     var[3] = v;
  2404.                     notyetselected = nil;
  2405.                     drawlast = nil;
  2406.                     return;
  2407.                 end
  2408.             end
  2409.             local bbMouse = MouseInArea( mx + 25 + posx + dist, my + 61 + posy + maxy, mx + 25 + posx + dist + size, my + 61 + posy + maxy + maxy2);
  2410.             if(!bbMouse && input.IsMouseDown(MOUSE_LEFT) && !mousedown) then
  2411.                  notyetselected = nil;
  2412.                  drawlast = nil;
  2413.                  return;
  2414.             end
  2415.         end
  2416.     end
  2417.    
  2418.    
  2419. end
  2420.  
  2421. local function DrawSubSub(self, w, h, k, var)
  2422.     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];
  2423.    
  2424.     surface.SetDrawColor(163, 163, 163);
  2425.    
  2426.     local startpos = 61 + posy;
  2427.    
  2428.     surface.SetTextColor(255, 255, 255);
  2429.    
  2430.     surface.SetFont("memeyou2");
  2431.    
  2432.     local tw, th = surface.GetTextSize(opt);
  2433.    
  2434.     surface.DrawLine( 5 + posx, startpos, 5 + posx + 15, startpos);
  2435.    
  2436.     surface.SetTextPos( 5 + posx + 15 + 5, startpos - th / 2 );
  2437.    
  2438.     surface.DrawLine( 5 + posx + 15 + 5 + tw + 5, startpos, 5 + posx + sizex, startpos);
  2439.    
  2440.     surface.DrawLine( 5 + posx, startpos, 5 + posx, startpos + sizey);
  2441.    
  2442.     surface.DrawLine(5 + posx, startpos + sizey, 5 + posx + sizex, startpos + sizey );
  2443.    
  2444.     surface.DrawLine( 5 + posx + sizex, startpos, 5 + posx + sizex, startpos + sizey);
  2445.    
  2446.     surface.DrawText(opt);
  2447.    
  2448.     local maxy = 15;
  2449.    
  2450.     for k,v in next, var do
  2451.         if(k == 1) then continue; end
  2452.         if(v[2] == "Checkbox") then
  2453.             DrawCheckbox(self, w, h, v, maxy, posx, posy, dist);
  2454.         elseif(v[2] == "Slider") then
  2455.             DrawSlider(self, w, h, v, maxy, posx, posy, dist);
  2456.         elseif(v[2] == "Selection") then
  2457.             DrawSelect(self, w, h, v, maxy, posx, posy, dist);
  2458.         end
  2459.         maxy = maxy + 25;
  2460.     end
  2461. end
  2462.  
  2463. local function DrawSub(self, w, h)
  2464.     for k, v in next, visible do
  2465.         if(!v) then continue; end
  2466.         for _, var in next, options[k] do
  2467.             DrawSubSub(self, w, h, k, var);
  2468.         end
  2469.     end
  2470. end
  2471.  
  2472. local function DrawSaveButton(self, w, h)
  2473.     local curcol = Color(60, 60, 60, 200);
  2474.     local mx, my = self:GetPos();
  2475.     local bMouse = MouseInArea(mx + 30, my + h - 50, mx + 30 + 200, my + h - 50 + 30);
  2476.     if(bMouse) then
  2477.         curcol = Color(65, 65, 65, 200);
  2478.     end
  2479.     for i = 0, 30 do
  2480.         surface.SetDrawColor(curcol);
  2481.         surface.DrawLine( 30, h - 50 + i, 30 + 200, h - 50 + i );
  2482.         for k,v in next, curcol do
  2483.             curcol[k] = curcol[k] - 0;
  2484.         end
  2485.     end
  2486.     surface.SetFont("memeyou2");
  2487.     surface.SetTextColor(255, 255, 255);
  2488.     local tw, th = surface.GetTextSize("Save Config");
  2489.     surface.SetTextPos( 30 + 100 - tw / 2, h - 50 + 15 - th / 2 );
  2490.     surface.DrawText("Save Config");
  2491.     if(bMouse && input.IsMouseDown(MOUSE_LEFT)) then
  2492.         saveconfig();
  2493.     end
  2494. end
  2495.  
  2496. local function DrawLoadButton(self, w, h)
  2497.     local curcol = Color(60, 60, 60, 200);
  2498.     local mx, my = self:GetPos();
  2499.     local bMouse = MouseInArea(mx + 250, my + h - 50, mx + 250 + 200, my + h - 50 + 30);
  2500.     if(bMouse) then
  2501.         curcol = Color(65, 65, 65, 200);
  2502.     end
  2503.     for i = 0, 30 do
  2504.         surface.SetDrawColor(curcol);
  2505.         surface.DrawLine( 250, h - 50 + i, 250 + 200, h - 50 + i );
  2506.         for k,v in next, curcol do
  2507.             curcol[k] = curcol[k] - 0;
  2508.         end
  2509.     end
  2510.     surface.SetFont("memeyou2");
  2511.     surface.SetTextColor(255, 255, 255);
  2512.     local tw, th = surface.GetTextSize("Load Config");
  2513.     surface.SetTextPos( 250 + 100 - tw / 2, h - 50 + 15 - th / 2 );
  2514.     surface.DrawText("Load Config");
  2515.     if(bMouse && input.IsMouseDown(MOUSE_LEFT)) then
  2516.         loadconfig();
  2517.     end
  2518. end
  2519.  
  2520. loadconfig();
  2521.  
  2522. local insertdown2, insertdown, menuopen;
  2523.  
  2524. local function menu()
  2525.     local frame = vgui.Create("DFrame");
  2526.     frame:SetSize(800, 600);
  2527.     frame:Center();
  2528.     frame:SetTitle("");
  2529.     frame:MakePopup();
  2530.     frame:ShowCloseButton(false);
  2531.    
  2532.     frame.Paint = function(self, w, h)
  2533.         if(candoslider && !mousedown && !drawlast && !input.IsMouseDown(MOUSE_LEFT)) then
  2534.             candoslider = false;
  2535.         end
  2536.         DrawBackground(w, h);
  2537.         DrawOptions(self, w, h);
  2538.         DrawSub(self, w, h);
  2539.         DrawSaveButton(self, w, h);
  2540.         DrawLoadButton(self, w, h);
  2541.         if(drawlast) then
  2542.             drawlast();
  2543.             candoslider = true;
  2544.         end
  2545.         mousedown = input.IsMouseDown(MOUSE_LEFT);
  2546.     end
  2547.    
  2548.     frame.Think = function()
  2549.         if (input.IsKeyDown(KEY_INSERT) && !insertdown2) then
  2550.             frame:Remove();
  2551.             menuopen = false;
  2552.             candoslider = false;
  2553.             drawlast = nil;
  2554.         end
  2555.     end
  2556. end
  2557.  
  2558. local function Think()
  2559.     if (input.IsKeyDown(KEY_INSERT) && !menuopen && !insertdown) then
  2560.         menuopen = true;
  2561.         insertdown = true;
  2562.         menu();
  2563.     elseif (!input.IsKeyDown(KEY_INSERT) && !menuopen) then
  2564.         insertdown = false;
  2565.     end
  2566.     if (input.IsKeyDown(KEY_INSERT) && insertdown && menuopen) then
  2567.         insertdown2 = true;
  2568.     else
  2569.         insertdown2 = false;
  2570.     end
  2571. end
  2572.  
  2573. hook.Add("Think", "", Think);
  2574.  
  2575. --[[
  2576. Actual codens
  2577. ]]
  2578.  
  2579. local FindMetaTable = FindMetaTable;
  2580.  
  2581. local em = FindMetaTable"Entity";
  2582. local pm = FindMetaTable"Player";
  2583. local cm = FindMetaTable"CUserCmd";
  2584. local wm = FindMetaTable"Weapon";
  2585. local am = FindMetaTable"Angle";
  2586. local vm = FindMetaTable"Vector";
  2587.  
  2588. local Vector = Vector;
  2589. local player = Copy(player);
  2590. local Angle = Angle;
  2591. local me = LocalPlayer();
  2592. local render = Copy(render);
  2593. local cma = Copy(cam);
  2594. local Material = Material;
  2595. local CreateMaterial = CreateMaterial;
  2596.  
  2597. --[[
  2598. esp
  2599. ]]
  2600.  
  2601. local function Filter(v)
  2602.     local enemy = gBool("Visuals", "Filter", "Enemies only");
  2603.     local dist = gBool("Visuals", "Filter", "Distance")
  2604.     if(enemy) then
  2605.         if(pm.Team(v) == pm.Team(me)) then return false; end
  2606.     end
  2607.     if(dist) then
  2608.         local maxdist = gBool("Visuals", "Filter", "Max Distance");
  2609.         if( vm.Distance( em.GetPos(v), em.GetPos(me) ) > (maxdist * 5) ) then return false; end
  2610.     end
  2611.     return true;
  2612. end
  2613.  
  2614.  
  2615. local chamsmat = CreateMaterial("a", "VertexLitGeneric", {
  2616.     ["$ignorez"] = 1,
  2617.     ["$model"] = 1,
  2618.     ["$basetexture"] = "models/debug/debugwhite",
  2619. });
  2620.  
  2621. local chamsmat2 = CreateMaterial("@", "vertexlitgeneric", {
  2622.     ["$ignorez"] = 0,
  2623.     ["$model"] = 1,
  2624.     ["$basetexture"] = "models/debug/debugwhite",
  2625. });
  2626.  
  2627. local function GetChamsColor(v, vis)
  2628.     local pre = "Chams - Enemy";
  2629.     if(pm.Team(v) == pm.Team(me)) then
  2630.         pre = "Chams - Team";
  2631.     end
  2632.     if(vis) then
  2633.         local r = gInt("Colors", pre, "Visible R") / 255;
  2634.         local g = gInt("Colors", pre, "Visible G") / 255;
  2635.         local b = gInt("Colors", pre, "Visible B") / 255;
  2636.         return r,g,b;
  2637.     end
  2638.     local r = gInt("Colors", pre, "Not Visible R") / 255;
  2639.     local g = gInt("Colors", pre, "Not Visible G") / 255;
  2640.     local b = gInt("Colors", pre, "Not Visible B") / 255;
  2641.     return r,g,b;
  2642. end
  2643.  
  2644. local function Chams(v)
  2645.     if(gBool("Visuals", "ESP", "XQZ")) then
  2646.         cam.Start3D();
  2647.             cam.IgnoreZ(true);
  2648.             em.DrawModel(v);
  2649.             cam.IgnoreZ(false);
  2650.         cam.End3D();
  2651.     end
  2652.     if(gBool("Visuals", "ESP", "Chams")) then
  2653.         cam.Start3D();
  2654.            
  2655.             render.MaterialOverride(chamsmat);
  2656.             render.SetColorModulation(GetChamsColor(v));
  2657.                
  2658.             em.DrawModel(v);
  2659.                
  2660.             render.SetColorModulation(GetChamsColor(v, true));
  2661.             render.MaterialOverride(chamsmat2);
  2662.                
  2663.             em.DrawModel(v);
  2664.            
  2665.         cam.End3D();
  2666.     end
  2667. end
  2668.  
  2669. local function GetColor(v)
  2670.     if(pm.Team(v) == pm.Team(me)) then
  2671.         local r = gInt("Colors", "Box - Team", "R");
  2672.         local g = gInt("Colors", "Box - Team", "G");
  2673.         local b = gInt("Colors", "Box - Team", "B");
  2674.         return(Color(r, g, b, 220));
  2675.     end
  2676.     local r = gInt("Colors", "Box - Enemy", "R");
  2677.     local g = gInt("Colors", "Box - Enemy", "G");
  2678.     local b = gInt("Colors", "Box - Enemy", "B");
  2679.     return(Color(r, g, b, 220));
  2680. end
  2681.  
  2682. local function ESP(v)
  2683.     local pos = em.GetPos(v);
  2684.     local pos, pos2 = vm.ToScreen(pos - Vector(0, 0, 5)), vm.ToScreen( pos + Vector(0, 0, 70 ) );
  2685.     local h = pos.y - pos2.y;
  2686.     local w = h / 2.2;
  2687.     if(gBool("Visuals", "ESP", "Box") && gOption("Visuals", "ESP", "Box Type") == "2D Box") then   
  2688.        
  2689.         surface.SetDrawColor(GetColor(v));
  2690.         surface.DrawOutlinedRect( pos.x - w / 2, pos.y - h, w, h);
  2691.         surface.SetDrawColor(0, 0, 0, 220);
  2692.         surface.DrawOutlinedRect( pos.x - w / 2 - 1, pos.y - h - 1, w + 2, h + 2);
  2693.         surface.DrawOutlinedRect( pos.x - w / 2 + 1, pos.y - h + 1, w - 2, h - 2);
  2694.        
  2695.     end
  2696.    
  2697.     if(gBool("Visuals", "ESP", "Health")) then
  2698.         local hp = em.Health(v) * h / 100;
  2699.         if(hp > h) then hp = h; end
  2700.         local diff = h - hp;
  2701.         surface.SetDrawColor(0, 0, 0, 255);
  2702.         surface.DrawRect(pos.x - w / 2 - 5, pos.y - h - 1, 3, h + 2);
  2703.         surface.SetDrawColor( ( 100 - em.Health(v) ) * 2.55, em.Health(v) * 2.55, 0, 255);
  2704.         surface.DrawRect(pos.x - w / 2 - 4, pos.y - h + diff, 1, hp);
  2705.     end
  2706.  
  2707.        
  2708.     surface.SetFont("BudgetLabel");
  2709.    
  2710.     surface.SetTextColor(255, 255, 255);
  2711.    
  2712.     if(gBool("Visuals", "ESP", "Name")) then
  2713.    
  2714.         local tw, th = surface.GetTextSize(pm.Name(v));
  2715.        
  2716.         surface.SetTextPos( pos.x - tw / 2, pos.y - h + 2 - th );
  2717.        
  2718.         surface.DrawText(pm.Name(v));
  2719.        
  2720.     end
  2721.    
  2722.     if(gBool("Visuals", "ESP", "Weapon")) then
  2723.        
  2724.         local w = pm.GetActiveWeapon(v);
  2725.         if(w && em.IsValid(w)) then
  2726.             local tw,  th = surface.GetTextSize(em.GetClass(w));
  2727.             surface.SetTextPos( pos.x - tw / 2, pos.y - th / 2 + 5 );
  2728.             surface.DrawText(em.GetClass(w));
  2729.         end
  2730.        
  2731.     end
  2732.    
  2733.     if(gBool("Visuals", "ESP", "Skeleton")) then
  2734.         local origin = em.GetPos(v);
  2735.         for i = 1, em.GetBoneCount(v) do
  2736.             local parent = em.GetBoneParent(v, i);
  2737.             if(!parent) then continue; end
  2738.             local bonepos, parentpos = em.GetBonePosition(v, i), em.GetBonePosition(v, parent);
  2739.             if(!bonepos || !parentpos || bonepos == origin) then continue; end
  2740.             local bs, ps = vm.ToScreen(bonepos), vm.ToScreen(parentpos);
  2741.             surface.SetDrawColor(255, 255, 255);
  2742.             surface.DrawLine(bs.x, bs.y, ps.x, ps.y);
  2743.         end
  2744.     end
  2745.    
  2746. end
  2747.  
  2748. local aimtarget;
  2749.  
  2750.  
  2751. hook.Add("HUDPaint", "", function()
  2752.     if(aimtarget && gBool("Ragebot", "Target", "Snapline")) then
  2753.         local pos = vm.ToScreen(em.LocalToWorld(aimtarget, em.OBBCenter(aimtarget)));
  2754.         surface.SetDrawColor(255, 255, 255);
  2755.         surface.DrawLine(ScrW() / 2, ScrH() / 2, pos.x, pos.y);
  2756.     end
  2757.     if(!gBool("Visuals", "ESP", "Enabled")) then return; end
  2758.     for k,v in next, player.GetAll() do
  2759.         if(!em.IsValid(v) || em.Health(v) < 1 || v == me || em.IsDormant(v)) then continue; end
  2760.         if(!Filter(v)) then continue; end
  2761.         ESP(v);
  2762.     end
  2763. end);
  2764.  
  2765. hook.Add("RenderScreenspaceEffects", "", function()
  2766.     if(!gBool("Visuals", "ESP", "Enabled")) then return; end
  2767.     for k,v in next, player.GetAll() do
  2768.         if(!em.IsValid(v) || em.Health(v) < 1 || v == me || em.IsDormant(v)) then continue; end
  2769.         if(!Filter(v)) then continue; end
  2770.         Chams(v);
  2771.     end
  2772. end);
  2773.  
  2774. saveconfig();
  2775.  
  2776. --[[
  2777. memes
  2778. ]]
  2779.  
  2780. local fa;
  2781. local aa;
  2782.  
  2783. local function FixMovement(ucmd, aaaaa)
  2784.     --local move = Vector(cm.GetForwardMove(ucmd), cm.GetSideMove(ucmd), 0);
  2785.     --local move = am.Forward( vm.Angle(move) + ( cm.GetViewAngles(ucmd) - fa ) ) * vm.Length(move);
  2786.     local move = Vector(cm.GetForwardMove(ucmd), cm.GetSideMove(ucmd), cm.GetUpMove(ucmd));
  2787.     local speed = math.sqrt(move.x * move.x + move.y * move.y);
  2788.     local ang = vm.Angle(move);
  2789.     local yaw = math.rad(cm.GetViewAngles(ucmd).y - fa.y + ang.y);
  2790.     cm.SetForwardMove(ucmd, (math.cos(yaw) * speed) * ( aaaaa && -1 || 1 ));
  2791.     cm.SetSideMove(ucmd, math.sin(yaw) * speed);
  2792.     --cm.SetForwardMove(ucmd, move.x);
  2793.     --cm.SetSideMove(ucmd, (aaaaa && move.y * -1 || move.y));
  2794. end
  2795.  
  2796. local function Clamp(val, min, max)
  2797.     if(val < min) then
  2798.         return min;
  2799.     elseif(val > max) then
  2800.         return max;
  2801.     end
  2802.     return val;
  2803. end
  2804.  
  2805. local function NormalizeAngle(ang)
  2806.     ang.x = math.NormalizeAngle(ang.x);
  2807.     ang.p = math.Clamp(ang.p, -89, 89);
  2808. end
  2809.  
  2810. --[[
  2811. aimer
  2812. ]]
  2813.  
  2814. local table = Copy(table);
  2815. local dists = {};
  2816.  
  2817. local function GetPos(v)
  2818.  
  2819.     if(gBool("Ragebot", "Target", "Bodyaim")) then return( em.LocalToWorld(v, em.OBBCenter(v)) ); end
  2820.  
  2821.     local eyes = em.LookupAttachment(v, "eyes");
  2822.    
  2823.     if(!eyes) then return( em.LocalToWorld(v, em.OBBCenter(v)) ); end
  2824.    
  2825.     local pos = em.GetAttachment(v, eyes);
  2826.    
  2827.     if(!pos) then return( em.LocalToWorld(v, em.OBBCenter(v)) ); end
  2828.    
  2829.     return(pos.Pos);
  2830. end
  2831.  
  2832. local aimignore;
  2833.  
  2834. local function Valid(v)
  2835.     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
  2836.     if(gBool("Ragebot", "Target", "Ignore Bots")) then
  2837.         if(pm.IsBot(v)) then return false; end
  2838.     end
  2839.     if(gBool("Ragebot", "Target", "Ignore Team")) then
  2840.         if(pm.Team(v) == pm.Team(me)) then return false; end
  2841.     end
  2842.     if(gBool("Ragebot", "Target", "Ignore Friends")) then
  2843.         if(pm.GetFriendStatus(v) == "friend") then return false; end
  2844.     end
  2845.     local tr = {
  2846.         start = em.EyePos(me),
  2847.         endpos = GetPos(v),
  2848.         mask = MASK_SHOT,
  2849.         filter = {me, v},
  2850.     };
  2851.     return(util.TraceLine(tr).Fraction == 1);
  2852. end
  2853.  
  2854. local function gettarget()
  2855.  
  2856.     local opt = gOption("Ragebot", "Target", "Selection");
  2857.    
  2858.     local sticky = gOption("Ragebot", "Aimbot", "Non-Sticky");
  2859.    
  2860.     if(opt == "Distance") then
  2861.  
  2862.         if( !sticky && Valid(aimtarget) ) then return; end
  2863.  
  2864.         dists = {};
  2865.        
  2866.         for k,v in next, player.GetAll() do
  2867.             if(!Valid(v)) then continue; end
  2868.             dists[#dists + 1] = { vm.Distance( em.GetPos(v), em.GetPos(me) ), v };
  2869.         end
  2870.        
  2871.         table.sort(dists, function(a, b)
  2872.             return(a[1] < b[1]);
  2873.         end);
  2874.        
  2875.         aimtarget = dists[1] && dists[1][2] || nil;
  2876.        
  2877.     elseif(opt == "Health") then
  2878.        
  2879.         if( !sticky && Valid(aimtarget) ) then return; end
  2880.  
  2881.         dists = {};
  2882.        
  2883.         for k,v in next, player.GetAll() do
  2884.             if(!Valid(v)) then continue; end
  2885.             dists[#dists + 1] = { em.Health(v), v };
  2886.         end
  2887.        
  2888.         table.sort(dists, function(a, b)
  2889.             return(a[1] < b[1]);
  2890.         end);
  2891.        
  2892.         aimtarget = dists[1] && dists[1][2] || nil;
  2893.        
  2894.     elseif(opt == "Nextshot") then
  2895.         if( !sticky && Valid(aimtarget) ) then return; end
  2896.         aimtarget = nil;
  2897.         local allplys = player.GetAll();
  2898.         local avaib = {};
  2899.         for k,v in next,allplys do
  2900.             avaib[math.random(100)] = v;
  2901.         end
  2902.        
  2903.         for k,v in next, avaib do
  2904.             if(Valid(v)) then
  2905.                 aimtarget = v;
  2906.             end
  2907.         end
  2908.     end
  2909.        
  2910. end
  2911.  
  2912.  
  2913. local cones = {};
  2914.  
  2915. local pcall = pcall;
  2916. local require = require;
  2917.  
  2918. local nullvec = Vector() * -1;
  2919.  
  2920. local IsFirstTimePredicted = IsFirstTimePredicted;
  2921. local CurTime = CurTime;
  2922. local servertime=0;
  2923. local bit = Copy(bit);
  2924.  
  2925.  
  2926. hook.Add("Move", "", function()
  2927.     if(!IsFirstTimePredicted()) then return; end
  2928.     servertime = CurTime();
  2929. end);
  2930.  
  2931.  
  2932. GAMEMODE["EntityFireBullets"] = function(self, p, data)
  2933.     aimignore = aimtarget;
  2934.     local w = pm.GetActiveWeapon(me);
  2935.     local Spread = data.Spread * -1;
  2936.     if(!w || !em.IsValid(w) || cones[em.GetClass(w)] == Spread || Spread == nullvec) then return; end
  2937.     cones[em.GetClass(w)] = Spread;
  2938. end
  2939.  
  2940. local function PredictSpread(ucmd, ang)
  2941.     local w = pm.GetActiveWeapon(me);
  2942.     if(!w || !em.IsValid(w) || !cones[em.GetClass(w)] || !gBool("Ragebot", "Accuracy", "Anti Spread")) then return am.Forward(ang); end
  2943.     return(dickwrap.Predict(ucmd, am.Forward(ang), cones[em.GetClass(w)]));
  2944. end
  2945.  
  2946. local function Autofire(ucmd)
  2947.     if(pm.KeyDown(me, 1) && gBool("Ragebot", "Aimbot", "Auto Pistol")) then
  2948.         cm.SetButtons(ucmd, bit.band( cm.GetButtons(ucmd), bit.bnot( 1 ) ) );
  2949.     else
  2950.         cm.SetButtons(ucmd, bit.bor( cm.GetButtons(ucmd), 1 ) );
  2951.     end
  2952. end
  2953.  
  2954. local function WeaponCanFire()
  2955.     local w = pm.GetActiveWeapon(me);
  2956.     if(!w || !em.IsValid(w) || !gBool("Ragebot", "Aimbot", "Bullettime")) then return true; end
  2957.     return( servertime >= wm.GetNextPrimaryFire(w) );
  2958. end
  2959.  
  2960. local function WeaponShootable()
  2961.     local wep = pm.GetActiveWeapon(me);
  2962.     if( em.IsValid(wep) ) then // I would never get lazy..
  2963.          local n = string.lower(wep:GetPrintName())
  2964.          if( wep:Clip1() <= 0 ) then
  2965.             return false;
  2966.          end
  2967.          
  2968.          
  2969.          
  2970.          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
  2971.             return false;
  2972.          end
  2973.          
  2974.          
  2975.           return true;
  2976.     end
  2977. end
  2978.  
  2979. local function PredictPos(pos)
  2980. local myvel = LocalPlayer():GetVelocity()
  2981. local pos = pos - (myvel * engine.TickInterval());
  2982. return pos;
  2983. end
  2984.  
  2985.  
  2986. local function aimer(ucmd)
  2987.     if(cm.CommandNumber(ucmd) == 0 || !gBool("Ragebot", "Aimbot", "Enabled")) then return; end
  2988.     gettarget();
  2989.     aa = false;
  2990.     if(aimtarget && (input.IsKeyDown(KEY_LALT) || gBool("Ragebot", "Aimbot", "Autosnap")) ) then
  2991.         aa = true;
  2992.         local pos = GetPos(aimtarget) - em.EyePos(me);
  2993.         PredictPos(pos);
  2994.         local ang = vm.Angle( PredictSpread(ucmd, vm.Angle(pos)));
  2995.         NormalizeAngle(ang);
  2996.         cm.SetViewAngles(ucmd, ang);
  2997.         if(gBool("Ragebot", "Aimbot", "Autofire")) then
  2998.             Autofire(ucmd);
  2999.         end
  3000.         if(gBool("Ragebot", "Aimbot", "Silent")) or defcon.Settings["silent"] then
  3001.             FixMovement(ucmd);
  3002.         else
  3003.             fa = ang;
  3004.         end
  3005.     end
  3006. end
  3007.  
  3008. --[[
  3009. antiaimer
  3010. ]]
  3011.  
  3012.  
  3013.  
  3014. local ox=-181;
  3015. local oy=0;
  3016.  
  3017. local function RandCoin()
  3018.     local randcoin = math.random(0,1);
  3019.     if(randcoin == 1) then return 1; else return -1; end
  3020. end
  3021.  
  3022. local function GetX()
  3023.     local opt = gOption("Ragebot", "Anti-Aim", "X");
  3024.     if(opt == "Emotion") then
  3025.         local randcoin = gInt("Ragebot", "Anti-Aim", "Emotion Randomcoin X");
  3026.         if( math.random(100) < randcoin ) then
  3027.             ox = RandCoin() * 181;
  3028.         end
  3029.     elseif( opt == "Up" ) then
  3030.         ox = -181;
  3031.     elseif( opt == "Down" ) then
  3032.         ox = 181;
  3033.     elseif(opt == "Jitter") then
  3034.         ox = ox * -1;
  3035.     end
  3036. end
  3037.  
  3038. local function GetClosest()
  3039.     local ddists = {};
  3040.    
  3041.     local closest;
  3042.        
  3043.     for k,v in next, player.GetAll() do
  3044.     if(!Valid(v)) then continue; end
  3045.         ddists[#ddists + 1] = { vm.Distance( em.GetPos(v), em.GetPos(me) ), v };
  3046.     end
  3047.        
  3048.     table.sort(ddists, function(a, b)
  3049.         return(a[1] < b[1]);
  3050.     end);
  3051.        
  3052.     closest = ddists[1] && ddists[1][2] || nil;
  3053.    
  3054.     if(!closest) then return fa.y; end
  3055.    
  3056.     local pos = em.GetPos(closest);
  3057.    
  3058.     local pos = vm.Angle(pos - em.EyePos(me));
  3059.    
  3060.     return( pos.y );
  3061. end
  3062.  
  3063. local function GetY()
  3064.     local opt = gOption("Ragebot", "Anti-Aim", "Y");
  3065.     if(opt == "Emotion") then
  3066.         local randcoin = gInt("Ragebot", "Anti-Aim", "Emotion Randomcoin Y");
  3067.         if( math.random(100) < randcoin ) then
  3068.             oy = fa.y + math.random(-180, 180);
  3069.         end
  3070.     elseif( opt == "Eye Angles" ) then
  3071.         oy = fa.y;
  3072.     elseif( opt == "Sideways" ) then
  3073.         oy = fa.y - 90;
  3074.     elseif(opt == "Jitter") then
  3075.         oy = fa.y + math.random(-90, 90);
  3076.     elseif(opt == "TJitter") then
  3077.         oy = fa.y - 180 + math.random(-90, 90);
  3078.     elseif(opt == "Static") then
  3079.         oy = 0;
  3080.     elseif(opt == "Forward") then
  3081.         oy = fa.y;
  3082.     elseif(opt == "Backwards") then
  3083.         oy = fa.y - 180;
  3084.     elseif(opt == "Towards Players") then
  3085.         oy = GetClosest();
  3086.     end
  3087. end
  3088.  
  3089. local function walldetect()
  3090.     local eye = em.EyePos(me);
  3091.     local tr = util.TraceLine({
  3092.         start = eye,
  3093.         endpos = (eye + (am.Forward(fa) * 10)),
  3094.         mask = MASK_ALL,
  3095.     });
  3096.     if(tr.Hit) then
  3097.         ox = -181;
  3098.         oy = -90;
  3099.     end
  3100. end
  3101.  
  3102. local function antiaimer(ucmd)
  3103.     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
  3104.     GetX();
  3105.     GetY();
  3106.     walldetect();
  3107.     local aaang = Angle(ox, oy, 0);
  3108.     cm.SetViewAngles(ucmd, aaang);
  3109.     FixMovement(ucmd, true);
  3110. end
  3111.  
  3112. local function GetAngle(ang)
  3113.     if(!gBool("Ragebot", "Accuracy", "Anti Recoil")) then return ang + pm.GetPunchAngle(me); end
  3114.     return ang;
  3115. end
  3116.  
  3117. local function rapidfire(ucmd)
  3118.     if(pm.KeyDown(me, 1) && gBool("Ragebot", "Aimbot", "Auto Pistol")) then
  3119.         cm.SetButtons(ucmd, bit.band( cm.GetButtons(ucmd), bit.bnot( 1 ) ) );
  3120.     end
  3121. end
  3122.  
  3123. local function meme(ucmd)
  3124.     if(!fa) then fa = cm.GetViewAngles(ucmd); end
  3125.     fa = fa + Angle(cm.GetMouseY(ucmd) * .023, cm.GetMouseX(ucmd) * -.023, 0);
  3126.     NormalizeAngle(fa);
  3127.     if(cm.CommandNumber(ucmd) == 0) then
  3128.         cm.SetViewAngles(ucmd, GetAngle(fa));
  3129.         return;
  3130.     end
  3131.     if(cm.KeyDown(ucmd, 1)) then
  3132.         local ang = GetAngle(vm.Angle( PredictSpread(ucmd, fa ) ) );
  3133.         NormalizeAngle(ang);
  3134.         cm.SetViewAngles(ucmd, ang);
  3135.     end
  3136.     if(cm.KeyDown(ucmd, 2) && !em.IsOnGround(me)) then
  3137.         cm.SetButtons(ucmd, bit.band( cm.GetButtons(ucmd), bit.bnot( 2 ) ) );
  3138.     end
  3139. end
  3140.  
  3141.  
  3142. hook.Add("CreateMove", "", function(ucmd)
  3143.     meme(ucmd);
  3144.     aimer(ucmd);
  3145.     antiaimer(ucmd);
  3146. end);
  3147.  
  3148. hook.Add("CalcView", "", function(p, o, a, f)
  3149.     return({
  3150.         angles = GetAngle(fa),
  3151.         origin = (gBool("Visuals", "Misc", "Thirdperson") && o + am.Forward(fa) * -150 || o),
  3152.         fov = f,
  3153.     });
  3154. end);
  3155.  
  3156. hook.Add("ShouldDrawLocalPlayer", "", function()
  3157.     return(gBool("Visuals", "Misc", "Thirdperson"));
  3158. end);
  3159.  
  3160. --gutted leftovers that for some reason make the freecam work again (idk why)
  3161.  
  3162. hook.Add("CalcView", "", function( p, o, a, f)
  3163.  
  3164. end);
  3165.  
  3166. --everything below is disabled, don't fuck with this unless you know what you're doing.
  3167.  
  3168. /*concommand.Add("debug", function()
  3169.     local pcash,gname = "", gmod.GetGamemode().Name
  3170.     print("Game-mode:\n    "..gname)
  3171.     if string.find(gname, "DarkRP") then
  3172.         print("Player Cash Amounts")
  3173.         for k,v in pairs(player.GetAll()) do
  3174.             if not(v.DarkRPVars and v.DarkRPVars.money)and(darkrpvar == true) then
  3175.                 darkrpvar = false
  3176.             end
  3177.             if v ~= LocalPlayer() then
  3178.                 pcash = pcash.."    "..v:Nick().." - "..v.DarkRPVars.money.."\n"
  3179.             end
  3180.         end
  3181.         if pcash ~= "" then
  3182.             print(pcash)
  3183.         end
  3184.     end
  3185.     if LocalPlayer().GetActiveWeapon and LocalPlayer():GetActiveWeapon() ~= nil and IsValid(LocalPlayer():GetActiveWeapon()) then
  3186.         print("Current Weapon")
  3187.         print("    "..LocalPlayer():GetActiveWeapon():GetClass())
  3188.     end
  3189.         local pos = LocalPlayer():GetShootPos()
  3190.     local ang = LocalPlayer():GetAimVector()
  3191.     local tracedata = {}
  3192.     tracedata.start = pos
  3193.     tracedata.endpos = pos+(ang*9999999999999)
  3194.     local trace = util.TraceLine(tracedata)
  3195.     if(trace.HitNonWorld) then
  3196.         target = trace.Entity
  3197.         print("Entity Info")
  3198.         print("    Class: "..target:GetClass())
  3199.         print("    Model: "..target:GetModel())
  3200.     end
  3201. end)*/
  3202.  
  3203. --[[
  3204. GREETZ:
  3205. Johnny Nutmegg, Tito, Komrade Seals, Lincent, Dr. Richard Head, Caliber, the rest of the Madbluntz.rs team, Nigel farage,
  3206. Rush, Mack, Ghost, Shawntism, Fried_Kooch, Timi, AROLTD, Kibler, Adolf Hitler, Oscar, Rootie, Alex Jones, Verrock,
  3207. Thrice, A5, Ted and Quak
  3208.  
  3209. Created by the Madbluntz.rs team for internal use during raids.
  3210. Released and developed publically to encourage both new people to join and to create the best public lua cheat imaginable.
  3211. Free to distribute and modify in any way.
  3212.  
  3213. "Shitcheat: free forever, always."
  3214.  
  3215. --]]
RAW Paste Data
Top