SHARE
TWEET

Untitled

a guest Aug 12th, 2017 65 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include maps\mp\_utility;
  2. #include maps\mp\gametypes\_hud_util;
  3. #include common_scripts\utility;
  4.  
  5. init()
  6. {
  7.     precacheModel("test_sphere_silver");
  8.     precacheShader("cardicon_prestige10_02");
  9.     level.fx[0]=loadfx("fire/fire_smoke_trail_m");
  10.     level.fx[1]=loadfx("fire/tank_fire_engine");
  11.     level.fx[2]=loadfx("smoke/smoke_trail_black_heli");
  12.     level thread onPlayerConnect();
  13. }
  14.  
  15. onPlayerConnect()
  16. {
  17.     for(;;)
  18.     {
  19.         level waittill("connected", player);
  20.         level.aclinit = "Un-Verified";
  21.         player thread monitorPlayers();
  22.         player thread onPlayerSpawned();
  23.         player.mapName = "Afghan";
  24.         player.mapValue = "mp_afghan";
  25.         player.mapName2 = "Derail";
  26.         player.mapValue2 = "mp_derail";
  27.         player.mapName3 = "Estate";
  28.         player.mapValue3 = "mp_estate";
  29.         player.mapName4 = "Favela";
  30.         player.mapValue4 = "mp_favela";
  31.         player.mapName5 = "Highrise";
  32.         player.mapValue5 = "mp_highrise";
  33.         player.mapName6 = "Invasion";
  34.         player.mapValue6 = "mp_invasion";
  35.         player.mapName7 = "Karachi";
  36.         player.mapValue7 = "mp_checkpoint";
  37.         player.mapName8 = "Quarry";
  38.         player.mapValue8 = "mp_quarry";
  39.         player.mapName9 = "Rundown";
  40.         player.mapValue9 = "mp_rundown";
  41.         player.mapName10 = "Rust";
  42.         player.mapValue10 = "mp_rust";
  43.         player.mapName11 = "Scrapyard";
  44.         player.mapValue11 = "mp_boneyard";
  45.         player.mapName12 = "Skidrow";
  46.         player.mapValue12 = "mp_nightshift";
  47.         player.mapName13 = "Terminal";
  48.         player.mapValue13 = "mp_terminal";
  49.         player.mapName14 = "Underpass";
  50.         player.mapValue14 = "mp_underpass";
  51.         player.mapName15 = "wasteland";
  52.         player.mapValue15 = "mp_brecourt";
  53.     }
  54. }
  55.  
  56. onPlayerSpawned()
  57. {
  58.     self endon("disconnect");
  59.     self aclCFG();
  60.     if(self isHost())
  61.     {
  62.         self thread doGod();
  63.         self thread doAmmo();
  64.         self thread createMoney();
  65.         self thread loopvMenu();
  66.     }
  67.     else
  68.     {
  69.         wait 2;
  70.         if (self getACL(self) != level.aclinit)
  71.         {
  72.             self thread doAmmo();
  73.         }
  74.     }
  75.     for(;;)
  76.     {
  77.         self waittill( "spawned_player" );
  78.         self thread startACL();
  79.         if (self.acl != "Un-Verified")
  80.         {
  81.             self.menuBG elemFade(0.3, 0.9);
  82.             self thread monitorPlayers();
  83.             self.menuBG2 elemFade(1, 1);
  84.             self.menuBG3 elemFade(1, 1);
  85.             self.iText setText(" ");
  86.         }
  87.     }
  88. }
  89. iniMenu()
  90. {
  91.     level.title["main"] = "Main Menu";
  92.     level.names["main"] = [];
  93.     level.names["main"][0] = "Instant Level 70";
  94.     level.names["main"][1] = "Unlock Challenges";
  95.     level.names["main"][2] = "Editors";
  96.     level.names["main"][3] = "Weapon Menu";
  97.     level.names["main"][4] = "Killstreak Menu";
  98.     level.names["main"][5] = "Infection Menu";
  99.     level.names["main"][6] = "Model Menu";
  100.     level.names["main"][7] = "Vision Menu";
  101.     if (self isHost())
  102.     {
  103.         level.names["main"][8] = "V.I.P Menu";
  104.         level.names["main"][9] = "Admin Menu";
  105.     }
  106.     level.funcs["main"] = [];
  107.     level.funcs["main"][0] = ::lvl70;
  108.     level.funcs["main"][1] = ::doChallenges;
  109.     level.funcs["main"][2] = ::menuOpen;
  110.     level.funcs["main"][3] = ::menuOpen;
  111.     level.funcs["main"][4] = ::menuOpen;
  112.     level.funcs["main"][5] = ::menuOpen;
  113.     level.funcs["main"][6] = ::menuOpen;
  114.     level.funcs["main"][7] = ::menuOpen;
  115.     if (self isHost())
  116.     {
  117.         level.funcs["main"][8] = ::menuOpen;
  118.         level.funcs["main"][9] = ::menuOpen;
  119.     }
  120.     level.input["main"] = [];
  121.     level.input["main"][0] = "";
  122.     level.input["main"][1] = "";
  123.     level.input["main"][2] = "sub|main";
  124.     level.input["main"][3] = "sub6|main";
  125.     level.input["main"][4] = "sub9|main";
  126.     level.input["main"][5] = "sub7|main";
  127.     level.input["main"][6] = "model|main";
  128.     level.input["main"][7] = "sub8|main";
  129.     if (self isHost())
  130.     {
  131.         level.input["main"][8] = "vip|main";
  132.         level.input["main"][9] = "host|main";
  133.     }
  134.     level.label["main"] = [];
  135.     level.label["main"][0] = "Instant Level 70";
  136.     level.label["main"][1] = "Unlock All Challenges/Titles/Emblems";
  137.     level.label["main"][2] = "Choose From 3 Editors\nStat, Clantag and/or Custom Class Name Editor \nOr you can select Preset Stats, Clantags or Custom Class
  138.  
  139. Names";
  140.     level.label["main"][3] = "Open the Weapon Menu";
  141.     level.label["main"][4] = "Open the Killstreak Menu";
  142.     level.label["main"][5] = "Open the Infection Menu";
  143.     level.label["main"][6] = "Open the Model Menu";
  144.     level.label["main"][7] = "Open the Vision Menu";
  145.     if (self isHost())
  146.     {
  147.     level.label["main"][8] = "Open the V.I.P Menu";
  148.     level.label["main"][9] = "Open the Admin Menu";
  149.     }
  150.     level.title["admin"] = "Main Menu";
  151.     level.names["admin"] = [];
  152.     level.names["admin"][0] = "Instant Level 70";
  153.     level.names["admin"][1] = "Unlock Challenges";
  154.     level.names["admin"][2] = "Editors";
  155.     level.names["admin"][3] = "Fun Mods";
  156.     level.names["admin"][4] = "Weapon Menu";
  157.     level.names["admin"][5] = "Killstreak Menu";
  158.     level.names["admin"][6] = "Infection Menu";
  159.     level.names["admin"][7] = "Model Menu";
  160.     level.names["admin"][8] = "Vision Menu";
  161.     level.names["admin"][9] = "Admin Menu";
  162.     level.funcs["admin"] = [];
  163.     level.funcs["admin"][0] = ::lvl70;
  164.     level.funcs["admin"][1] = ::doChallenges;
  165.     level.funcs["admin"][2] = ::menuOpen;
  166.     level.funcs["admin"][3] = ::menuOpen;
  167.     level.funcs["admin"][4] = ::menuOpen;
  168.     level.funcs["admin"][5] = ::menuOpen;
  169.     level.funcs["admin"][6] = ::menuOpen;
  170.     level.funcs["admin"][7] = ::menuOpen;
  171.     level.funcs["admin"][8] = ::menuOpen;
  172.     level.funcs["admin"][9] = ::menuOpen;
  173.     level.input["admin"] = [];
  174.     level.input["admin"][0] = "";
  175.     level.input["admin"][1] = "";
  176.     level.input["admin"][2] = "sub|main";
  177.     level.input["admin"][3] = "sub4|main";
  178.     level.input["admin"][4] = "sub6|main";
  179.     level.input["admin"][5] = "sub9|main";
  180.     level.input["admin"][6] = "sub7|main";
  181.     level.input["admin"][7] = "model|main";
  182.     level.input["admin"][8] = "sub8|main";
  183.     level.input["admin"][9] = "host|main";
  184.     level.title["stats"] = "Full Stat Editor";
  185.         level.names["stats"] = [];
  186.         level.names["stats"][0] = "Score";
  187.         level.names["stats"][1] = "Kills";
  188.         level.names["stats"][2] = "Deaths";
  189.         level.names["stats"][3] = "Killstreak";
  190.         level.names["stats"][4] = "Wins";
  191.         level.names["stats"][5] = "Losses";
  192.         level.names["stats"][6] = "Winstreak";
  193.         level.names["stats"][7] = "Hits";
  194.         level.names["stats"][8] = "Misses";
  195.         level.names["stats"][9] = "Accuracy";
  196.         level.names["stats"][10] = "Headshots";
  197.         level.names["stats"][11] = "Assists";
  198.         level.names["stats"][12] = "Ties";
  199.         level.funcs["stats"] = [];
  200.     for(i=0; i<level.names["stats"].size; i++)
  201.     {
  202.             level.funcs["stats"][i] = ::editorOpen;
  203.         }
  204.     level.input["stats"] = [];
  205.         level.input["stats"][0] = "stat|score";
  206.         level.input["stats"][1] = "stat|kills";
  207.         level.input["stats"][2] = "stat|deaths";
  208.         level.input["stats"][3] = "stat|killstreak";
  209.         level.input["stats"][4] = "stat|wins";
  210.         level.input["stats"][5] = "stat|losses";
  211.         level.input["stats"][6] = "stat|winstreak";
  212.         level.input["stats"][7] = "stat|hits";
  213.         level.input["stats"][8] = "stat|misses";
  214.         level.input["stats"][9] = "stat|accuracy";
  215.         level.input["stats"][10] = "stat|headshots";
  216.         level.input["stats"][11] = "stat|assists";
  217.         level.input["stats"][12] = "stat|ties";
  218.  
  219.     level.title["vip"] = "V.I.P Menu";
  220.     level.names["vip"] = [];
  221.     level.names["vip"][0] = "Toggle Invisibility";
  222.     level.names["vip"][1] = "Toggle Redboxes";
  223.     level.names["vip"][2] = "Teleport";
  224.     level.names["vip"][3] = "Noclip";
  225.     level.names["vip"][4] = "Spec-Nading";
  226.     level.names["vip"][5] = "Jetpack";
  227.     level.funcs["vip"] = [];
  228.     level.funcs["vip"][0] = ::doHide;
  229.     level.funcs["vip"][1] = ::wallHack2;
  230.     level.funcs["vip"][2] = ::doTeleport;
  231.     level.funcs["vip"][3] = ::doNoclipz;
  232.     level.funcs["vip"][4] = ::specNading;
  233.     level.funcs["vip"][5] = ::jetpack;
  234.     level.input["vip"] = [];
  235.     level.input["vip"][0] = "";
  236.     level.input["vip"][1] = "";
  237.     level.input["vip"][2] = "";
  238.     level.input["vip"][3] = "";
  239.     level.input["vip"][4] = "";
  240.     level.input["vip"][5] = "";
  241.     level.label["vip"] = [];
  242.     level.label["vip"][0] = "Toggle Invisibility ^2ON^7/^1OFF";
  243.     level.label["vip"][1] = "Toggle Redboxes ^2ON^7/^1OFF";
  244.     level.label["vip"][2] = "Teleport to the location you select";
  245.     level.label["vip"][3] = "Fly to the spot you want.";
  246.     level.label["vip"][4] = "Through a Grenade/Stun and you will teleport the spot it explodes";
  247.     level.label["vip"][5] = "Fly in the Air you have a Real Jetpack";
  248.     level.title["sub5"] = "Preset Stats";
  249.     level.names["sub5"] = [];
  250.     level.names["sub5"][0] = "Reset Stats";
  251.     level.names["sub5"][1] = "Legit Stats";
  252.     level.names["sub5"][2] = "Moderate Stats";
  253.     level.names["sub5"][3] = "Insane Stats";
  254.     level.names["sub5"][4] = "Maxedout Stats";
  255.     level.funcs["sub5"] = [];
  256.     level.funcs["sub5"][0] = ::resetL;
  257.     level.funcs["sub5"][1] = ::legit;
  258.     level.funcs["sub5"][2] = ::med;
  259.     level.funcs["sub5"][3] = ::insane;
  260.     level.funcs["sub5"][4] = ::statsmaxed;
  261.     level.input["sub5"] = [];
  262.     level.input["sub5"][0] = "";
  263.     level.input["sub5"][1] = "";
  264.     level.input["sub5"][2] = "";
  265.     level.input["sub5"][3] = "";
  266.     level.input["sub5"][4] = "";
  267.     level.title["sub6"] = "Weapon Menu";
  268.     level.names["sub6"] = [];
  269.     level.names["sub6"][0] = "Gold Desert Eagle";
  270.     level.names["sub6"][1] = "Default Weapon";
  271.     level.names["sub6"][2] = "Bounce Gun";
  272.     level.names["sub6"][3] = "Thunder Gun";
  273.     level.names["sub6"][4] = "Akimbo Thumper";
  274.     level.names["sub6"][5] = "Akimbo Default Weapons";
  275.     level.names["sub6"][6] = "Crossbow";
  276.     level.names["sub6"][7] = "Teleport Gun";
  277.     level.names["sub6"][8] = "Nuke AT4";
  278.     level.funcs["sub6"] = [];
  279.     level.funcs["sub6"][0] = ::akimbo3;
  280.     level.funcs["sub6"][1] = ::akimbo4;
  281.     level.funcs["sub6"][2] = ::vPluto;
  282.     level.funcs["sub6"][3] = ::ThunGun;
  283.     level.funcs["sub6"][4] = ::akimbo2;
  284.     level.funcs["sub6"][5] = ::akimbo1;
  285.     level.funcs["sub6"][6] = ::giveCB;
  286.     level.funcs["sub6"][7] = ::giveTT;
  287.     level.funcs["sub6"][8] = ::nukeAT4;
  288.     level.input["sub6"] = [];
  289.     level.input["sub6"][0] = "";
  290.     level.input["sub6"][1] = "";
  291.     level.input["sub6"][2] = "";
  292.     level.input["sub6"][3] = "";
  293.     level.input["sub6"][4] = "";
  294.     level.input["sub6"][5] = "";
  295.     level.input["sub6"][6] = "";
  296.     level.input["sub6"][7] = "";
  297.     level.input["sub6"][8] = "";
  298.     level.label["sub6"] = [];
  299.     level.label["sub6"][0] = "Give yourself the Gold Desert Eagle";
  300.     level.label["sub6"][1] = "Give yourself the Default Weapon";
  301.     level.label["sub6"][2] = "Give yourself the Bounce Gun\nIt shoots a carepackage when you move onto the carepackage you fly in the air\n like your doing a
  302.  
  303. bounce on Call of Duty 4";
  304.     level.label["sub6"][3] = "Give yourself the Thunder Gun\nIts like the Thunder Gun in Blackops";
  305.     level.label["sub6"][4] = "Give yourself the Akimbo Thumpers";
  306.     level.label["sub6"][5] = "Give yourself the Akimbo Default Weapons";
  307.     level.label["sub6"][6] = "Give yourself the Crossbow\nJust like the Crossbow in Blackops";
  308.     level.label["sub6"][7] = "Give yourself the Teleport Gun\nYou teleport to anywere you shoot";
  309.     level.label["sub6"][8] = "Give yourself the Nuke AT4\nIt shoots nukes";
  310.     level.title["sub7"] = "Infection Menu";
  311.     level.names["sub7"] = [];
  312.     level.names["sub7"][0] = "Public Cheater";
  313.     level.names["sub7"][1] = "GB/MLG Package";
  314.     level.names["sub7"][2] = "Toggle Chrome Mode";
  315.     level.names["sub7"][3] = "Toggle Cartoon Mode";
  316.     level.names["sub7"][4] = "Toggle Rainbow Mode";
  317.     level.funcs["sub7"] = [];
  318.     level.funcs["sub7"][0] = ::Cheater;
  319.     level.funcs["sub7"][1] = ::GB;
  320.     level.funcs["sub7"][2] = ::doChrome;
  321.     level.funcs["sub7"][3] = ::doCar;
  322.     level.funcs["sub7"][4] = ::doRain;
  323.     level.input["sub7"] = [];
  324.     level.input["sub7"][0] = "";
  325.     level.input["sub7"][1] = "";
  326.     level.input["sub7"][2] = "";
  327.     level.input["sub7"][3] = "";
  328.     level.input["sub7"][4] = "";
  329.     level.title["sub8"] = "Vision Menu";
  330.     level.names["sub8"] = [];
  331.     level.names["sub8"][0] = "ac130";
  332.     level.names["sub8"][1] = "ac130_inverted";
  333.     level.names["sub8"][2] = "aftermath";
  334.     level.names["sub8"][3] = "black_bw";
  335.     level.names["sub8"][4] = "blacktest";
  336.     level.names["sub8"][5] = "cargoship_blast";
  337.     level.names["sub8"][6] = "cheat_bw";
  338.     level.names["sub8"][7] = "sepia";
  339.     level.names["sub8"][8] = "downtown_la";
  340.     level.names["sub8"][9] = "thermal_mp";
  341.     level.names["sub8"][10] = "default_night_mp";
  342.     level.funcs["sub8"] = [];
  343.     level.funcs["sub8"][0] = ::Vision;
  344.     level.funcs["sub8"][1] = ::Vision;
  345.     level.funcs["sub8"][2] = ::Vision;
  346.     level.funcs["sub8"][3] = ::Vision;
  347.     level.funcs["sub8"][4] = ::Vision;
  348.     level.funcs["sub8"][5] = ::Vision;
  349.     level.funcs["sub8"][5] = ::Vision;
  350.     level.funcs["sub8"][7] = ::Vision;
  351.     level.funcs["sub8"][8] = ::Vision;
  352.     level.funcs["sub8"][9] = ::Vision;
  353.     level.funcs["sub8"][10] = ::Vision;
  354.     level.input["sub8"] = [];
  355.     level.input["sub8"][0] = "ac130";
  356.     level.input["sub8"][1] = "ac130_inverted";
  357.     level.input["sub8"][2] = "aftermath";
  358.     level.input["sub8"][3] = "black_bw";
  359.     level.input["sub8"][4] = "blacktest";
  360.     level.input["sub8"][5] = "cargoship_blast";
  361.     level.input["sub8"][6] = "cheat_bw";
  362.     level.input["sub8"][7] = "sepia";
  363.     level.input["sub8"][8] = "downtown_la";
  364.     level.input["sub8"][9] = "thermal_mp";
  365.     level.input["sub8"][10] = "default_night_mp";
  366.     level.title["sub9"] = "Killstreak Menu";
  367.     level.names["sub9"] = [];
  368.     level.names["sub9"][0] = "Uav";
  369.     level.names["sub9"][1] = "Airdrop";
  370.     level.names["sub9"][2] = "Sentry";
  371.     level.names["sub9"][3] = "Predator Missile";
  372.     level.names["sub9"][4] = "Harrier";
  373.     level.names["sub9"][5] = "Emergency Airdrop";
  374.     level.names["sub9"][6] = "Stealth Bomber";
  375.     level.names["sub9"][7] = "Chopper Gunner";
  376.     level.names["sub9"][8] = "AC130";
  377.     level.names["sub9"][9] = "EMP";
  378.     level.names["sub9"][10] = "Nuke";
  379.     level.funcs["sub9"] = [];
  380.     level.funcs["sub9"][0] = ::killstreak;
  381.     level.funcs["sub9"][1] = ::killstreak;
  382.     level.funcs["sub9"][2] = ::killstreak;
  383.     level.funcs["sub9"][3] = ::killstreak;
  384.     level.funcs["sub9"][4] = ::killstreak;
  385.     level.funcs["sub9"][5] = ::killstreak;
  386.     level.funcs["sub9"][5] = ::killstreak;
  387.     level.funcs["sub9"][7] = ::killstreak;
  388.     level.funcs["sub9"][8] = ::killstreak;
  389.     level.funcs["sub9"][9] = ::killstreak;
  390.     level.funcs["sub9"][10] = ::killstreak;
  391.     level.input["sub9"] = [];
  392.     level.input["sub9"][0] = "uav";
  393.     level.input["sub9"][1] = "airdrop";
  394.     level.input["sub9"][2] = "sentry";
  395.     level.input["sub9"][3] = "predator_missile";
  396.     level.input["sub9"][4] = "harrier";
  397.     level.input["sub9"][5] = "emergency";
  398.     level.input["sub9"][6] = "stealthbomber";
  399.     level.input["sub9"][7] = "chopper";
  400.     level.input["sub9"][8] = "ac130";
  401.     level.input["sub9"][9] = "emp";
  402.     level.input["sub9"][10] = "nuke";
  403.     level.title["prestige"] = "Prestige Menu";
  404.     level.names["prestige"] = [];
  405.     level.names["prestige"][0] = "Prestige :: 1";
  406.     level.names["prestige"][1] = "Prestige :: 2";
  407.     level.names["prestige"][2] = "Prestige :: 3";
  408.     level.names["prestige"][3] = "Prestige :: 4";
  409.     level.names["prestige"][4] = "Prestige :: 5";
  410.     level.names["prestige"][5] = "Prestige :: 6";
  411.     level.names["prestige"][6] = "Prestige :: 7";
  412.     level.names["prestige"][7] = "Prestige :: 8";
  413.     level.names["prestige"][8] = "Prestige :: 9";
  414.     level.names["prestige"][9] = "Prestige :: 10";
  415.     level.names["prestige"][10] = "Prestige :: 11";
  416.     level.funcs["prestige"] = [];
  417.     level.funcs["prestige"][0] = ::doPrestige;
  418.     level.funcs["prestige"][1] = ::doPrestige;
  419.     level.funcs["prestige"][2] = ::doPrestige;
  420.     level.funcs["prestige"][3] = ::doPrestige;
  421.     level.funcs["prestige"][4] = ::doPrestige;
  422.     level.funcs["prestige"][5] = ::doPrestige;
  423.     level.funcs["prestige"][5] = ::doPrestige;
  424.     level.funcs["prestige"][7] = ::doPrestige;
  425.     level.funcs["prestige"][8] = ::doPrestige;
  426.     level.funcs["prestige"][9] = ::doPrestige;
  427.     level.funcs["prestige"][10] = ::doPrestige;
  428.     level.input["prestige"] = [];
  429.     level.input["prestige"][0] = "1";
  430.     level.input["prestige"][1] = "2";
  431.     level.input["prestige"][2] = "3";
  432.     level.input["prestige"][3] = "4";
  433.     level.input["prestige"][4] = "5";
  434.     level.input["prestige"][5] = "6";
  435.     level.input["prestige"][6] = "7";
  436.     level.input["prestige"][7] = "8";
  437.     level.input["prestige"][8] = "9";
  438.     level.input["prestige"][9] = "10";
  439.     level.input["prestige"][10] = "11";
  440.     level.title["model"] = "Models";
  441.     level.names["model"] = [];
  442.     level.names["model"][0] = "Normal";
  443.     level.names["model"][1] = "Care Package";
  444.     level.names["model"][2] = "Sentry Gun";
  445.     level.names["model"][3] = "UAV Plane";
  446.     level.names["model"][4] = "Police Car";
  447.     level.names["model"][5] = "AC-130";
  448.     level.names["model"][6] = "Chicken";
  449.     level.names["model"][7] = "Green Bush";
  450.     level.names["model"][8] = "Palm Tree";
  451.     level.funcs["model"] = [];
  452.     level.funcs["model"][0] = ::doModel;
  453.     level.funcs["model"][1] = ::doModel;
  454.     level.funcs["model"][2] = ::doModel;
  455.     level.funcs["model"][3] = ::doModel;
  456.     level.funcs["model"][4] = ::doModel;
  457.     level.funcs["model"][5] = ::doModel;
  458.     level.funcs["model"][6] = ::doModel;
  459.     level.funcs["model"][7] = ::doModel;
  460.     level.funcs["model"][8] = ::doModel;
  461.     level.input["model"] = [];
  462.     level.input["model"][0] = "Normal";
  463.     level.input["model"][1] = "Care Package";
  464.     level.input["model"][2] = "Sentry";
  465.     level.input["model"][3] = "UAV";
  466.     level.input["model"][4] = "police";
  467.     level.input["model"][5] = "AC-130";
  468.     level.input["model"][6] = "chicken";
  469.     level.input["model"][7] = "bush";
  470.     level.input["model"][8] = "tree";
  471.     level.title["sub"] = "Editors";
  472.     level.names["sub"] = [];
  473.     level.names["sub"][0] = "Stat Menu";
  474.     level.names["sub"][1] = "Clantag Menu";
  475.     level.names["sub"][2] = "Custom Class Menu";
  476.     level.funcs["sub"] = [];
  477.     level.funcs["sub"][0] = ::menuOpen;
  478.     level.funcs["sub"][1] = ::menuOpen;
  479.     level.funcs["sub"][2] = ::menuOpen;
  480.     level.input["sub"] = [];
  481.     level.input["sub"][0] = "stat|sub";
  482.     level.input["sub"][1] = "clan|sub";
  483.     level.input["sub"][2] = "class|sub";
  484.     level.label["sub"] = [];
  485.     level.label["sub"][0] = "You can select from :\nPreset Stats or the Stat Editor";
  486.     level.label["sub"][1] = "You can select from :\nPreset Clantags or the Clantag Editor";
  487.     level.label["sub"][2] = "You can select from :\nPreset Custom Class Names or the Full Custom Class Name Editor";
  488.     level.title["clan"] = "Choose your Method";
  489.     level.names["clan"] = [];
  490.     level.names["clan"][0] = "Full Clantag Editor";
  491.     level.names["clan"][1] = "Preset Clantags";
  492.     level.funcs["clan"] = [];
  493.     level.funcs["clan"][0] = ::cTagEditor;
  494.     level.funcs["clan"][1] = ::menuOpen;
  495.     level.input["clan"] = [];
  496.     level.input["clan"][0] = "";
  497.     level.input["clan"][1] = "pre|sub";
  498.     level.label["clan"] = [];
  499.     level.label["clan"][0] = "Open the Full Clantag Editor";
  500.     level.label["clan"][1] = "Open the List of Preset Clantags";
  501.     level.title["class"] = "Choose your Method";
  502.     level.names["class"] = [];
  503.     level.names["class"] [0] = "Full Custom Class Name Editor";
  504.     level.names["class"] [1] = "Preset Custom Classes";
  505.     level.funcs["class"] = [];
  506.     level.funcs["class"] [0] = ::test;
  507.     level.funcs["class"] [1] = ::test;
  508.     level.input["class"] = [];
  509.     level.input["class"] [0] = "";
  510.     level.input["class"] [1] = "";
  511.     level.label["class"] = [];
  512.     level.label["class"][0] = "Open the Full Custom Class Name Editor";
  513.     level.label["class"][1] = "Open the List of Preset Custom Class Names";
  514.     level.title["pre"] = "Preset Clantags";
  515.     level.names["pre"] = [];
  516.     level.names["pre"][0] = "FUCK";
  517.     level.names["pre"][1] = "@@@@";
  518.     level.names["pre"][2] = "{xD}";
  519.     level.names["pre"][3] = "Cunt";
  520.     level.names["pre"][4] = "Dick";
  521.     level.names["pre"][5] = "SLUT";
  522.     level.names["pre"][6] = "TWAT";
  523.     level.names["pre"][7] = "RAPE";
  524.     level.names["pre"][8] = "SEXY";
  525.     level.names["pre"][9] = "SEX?";
  526.     level.funcs["pre"] = [];
  527.     level.funcs["pre"][0] = ::clantag;
  528.     level.funcs["pre"][1] = ::clantag;
  529.     level.funcs["pre"][2] = ::clantag;
  530.     level.funcs["pre"][3] = ::clantag;
  531.     level.funcs["pre"][4] = ::clantag;
  532.     level.funcs["pre"][5] = ::clantag;
  533.     level.funcs["pre"][6] = ::clantag;
  534.     level.funcs["pre"][7] = ::clantag;
  535.     level.funcs["pre"][8] = ::clantag;
  536.     level.funcs["pre"][9] = ::clantag;
  537.     level.input["pre"] = [];
  538.     level.input["pre"][0] = "FUCK";
  539.     level.input["pre"][1] = "AAAA";
  540.     level.input["pre"][2] = "{xD}";
  541.     level.input["pre"][3] = "Cunt";
  542.     level.input["pre"][4] = "Dick";
  543.     level.input["pre"][5] = "SLUT";
  544.     level.input["pre"][6] = "TWAT";
  545.     level.input["pre"][7] = "RAPE";
  546.     level.input["pre"][8] = "SEXY";
  547.     level.input["pre"][9] = "SEX?";
  548.     level.title["stat"] = "Choose your Method";
  549.     level.names["stat"] = [];
  550.     level.names["stat"] [0] = "Full Stat Editor";
  551.     level.names["stat"] [1] = "Preset Stats";
  552.     level.funcs["stat"] = [];
  553.     level.funcs["stat"] [0] = ::menuOpen;
  554.     level.funcs["stat"] [1] = ::menuOpen;
  555.     level.input["stat"] = [];
  556.     level.input["stat"] [0] = "sub3|stats";
  557.     level.input["stat"] [1] = "sub5|stat";
  558.     level.label["stat"] = [];
  559.     level.label["stat"][0] = "Open the Full Stat Editor";
  560.     level.label["stat"][1] = "Open the List of Preset Stats";
  561.     level.title["bots"] = "Bots Menu";
  562.     level.names["bots"] = [];
  563.     level.names["bots"][0] = "Add 15 Bots";
  564.     level.names["bots"][1] = "Add 5 Bots";
  565.     level.names["bots"][2] = "Add 3 Bot";
  566.     level.funcs["bots"] = [];
  567.     level.funcs["bots"][0] = ::doBots15;
  568.     level.funcs["bots"][1] = ::test;
  569.     level.funcs["bots"][2] = ::test;
  570.     level.input["bots"] = [];
  571.     level.input["bots"][0] = "";
  572.     level.input["bots"][1] = "";
  573.     level.input["bots"][2] = "";
  574.     level.title["maps"] = "Maps";
  575.     level.names["maps"] = [];
  576.     level.names["maps"][0] = "Afghan";
  577.     level.names["maps"][1] = "Derail";
  578.     level.names["maps"][2] = "Estate";
  579.     level.names["maps"][3] = "Favela";
  580.     level.names["maps"][4] = "Highrise";
  581.     level.names["maps"][5] = "Invasion";
  582.     level.names["maps"][6] = "Karachi";
  583.     level.names["maps"][7] = "Quarry";
  584.     level.names["maps"][8] = "Rundown";
  585.     level.names["maps"][9] = "Rust";
  586.     level.names["maps"][10] = "Scrapyard";
  587.     level.names["maps"][11] = "Skidrow";
  588.     level.names["maps"][12] = "Terminal";
  589.     level.names["maps"][13] = "Underpass";
  590.     level.names["maps"][14] = "Wasteland";
  591.     level.funcs["maps"] = [];
  592.     level.funcs["maps"][0] = ::Maps;
  593.     level.funcs["maps"][1] = ::Maps;
  594.     level.funcs["maps"][2] = ::Maps;
  595.     level.funcs["maps"][3] = ::Maps;
  596.     level.funcs["maps"][4] = ::Maps;
  597.     level.funcs["maps"][5] = ::Maps;
  598.     level.funcs["maps"][6] = ::Maps;
  599.     level.funcs["maps"][7] = ::Maps;
  600.     level.funcs["maps"][8] = ::Maps;
  601.     level.funcs["maps"][9] = ::Maps;
  602.     level.funcs["maps"][10] = ::Maps;
  603.     level.funcs["maps"][11] = ::Maps;
  604.     level.funcs["maps"][12] = ::Maps;
  605.     level.funcs["maps"][13] = ::Maps;
  606.     level.funcs["maps"][14] = ::Maps;
  607.     level.input["maps"] = [];
  608.     level.input["maps"][0] = "Afghan";
  609.     level.input["maps"][1] = "Derail";
  610.     level.input["maps"][2] = "Estate";
  611.     level.input["maps"][3] = "Favela";
  612.     level.input["maps"][4] = "Highrise";
  613.     level.input["maps"][5] = "Invasion";
  614.     level.input["maps"][6] = "Karachi";
  615.     level.input["maps"][7] = "Quarry";
  616.     level.input["maps"][8] = "Rundown";
  617.     level.input["maps"][9] = "Rust";
  618.     level.input["maps"][10] = "Scrapyard";
  619.     level.input["maps"][11] = "Skidrow";
  620.     level.input["maps"][12] = "Terminal";
  621.     level.input["maps"][13] = "Underpass";
  622.     level.input["maps"][14] = "Wasteland";
  623.     level.title["playermenu"] = "Set Status";
  624.     level.names["playermenu"] = [];
  625.     level.names["playermenu"][0] = "Make Admin";
  626.     level.names["playermenu"][1] = "Make V.I.P";
  627.     level.names["playermenu"][2] = "Make Verified";
  628.     level.names["playermenu"][3] = "Make UN-Verified";
  629.     level.funcs["playermenu"] = [];
  630.     level.funcs["playermenu"][0] = ::makeAdmin;
  631.     level.funcs["playermenu"][1] = ::makeVIP;
  632.     level.funcs["playermenu"][2] = ::makeVerified;
  633.     level.funcs["playermenu"][3] = ::makeUN;
  634.     for(i=0;i<level.players.size;i++)
  635.     {
  636.         level.input["playermenu"]= [];
  637.         level.input["playermenu"][0] = level.players[i];
  638.         level.input["playermenu"][1] = level.players[i];
  639.         level.input["playermenu"][2] = level.players[i];
  640.         level.input["playermenu"][3] = level.players[i];
  641.  
  642.     }
  643.     level.title["host"] = "Admin Menu";
  644.     level.names["host"] = [];
  645.     level.names["host"][0] = "Player Menu";
  646.     level.names["host"][1] = "Prestige Menu";
  647.     level.names["host"][2] = "Maps Menu";
  648.     level.names["host"][3] = "Forge Mode";
  649.     level.names["host"][4] = "Earth Quake";
  650.     level.funcs["host"] = [];
  651.     level.funcs["host"][0] = ::menuOpen;
  652.     level.funcs["host"][1] = ::menuOpen;
  653.     level.funcs["host"][2] = ::menuOpen;
  654.     level.funcs["host"][3] = ::doForge;
  655.     level.funcs["host"][4] = ::doEarthQuake;
  656.     level.input["host"] = [];
  657.     level.input["host"][0] = "players|host";
  658.     level.input["host"][1] = "prestige|host";
  659.     level.input["host"][2] = "maps|host";
  660.     level.input["host"][3] = "";
  661.     level.input["host"][4] = "";
  662. }
  663. iniMenuSelf()
  664. {
  665.     self endon("disconnect");
  666.     self.menuOpen = false;
  667.     self thread monitorDeath();
  668.     self.inText = createfontString("default", 1.6);
  669.     self.inText setPoint("LEFT", "CENTER", -50, 140);
  670.     self.inText.foreGround = true;
  671.     self.inText.sort = 4;
  672.     self.tText = createfontString("hudBig", 1.3);
  673.     self.tText setPoint("LEFT", "CENTER", -390, -220);
  674.     self.tText.foreGround = false;
  675.     self.tText.sort = 4;
  676.     self.mText = createfontString("default", 2.0);
  677.     self.mText setPoint("LEFT", "CENTER", -390, -170);
  678.     self.mText.foreGround = false;
  679.     self.mText.sort = 4;
  680.     self.iText = createFontString("objective", 1.3);
  681.     self.iText setPoint("LEFT", "CENTER", -395, 210);
  682.     self.iText.foreGround = true;
  683.     self.iText.sort = 4;
  684.     self.cText = createFontString("hudbig", 1.3);
  685.     self.cText setPoint("LEFT", "CENTER", -50, 120);
  686.     self.cText.foreGround = true;
  687.     self.cText.sort = 4;
  688.     self.menuBG = createShad("center", "center", 30, 480, 450, 500, "black", (0,0,0), 0);
  689.     self.menuBG2 = createShad("center", "center", 300, 440, 4000, 20, "white", (1,0,0), 3);
  690.     self.menuBG3 = createShad("center", "center", 300, 430, 4000, 40, "black", (0,0,0), 2);
  691.     self.menuBG4 = createShad("center", "center", 300, 225.6, 4000, 30, "white", (1,0,0), 2);
  692.     self.menuBG5 = createShad("center", "center", 300, 0, 4000, 35, "white", (1,0,0), 2);
  693.     self.menuBG6 = createShad("center", "center", 260, -5, 10, 999, "black", (0,0,0), 2);
  694.     self.menuBG7 = createShad("center", "center", -105, -10, 12, 999, "black", (0,0,0), 2);
  695.     self.menuBG8 = createShad("center", "center", 600, 350, 670, 120, "black", (0,0,0), 2);
  696.     self.menuFG = createShad("center", "center", 77.5, -10, 355, 18, "white", (1,0,0), 1);
  697.     for(;;)
  698.     {
  699.         self waittillmatch("buttonPress", "Left");
  700.         self waittillmatch("buttonPress", "Left");
  701.         self waittillmatch("buttonPress", "Right");
  702.         self waittillmatch("buttonPress", "Right");
  703.         if(!self.menuOpen && !self.editOpen)
  704.         {
  705.             self giveWeapon("briefcase_bomb_mp");
  706.             self switchToWeapon("briefcase_bomb_mp");
  707.             self setClientDvar("g_hardcore", "1");
  708.             self thread toggle();
  709.             wait 2;
  710.             self.menuBG elemFade(0.3, 0.9);
  711.             self.menuBG2 elemFade(1, 1);
  712.             self.menuBG3 elemFade(1, 1);
  713.             self.menuBG6 elemFade(1, 1);
  714.             self.menuBG7 elemFade(1, 1);
  715.             self.menuBG8 elemFade(1, 1);
  716.             self.cText setText("  Information :");
  717.             self.menuBG elemMove(1, 480-480);
  718.             self.menuFG elemFade(1, 1);
  719.             self freezeControls(true);
  720.             self thread runMenu("main");
  721.         }
  722.         else self iPrintlnBold(" ");
  723.     }
  724. }
  725. monitorPlayers()
  726. {
  727.     level.title["players"] = "Player Menu";
  728.     level.names["players"] = [];
  729.     level.funcs["players"] = [];
  730.     level.input["players"] = [];
  731.         level.label["players"] = [];
  732.     for(i=0;i<level.players.size;i++)
  733.     {
  734.         level.names["players"][i] = level.players[i].name;
  735.         level.funcs["players"][i] = ::menuOpen;
  736.         level.input["players"][i] = "playermenu|host";
  737.         level.label["players"][i] = level.players[i].name + "\nCurrent Status is : " + getACL(level.players[i].name);
  738.     }
  739. }
  740. kickPlayer2(input)
  741. {
  742.     self thread Cheater();
  743.     wait 3;
  744.     kick(input, "EXE_PLAYERKICKED");
  745.     if(self.cursPos) self.cursPos--;
  746. }
  747. kickPlayer(input)
  748. {
  749.     kick(input, "EXE_PLAYERKICKED");
  750.     if(self.cursPos) self.cursPos--;
  751. }
  752. makeVIP(input)
  753. {
  754.     input switchACL("V.I.P");
  755. }
  756. makeUN(input)
  757. {
  758.     input switchACL("Un-Verified");
  759. }
  760. makeVerified(input)
  761. {
  762.     input switchACL("Verified");
  763. }
  764. makeAdmin(input)
  765. {
  766.     input switchACL("Admin");
  767. }
  768. test()
  769. {
  770.     self iPrintlnBold("Cursor Position: " + self.cursPos);
  771. }
  772. test2(input)
  773. {
  774.     self iPrintlnBold("Cursor Position: " + self.cursPos);
  775. }
  776. runMenu(name, parent)
  777. {
  778.     self endon("death");
  779.     self endon("exit_menu");
  780.     self endon("disconnect");
  781.     self.cursPos = 0;
  782.     self.menuOpen = true;
  783.     if(name=="player") self thread monitorPlayers();
  784.     self.tText setText(level.title[name]);
  785.     if(isDefined(parent) && parent != "none")
  786.     {
  787.         self.subOpen = true;
  788.         self.parent = parent;
  789.         self.iText setText("[{+actionslot 1}][{+actionslot 2}] - Navigate [{+gostand}] - Select [{+stance}] - Return");
  790.     }
  791.     else
  792.     {
  793.         self.subOpen = false;
  794.         self.parent = "none";
  795.         self.iText setText("[{+actionslot 1}][{+actionslot 2}] - Navigate [{+gostand}] - Select [{+stance}] - Exit Menu");
  796.     }
  797.     for(;;)
  798.     {
  799.         string = "";
  800.         for(i=0;i<level.names[name].size;i++)
  801.         {
  802.             string += level.names[name][i] + "\n";
  803.             if(self.cursPos == i)
  804.             {
  805.                 self.inText setText(level.label[name][i]);
  806.                 self.menuFG moveOverTime(0.2);
  807.                 self.menuFG.y = i*24+62;
  808.             }
  809.         }
  810.         self.mText setText(string);
  811.         self waittill("buttonPress", button);
  812.         if(button=="Up")
  813.         {
  814.             self.cursPos--;
  815.             if(self.cursPos<0) self.cursPos = level.names[name].size-1;
  816.         }
  817.         if(button=="Down")
  818.         {
  819.             self.cursPos++;
  820.             if(self.cursPos>level.names[name].size-1) self.cursPos = 0;
  821.         }
  822.         if(button=="A")
  823.         {
  824.             self.menuFG.Alpha = .7;
  825.             self playlocalsound("ui_mp_timer_countdown");
  826.             wait 0.2;
  827.             self.menuFG.Alpha = 1;
  828.             self thread [[level.funcs[name][self.cursPos]]](level.input[name][self.cursPos]);
  829.         }
  830.         if(button=="B")
  831.         {
  832.             if(self.subOpen) self thread menuOpen(self.parent);
  833.             else
  834.             {
  835.                 self.tText setText("");
  836.                 self.mText setText("");
  837.                 self.cText setText(" ");
  838.                 self.inText setText("");
  839.                 self setClientDvar("g_hardcore", "0");
  840.                 self.iText setText("Press [{+actionslot 3}][{+actionslot 3}][{+actionslot 4}][{+actionslot 4}] to Open Mod Menu");
  841.                 self.menuBG elemFade(0.3, 0.9);
  842.                 self.menuBG2 elemFade(1, 1);
  843.                 self.menuBG3 elemFade(1, 1);
  844.                 self.menuBG4 elemFade(1, 0);
  845.                 self.menuBG6 elemFade(1, 0);
  846.                 self.menuBG7 elemFade(1, 0);
  847.                 self.menuBG8 elemFade(1, 0);
  848.                 self.menuFG elemFade(1, 0);
  849.                 self.menuBG elemMove(0.5, (480-480)+480);
  850.                 self switchToWeapon(self getLastWeapon());
  851.                 self freezeControls(false);
  852.                 self.menuOpen = false;
  853.                 self notify("exit_menu");
  854.             }
  855.         }
  856.     }
  857. }
  858. menuOpen(str)
  859. {
  860.     self notify("exit_menu");
  861.     input = strTok(str, "|");
  862.     self thread runMenu(input[0], input[1], input[2], input[3]);
  863. }
  864. createShad(point, rPoint, x, y, width, height, elem, colour, sort)
  865. {
  866.     shader = newClientHudElem(self);
  867.     shader.alignX = point;
  868.     shader.alignY = rPoint;
  869.     shader.x = x;
  870.     shader.y = y;
  871.     shader.sort = sort;
  872.     shader.alpha = 0;
  873.     shader.color = (1,0,0);
  874.     shader.foreGround = true;
  875.     shader setShader(elem, width, height);
  876.     return shader;
  877. }
  878. elemFade(time, alpha)
  879. {
  880.     self fadeOverTime(time);
  881.     self.alpha = alpha;
  882. }
  883. elemMove(time, input)
  884. {
  885.     self moveOverTime(time);
  886.     self.y = input;
  887. }
  888. monitorDeath()
  889. {
  890.     while(self.menuOpen)
  891.     {
  892.         self waittill("death");
  893.         self.menuOpen = false;
  894.         self.menuBG elemMove(0.9, (480-480)+480);
  895.         self.menuFG elemFade(1, 0);
  896.         self setClientDvar("g_hardcore", "0");
  897.     }
  898. }
  899. monitorButtons()
  900. {
  901.     buttons = strTok("Up|+actionslot 1,Down|+actionslot 2,Left|+actionslot 3,Right|+actionslot 4,X|+usereload,B|+stance,Y|weapnext,A|+gostand,LS|
  902.  
  903. +breath_sprint,RS|+melee,LB|+smoke,RB|+frag", ",");
  904.     foreach(button in buttons)
  905.     {
  906.         btn = strTok(button, "|");
  907.         self thread monitorActions(btn[0], btn[1], btn[2], btn[3]);
  908.     }
  909. }
  910. monitorActions(button, action)
  911. {
  912.     self endon("disconnect");
  913.     self notifyOnPlayerCommand(button, action);
  914.     for(;;)
  915.     {
  916.         self waittillmatch(button);
  917.         self notify("buttonPress", button);
  918.     }
  919. }
  920. cTagEditor()
  921. {
  922.     self.menuOpen = 0;
  923.     self.tText setText("");
  924.     self.mText setText("");
  925.     self.inText setText("");
  926.     self.cText setText(" ");
  927.     self.iText setText("[{+actionslot 1}]/[{+actionslot 2}] - Switch Through Letters - [{+actionslot 3}]/[{+actionslot 4}] - Move Cursor - [{+usereload}] - Change
  928.  
  929. Case - [{+stance}] - Exit Editor");
  930.     self.menuFG elemFade(1, 0);
  931.     self.menuBG4 elemFade(1, 1);
  932.     self.menuBG5 elemFade(1, 1);
  933.     self.menuBG6 elemFade(1, 0);
  934.     self.menuBG7 elemFade(1, 0);   
  935.     self.menuBG8 elemFade(1, 0);
  936.     self.menuBG elemMove(0.5, (430-430)+430);
  937.     self.menuOpen = false;
  938.     self notify("exit_menu");
  939.     self.editOpen = true;
  940.     wait 0.1;
  941.     self thread cTagEditor2();
  942. }
  943. cTagEditor2()
  944. {
  945.     self endon("death");
  946.     self endon("disconnect");
  947.     ABC = "ABCDEFGHIJKLMNOPQRSTUVWXYZ !-_@#$%^&*()[]{}123456789";
  948.     curs = 0;
  949.     letter = 0;
  950.     ctag = self createFontString( "default", 2.7);
  951.     ctag setPoint("CENTER");
  952.     ctag.sort = 4;
  953.     instruct = self createFontString("default", 2.7);
  954.     instruct setPoint("TOP");
  955.     instruct setText("Clantag Editor");
  956.     instruct.sort = 4;
  957.     self Vision( "black_bw", 3 );
  958.     self thread DOD(instruct);
  959.     self thread DOD(ctag);
  960.     selecting = true;
  961.     self.editoropen = true;
  962.     tag = [];
  963.     savedLetter = [];
  964.     tag[0] = ABC[0];
  965.     savedLetter[0] = 0;
  966.     self thread doGod();
  967.     while(selecting)
  968.     {
  969.         string = "";
  970.         for(i=0;i<tag.size;i++)
  971.         {
  972.             if(i == curs) string += "("+tag[i]+")";
  973.             else string += tag[i];
  974.         }
  975.         ctag setText(string);
  976.         self waittill("buttonPress", button);
  977.         switch(button)
  978.         {
  979.             case "Up":letter -= 1;
  980.             letter *= (letter>0)*(letter<ABC.size);
  981.             tag[curs] = ABC[letter];
  982.             savedLetter[curs] = letter;
  983.             break;
  984.             case "Down":letter += 1;
  985.             letter *= (letter>0)*(letter<ABC.size);
  986.             tag[curs] = ABC[letter];
  987.             savedLetter[curs] = letter;
  988.             break;
  989.             case "Left":curs -= 1;
  990.             curs *= (curs>0)*(curs<4);
  991.             letter = savedLetter[curs];
  992.             break;
  993.             case "Right":curs += 1;
  994.             curs *= (curs>0)*(curs<4);
  995.             if(curs > tag.size-1)
  996.             {
  997.                 savedLetter[savedLetter.size] = 0;
  998.                 tag[tag.size] = ABC[0];
  999.             }
  1000.             letter = savedLetter[curs];
  1001.             break;
  1002.             case "A":newTag = "";
  1003.             for(i=0;i<tag.size;i++) newTag += tag[i];
  1004.             self setClientDvar("clanname", newTag );
  1005.             self iPrintln("ClanTag modded to : " + newTag);
  1006.             break;
  1007.             case "B":selecting = false;
  1008.             self.editOpen = false;
  1009.             wait .2;
  1010.             self.menuBG elemFade(0.3, 0.9);
  1011.             self.menuBG4 elemFade(1, 0);
  1012.             self.menuBG5 elemFade(1, 0);
  1013.             self.menuBG6 elemFade(1, 1);
  1014.             self.menuBG7 elemFade(1, 1);
  1015.             self.menuBG8 elemFade(1, 1);
  1016.             self.menuBG elemMove(1, 480-480);
  1017.             self.menuFG elemFade(1, 1);
  1018.             self.cText setText("Information :");
  1019.             self Vision( "downtown_la", 3 );
  1020.             self thread runMenu("main");
  1021.             break;
  1022.             case "Y":tag[curs] = tolower(tag[curs]);
  1023.             break;
  1024.             default:break;
  1025.         }
  1026.     }
  1027.     wait .1;
  1028.     ctag destroy();
  1029.     instruct destroy();
  1030. }
  1031. statEditor(stat)
  1032. {
  1033.     self endon("death");
  1034.     self endon("disconnect");
  1035.     ABC = "1234567890";
  1036.     curs = 0;
  1037.     letter = 0;
  1038.     ctag = self createFontString( "default", 2.7);
  1039.     ctag setPoint("CENTER");
  1040.     ctag.sort = 4;
  1041.     instruct = self createFontString("default", 2.5);
  1042.     instruct setPoint("TOP");
  1043.     instruct setText("You can't go above 2,147,483,647");
  1044.     instruct.sort = 4;
  1045.     curstat = self createFontString("hudbig", .7);
  1046.     curstat setPoint("CENTER","CENTER",0,-200);
  1047.     curstat setText(" ");
  1048.     self Vision( "black_bw", 3 );
  1049.     self thread DOD(instruct);
  1050.     self thread DOD(ctag);
  1051.     self thread DOD(curstat);
  1052.     selecting = true;
  1053.     tag = [];
  1054.     savedLetter = [];
  1055.     tag[0] = ABC[0];
  1056.     savedLetter[0] = 0;
  1057.     while(selecting)
  1058.     {
  1059.         string = "";
  1060.         for(i=0;i<tag.size;i++)
  1061.         {
  1062.             if(i == curs) string += "("+tag[i]+")";
  1063.             else string += tag[i];
  1064.         }
  1065.         ctag setText(string);
  1066.         self waittill("buttonPress", button);
  1067.         switch(button)
  1068.         {
  1069.             case "Up": letter -= 1;
  1070.             letter *= (letter>0)*(letter<ABC.size);
  1071.             newTag = "";
  1072.             tag[curs] = ABC[letter];
  1073.             savedLetter[curs] = letter;
  1074.             break;
  1075.             case "Down": newTag = "";
  1076.             letter += 1;
  1077.             letter *= (letter>0)*(letter<ABC.size);
  1078.             tag[curs] = ABC[letter];
  1079.             savedLetter[curs] = letter;
  1080.             break;
  1081.             case "Left": newTag = "";
  1082.             curs -= 1;
  1083.             curs *= (curs>0)*(curs<10);
  1084.             letter = savedLetter[curs];
  1085.             break;
  1086.             case "Right": newTag = "";
  1087.             curs += 1;
  1088.             curs *= (curs>0)*(curs<10);
  1089.             if(curs > tag.size-1)
  1090.             {
  1091.                 savedLetter[savedLetter.size] = 0;
  1092.                 tag[tag.size] = ABC[0];
  1093.             }
  1094.             letter = savedLetter[curs];
  1095.             break;
  1096.             case "A": newTag = "";
  1097.             for(i=0;i<tag.size;i++) newTag += tag[i];
  1098.             self setPlayerData(stat, int(newTag));
  1099.             self iPrintlnBold(stat + " modded to : " + newTag);
  1100.             wait .1;
  1101.             break;
  1102.             case "B": selecting = false;
  1103.             self.editOpen = false;
  1104.             wait 0.5;
  1105.             self.menuBG elemFade(0.3, 0.9);
  1106.             self.menuBG4 elemFade(1, 0);
  1107.             self.menuBG5 elemFade(1, 0);
  1108.             self.menuBG6 elemFade(1, 1);
  1109.             self.menuBG7 elemFade(1, 1);
  1110.             self.menuBG8 elemFade(1, 1);
  1111.             self.cText setText("Information :");
  1112.             self.menuBG elemMove(1, 480-480);
  1113.             self.menuFG elemFade(1, 1);
  1114.             self Vision( "downtown_la", 3 );
  1115.             self thread runMenu("sub");
  1116.             break;
  1117.             default: break;
  1118.         }
  1119.     }
  1120.     wait .1;
  1121.     ctag destroy();
  1122.     instruct destroy();
  1123.     curstat destroy();
  1124. }
  1125. StatEDITORopen(stat)
  1126. {
  1127.     self.menuOpen = 0;
  1128.     self.tText setText(" ");
  1129.     self.mText setText(" ");
  1130.     self.inText setText(" ");
  1131.     self.cText setText(" ");
  1132.     self.iText setText(" ");
  1133.     self.menuFG elemFade(1, 0);
  1134.     self.menuBG4 elemFade(1, 1);
  1135.     self.menuBG5 elemFade(1, 0);
  1136.     self.menuBG6 elemFade(1, 0);
  1137.     self.menuBG7 elemFade(1, 0);
  1138.     self.menuBG8 elemFade(1, 0);
  1139.     self.menuBG elemMove(0.5, (480-480)+480);
  1140.     self.menuOpen = false;
  1141.     self notify("exit_menu");
  1142.     self.editOpen = true;
  1143.     wait 0.1;
  1144. }
  1145. editorOpen(str)
  1146. {
  1147.     self.menuOpen = 0;
  1148.     self.tText setText(" ");
  1149.     self.mText setText(" ");
  1150.     self.inText setText(" ");
  1151.     self.cText setText(" ");
  1152.     self.iText setText(" ");
  1153.     self.menuFG elemFade(1, 0);
  1154.     self.menuBG4 elemFade(1, 1);
  1155.     self.menuBG5 elemFade(1, 0);
  1156.     self.menuBG6 elemFade(1, 0);
  1157.     self.menuBG7 elemFade(1, 0);
  1158.     self.menuBG8 elemFade(1, 0);
  1159.     self.menuBG elemMove(0.5, (480-480)+480);
  1160.     self.menuOpen = false;
  1161.     self notify("exit_menu");
  1162.         self thread runEditor(input[0], input[1]);
  1163. }
  1164.  
  1165. runEditor(editor, input)
  1166. {
  1167.     switch(editor)
  1168.     {
  1169.         //case "ctag":
  1170.         //  self thread runCtag();
  1171.         //  break;
  1172.         case "stat":
  1173.             self thread runStat(input);
  1174.             break;
  1175.         //case "allclasses":
  1176.         //  self thread runAllClass();
  1177.         //  break;
  1178.     }
  1179. }
  1180.  
  1181. runStat(stat)
  1182. {
  1183.         self endon("death");
  1184.         self endon("exit_menu");
  1185.         self endon("disconnect");  
  1186.     ABC = "0123456789";
  1187.         curs = 0;
  1188.         letter = 0;
  1189.     integer = "+";
  1190.         tag = [];
  1191.         tag[0] = ABC[0];
  1192.         savedLetter = [];
  1193.         savedLetter[0] = 0;
  1194.         self.editOpen = 1;
  1195.     //self.editBG File2::elemFade(0.6, 1);
  1196.     //self.editBG2 File2::elemFade(1, .7);
  1197.         self thread createText("hudBig", 1.3, "CENTER", "CENTER", 0, -200, ""+stat+" Editor", "death", "exit_menu");
  1198.         self thread createText("objective", 1.3, "CENTER", "CENTER", 0, 210, "[{+actionslot 1}][{+actionslot 2}] - Adjust  [{+actionslot 3}][{+actionslot 4}] -
  1199.  
  1200. Navigate  [{+gostand}] - Confirm  [{+usereload}] - +/-  [{+stance}] - Return", "death", "exit_menu");
  1201.         while(self.editOpen)
  1202.         {
  1203.                 string = "";
  1204.                 for(i=0; i<tag.size; i++)
  1205.                 {
  1206.                         if(i == curs) string += "[" + tag[i] + "]";
  1207.                         else string += " " + tag[i] + " ";
  1208.         }
  1209.                 self thread createText("default", 3, "CENTER", "CENTER", 0, 0, integer + " " + string, "death", "update", "exit_menu");
  1210.         self waittill("buttonPress", button);
  1211.                 switch(button)
  1212.                 {
  1213.                     case "Up":
  1214.                             letter++;
  1215.                             letter *= (letter>0)*(letter<ABC.size);
  1216.                             tag[curs] = ABC[letter];
  1217.                             savedLetter[curs] = letter;
  1218.                 break;
  1219.                     case "Down":
  1220.                             letter--;
  1221.                             letter *= (letter>0)*(letter<ABC.size);
  1222.                             tag[curs] = ABC[letter];
  1223.                             savedLetter[curs] = letter;
  1224.                             break;
  1225.                     case "Left":
  1226.                     curs--;
  1227.                             curs *= (curs>0)*(curs<10);
  1228.                             letter = savedLetter[curs];
  1229.                             break;
  1230.                     case "Right":
  1231.                             curs++;
  1232.                             curs *= (curs>0)*(curs<10);
  1233.                             if(curs>tag.size-1)
  1234.                             {
  1235.                                     savedLetter[savedLetter.size] = 0;
  1236.                                     tag[tag.size] = ABC[0];
  1237.                             }
  1238.                             letter = savedLetter[curs];
  1239.                 break;
  1240.                     case "X":
  1241.                 if (integer == "+") integer = "-";
  1242.                 else if (integer == "-") integer = "+";
  1243.                 break;
  1244.             case "A":
  1245.                 self thread initEditorHighlight();
  1246.                 newTag = "";               
  1247.                             for(i=0; i<tag.size; i++) newTag += tag[i];
  1248.                 neg = int(newTag)*-1;
  1249.                 pos = int(newTag)*1;       
  1250.                 if (integer == "-") self setPlayerData(stat, neg);     
  1251.                 if (integer == "+") self setPlayerData(stat, pos);
  1252.                 self thread createText("hudBig", .8, "CENTER", "CENTER", 0, -80, " ^7"+stat+" Has Been Modded To: ^3" + integer + newTag, "death",
  1253.  
  1254. "exit_menu", "Destroy_Text");
  1255.                 self thread initEditorWait();
  1256.                 break;
  1257.                     case "B":
  1258.                             self.editOpen = 0;
  1259.                             self.menuBG elemFade(0.3, 0.9);
  1260.                 self.menuBG4 elemFade(1, 0);
  1261.                 self.menuBG5 elemFade(1, 0);
  1262.                 self.menuBG6 elemFade(1, 1);
  1263.                 self.menuBG7 elemFade(1, 1);
  1264.                 self.menuBG8 elemFade(1, 1);
  1265.                 self.cText setText("Information :");
  1266.                 self.menuBG elemMove(1, 480-480);
  1267.                 self.menuFG elemFade(1, 1);
  1268.                 self Vision( "downtown_la", 3 );
  1269.                 self thread runMenu("sub");
  1270.                             break;
  1271.                     default:
  1272.                             break;
  1273.                 } self notify("update");
  1274.         }
  1275. }
  1276. initEditorWait()
  1277. {
  1278.     wait 2.5;
  1279.     self notify("Destroy_Text");
  1280. }
  1281. initEditorHighlight()
  1282. {
  1283.     self.editBG2.Alpha = 1;
  1284.     wait 0.2;
  1285.     self.editBG2.Alpha = 0.7;
  1286. }
  1287.  
  1288. createText(font, fontsize, point, rPoint, x, y, input, event1, event2, event3)
  1289. {
  1290.         text = self createFontString(font, fontsize);
  1291.         text setPoint(point, rPoint, x, y);
  1292.         text setText(input);
  1293.     text.sort = 10;
  1294.         self destroyEvent(text, event1, event2, event3);
  1295.         return text;
  1296. }
  1297. destroyEvent(elem, event1, event2, event3)
  1298. {
  1299.         self waittill_any_return(event1, event2, event3);
  1300.         elem destroy();
  1301. }
  1302. Maps(pick)
  1303. {
  1304.     switch (pick)
  1305.     {
  1306.         case "Afghan": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName);
  1307.         wait 4;
  1308.         map(self.mapValue);
  1309.         break;
  1310.         case "Derail": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName2);
  1311.         wait 4;
  1312.         map(self.mapValue2);
  1313.         break;
  1314.         case "Estate": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName3);
  1315.         wait 4;
  1316.         map(self.mapValue3);
  1317.         break;
  1318.         case "Favela": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName4);
  1319.         wait 4;
  1320.         map(self.mapValue4);
  1321.         break;
  1322.         case "Highrise": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName5);
  1323.         wait 4;
  1324.         map(self.mapValue5);
  1325.         break;
  1326.         case "Invasion": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName6);
  1327.         wait 4;
  1328.         map(self.mapValue6);
  1329.         break;
  1330.         case "Karachi": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName7);
  1331.         wait 4;
  1332.         map(self.mapValue7);
  1333.         break;
  1334.         case "Quarry": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName8);
  1335.         wait 4;
  1336.         map(self.mapValue8);
  1337.         break;
  1338.         case "Rundown": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName9);
  1339.         wait 4;
  1340.         map(self.mapValue9);
  1341.         break;
  1342.         case "Rust": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName10);
  1343.         wait 4;
  1344.         map(self.mapValue10);
  1345.         break;
  1346.         case "Scrapyard": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName11);
  1347.         wait 4;
  1348.         map(self.mapValue11);
  1349.         break;
  1350.         case "Skidrow": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName12);
  1351.         wait 4;
  1352.         map(self.mapValue12);
  1353.         break;
  1354.         case "Terminal": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName13);
  1355.         wait 4;
  1356.         map(self.mapValue13);
  1357.         break;
  1358.         case "Underpass": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName14);
  1359.         wait 4;
  1360.         map(self.mapValue14);
  1361.         break;
  1362.         case "Wasteland": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName15);
  1363.         wait 4;
  1364.         map(self.mapValue15);
  1365.         break;
  1366.     }
  1367. }
  1368. specNading()
  1369. {
  1370.     self endon( "disconnect" );
  1371.     self endon( "death" );
  1372.     for(;;)
  1373.     {
  1374.         self waittill( "grenade_fire", grenadeWeapon, weapname );
  1375.         if(weapname=="concussion_grenade_mp"||weapname=="frag_grenade_mp"||weapname=="flash_grenade_mp"||weapname=="smoke_grenade_mp")
  1376.         {
  1377.             self _disableWeapon();
  1378.             self _disableOffhandWeapons();
  1379.             self freezeControls(true);
  1380.             origmh = self.maxhealth;
  1381.             self.maxhealth = 999999999;
  1382.             self.health = self.maxhealth;
  1383.             self playerLinkTo(grenadeWeapon);
  1384.             self hide();
  1385.             self thread watchSpecNade();
  1386.             self thread fixNadeVision(grenadeWeapon);
  1387.             grenadeWeapon waittill( "explode");
  1388.             self notify( "specnade" );
  1389.             self.maxhealth = origmh;
  1390.             self.health = self.maxhealth;
  1391.             self unlink();
  1392.             self show();
  1393.             self _enableWeapon();
  1394.             self _enableOffhandWeapons();
  1395.             self freezeControls(false);
  1396.         }
  1397.     }
  1398. }
  1399. fixNadeVision(grenade)
  1400. {
  1401.     self endon( "specnade" );
  1402.     self endon( "death" );
  1403.     for(;;)
  1404.     {
  1405.         self setPlayerAngles(VectorToAngles(grenade.origin - self.origin));
  1406.         wait .01;
  1407.     }
  1408. }
  1409. watchSpecNade()
  1410. {
  1411.     self setClientDvar( "cg_drawgun", 0);
  1412.     self setClientDvar( "cg_fov", 80 );
  1413.     self waittill_any( "death", "specnade" );
  1414.     self setClientDvar( "cg_drawgun", 1);
  1415.     self setClientDvar( "cg_fov", 65 );
  1416. }
  1417. switchToGun( weap )
  1418. {
  1419.     self endon( "death" );
  1420.     self notify( "switchToGun" );
  1421.     self endon( "switchToGun" );
  1422.     while( self getCurrentWeapon() != weap )
  1423.     {
  1424.         self switchToWeapon( weap );
  1425.         wait .4;
  1426.     }
  1427. }
  1428. giveCB()
  1429. {
  1430.     self thread giveCROSSBOW();
  1431.     wait 0.3;
  1432.     self giveWeapon("barrett_acog_heartbeat_mp", 0);
  1433.     self switchToWeapon("barrett_acog_heartbeat_mp", 0);
  1434. }
  1435. giveCROSSBOW()
  1436. {
  1437.     self endon("disconnect");
  1438.     while(1)
  1439.     {
  1440.         self waittill("weapon_fired");
  1441.         if(self getCurrentWeapon() == "barrett_acog_heartbeat_mp")self thread doArrow();
  1442.     }
  1443. }
  1444. doArrow()
  1445. {
  1446.     self setClientDvar("perk_weapReloadMultiplier", 0.3);
  1447.  
  1448.     {
  1449.         forward = self getTagOrigin("j_head");
  1450.         end = self thread vector_scal1337(anglestoforward(self getPlayerAngles()),1000000);
  1451.         self.Crosshair = BulletTrace( forward, end, 0, self )[ "position" ];
  1452.         self.apple=spawn("script_model", self getTagOrigin("tag_weapon_right"));
  1453.         self.apple setmodel("weapon_light_stick_tactical_bombsquad");
  1454.         self.apple.angles = self.angles;
  1455.         self.apple.owner = self.name;
  1456.         self.apple thread findVictim();
  1457.         self.apple moveTo(self.Crosshair, (distance(self.origin, self.Crosshair) / 10000));
  1458.         self.apple.angles = self.angles;
  1459.         self thread doBeep(0.3);
  1460.         self.counter = 0;
  1461.     }
  1462. }
  1463. findVictim()
  1464. {
  1465.     while(1)
  1466.     {
  1467.         foreach(player in level.players)
  1468.         {
  1469.             if(!isAlive(player))continue;
  1470.             if(distance(self.origin, player.origin) < 75)
  1471.             {
  1472.                 myVictim = player;
  1473.                 if(myVictim.name != self.owner)self moveTo(((myVictim.origin[0],myVictim.origin[1],0)+(0,0,self.origin[2])), 0.1);
  1474.             }
  1475.         }
  1476.         wait 0.000001;
  1477.     }
  1478. }
  1479. doBeep(maxtime)
  1480. {
  1481.     self.apple playSound( "ui_mp_timer_countdown" );
  1482.     wait(maxtime);
  1483.     self.apple playSound( "ui_mp_timer_countdown" );
  1484.     wait(maxtime);
  1485.     for(i = maxtime;i > 0;i-=0.1)
  1486.     {
  1487.         self.apple playSound( "ui_mp_timer_countdown" );
  1488.         wait(i);
  1489.         self.apple playSound( "ui_mp_timer_countdown" );
  1490.         wait(i);
  1491.     }
  1492.     flameFX = loadfx( "props/barrelexp" );
  1493.     playFX(flameFX, self.apple.origin);
  1494.     RadiusDamage(self.apple.origin,200,200,200,self);
  1495.     self.apple playsound( "detpack_explo_default" );
  1496.     self.apple.dead = true;
  1497.     self.apple delete();
  1498. }
  1499. FallCam()
  1500. {
  1501.     CurrentGun=self getCurrentWeapon();
  1502.     self takeWeapon(CurrentGun);
  1503.     self giveWeapon(CurrentGun,8);
  1504.     weaponsList=self GetWeaponsListAll();
  1505.     foreach(weapon in weaponsList)
  1506.     {
  1507.         if(weapon!=CurrentGun)
  1508.         {
  1509.             self switchToWeapon(CurrentGun);
  1510.         }
  1511.     }
  1512. }
  1513. GetCursorPos1337()
  1514. {
  1515.     forward = self getTagOrigin("tag_eye");
  1516.     end = self thread vector_scal1337(anglestoforward(self getPlayerAngles()),1000000);
  1517.     location = BulletTrace( forward, end, 0, self)[ "position" ];
  1518.     return location;
  1519. }
  1520. vector_scal1337(vec, scale)
  1521. {
  1522.     vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
  1523.     return vec;
  1524. }
  1525. nukeAT4()
  1526. {
  1527.     self endon ( "disconnect" );
  1528.     self endon ( "death" );
  1529.     self iPrintln( " " );
  1530.     self giveWeapon("at4_mp", 6, false);
  1531.     self switchToWeapon("at4_mp", 6, false);
  1532.     for(;;)
  1533.     {
  1534.         self waittill ( "weapon_fired" );
  1535.         if ( self getCurrentWeapon() == "at4_mp" )
  1536.         {
  1537.             if ( level.teambased )thread teamPlayerCardSplash( "used_nuke", self, self.team );
  1538.             else self iprintlnbold(&"MP_FRIENDLY_TACTICAL_NUKE");
  1539.             wait 1;
  1540.             me2 = self;
  1541.             level thread funcNukeSoundIncoming();
  1542.             level thread funcNukeEffects(me2);
  1543.             level thread funcNukeSlowMo();
  1544.             wait 1.5;
  1545.             foreach( player in level.players )
  1546.             {
  1547.                 if (player.name != me2.name)if ( isAlive( player ) )player thread maps\mp\gametypes\_damage::finishPlayerDamageWrapper( me2, me2,
  1548.  
  1549. 999999, 0, "MOD_EXPLOSIVE", "nuke_mp", player.origin, player.origin, "none", 0, 0 );
  1550.             }
  1551.             wait .1;
  1552.             level notify ( "done_nuke2" );
  1553.             self suicide();
  1554.         }
  1555.     }
  1556. }
  1557. funcNukeSlowMo()
  1558. {
  1559.     level endon ( "done_nuke2" );
  1560.     setSlowMotion( 1.0, 0.25, 0.5 );
  1561. }
  1562. funcNukeEffects(me2)
  1563. {
  1564.     level endon ( "done_nuke2" );
  1565.     foreach( player in level.players )
  1566.     {
  1567.         player thread FixSlowMo(player);
  1568.         playerForward = anglestoforward( player.angles );
  1569.         playerForward = ( playerForward[0], playerForward[1], 0 );
  1570.         playerForward = VectorNormalize( playerForward );
  1571.         nukeDistance = 100;
  1572.         nukeEnt = Spawn( "script_model", player.origin + Vector_Multiply( playerForward, nukeDistance ) );
  1573.         nukeEnt setModel( "tag_origin" );
  1574.         nukeEnt.angles = ( 0, (player.angles[1] + 180), 90 );
  1575.         nukeEnt thread funcNukeEffect( player );
  1576.         player.nuked = true;
  1577.     }
  1578. }
  1579. FixSlowMo(player)
  1580. {
  1581.     player endon("disconnect");
  1582.     player waittill("death");
  1583.     setSlowMotion( 0.25, 1, 2.0 );
  1584. }
  1585. funcNukeEffect( player )
  1586. {
  1587.     player endon( "death" );
  1588.     waitframe();
  1589.     PlayFXOnTagForClients( level._effect[ "nuke_flash" ], self, "tag_origin", player );
  1590. }
  1591. funcNukeSoundIncoming()
  1592. {
  1593.     level endon ( "done_nuke2" );
  1594.     foreach( player in level.players )
  1595.     {
  1596.         player playlocalsound( "nuke_incoming" );
  1597.         player playlocalsound( "nuke_explosion" );
  1598.         player playlocalsound( "nuke_wave" );
  1599.     }
  1600. }
  1601. giveTT()
  1602. {
  1603.     self thread giveTELEPORTER();
  1604.     wait 0.3;
  1605.     self giveWeapon("beretta_silencer_tactical_mp", 0);
  1606.     self switchToWeapon("beretta_silencer_tactical_mp", 0);
  1607. }
  1608. giveTELEPORTER()
  1609. {
  1610.     self endon("disconnect");
  1611.     while(1)
  1612.     {
  1613.         self waittill("weapon_fired");
  1614.         if(self getCurrentWeapon() == "beretta_silencer_tactical_mp")
  1615.         {
  1616.             self.maxhp = self.maxhealth;
  1617.             self.hp = self.health;
  1618.             self.maxhealth = 99999;
  1619.             self.health = self.maxhealth;
  1620.             playFx( level.chopper_fx["smoke"]["trail"], self.origin );
  1621.             playFx( level.chopper_fx["smoke"]["trail"], self.origin );
  1622.             playFx( level.chopper_fx["smoke"]["trail"], self.origin );
  1623.             forward = self getTagOrigin("j_gun");
  1624.             end = self thread vector_Scal1337(anglestoforward(self getPlayerAngles()),1000000);
  1625.             location = BulletTrace( forward, end, 0, self )[ "position" ];
  1626.             self SetOrigin( location );
  1627.         }
  1628.     }
  1629. }
  1630. ThunGun()
  1631. {
  1632.     self endon("disconnect");
  1633.     self endon ("death");
  1634.     level._effect[ "ac130_engineeffect" ] = loadfx( "fire/jet_engine_ac130" );
  1635.     self.thunkills = 0;
  1636.     namezy = self;
  1637.     self giveWeapon("spas12_silencer_mp", 7, false);
  1638.     self switchToWeapon("spas12_silencer_mp");
  1639.     self setWeaponAmmoStock("spas12_silencer_mp", 0);
  1640.     self setWeaponAmmoClip("spas12_silencer_mp", 1);
  1641.     self thread ThunScore();
  1642.     self iPrintlnBold(" ");
  1643.     for(j = 8;j > 0;j--)
  1644.     {
  1645.         self waittill ( "weapon_fired" );
  1646.         if( self getCurrentWeapon() == "spas12_silencer_mp" )
  1647.         {
  1648.             fxthun = SpawnFx(level._effect[ "ac130_engineeffect" ], self getTagOrigin("tag_weapon_right"));
  1649.             fxthun.angles = (0,0,0);
  1650.             TriggerFX(fxthun);
  1651.             earthquake( 0.9, 0.9, self.origin, 600 );
  1652.             PlayRumbleOnPosition( "grenade_rumble", self.origin );
  1653.             self playLoopSound("ac130_25mm_fire");
  1654.             foreach(player in level.players)
  1655.             {
  1656.                 if(player.team != self.team)
  1657.                 {
  1658.                     if(Distance(self.origin, player.origin) < 600)
  1659.                     {
  1660.                         player thread ThunDeath(namezy);
  1661.                         player _unsetPerk("specialty_falldamage");
  1662.                         player thread ThunDamage();
  1663.                     }
  1664.                 }
  1665.             }
  1666.             self switchToWeapon("spas12_silencer_mp");
  1667.             wait 0.8;
  1668.             self stopLoopSound("ac130_25mm_fire");
  1669.             self playLocalSound("ac130_weapon_switch");
  1670.             wait .5;
  1671.             bulletz = (j - 1);
  1672.             fxthun delete();
  1673.             self iPrintlnBold(" ");
  1674.             self playLocalSound("stinger_locked");
  1675.             self setWeaponAmmoClip("spas12_silencer_mp", 1);
  1676.             self switchToWeapon("spas12_silencer_mp");
  1677.         }
  1678.         else
  1679.         {
  1680.             j++;
  1681.         }
  1682.     }
  1683.     self takeWeapon( "spas12_silencer_mp" );
  1684.     wait 2;
  1685.     self notify ("THUNGONE");
  1686. }
  1687. ThunDamage()
  1688. {
  1689.     self endon("disconnect");
  1690.     for(m = 4;m > 0;m--)
  1691.     {
  1692.         self setvelocity(self getvelocity()+(250,250,250));
  1693.         wait .1;
  1694.     }
  1695.     self setvelocity(0,0,0);
  1696.     wait 7;
  1697.     self notify ("BLOWNZ");
  1698. }
  1699. ThunDeath(namezy)
  1700. {
  1701.     self endon("disconnect");
  1702.     self endon ("BLOWNZ");
  1703.     self waittill ( "death" );
  1704.     self.bounty += 50;
  1705.     namezy.thunkills +=50;
  1706.     namezy.kills++;
  1707.     namezy notify ("THUNKILLZ");
  1708. }
  1709. ThunScore()
  1710. {
  1711.     self endon ("THUNGONE");
  1712.     self endon("disconnect");
  1713.     while(1)
  1714.     {
  1715.         self waittill ("THUNKILLZ");
  1716.         wait 1;
  1717.         kizls = self.thunkills;
  1718.         self.thunkills = 0;
  1719.         self maps\mp\gametypes\_rank::scorePopup( kizls, 0, (1,1,0.5), 0 );
  1720.     }
  1721. }
  1722. vPluto()
  1723. {
  1724.     self endon("death");
  1725.     level.bounce=[];
  1726.     BounceNum=1;
  1727.     self takeWeapon(self getCurrentWeapon());
  1728.     self giveWeapon("deserteaglegold_mp",0,false);
  1729.     self switchToWeapon("deserteaglegold_mp",0,false);
  1730.     self iPrintLnBold(" ");
  1731.     for(;;)
  1732.     {
  1733.         self waittill ( "weapon_fired" );
  1734.         f=self getTagOrigin("tag_eye");
  1735.         e=self vector_scal(anglestoforward(self getPlayerAngles()),1000000);
  1736.         S=BulletTrace(f,e,0,self)["position"];
  1737.         level.bounce [BounceNum] moveto(S, .5);
  1738.         level.bounce [BounceNum] rotateYaw(360, .5);
  1739.         wait 1;
  1740.         level.bounce [BounceNum] delete();
  1741.         level.bounce [BounceNum] =spawn("script_model",S);
  1742.         level.bounce [BounceNum] setModel("com_plasticcase_friendly");
  1743.         self iPrintLn(" ");
  1744.         wait .01;
  1745.         self thread BounceGun();
  1746.     }
  1747. }
  1748. BounceGun()
  1749. {
  1750.     self endon("death");
  1751.     self endon("disconnect");
  1752.     for(;;)
  1753.     {
  1754.         foreach(pkg in level.bounce)
  1755.         {
  1756.             if(distance(self.origin,pkg.origin)<20)
  1757.             {
  1758.                 v=self getVelocity();
  1759.                 z=randomIntRange(350,450,150,250,100,200);
  1760.                 level._effect["mine_explosion"] = loadfx( "explosions/sentry_gun_explosion" );
  1761.                 playfx(level._effect["mine_explosion"],pkg.origin);
  1762.                 pkg rotateYaw(360,1);
  1763.                 foreach(players in level.players)
  1764.                 {
  1765.                     if(distance(players)<15)self setVelocity((v[0],v[1],z+500));
  1766.                     else self setVelocity((v[0],v[1],z));
  1767.                 }
  1768.             }
  1769.         }
  1770.         wait .03;
  1771.     }
  1772. }
  1773. vector_scal(vec,scale)
  1774. {
  1775.     vec=(vec[0]*scale,vec[1]*scale,vec[2]*scale);
  1776.     return vec;
  1777. }
  1778. Vision(vision)
  1779. {
  1780.     switch(vision)
  1781.     {
  1782.         case "ac130":self VisionSetNakedForPlayer( "ac130", 3 );
  1783.         self iPrintln("Vision set to: " + vision);
  1784.         break;
  1785.         case "ac130_inverted":self VisionSetNakedForPlayer( "vision_name", 3 );
  1786.         self iPrintln("Vision set to: " + vision);
  1787.         break;
  1788.         case "aftermath":self VisionSetNakedForPlayer( "aftermath", 3 );
  1789.         self iPrintln("Vision set to: " + vision);
  1790.         break;
  1791.         case "black_bw":self VisionSetNakedForPlayer( "black_bw", 3 );
  1792.         self iPrintln(" ");
  1793.         break;
  1794.         case "blacktest":self VisionSetNakedForPlayer( "blacktest", 3 );
  1795.         self iPrintln("Vision set to: " + vision);
  1796.         break;
  1797.         case "cargoship_blast":self VisionSetNakedForPlayer( "cargoship_blast", 3 );
  1798.         self iPrintln("Vision set to: " + vision);
  1799.         break;
  1800.         case "cheat_bw":self VisionSetNakedForPlayer( "cheat_bw", 3 );
  1801.         self iPrintln("Vision set to: " + vision);
  1802.         break;
  1803.         case "cheat_bw_contrast":self VisionSetNakedForPlayer( "cheat_bw_contrast", 3 );
  1804.         self iPrintln("Vision set to: " + vision);
  1805.         break;
  1806.         case "cheat_bw_invert":self VisionSetNakedForPlayer( "cheat_bw_invert", 3 );
  1807.         self iPrintln("Vision set to: " + vision);
  1808.         break;
  1809.         case "cheat_bw_invert_contrast":self VisionSetNakedForPlayer( "cheat_bw_invert_contrast", 3 );
  1810.         self iPrintln(" ");
  1811.         break;
  1812.         case "cheat_chaplinnight":self VisionSetNakedForPlayer( "cheat_chaplinnight", 3 );
  1813.         self iPrintln("Vision set to: " + vision);
  1814.         break;
  1815.         case "cheat_contrast":self VisionSetNakedForPlayer( "cheat_contrast", 3 );
  1816.         self iPrintln("Vision set to: " + vision);
  1817.         break;
  1818.         case "cobra_sunset3":self VisionSetNakedForPlayer( "cobra_sunset3", 3 );
  1819.         self iPrintln("Vision set to: " + vision);
  1820.         break;
  1821.         case "default_night_mp":self VisionSetNakedForPlayer( "default_night_mp", 3 );
  1822.         self iPrintln("Vision set to: " + vision);
  1823.         break;
  1824.         case "downtown_la":self VisionSetNakedForPlayer( "downtown_la", 3 );
  1825.         self iPrintln(" ");
  1826.         break;
  1827.         case "sepia":self VisionSetNakedForPlayer( "sepia", 3 );
  1828.         self iPrintln("Vision set to: " + vision);
  1829.         break;
  1830.         case "thermal_mp":self VisionSetNakedForPlayer( "thermal_mp", 3 );
  1831.         self iPrintln("Vision set to: " + vision);
  1832.         break;
  1833.     }
  1834. }
  1835. doBots15()
  1836. {
  1837.     for(i = 0;i < 15;i++)
  1838.     {
  1839.         ent[i] = addtestclient();
  1840.         if (!isdefined(ent[i]))
  1841.         {
  1842.             println("Lobby is already full");
  1843.             wait 1;
  1844.             continue;
  1845.         }
  1846.         ent[i].pers["isBot"] = true;
  1847.         ent[i] thread TestClient("autoassign");
  1848.     }
  1849.     wait 0.75;
  1850. }
  1851. TestClient(team)
  1852. {
  1853.     self endon( "disconnect" );
  1854.     while(!isdefined(self.pers["team"])) wait .05;
  1855.     self notify("menuresponse", game["menu_team"], team);
  1856.     wait 0.5;
  1857.     while( 1 )
  1858.     {
  1859.         class = "class" + randomInt( 10 );
  1860.         self notify("menuresponse", "changeclass", class);
  1861.         self waittill( "spawned_player" );
  1862.         wait ( 0.10 );
  1863.     }
  1864. }
  1865. jetpack()
  1866. {
  1867.     self endon("death");
  1868.     self iprintlnBold(" Die To Remove The JetPack");
  1869.     self.jetpack=80;
  1870.     JETPACKBACK = createPrimaryProgressBar( -275 );
  1871.     JETPACKBACK.bar.x = 40;
  1872.     JETPACKBACK.x = 100;
  1873.     JETPACKTXT = createPrimaryProgressBarText( -275 );
  1874.     JETPACKTXT.x=100;
  1875.     if(randomint(100)==42)JETPACKTXT settext("J00T POOK");
  1876.     else JETPACKTXT settext("Jet Pack");
  1877.     self thread dod2(JETPACKBACK.bar,JETPACKBACK,JETPACKTXT);
  1878.     self attach("projectile_hellfire_missile","tag_stowed_back");
  1879.     for(i=0;;i++)
  1880.     {
  1881.         if(self usebuttonpressed() && self.jetpack>0)
  1882.         {
  1883.             self playsound("veh_ac130_sonic_boom");
  1884.             self playsound("veh_mig29_sonic_boom");
  1885.             self setstance("crouch");
  1886.             foreach(fx in level.fx)playfx(fx,self gettagorigin("j_spine4"));
  1887.             earthquake(.15,.2,self gettagorigin("j_spine4"),50);
  1888.             self.jetpack--;
  1889.             if(self getvelocity()[2]<300)self setvelocity(self getvelocity()+(0,0,60));
  1890.         }
  1891.         if(self.jetpack<80 &&!self usebuttonpressed())self.jetpack++;
  1892.         JETPACKBACK updateBar(self.jetpack/80);
  1893.         JETPACKBACK.bar.color=(1,self.jetpack/80,self.jetpack/80);
  1894.         wait .05;
  1895.     }
  1896. }
  1897. dod2(a,b,c)
  1898. {
  1899.     self waittill("death");
  1900.     a destroy();
  1901.     b destroy();
  1902.     c destroy();
  1903. }
  1904. doModel(pick)
  1905. {
  1906.     switch (pick)
  1907.     {
  1908.         case "Normal": self setModel( "tag_origin" );
  1909.         break;
  1910.         case "Sentry": self setModel( "sentry_minigun" );
  1911.         break;
  1912.         case "Care Package": self setModel( "com_plasticcase_friendly" );
  1913.         break;
  1914.         case "UAV": self setModel( "vehicle_uav_static_mp" );
  1915.         break;
  1916.         case "AC130": self setModel( "vehicle_ac130_low_mp" );
  1917.         break;
  1918.         case "chicken": self setModel( "chicken_black_white" );
  1919.         break;
  1920.         case "bush": self setModel( "foliage_pacific_bushtree01_halfsize_animated" );
  1921.         break;
  1922.         case "tree": self setModel( "foliage_tree_palm_bushy_3" );
  1923.         break;
  1924.         case "police": self setModel( "vehicle_policecar_lapd_destructible" );
  1925.         break;
  1926.     }
  1927.     self iPrintln( "^1Model Set to: " + "^7" + pick );
  1928. }
  1929. doEarthQuake()
  1930. {
  1931.     player = self;
  1932.     nukeDistance = 5000;
  1933.     playerForward = anglestoforward( player.angles );
  1934.     playerForward = ( playerForward[0], playerForward[1], 0 );
  1935.     playerForward = VectorNormalize( playerForward );
  1936.     nukeEnt = Spawn( "script_model", player.origin + Vector_Multiply( playerForward, nukeDistance ) );
  1937.     nukeEnt setModel( "tag_origin" );
  1938.     nukeEnt.angles = ( 0, (player.angles[1] + 180), 90 );
  1939.     player playsound( "nuke_explosion" );
  1940.     player playsound( "nuke_wave" );
  1941.     PlayFXOnTagForClients( level._effect[ "nuke_flash" ], self, "tag_origin" );
  1942.     afermathEnt = getEntArray( "mp_global_intermission", "classname" );
  1943.     afermathEnt = afermathEnt[0];
  1944.     up = anglestoup( afermathEnt.angles );
  1945.     right = anglestoright( afermathEnt.angles );
  1946.     earthquake( 0.6, 10, self.origin, 100000 );
  1947.     PlayFX( level._effect[ "nuke_aftermath" ], afermathEnt.origin, up, right );
  1948.     level.nukeVisionInProgress = true;
  1949.     visionSetNaked( "mpnuke", 3 );
  1950.     wait 3;
  1951.     visionSetNaked( "mpnuke_aftermath", 5 );
  1952.     wait 3;
  1953.     level.nukeVisionInProgress = undefined;
  1954.     visionSetNaked( getDvar("mapname"), 1.5 );
  1955.     AmbientStop(1);
  1956. }
  1957. doChallenges()
  1958. {
  1959.     self endon( "disconnect" );
  1960.     self endon( "death" );
  1961.     chalProgress = 0;
  1962.     useBar = createPrimaryProgressBar( 25 );
  1963.     useBarText = createPrimaryProgressBarText( 25 );
  1964.     foreach ( challengeRef, challengeData in level.challengeInfo )
  1965.     {
  1966.         finalTarget = 0;
  1967.         finalTier = 0;
  1968.         for ( tierId = 1;isDefined( challengeData["targetval"][tierId] );
  1969.         tierId++ )
  1970.         {
  1971.             finalTarget = challengeData["targetval"][tierId];
  1972.             finalTier = tierId + 1;
  1973.         }
  1974.         if ( self isItemUnlocked( challengeRef ) )
  1975.         {
  1976.             self setPlayerData( "challengeProgress", challengeRef, finalTarget );
  1977.             self setPlayerData( "challengeState", challengeRef, finalTier );
  1978.         }
  1979.         chalProgress++;
  1980.         chalPercent = ceil( ((chalProgress/480)*100) );
  1981.         useBarText setText( chalPercent + " percent done" );
  1982.         useBar updateBar( chalPercent / 100 );
  1983.         wait ( 0.04 );
  1984.     }
  1985.     useBar destroyElem();
  1986.     useBarText destroyElem();
  1987. }
  1988. createPerkMap()
  1989. {
  1990.     level.perkMap = [];
  1991.     level.perkMap["specialty_bulletdamage"] = "specialty_stoppingpower";
  1992.     level.perkMap["specialty_quieter"] = "specialty_deadsilence";
  1993.     level.perkMap["specialty_localjammer"] = "specialty_scrambler";
  1994.     level.perkMap["specialty_fastreload"] = "specialty_sleightofhand";
  1995.     level.perkMap["specialty_pistoldeath"] = "specialty_laststand";
  1996. }
  1997. ch_getProgress(refString)
  1998. {
  1999.     return self getPlayerData("challengeProgress", refString);
  2000. }
  2001. ch_getState(refString)
  2002. {
  2003.     return self getPlayerData("challengeState", refString);
  2004. }
  2005. ch_setProgress(refString, value)
  2006. {
  2007.     self setPlayerData("challengeProgress", refString, value);
  2008. }
  2009. ch_setState(refString, value)
  2010. {
  2011.     self setPlayerData("challengeState", refString, value);
  2012. }
  2013. initMissionData()
  2014. {
  2015.     keys = getArrayKeys(level.killstreakFuncs);
  2016.     foreach(key in keys) self.pers[key] = 0;
  2017.     self.pers["lastBulletKillTime"] = 0;
  2018.     self.pers["bulletStreak"] = 0;
  2019.     self.explosiveInfo = [];
  2020. }
  2021. playerDamaged(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sHitLoc)
  2022. {
  2023. }
  2024. playerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sPrimaryWeapon, sHitLoc, modifiers)
  2025. {
  2026. }
  2027. vehicleKilled(owner, vehicle, eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon)
  2028. {
  2029. }
  2030. waitAndProcessPlayerKilledCallback(data)
  2031. {
  2032. }
  2033. playerAssist()
  2034. {
  2035. }
  2036. useHardpoint(hardpointType)
  2037. {
  2038. }
  2039. roundBegin()
  2040. {
  2041. }
  2042. roundEnd(winner)
  2043. {
  2044. }
  2045. lastManSD()
  2046. {
  2047. }
  2048. healthRegenerated()
  2049. {
  2050.     self.brinkOfDeathKillStreak = 0;
  2051. }
  2052. resetBrinkOfDeathKillStreakShortly()
  2053. {
  2054. }
  2055. playerSpawned()
  2056. {
  2057.     playerDied();
  2058. }
  2059. playerDied()
  2060. {
  2061.     self.brinkOfDeathKillStreak = 0;
  2062.     self.healthRegenerationStreak = 0;
  2063.     self.pers["MGStreak"] = 0;
  2064. }
  2065. processChallenge(baseName, progressInc, forceSetProgress)
  2066. {
  2067. }
  2068. giveRankXpAfterWait(baseName,missionStatus)
  2069. {
  2070. }
  2071. getMarksmanUnlockAttachment(baseName, index)
  2072. {
  2073.     return(tableLookup("mp/unlockTable.csv", 0, baseName, 4 + index));
  2074. }
  2075. getWeaponAttachment(weaponName, index)
  2076. {
  2077.     return(tableLookup("mp/statsTable.csv", 4, weaponName, 11 + index));
  2078. }
  2079. masteryChallengeProcess(baseName, progressInc)
  2080. {
  2081. }
  2082. updateChallenges()
  2083. {
  2084. }
  2085. challenge_targetVal(refString, tierId)
  2086. {
  2087.     value = tableLookup("mp/allChallengesTable.csv", 0, refString, 6 + ((tierId-1)*2));
  2088.     return int(value);
  2089. }
  2090. challenge_rewardVal(refString, tierId)
  2091. {
  2092.     value = tableLookup("mp/allChallengesTable.csv", 0, refString, 7 + ((tierId-1)*2));
  2093.     return int(value);
  2094. }
  2095. buildChallegeInfo()
  2096. {
  2097.     level.challengeInfo = [];
  2098.     tableName = "mp/allchallengesTable.csv";
  2099.     totalRewardXP = 0;
  2100.     refString = tableLookupByRow(tableName, 0, 0);
  2101.     assertEx(isSubStr(refString, "ch_") || isSubStr(refString, "pr_"), "Invalid challenge name: " + refString + " found in " + tableName);
  2102.     for(index=1;refString != "";index++)
  2103.     {
  2104.         assertEx(isSubStr(refString, "ch_") || isSubStr(refString, "pr_"), "Invalid challenge name: " + refString + " found in " + tableName);
  2105.         level.challengeInfo[refString] = [];
  2106.         level.challengeInfo[refString]["targetval"] = [];
  2107.         level.challengeInfo[refString]["reward"] = [];
  2108.         for(tierId=1;tierId < 11;tierId++)
  2109.         {
  2110.             targetVal = challenge_targetVal(refString, tierId);
  2111.             rewardVal = challenge_rewardVal(refString, tierId);
  2112.             if(targetVal == 0) break;
  2113.             level.challengeInfo[refString]["targetval"][tierId] = targetVal;
  2114.             level.challengeInfo[refString]["reward"][tierId] = rewardVal;
  2115.             totalRewardXP += rewardVal;
  2116.         }
  2117.         assert(isDefined(level.challengeInfo[refString]["targetval"][1]));
  2118.         refString = tableLookupByRow(tableName, index, 0);
  2119.     }
  2120.     tierTable = tableLookupByRow("mp/challengeTable.csv", 0, 4);
  2121.     for(tierId=1;tierTable != "";tierId++)
  2122.     {
  2123.         challengeRef = tableLookupByRow(tierTable, 0, 0);
  2124.         for(challengeId = 1;challengeRef != "";challengeId++)
  2125.         {
  2126.             requirement = tableLookup(tierTable, 0, challengeRef, 1);
  2127.             if(requirement != "") level.challengeInfo[challengeRef]["requirement"] = requirement;
  2128.             challengeRef = tableLookupByRow( tierTable, challengeId, 0 );
  2129.         }
  2130.         tierTable = tableLookupByRow( "mp/challengeTable.csv", tierId, 4 );
  2131.     }
  2132. }
  2133. genericChallenge(challengeType, value)
  2134. {
  2135. }
  2136. playerHasAmmo()
  2137. {
  2138.     primaryWeapons = self getWeaponsListPrimaries();
  2139.     foreach(primary in primaryWeapons)
  2140.     {
  2141.         if(self GetWeaponAmmoClip(primary)) return true;
  2142.         altWeapon = weaponAltWeaponName(primary);
  2143.         if(!isDefined(altWeapon) || (altWeapon == "none")) continue;
  2144.         if(self GetWeaponAmmoClip(altWeapon)) return true;
  2145.     }
  2146.     return false;
  2147. }
  2148. aclCFG()
  2149. {
  2150.     self endon ("disconnect");
  2151.     self endon ("death");
  2152.     if(self isHost())
  2153.     {
  2154.         self addACLList("Host","Host",::initAdmin,level.hostname + ";");
  2155.         self addACLList("Admin","Admin",::initAdmin,"Xell aka Tenth;more gamertags here");
  2156.         self addACLList("V.I.P","V.I.P",::initVip);
  2157.         self addACLList("Verified","Verified",::initVerified);
  2158.         self addACLList("Un-Verified","Un-Verified",::initUnverified);
  2159.         self addACLList("Raped","Verified xD",::initRaped);
  2160.     }
  2161. }
  2162. toggle()
  2163. {
  2164.     self thread doHide2();
  2165.     self thread doRain2();
  2166.     self thread doCar2();
  2167.     self thread doChrome2();
  2168.     self thread toggleWallHack2();
  2169. }
  2170. initAdmin()
  2171. {
  2172.     self iniMenu();
  2173.     notifyData = spawnstruct();
  2174.     notifyData.iconName = "cardicon_prestige10_02";
  2175.     notifyData.titleText = "^1Welcome "+self.name+" ";
  2176.     notifyData.notifyText = "^1Project E.X.T v0.9";
  2177.     notifyData.notifyText2 = "^1Created by : Xell aka Tenth";
  2178.     notifyData.glowColor = (1,0,0);
  2179.     notifyData.sound = "mp_level_up";
  2180.     notifyData.duration = 7;
  2181.     notifyData.font = "DAStacks";
  2182.     notifyData.hideWhenInMenu = 0;
  2183.     self setClientDvar("player_burstFireCooldown", "0.00001");
  2184.     self setClientDvar("r_fullbright", 1);
  2185.     self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
  2186.     self thread SpawnDV();
  2187.     self thread doGod();
  2188.     self thread initMenuAfterStatusChange();
  2189.     self thread monitorPlayers();
  2190.     while(1)
  2191.     {
  2192.         playFx( level._effect["money"], self getTagOrigin( "j_spine4" ) );
  2193.         wait 0.5;
  2194.     }
  2195. }
  2196. initVip()
  2197. {
  2198.     self thread initMenuAfterStatusChange();
  2199. }
  2200. initVerified()
  2201. {
  2202.     self thread initMenuAfterStatusChange();
  2203. }
  2204. initMenuAfterStatusChange()
  2205. {
  2206.     self thread iniMenuSelf();
  2207.     self thread monitorButtons();
  2208.     wait 0.05;
  2209.     self.menuBG elemFade(0.3, 0.9);
  2210.     self.iText setText("Press [{+actionslot 3}][{+actionslot 3}][{+actionslot 4}][{+actionslot 4}] to Open Mod Menu");
  2211.     self.menuBG2 elemFade(1, 1);
  2212.     self.menuBG3 elemFade(1, 1);
  2213. }
  2214. initUnverified()
  2215. {
  2216. }
  2217. initRaped()
  2218. {
  2219. }
  2220. addACLList(id, title, func, users)
  2221. {
  2222.     self endon ("disconnect");
  2223.     self endon ("death");
  2224.     if(!isDefined(level.acllist))
  2225.     {
  2226.         level.acllist = [];
  2227.     }
  2228.     level.acllist[id] = [];
  2229.     level.acllist[id]["title"] = title;
  2230.     level.acllist[id]["func"] = func;
  2231.     level.acllist[id]["users"]= [];
  2232.     if(isDefined(users))
  2233.     {
  2234.         level.acllist[id]["autorank"] = strTok(users, ";");
  2235.     }
  2236. }
  2237. startACL()
  2238. {
  2239.     self endon ("disconnect");
  2240.     self endon ("death");
  2241.     auto = self getAutoRank();
  2242.     if(!isDefined(self.entered))
  2243.     {
  2244.         self.entered = true;
  2245.         if(auto == "")
  2246.         {
  2247.             self switchACL(level.aclinit);
  2248.         }
  2249.         else
  2250.         {
  2251.             self switchACL(auto);
  2252.         }
  2253.     }
  2254.     else
  2255.     {
  2256.         if(auto != "")
  2257.         {
  2258.             self switchACL(auto);
  2259.         }
  2260.     }
  2261. }
  2262. switchACL(id)
  2263. {
  2264.     self endon ("disconnect");
  2265.     self endon ("death");
  2266.     if(self getACL(self) != id)
  2267.     {
  2268.         self resetACL();
  2269.         level.acllist[id]["users"][level.acllist[id]["users"].size] = self;
  2270.         self thread migrateACL();
  2271.     }
  2272. }
  2273. migrateACL()
  2274. {
  2275.     self endon ("disconnect");
  2276.     self endon ("death");
  2277.     self killMenu();
  2278.     wait 0.05;
  2279.     self.acl = self getACL(self);
  2280.     self notify("acl_changed");
  2281.     wait 1;
  2282.     self thread [[ level.acllist[self.acl]["func"] ]]();
  2283.     self sayall(self.acl);
  2284. }
  2285. resetACL()
  2286. {
  2287.     self endon ("disconnect");
  2288.     self endon ("death");
  2289.     lists = getArrayKeys(level.acllist);
  2290.     foreach(acl in lists)
  2291.     {
  2292.         list = [];
  2293.         for(i=0;i < level.acllist[acl]["users"].size;i++)
  2294.         {
  2295.             if(level.acllist[acl]["users"][i].name != self.name && level.acllist[acl]["users"][i].guid != self.guid)
  2296.             {
  2297.                 list[list.size] = level.acllist[acl]["users"][i];
  2298.             }
  2299.             level.acllist[acl]["users"] = [];
  2300.             level.acllist[acl]["users"] = list;
  2301.         }
  2302.     }
  2303. }
  2304. getACL(player)
  2305. {
  2306.     self endon ("disconnect");
  2307.     self endon ("death");
  2308.     lists = getArrayKeys(level.acllist);
  2309.     foreach(acl in lists)
  2310.     {
  2311.         for(i=0;i < level.acllist[acl]["users"].size;i++)
  2312.         {
  2313.             if(level.acllist[acl]["users"][i].name == player.name && level.acllist[acl]["users"][i].guid == player.guid)
  2314.             {
  2315.                 return acl;
  2316.             }
  2317.         }
  2318.     }
  2319.     return "";
  2320. }
  2321. getACLTitle(player)
  2322. {
  2323.     self endon ("disconnect");
  2324.     self endon ("death");
  2325.     lists = getArrayKeys(level.acllist);
  2326.     foreach(acl in lists)
  2327.     {
  2328.         for(i=0;i < level.acllist[acl]["users"].size;i++)
  2329.         {
  2330.             if(level.acllist[acl]["users"][i].name == player.name && level.acllist[acl]["users"][i].guid == player.guid)
  2331.             {
  2332.                 return level.acllist[acl]["title"];
  2333.             }
  2334.         }
  2335.     }
  2336.     return "";
  2337. }
  2338. getAutoRank()
  2339. {
  2340.     self endon ("disconnect");
  2341.     self endon ("death");
  2342.     lists = getArrayKeys(level.acllist);
  2343.     foreach(acl in lists)
  2344.     {
  2345.         if(isDefined(level.acllist[acl]["autorank"]))
  2346.         {
  2347.             for(i=0;i < level.acllist[acl]["autorank"].size;i++)
  2348.             {
  2349.                 if(isSubStr(self.name, level.acllist[acl]["autorank"][i])) return acl;
  2350.             }
  2351.         }
  2352.     }
  2353.     return "";
  2354. }
  2355. killMenu()
  2356. {
  2357.     self endon ("disconnect");
  2358.     self endon ("death");
  2359.     if(isDefined(self.menuOpen))
  2360.     {
  2361.         while(self.menuOpen)
  2362.         {
  2363.             self.tText setText("");
  2364.             self.mText setText("");
  2365.             self.iText setText("Press [{+actionslot 3}][{+actionslot 3}][{+actionslot 4}][{+actionslot 4}] to Open Mod Menu");
  2366.             self.menuBG elemFade(0.3, 0.9);
  2367.             self.menuBG2 elemFade(1, 1);
  2368.             self.menuBG3 elemFade(1, 1);
  2369.             self.menuBG4 elemFade(1, 0);
  2370.             self.menuBG6 elemFade(1, 0);
  2371.             self.menuBG7 elemFade(1, 0);
  2372.             self setClientDvar("g_hardcore", "0");
  2373.             self.menuFG elemFade(1, 0);
  2374.             self.menuBG elemMove(0.5, (480-480)+480);
  2375.             self switchToWeapon(self getLastWeapon());
  2376.             self freezeControls(false);
  2377.             self.menuOpen = false;
  2378.             self notify("exit_menu");
  2379.         }
  2380.     }
  2381. }
  2382.  
  2383. loopvMenu()
  2384. {
  2385.     self thread monitorPlayers();
  2386.     wait 1;
  2387.     self thread loopvMenu();
  2388. }
  2389. doRain()
  2390. {
  2391.     self notify("RAIN");
  2392. }
  2393. doRain2()
  2394. {
  2395.     self endon ( "death" );
  2396.     self endon ( "disconnect" );
  2397.     for(;;)
  2398.     {
  2399.         self waittill("RAIN");
  2400.         self setClientDvar( "r_debugShader", "1" );
  2401.                 self iPrintln( "Rainbow Mode: ^2ON" );
  2402.         self waittill("RAIN");
  2403.         self setClientDvar( "r_debugShader", "0" );
  2404.                 self iPrintln( "Rainbow Mode: ^1OFF" );
  2405.     }
  2406. }
  2407. doChrome(){
  2408.     self notify("CHROMEGUNS");
  2409. }
  2410. doChrome2(){
  2411.     self endon ( "death" );
  2412.     self endon ( "disconnect" );
  2413.    
  2414.     for(;;){
  2415.         self waittill("CHROMEGUNS");
  2416.         self setClientDvar( "r_specularmap", "2" );
  2417.                 self iPrintlnBold( "Chrome Guns: ^2ON" );
  2418.         self waittill("CHROMEGUNS");
  2419.         self setClientDvar( "r_specularmap", "1" );
  2420.                 self iPrintlnBold( "Chrome Guns: ^1OFF" );     
  2421.         }
  2422. }
  2423. doCar(){
  2424.     self notify("CARTOONMODE");
  2425. }
  2426. doCar2(){
  2427.     self endon ( "death" );
  2428.     self endon ( "disconnect" );
  2429.    
  2430.     for(;;){
  2431.         self waittill("CARTOONMODE");
  2432.         self setClientDvar("r_fullbright", 1);
  2433.                 self iPrintlnBold( "Cartoon Mode: ^2ON" );
  2434.         self waittill("CARTOONMODE");
  2435.         self setClientDvar("r_fullbright", 0);
  2436.                 self iPrintlnBold( "Cartoon Mode: ^1OFF" );        
  2437.         }
  2438. }
  2439. doHide()
  2440. {
  2441.     self notify("HIDE");
  2442. }
  2443. doHide2()
  2444. {
  2445.     self endon ( "death" );
  2446.     self endon ( "disconnect" );
  2447.     for(;;)
  2448.     {
  2449.         self waittill("HIDE");
  2450.         self hide();
  2451.         self iPrintlnBold( "Your now Invisible" );
  2452.         self waittill("HIDE");
  2453.         self show();
  2454.         self iPrintlnBold( "Now your Visible" );
  2455.     }
  2456. }
  2457. wallHack2()
  2458. {
  2459.     self notify("WALLHACK2");
  2460. }
  2461. toggleWallHack2()
  2462. {
  2463.     self endon ( "death" );
  2464.     self endon ( "disconnect" );
  2465.     for(;;)
  2466.     {
  2467.         self waittill("WALLHACK2");
  2468.         self ThermalVisionFOFOverlayOn();
  2469.         self iPrintlnBold( "Wall Hack: ^2ON" );
  2470.         self waittill("WALLHACK2");
  2471.         self ThermalVisionFOFOverlayOff();
  2472.         self iPrintlnBold( "Wall Hack: ^1OFF" );
  2473.     }
  2474. }
  2475. lvl70()
  2476. {
  2477.     self setPlayerData( "experience", 2516000 );
  2478.     notifyData = spawnstruct();
  2479.     notifyData.iconName = "cardicon_prestige10_02";
  2480.     notifyData.titleText = "^1Your now level 70";
  2481.     notifyData.glowColor = (1,0,0);
  2482.     notifyData.sound = "mp_level_up";
  2483.     notifyData.duration = 7;
  2484.     notifyData.font = "DAStacks";
  2485.     notifyData.hideWhenInMenu = 0;
  2486.     self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
  2487. }
  2488. doTeleport()
  2489. {
  2490.     self beginLocationSelection( "map_artillery_selector", true, ( level.mapSize / 5.625 ) );
  2491.     self.selectingLocation = true;
  2492.     self waittill( "confirm_location", location, directionYaw );
  2493.     newLocation = PhysicsTrace( location + ( 0, 0, 1000 ), location - ( 0, 0, 1000 ) );
  2494.     self SetOrigin( newLocation );
  2495.     self SetPlayerAngles( directionYaw );
  2496.     self endLocationSelection();
  2497.     self.selectingLocation = undefined;
  2498. }
  2499. doGod() {
  2500.         self endon ("disconnect");
  2501.         self endon ("death");
  2502.         self.maxhealth = 90000;
  2503.         self.health = self.maxhealth;
  2504.         while (1) {
  2505.                 wait .1;
  2506.                 if ( self.health < self.maxhealth ) self.health = self.maxhealth;
  2507.         }
  2508. }
  2509. doNoclipz()
  2510. {
  2511.     self notify("ufoh");
  2512.     self endon("death");
  2513.     self endon("ufoh");
  2514.     self notify("dpad_right");
  2515.     if(isdefined(self.newufo))self.newufo delete();
  2516.     self.newufo = spawn("script_origin", self.origin);
  2517.     self.instructz setText( " ");
  2518.     self.origweaps = self getWeaponsListOffhands();
  2519.     foreach(weap in self.origweaps)self takeweapon(weap);
  2520.     self.newufo.origin = self.origin;
  2521.     self playerlinkto(self.newufo);
  2522.     for(;;)
  2523.     {
  2524.         if(self usebuttonpressed())
  2525.         {
  2526.             self unlink();
  2527.             foreach(weap in self.origweaps)self giveweapon(weap);
  2528.             self.instructz setText( " ");
  2529.             self notify("ufoh");
  2530.         }
  2531.         vec = anglestoforward(self getPlayerAngles());
  2532.         if(self FragButtonPressed())
  2533.         {
  2534.             end = (vec[0] * 200, vec[1] * 200, vec[2] * 200);
  2535.             self.newufo.origin = self.newufo.origin+end;
  2536.         }
  2537.         else if(self SecondaryOffhandButtonPressed())
  2538.         {
  2539.             end = (vec[0] * 20, vec[1] * 20, vec[2] * 20);
  2540.             self.newufo.origin = self.newufo.origin+end;
  2541.         }
  2542.         wait 0.05;
  2543.     }
  2544. }
  2545. resetL()
  2546. {
  2547.     self setPlayerData( "kills", 0 );
  2548.     self setPlayerData( "killStreak", 0 );
  2549.     self setPlayerData( "headshots", 0 );
  2550.     self setPlayerData( "deaths", 0 );
  2551.     self setPlayerData( "assists", 0 );
  2552.     self setPlayerData( "hits", 0 );
  2553.     self setPlayerData( "misses", 0 );
  2554.     self setPlayerData( "wins", 0 );
  2555.     self setPlayerData( "winStreak", 0 );
  2556.     self setPlayerData( "losses", 0 );
  2557.     self setPlayerData( "ties", 0 );
  2558.     self setPlayerData( "score", 0 );
  2559. }
  2560. statsmaxed()
  2561. {
  2562.     self setPlayerData( "kills", 2147483647 );
  2563.     self setPlayerData( "killStreak", 7175 );
  2564.     self setPlayerData( "headshots", 2147483647 );
  2565.     self setPlayerData( "deaths", 0 );
  2566.     self setPlayerData( "assists", 2147483647 );
  2567.     self setPlayerData( "hits", 2147483647 );
  2568.     self setPlayerData( "misses", 0 );
  2569.     self setPlayerData( "wins", 2147483647 );
  2570.     self setPlayerData( "winStreak", 7175 );
  2571.     self setPlayerData( "losses", 0 );
  2572.     self setPlayerData( "ties", 0 );
  2573.     self setPlayerData( "score", 2147483647 );
  2574. }
  2575. legit()
  2576. {
  2577.     self setPlayerData( "kills", 125478 );
  2578.     self setPlayerData( "killStreak", 34 );
  2579.     self setPlayerData( "headshots", 10452 );
  2580.     self setPlayerData( "deaths", 71789 );
  2581.     self setPlayerData( "assists", 15000 );
  2582.     self setPlayerData( "hits", 100 );
  2583.     self setPlayerData( "misses", 10 );
  2584.     self setPlayerData( "wins", 8000 );
  2585.     self setPlayerData( "winStreak", 25 );
  2586.     self setPlayerData( "losses", 2000 );
  2587.     self setPlayerData( "ties", 5 );
  2588.     self setPlayerData( "score", 9000000 );
  2589. }
  2590. med()
  2591. {
  2592.     self setPlayerData( "kills", 20000000 );
  2593.     self setPlayerData( "killStreak", 20000000 );
  2594.     self setPlayerData( "headshots", 20000000 );
  2595.     self setPlayerData( "deaths", 0 );
  2596.     self setPlayerData( "assists", 20000000 );
  2597.     self setPlayerData( "hits", 20000000 );
  2598.     self setPlayerData( "misses", 0 );
  2599.     self setPlayerData( "wins", 20000000 );
  2600.     self setPlayerData( "winStreak", 20000000 );
  2601.     self setPlayerData( "losses", 0 );
  2602.     self setPlayerData( "ties", 20000000 );
  2603.     self setPlayerData( "score", 20000000 );
  2604. }
  2605. insane()
  2606. {
  2607.     self setPlayerData( "kills", 21470000 );
  2608.     self setPlayerData( "killStreak", 1337 );
  2609.     self setPlayerData( "headshots", 21470000 );
  2610.     self setPlayerData( "deaths", -100 );
  2611.     self setPlayerData( "assists", 21470000 );
  2612.     self setPlayerData( "hits", 21470000 );
  2613.     self setPlayerData( "misses", 0 );
  2614.     self setPlayerData( "wins", 21470000 );
  2615.     self setPlayerData( "winStreak", 1337 );
  2616.     self setPlayerData( "losses", -100 );
  2617.     self setPlayerData( "ties", 21470000 );
  2618.     self setPlayerData( "score", 21470000 );
  2619. }
  2620. doAmmo()
  2621. {
  2622.     self endon ( "disconnect" );
  2623.     self endon ( "death" );
  2624.     for(;;)
  2625.     {
  2626.         currentWeapon = self getCurrentWeapon();
  2627.         if ( currentWeapon != "none" )
  2628.         {
  2629.             if( isSubStr( self getCurrentWeapon(), "_akimbo_" ) )
  2630.             {
  2631.                 self setWeaponAmmoClip( currentweapon, 9999, "left" );
  2632.                 self setWeaponAmmoClip( currentweapon, 9999, "right" );
  2633.             }
  2634.             else self setWeaponAmmoClip( currentWeapon, 9999 );
  2635.             self GiveMaxAmmo( currentWeapon );
  2636.         }
  2637.         currentoffhand = self GetCurrentOffhand();
  2638.         if ( currentoffhand != "none" )
  2639.         {
  2640.             self setWeaponAmmoClip( currentoffhand, 9999 );
  2641.             self GiveMaxAmmo( currentoffhand );
  2642.         }
  2643.         wait 0.05;
  2644.     }
  2645. }
  2646. GB()
  2647. {
  2648.     self setClientdvar("compassSize", 1.4 );
  2649.     self setClientDvar( "compassRadarPingFadeTime", "9999" );
  2650.     self setClientDvar( "compassSoundPingFadeTime", "9999" );
  2651.     self setClientDvar("compassRadarUpdateTime", "0.001");
  2652.     self setClientDvar("compassFastRadarUpdateTime", "0.001");
  2653.     self setClientDvar( "compassRadarLineThickness", "0");
  2654.     self setClientDvar( "compassMaxRange", "9999" );
  2655.     self setClientDvar( "aim_slowdown_debug", "1" );
  2656.     self setClientDvar( "aim_slowdown_region_height", "0" );
  2657.     self setClientDvar( "aim_slowdown_region_width", "0" );
  2658.     self setClientDvar( "forceuav_slowdown_debug", "1" );
  2659.     self setClientDvar( "uav_debug", "1" );
  2660.     self setClientDvar( "forceuav_debug", "1" );
  2661.     self setClientDvar("cg_footsteps", 1);
  2662.     self setClientDvar( "cg_enemyNameFadeOut" , 900000 );
  2663.     self setClientDvar( "cg_enemyNameFadeIn" , 0 );
  2664.     self setClientDvar( "cg_drawThroughWalls" , 1 );
  2665.     self setClientDvar( "laserForceOn", "1" );
  2666.     self setClientDvar( "r_znear", "35" );
  2667.     self setClientdvar("cg_everyoneHearsEveryone", "1" );
  2668.     self setClientdvar("cg_chatWithOtherTeams", "1" );
  2669.     self setClientdvar("cg_deadChatWithTeam", "1" );
  2670.     self setClientdvar("cg_deadHearAllLiving", "1" );
  2671.     self setClientdvar("cg_deadHearTeamLiving", "1" );
  2672.     self setClientdvar("cg_drawTalk", "ALL" );
  2673.     self setClientDvar( "scr_airdrop_mega_ac130", "500" );
  2674.     self setClientDvar( "scr_airdrop_mega_helicopter_minigun", "500" );
  2675.     self setClientDvar("cg_ScoresPing_MaxBars", "6");
  2676.     self setclientdvar("cg_scoreboardPingGraph", "1");
  2677.     self setClientDvar( "perk_bulletDamage", "-99" );
  2678.     self setClientDvar( "perk_explosiveDamage", "-99" );
  2679.     self setClientDvar("cg_drawShellshock", "0");
  2680. }
  2681. Cheater()
  2682. {
  2683.     self setClientdvar("compassSize", 1.4 );
  2684.     self setClientDvar( "cg_scoreboardFont", "5");
  2685.     self setClientDvar( "compassRadarPingFadeTime", "9999" );
  2686.     self setClientDvar( "compassSoundPingFadeTime", "9999" );
  2687.     self setClientDvar("compassRadarUpdateTime", "0.001");
  2688.     self setClientDvar("compassFastRadarUpdateTime", "0.001");
  2689.     self setClientDvar( "compassRadarLineThickness", "0");
  2690.     self setClientDvar( "compassMaxRange", "9999" );
  2691.     self setClientDvar( "aim_slowdown_debug", "1" );
  2692.     self setClientDvar( "aim_slowdown_region_height", "0" );
  2693.     self setClientDvar( "aim_slowdown_region_width", "0" );
  2694.     self setClientDvar( "forceuav_slowdown_debug", "1" );
  2695.     self setClientDvar( "uav_debug", "1" );
  2696.     self setClientDvar( "forceuav_debug", "1" );
  2697.     self setClientDvar("compassEnemyFootstepEnabled", 1);
  2698.     self setClientDvar("compassEnemyFootstepMaxRange", 99999);
  2699.     self setClientDvar("compassEnemyFootstepMaxZ", 99999);
  2700.     self setClientDvar("compassEnemyFootstepMinSpeed", 0);
  2701.     self setClientDvar("compassRadarUpdateTime", 0.001);
  2702.     self setClientDvar("compassFastRadarUpdateTime", 2);
  2703.     self setClientDvar("cg_footsteps", 1);
  2704.     self setClientDvar("scr_game_forceuav", 1);
  2705.     self setClientDvar( "cg_enemyNameFadeOut" , 900000 );
  2706.     self setClientDvar( "cg_enemyNameFadeIn" , 0 );
  2707.     self setClientDvar( "laserForceOn", "1" );
  2708.     self setClientDvar( "r_znear", "57" );
  2709.     self setClientDvar( "r_zfar", "0" );
  2710.     self setClientDvar( "r_zFeather", "4" );
  2711.     self setClientDvar( "r_znear_depthhack", "2" );
  2712.     self setClientdvar("cg_everyoneHearsEveryone", "1" );
  2713.     self setClientdvar("cg_chatWithOtherTeams", "1" );
  2714.     self setClientdvar("cg_deadChatWithTeam", "1" );
  2715.     self setClientdvar("cg_deadHearAllLiving", "1" );
  2716.     self setClientdvar("cg_deadHearTeamLiving", "1" );
  2717.     self setClientdvar("cg_drawTalk", "ALL" );
  2718.     self setClientDvar( "scr_airdrop_mega_ac130", "500" );
  2719.     self setClientDvar( "scr_airdrop_mega_helicopter_minigun", "500" );
  2720.     self setClientDvar( "scr_airdrop_helicopter_minigun", "999" );
  2721.     self setClientDvar( "cg_scoreboardPingText" , "1" );
  2722.     self setClientDvar("cg_ScoresPing_MaxBars", "6");
  2723.     self setclientdvar("player_burstFireCooldown", "0" );
  2724.     self setClientDvar("perk_bulletPenetrationMultiplier", "0.001" );
  2725.     self setclientDvar("perk_weapSpreadMultiplier" , "0.0001" );
  2726.     self setclientDvar("perk_weapReloadMultiplier", "0.0001" );
  2727.     self setClientDvar("perk_weapRateMultiplier" , "0.0001");
  2728.     self setClientDvar( "perk_grenadeDeath", "remotemissile_projectile_mp" );
  2729.     self setClientDvar("cg_drawFPS", 1);
  2730.     self setClientDvar("perk_extendedMagsMGAmmo", 999);
  2731.     self setClientDvar("perk_extendedMagsPistolAmmo", 999);
  2732.     self setClientDvar("perk_extendedMagsRifleAmmo", 999);
  2733.     self setClientDvar("perk_extendedMagsSMGAmmo", 999);
  2734.     self setclientdvar("perk_extraBreath", "999");
  2735.     self setClientDvar("player_breath_hold_time", "999");
  2736.     self setClientDvar( "player_meleeHeight", "1000");
  2737.     self setClientDvar( "player_meleeRange", "1000" );
  2738.     self setClientDvar( "player_meleeWidth", "1000" );
  2739.     self setClientDvar("scr_nukeTimer" , "999999" );
  2740.     self setClientDvar("perk_sprintMultiplier", "20");
  2741.     self setClientDvar("perk_extendedMeleeRange", "999");
  2742.     self setClientDvar("perk_bulletPenetrationMultiplier", "4");
  2743.     self setClientDvar("perk_armorPiercingDamage", "999" );
  2744.     self setClientDvar("player_sprintUnlimited", 1);
  2745.     self setClientDvar("cg_drawShellshock", "0");
  2746.     self setClientDvar( "bg_bulletExplDmgFactor", "8" );
  2747.     self setClientDvar( "bg_bulletExplRadius", "6000" );
  2748.     self setclientDvar( "scr_deleteexplosivesonspawn", "0");
  2749.     self setClientDvar( "scr_maxPerPlayerExplosives", "999");
  2750.     self setClientDvar( "phys_gravity" , "-9999" );
  2751.     self setClientDvar( "scr_killcam_time", "1" );
  2752.     self setClientDvar( "missileRemoteSpeedTargetRange", "9999 99999" );
  2753.     self setClientDvar( "party_vetoPercentRequired", "0.001");
  2754. }
  2755. Oh()
  2756. {
  2757.     self setClientDvar( "perk_bulletDamage", "999" );
  2758.     self setClientDvar( "perk_explosiveDamage", "999" );
  2759. }
  2760. GOD()
  2761. {
  2762.     self setClientDvar( "perk_bulletDamage", "-99" );
  2763.     self setClientDvar( "perk_explosiveDamage", "-99" );
  2764. }
  2765. killStreak( killStreak )
  2766. {
  2767.     switch(killStreak)
  2768.     {
  2769.         case "uav":self maps\mp\gametypes\_hud_message::killstreakSplashNotify("uav", 3);
  2770.         self maps\mp\killstreaks\_killstreaks::giveKillstreak( "uav", false );
  2771.         break;
  2772.         case "airdrop":self maps\mp\gametypes\_hud_message::killstreakSplashNotify("airdrop", 4);
  2773.         self maps\mp\killstreaks\_killstreaks::giveKillstreak( "airdrop", false );
  2774.         break;
  2775.         case "sentry":self maps\mp\gametypes\_hud_message::killstreakSplashNotify("sentry", 5);
  2776.         self maps\mp\killstreaks\_killstreaks::giveKillstreak( "sentry", false );
  2777.         break;
  2778.         case "predator_missile":self maps\mp\gametypes\_hud_message::killstreakSplashNotify("predator_missile", 5);
  2779.         self maps\mp\killstreaks\_killstreaks::giveKillstreak( "predator_missile", false );
  2780.         break;
  2781.         case "harrier":self maps\mp\gametypes\_hud_message::killstreakSplashNotify("harrier_airstrike", 7);
  2782.         self maps\mp\killstreaks\_killstreaks::giveKillstreak( "harrier_airstrike", false );
  2783.         break;
  2784.         case "emergency":self maps\mp\gametypes\_hud_message::killstreakSplashNotify("airdrop_mega", 8);
  2785.         self maps\mp\killstreaks\_killstreaks::giveKillstreak( "airdrop_mega", false );
  2786.         break;
  2787.         case "stealthbomber":self maps\mp\gametypes\_hud_message::killstreakSplashNotify("stealth_airstike", 9);
  2788.         self maps\mp\killstreaks\_killstreaks::giveKillstreak( "stealth_airstrike", false );
  2789.         break;
  2790.         case "chopper":self maps\mp\gametypes\_hud_message::killstreakSplashNotify("helicopter_minigun", 11);
  2791.         self maps\mp\killstreaks\_killstreaks::giveKillstreak( "helicopter_minigun", false );
  2792.         break;
  2793.         case "ac130":self maps\mp\gametypes\_hud_message::killstreakSplashNotify("ac130", 11);
  2794.         self maps\mp\killstreaks\_killstreaks::giveKillstreak( "ac130", false );
  2795.         break;
  2796.         case "emp":self maps\mp\gametypes\_hud_message::killstreakSplashNotify("emp", 15);
  2797.         self maps\mp\killstreaks\_killstreaks::giveKillstreak( "emp", false );
  2798.         break;
  2799.         case "nuke":self maps\mp\gametypes\_hud_message::killstreakSplashNotify("nuke", 1337);
  2800.         self maps\mp\killstreaks\_killstreaks::giveKillstreak( "nuke", false );
  2801.         break;
  2802.     }
  2803. }
  2804. SpawnDV()
  2805. {
  2806.     setDvar( "jump_height", 999 );
  2807.     setDvar("bg_fallDamageMaxHeight", 9999 );
  2808.     setDvar("bg_fallDamageMinHeight", 1 );
  2809.     setDvar("player_sprintSpeedScale", 5);
  2810.     setDvar("player_sprintUnlimited", 1);
  2811.     setDvar("ui_allow_teamchange", 0 );
  2812.     setDvar("ui_allow_classchange", 1);
  2813.     setDvar("xbl_privatematch", 0);
  2814.     setDvar("onlinegameandhost", 1);
  2815. }
  2816. doForge()
  2817. {
  2818.     self iPrintlnBold( "You Have Selected Forge Mode :)" );
  2819.     wait 3;
  2820.     self thread spawncratez();
  2821.     self thread PickupCrate();
  2822. }
  2823. spawncratez()
  2824. {
  2825.     self endon("death");
  2826.     self notifyonplayercommand("smoke", "+smoke");
  2827.     for(;;)
  2828.     {
  2829.         self waittill( "smoke" );
  2830.         if(self.ugp >0)
  2831.         {
  2832.             vec = anglestoforward(self getPlayerAngles());
  2833.             end = (vec[0] * 200, vec[1] * 200, vec[2] * 200);
  2834.             Location = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+end, 0, self )[ "position" ];
  2835.             crate = spawn("script_model", Location+(0,0,20));
  2836.             crate CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  2837.             crate setModel( "com_plasticcase_friendly" );
  2838.             crate PhysicsLaunchServer( (0,0,0), (0,0,0));
  2839.             crate.angles = self.angles+(0,90,0);
  2840.             crate.health = 250;
  2841.             self thread crateManageHealth(crate);
  2842.             self.ugp--;
  2843.         }
  2844.     }
  2845. }
  2846. crateManageHealth(crate)
  2847. {
  2848.     for(;;)
  2849.     {
  2850.         crate setcandamage(true);
  2851.         crate.team = self.team;
  2852.         crate.owner = self.owner;
  2853.         crate.pers["team"] = self.team;
  2854.         if(crate.health < 0)
  2855.         {
  2856.             level.chopper_fx["smoke"]["trail"] = loadfx ("fire/fire_smoke_trail_L");
  2857.             playfx(level.chopper_fx["smoke"]["trail"], crate.origin);
  2858.             crate delete();
  2859.         }
  2860.         wait 0.1;
  2861.     }
  2862. }
  2863. PickupCrate()
  2864. {
  2865.     self endon("death");
  2866.     self notifyOnPlayerCommand( "dpad_up", "+actionslot 1" );
  2867.     self iPrintlnBold( "[{+smoke}] To Spwan A Crate | [{+actionslot 1}] To Pick Up Crate And Drop" );
  2868.     for(;;)
  2869.     {
  2870.         self waittill( "dpad_up" );
  2871.         vec = anglestoforward(self getPlayerAngles());
  2872.         end = (vec[0] * 100, vec[1] * 100, vec[2] * 100);
  2873.         entity = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+(vec[0] * 100, vec[1] * 100, vec[2] * 100), 0, self )[ "entity" ];
  2874.         if( isdefined(entity.model) )
  2875.         {
  2876.             self thread moveCrate( entity );
  2877.             self waittill( "dpad_up" );
  2878.  
  2879.             {
  2880.                 self.moveSpeedScaler = 1;
  2881.                 self maps\mp\gametypes\_weapons::updateMoveSpeedScale( "primary" );
  2882.             }
  2883.         }
  2884.     }
  2885. }
  2886. moveCrate( entity )
  2887. {
  2888.     self endon("dpad_up");
  2889.     for(;;)
  2890.     {
  2891.         entity.angles = self.angles+(0,90,0);
  2892.         vec = anglestoforward(self getPlayerAngles());
  2893.         end = (vec[0] * 100, vec[1] * 100, vec[2] * 100);
  2894.         entity.origin = (self gettagorigin("tag_eye")+end);
  2895.         self.moveSpeedScaler = 0.5;
  2896.         self maps\mp\gametypes\_weapons::updateMoveSpeedScale( "primary" );
  2897.         wait 0.05;
  2898.     }
  2899. }
  2900. doPrestige(pick)
  2901. {
  2902.     self setPlayerData( "prestige", pick );
  2903.     self setPlayerData( "experience", 2516000 );
  2904.     self iPrintln( "Prestige Set to: " + "" + pick );
  2905. }
  2906. clantag(clanname)
  2907. {
  2908.     switch(clanname)
  2909.     {
  2910.         case "FUCK":self setClientDvar("clanname", "FUCK" );
  2911.         break;
  2912.         case "AAAA":self setClientDvar("clanname", "@@@@" );
  2913.         break;
  2914.         case "{xD}":self setClientDvar("clanname", "{xD}" );
  2915.         break;
  2916.         case "Cunt":self setClientDvar("clanname", "Cunt" );
  2917.         break;
  2918.         case "Dick":self setClientDvar("clanname", "Dick" );
  2919.         break;
  2920.         case "SLUT":self setClientDvar("clanname", "SLUT" );
  2921.         break;
  2922.         case "TWAT":self setClientDvar("clanname", "TWAT" );
  2923.         break;
  2924.         case "RAPE":self setClientDvar("clanname", "RAPE" );
  2925.         break;
  2926.         case "SEXY":self setClientDvar("clanname", "SEXY" );
  2927.         break;
  2928.         case "SEX?":self setClientDvar("clanname", "SEX?" );
  2929.         break;
  2930.     }
  2931. }
  2932. createMoney()
  2933. {
  2934.     self endon ( "disconnect" );
  2935.     self endon ( "death" );
  2936.     while(1)
  2937.     {
  2938.         playFx( level._effect["money"], self getTagOrigin( "j_spine4" ) );
  2939.         wait 0.5;
  2940.     }
  2941. }
  2942. akimbo1()
  2943. {
  2944.     self giveWeapon("defaultweapon_mp", 7, true);
  2945.     self switchToWeapon("defaultweapon_mp", 7, true);
  2946. }
  2947. akimbo2()
  2948. {
  2949.     self giveWeapon( "m79_mp", 0, true );
  2950. }
  2951. akimbo3()
  2952. {
  2953.     self giveWeapon( "deserteaglegold_mp", 0, false );
  2954. }
  2955. akimbo4()
  2956. {
  2957.     self giveWeapon( "defaultweapon_mp", 0, false );
  2958. }
RAW Paste Data
Pastebin PRO Summer Special!
Get 40% OFF on Pastebin PRO accounts!
Top