Advertisement
Caliber_

Shitcheat 4.0: BIG FUCK Edition

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