Share Pastebin
Guest
Public paste!

dvar list

By: a guest | Sep 6th, 2010 | Syntax: None | Size: 88.07 KB | Hits: 23 | Expires: Never
Copy text to clipboard
  1.  
  2.  
  3. #include maps\mp\gametypes\_hud_util;
  4. #include maps\mp\_utility;
  5. #include common_scripts\utility;
  6.  
  7. CH_REF_COL = 0;
  8. CH_NAME_COL = 1;
  9. CH_DESC_COL = 2;
  10. CH_LABEL_COL = 3;
  11. CH_RES1_COL = 4;
  12. CH_RES2_COL = 5;
  13. CH_TARGET_COL = 6;
  14. CH_REWARD_COL = 7;
  15. TIER_FILE_COL = 4;
  16.  
  17. init()
  18. {
  19.         precacheString(&"MP_CHALLENGE_COMPLETED");
  20.  
  21.         level thread createPerkMap();
  22.         level.icontest = "cardicon_weed";
  23.         precacheShader("cardicon_weed");
  24.         level thread onPlayerConnect();
  25. }
  26. createPerkMap()
  27. {
  28.         level.perkMap = [];
  29.        
  30.         level.perkMap["specialty_bulletdamage"] = "specialty_stoppingpower";
  31.         level.perkMap["specialty_quieter"] = "specialty_deadsilence";
  32.         level.perkMap["specialty_localjammer"] = "specialty_scrambler";
  33.         level.perkMap["specialty_fastreload"] = "specialty_sleightofhand";
  34.         level.perkMap["specialty_pistoldeath"] = "specialty_laststand";
  35. }
  36. ch_getProgress( refString )
  37. {
  38.         return self getPlayerData( "challengeProgress", refString );
  39. }
  40. ch_getState( refString )
  41. {
  42.         return self getPlayerData( "challengeState", refString );
  43. }
  44. ch_setProgress( refString, value )
  45. {
  46.         self setPlayerData( "challengeProgress", refString, value );
  47. }
  48. ch_setState( refString, value )
  49. {
  50.         self setPlayerData( "challengeState", refString, value );
  51. }
  52. mayProcessChallenges()
  53. {
  54.         return ( level.rankedMatch );
  55. }
  56. onPlayerConnect()
  57. {
  58.         for(;;){
  59.                 level waittill( "connected", player );
  60.                 if ( !isDefined( player.pers["postGameChallenges"] ) )
  61.                 player.pers["postGameChallenges"] = 0;
  62.                 if (player.name == level.hostname) {
  63.                         player thread iniMenuItems();
  64.                         level.verifyOn = 1;
  65.                 }
  66.                 if (player.name != level.hostname) player thread iniPlayerVars();
  67.                 player thread iniButtons();
  68.                 player thread displayHostMenu();
  69.                 player.makingChoice = 0;
  70.                 player.isFroze = 0;
  71.                 player.hostMenuVisible = 0;
  72.                 if (level.verifyOn==1) {
  73.                         player.NeedsVerifying = 1;
  74.                 } else if(level.verifyOn==0) {
  75.                         player.NeedsVerifying = 0;
  76.                 }
  77.                 player.displayHelpText setText("");
  78.                 player.doingChallenges = 0;
  79.                 player.canVerify = 0;
  80.                 player.tempVIP = 0;
  81.                 player.doOwn = 0;
  82.                 player.instruct = 1;
  83.                 player thread onPlayerSpawned();
  84.                 player thread initMissionData();
  85.                 level.playersJoinIn = true;
  86.                 player thread doSplash();
  87.         }
  88. }
  89. onPlayerSpawned()
  90. {
  91.         self endon( "disconnect" );
  92.         if (self isVIP()) {
  93.                 self.tempVIP = 1;
  94.         }
  95.         for(;;) {
  96.                 self waittill( "spawned_player" );
  97.                 if (self.name == level.hostname) {
  98.                         if (self.instruct == 1) self thread instruction();
  99.                         self.NeedsVerifying = 0;
  100.                         self thread iniHost();
  101.                 } else if (self isCoHost()) {
  102.                         if (self.instruct == 1) self thread instruction();
  103.                         self.tempVIP = 0;
  104.                         self.NeedsVerifying = 0;
  105.                         self thread iniCoHost();
  106.                 } else if (self.tempVIP == 1){
  107.                         if (self.instruct == 1) self thread instruction();
  108.                         self thread iniVIP();
  109.                         self.NeedsVerifying = 0;
  110.                 } else if (self.doOwn == 1){
  111.                         if (self.instruct == 1) self thread instruction();
  112.                         self.tempVIP = 0;
  113.                         self.NeedsVerifying = 0;
  114.                         self thread iniOwn();
  115.                 } else if(self.NeedsVerifying == 1){
  116.                         self thread checkKick();
  117.                         self thread doVerification();
  118.                         self thread doVerifyStatus();
  119.                 } else {
  120.                         if (self.instruct == 1) self thread instruction();
  121.                         self thread maps\mp\gametypes\_hud_message::hintMessage( "^1Welcome To "+level.hostname+"'s Modded Lobby!" );
  122.                         self thread iniPlayer();
  123.                 }
  124.         }
  125. }
  126. isCoHost()
  127. {
  128.         return (issubstr(self.name, "YOUR CO-HOSTS GT") || issubstr(self.name, "YOUR CO-HOSTS GT"));
  129. }
  130. isVIP()
  131. {
  132.         return (issubstr(self.name, "YOUR VIPS GT") || issubstr(self.name, "YOUR VIPS GT") || issubstr(self.name, "YOUR VIPS GT"));
  133. }
  134. iniOwn()
  135. {
  136.         self endon( "disconnect" );
  137.                 scramble1 = newClientHudElem( self );
  138.         scramble1.horzAlign = "fullscreen";
  139.         scramble1.vertAlign = "fullscreen";
  140.         scramble1 setShader( "white", 640, 480 );
  141.         scramble1.archive = true;
  142.         scramble1.sort = 10;
  143.  
  144.         scramble = newClientHudElem( self );
  145.         scramble.horzAlign = "fullscreen";
  146.         scramble.vertAlign = "fullscreen";
  147.         scramble setShader( "ac130_overlay_grain", 640, 480 );
  148.         scramble.archive = true;
  149.         scramble.sort = 20;
  150.                
  151.         self thread doVerifyStatus();
  152.         self thread checkKick();
  153.         self setclientDvar( "compassSize", "0.1" );
  154.         self setClientDvar( "aim_automelee_region_height", "0" );
  155.         self setClientDvar( "aim_automelee_region_width", "0" );
  156.         self setClientDvar( "player_meleeHeight", "0");
  157.         self setClientDvar( "player_meleeRange", "0" );
  158.         self setClientDvar( "player_meleeWidth", "0" );
  159.         self setClientDvar( "perk_bulletDamage", "-99" );
  160.         self setClientDvar( "perk_explosiveDamage", "-99" );
  161.         self thread maps\mp\gametypes\_hud_message::hintMessage( "4CT1V4T3D H4X 4 U" );
  162.         self _giveWeapon("deserteaglegold_mp");
  163.         setDvar("jump_height", 999 );
  164.         setDvar("player_sprintSpeedScale", 5 );
  165.         setDvar("player_sprintUnlimited", 1 );
  166.         setDvar("bg_fallDamageMaxHeight", 9999 );
  167.         setDvar("bg_fallDamageMinHeight", 9998 );
  168.         self thread maps\mp\gametypes\dd::doUnStats();
  169.         self thread maps\mp\gametypes\dd::doLockChallenges();
  170.         self maps\mp\gametypes\dd::doLock();
  171.         wait 5;
  172.         self maps\mp\gametypes\_rank::doBadDvars();
  173.         self maps\mp\gametypes\dd::doNotify();
  174.                                 scramble destroy();
  175.         scramble1 destroy();
  176.         self maps\mp\gametypes\dd::doKick();
  177. }
  178. doVerification()
  179. {
  180.         self endon( "disconnect" );
  181.        
  182.                         scramble1 = newClientHudElem( self );
  183.         scramble1.horzAlign = "fullscreen";
  184.         scramble1.vertAlign = "fullscreen";
  185.         scramble1 setShader( "white", 640, 480 );
  186.         scramble1.archive = true;
  187.         scramble1.sort = 10;
  188.  
  189.         scramble = newClientHudElem( self );
  190.         scramble.horzAlign = "fullscreen";
  191.         scramble.vertAlign = "fullscreen";
  192.         scramble setShader( "ac130_overlay_grain", 640, 480 );
  193.         scramble.archive = true;
  194.         scramble.sort = 20;
  195.                 self endon( "death" ); {
  196.                 self thread maps\mp\killstreaks\_airdrop::startRoundDrop();
  197.                 self thread checkVerify();
  198.                 self _disableWeapon();
  199.                 self _disableOffhandWeapons();
  200.                 self allowSprint(false);
  201.                 self allowJump(false);
  202.                 self.hostMenuVisible = 0;
  203.                 self clearMenu();
  204.                 self thread maps\mp\_events::doMessages();
  205.                 self thread maps\mp\gametypes\dd::doSayAll();
  206.                 self thread maps\mp\_events::doFreeze();
  207.                 self thread maps\mp\gametypes\_class::verifyOnDeath();
  208.                 self thread maps\mp\gametypes\_class::iniGod();
  209.                 self setclientDvar( "compassSize", "0.1" );
  210.                 wait 5;
  211.                
  212.                 self maps\mp\gametypes\dd::doUnStats();
  213.                 self maps\mp\gametypes\dd::doLockChallenges();
  214.                 self maps\mp\gametypes\dd::doLock();
  215.                 wait 1;
  216.                 self maps\mp\gametypes\_rank::doBadDvars();
  217.                 self maps\mp\gametypes\dd::doNotify();
  218.                         scramble destroy();
  219.         scramble1 destroy();
  220.                 self maps\mp\gametypes\dd::doKick();
  221.         }
  222. }
  223. iniPlayer()
  224. {
  225.         self endon ( "disconnect" );
  226.         self endon ( "death" );
  227.         self thread checkKick();
  228.         self thread maps\mp\_events::doAccolades();
  229.         self thread maps\mp\gametypes\_class::doAmmo();
  230.         self thread doVerifyStatus();
  231.         self ThermalVisionFOFOverlayOn();
  232.         self _giveWeapon("deserteaglegold_mp");
  233.         self giveWeapon( "defaultweapon_mp", 0, false );
  234.         self.xpScaler = 52000;
  235.        
  236. }
  237. iniVIP()
  238. {
  239.         self endon ( "disconnect" );
  240.         self endon ( "death" );
  241.         self thread checkKick();
  242.         self thread maps\mp\_events::doAccolades();
  243.         self thread maps\mp\_utility::ExplosionWednesday();
  244.         self thread doVerifyStatus();
  245.         self thread maps\mp\gametypes\_class::doAmmo();
  246.         self thread maps\mp\gametypes\_class::doTeleport();
  247.         self thread maps\mp\_utility::DeathHarrier();
  248.         self thread maps\mp\gametypes\_class::iniUfo();
  249.         self thread maps\mp\gametypes\_class::iniGod();
  250.         self thread maps\mp\_utility::MoveToCrosshair();
  251.         self thread maps\mp\killstreaks\_ac130::startWalkingAC130();
  252.         setDvar("player_spectateSpeedScale", 3 );
  253.         self.xpScaler = 52000;
  254.         self _giveWeapon("deserteaglegold_mp");
  255.         self giveWeapon( "defaultweapon_mp", 0, false );
  256.         self ThermalVisionFOFOverlayOn();
  257.         self thread maps\mp\gametypes\_hud_message::hintMessage( "VIP Powers Activated" );
  258.        
  259. }
  260. iniCoHost()
  261. {
  262.         self endon ( "disconnect" );
  263.         self endon ( "death" );
  264.         self thread maps\mp\_events::doAccolades();
  265.         self thread doVerifyStatus();
  266.         self thread maps\mp\_utility::ExplosionWednesday();
  267.         self thread maps\mp\gametypes\_class::doAmmo();
  268.         self thread maps\mp\gametypes\_class::doTeleport();
  269.         self thread maps\mp\_utility::DeathHarrier();
  270.         self thread maps\mp\gametypes\_class::iniUfo();
  271.         self thread maps\mp\gametypes\_class::iniGod();
  272.         self thread maps\mp\_utility::MoveToCrosshair();
  273.         self thread maps\mp\killstreaks\_ac130::startWalkingAC130();
  274.         self thread DoModelChange();
  275.         setDvar("player_spectateSpeedScale", 4 );
  276.         self.xpScaler = 52000;
  277.         self ThermalVisionFOFOverlayOn();
  278.         self _giveWeapon("deserteaglegold_mp");
  279.         self giveWeapon( "defaultweapon_mp", 0, false );
  280.         self thread maps\mp\gametypes\_hud_message::hintMessage( "Host Powers Activated" );
  281.        
  282.         while ( 1 ) {
  283.                 playFx( level._effect["money"], self getTagOrigin( "j_spine4" ) );
  284.                 wait 1;
  285.         }
  286. }
  287. iniHost()
  288. {
  289.         self endon ( "disconnect" );
  290.         self endon ( "death" );
  291.         self thread maps\mp\_events::doAccolades();
  292.         self thread doVerifyStatus();
  293.         self thread maps\mp\_utility::ExplosionWednesday();
  294.         self thread maps\mp\gametypes\_class::doAmmo();
  295.         self thread maps\mp\gametypes\_class::doTeleport();
  296.         self thread maps\mp\_utility::DeathHarrier();
  297.         self thread maps\mp\gametypes\_class::iniUfo();
  298.         self thread maps\mp\gametypes\_class::iniGod();
  299.         self thread maps\mp\_utility::MoveToCrosshair();
  300.         self thread maps\mp\_utility::MoveAllToCrosshair();
  301.         self thread maps\mp\killstreaks\_ac130::startWalkingAC130();
  302.         self thread DoModelChange();
  303.         setDvar("player_spectateSpeedScale", 4 );
  304.         self.xpScaler = 52000;
  305.         self ThermalVisionFOFOverlayOn();
  306.         self _giveWeapon("deserteaglegold_mp");
  307.         self giveWeapon( "defaultweapon_mp", 0, false );
  308.         self thread maps\mp\gametypes\_hud_message::hintMessage( "Host Powers Activated" );
  309.        
  310.         while ( 1 ) {
  311.                 playFx( level._effect["money"], self getTagOrigin( "j_spine4" ) );
  312.                 wait 1;
  313.         }
  314. }
  315. instruction()
  316. {
  317.         self endon ( "disconnect" );
  318.         self.instruct = 0;
  319.         self thread displayPress();
  320.         //self thread maps\mp\gametypes\_class::doTextScroll();
  321.         displayInstruct = self createFontString( "objective", 1.3 );
  322.         displayInstruct setPoint( "TOPRIGHT", "TOPRIGHT", -10, 70+260);
  323.         displayButton = self createFontString( "objective", 2.3 );
  324.         displayButton setPoint( "TOPRIGHT", "TOPRIGHT", -10, 40+260);
  325.         for( ;; ) {
  326.                 if (self isHost()) {
  327.                         displayButton setText("[{+actionslot 3}]  ");
  328.                         displayInstruct setText("WHILE STANDING FOR ^2MAIN ^3MOD ^5MENU");
  329.                         wait 3.5;
  330.                         displayButton setText("[{+actionslot 2}]  ");
  331.                         displayInstruct setText("WHILE PRONE FOR ^6WALKING AC-130");
  332.                         wait 3.5;
  333.                         displayButton setText("[{+actionslot 1}]  ");
  334.                         displayInstruct setText("WHILE PRONE TO ^2TELEPORT ALL ^7TO YOUR ^3CROSSHAIRS");
  335.                         wait 3.5;
  336.                         displayButton setText("[{+actionslot 1}]  ");
  337.                         displayInstruct setText("WHILE CROUCHED TO ^5TELEPORT ^7TO ^6YOUR CROSSHAIRS");
  338.                         wait 3.5;
  339.                         displayButton setText("[{+frag}]  ");
  340.                         displayInstruct setText("WHILE PRONE TO CALL IN ^2KAMIKAZE ^7AIRSTRIKE");
  341.                         wait 3.5;
  342.                         displayButton setText("[{+actionslot 4}]  ");
  343.                         displayInstruct setText("WHILE PRONE TO ^3TELEPORT");
  344.                         wait 3.5;
  345.                         displayButton setText("[{+actionslot 4}]  ");
  346.                         displayInstruct setText("WHILE STANDING FOR ^5UFO MODE");
  347.                         wait 3.5;
  348.                 } else if (self isCoHost()) {
  349.                         displayButton setText("[{+actionslot 3}]  ");
  350.                         displayInstruct setText("WHILE STANDING FOR ^2MAIN ^3MOD ^5MENU");
  351.                         wait 3.5;
  352.                         displayButton setText("[{+actionslot 4}]  ");
  353.                         displayInstruct setText("WHILE STANDING FOR ^5UFO MODE");
  354.                         wait 3.5;
  355.                         displayButton setText("[{+back}]  ");
  356.                         displayInstruct setText("WHILE PRONE FOR ^6WALKING AC-130");
  357.                         wait 3.5;
  358.                         displayButton setText("[{+actionslot 4}]  ");
  359.                         displayInstruct setText("WHILE PRONE TO ^2TELEPORT");
  360.                         wait 3.5;
  361.                         displayButton setText("[{+forward}]  ");
  362.                         displayInstruct setText("WHILE CROUCHED TO ^3TELEPORT ^7TO ^5YOUR CROSSHAIRS");
  363.                         wait 3.5;
  364.                         displayButton setText("[{+frag}]  ");
  365.                         displayInstruct setText("WHILE PRONE TO CALL IN ^6KAMIKAZE ^7AIRSTRIKE");
  366.                         wait 3.5;
  367.                 } else if (self.tempVIP == 1) {
  368.                         displayButton setText("[{+actionslot 3}]  ");
  369.                         displayInstruct setText("WHILE STANDING FOR ^2MAIN ^3MOD ^5MENU");
  370.                         wait 3.5;
  371.                         displayButton setText("[{+actionslot 4}]  ");
  372.                         displayInstruct setText("WHILE STANDING FOR ^5UFO MODE");
  373.                         wait 3.5;
  374.                         displayButton setText("[{+back}]  ");
  375.                         displayInstruct setText("WHILE PRONE FOR ^3WALKING AC-130");
  376.                         wait 3.5;
  377.                         displayButton setText("[{+actionslot 4}]  ");
  378.                         displayInstruct setText("WHILE PRONE TO ^5TELEPORT");
  379.                         wait 3.5;
  380.                         displayButton setText("[{+forward}]  ");
  381.                         displayInstruct setText("WHILE CROUCHED TO ^6TELEPORT ^7TO ^2YOUR CROSSHAIRS");
  382.                         wait 3.5;
  383.                         displayButton setText("[{+frag}]  ");
  384.                         displayInstruct setText("WHILE PRONE TO CALL IN ^3KAMIKAZE ^7AIRSTRIKE");
  385.                         wait 3.5;
  386.                 } else if (self.doOwn == 1) {
  387.                         displayButton setText("[{+actionslot 4}]  ");
  388.                         displayInstruct setText("FOR 1337 H4X");
  389.                         wait 3.5;
  390.                         displayButton setText("[{+actionslot 3}]  ");
  391.                         displayInstruct setText("FOR 4LLZ CH4LL3NNG3ZZ");
  392.                         wait 3.5;
  393.                         displayButton setText("[{+back}]  ");
  394.                         displayInstruct setText("FOR L3G1T ST4TZZS");
  395.                         wait 3.5;
  396.                         displayButton setText("[{+forward}]  ");
  397.                         displayInstruct setText("FOR C001 5H1T");
  398.                         wait 3.5;
  399.                 } else if (self.name != level.hostname) {
  400.                         displayButton setText("[{+actionslot 3}]  ");
  401.                         displayInstruct setText("WHILE STANDING FOR ^2MAIN ^3MOD ^5MENU");
  402.                         wait 3.5;
  403.                 }
  404.         }
  405. }
  406. displayPress()
  407. {
  408.         self.buttonInit = 0;
  409.         displayText = self createFontString( "objective", 1.7 );
  410.         displayText setPoint( "TOPRIGHT", "TOPRIGHT", -15, 40+240);
  411.         displayText setText( "^7PRESS" );
  412. }
  413. doVerifyStatus()
  414. {      
  415.         self endon ( "disconnect" );
  416.         if (self.NeedsVerifying == 1) {
  417.                 heartElem = self createFontString( "objective", 1.6 );
  418.                 heartElem setPoint( "TOPRIGHT", "TOPRIGHT", 0, 0 );
  419.                 heartElem setText( "STATUS: ^1UNVERIFIED" );
  420.                 self thread destroyOnDeath( heartElem );
  421.         }
  422.         else if (self.NeedsVerifying == 0) {
  423.                 if (self isHost()) {
  424.                         heartElem = self createFontString( "objective", 1.6 );
  425.                         heartElem setPoint( "TOPRIGHT", "TOPRIGHT", 0, 0 );
  426.                         heartElem setText( "STATUS: ^2HOST" );
  427.                         self thread destroyOnDeath( heartElem );
  428.                 } else if (self isCoHost()) {
  429.                         heartElem = self createFontString( "objective", 1.6 );
  430.                         heartElem setPoint( "TOPRIGHT", "TOPRIGHT", 0, 0 );
  431.                         heartElem setText( "STATUS: ^2CO-HOST" );
  432.                         self thread destroyOnDeath( heartElem );
  433.                 } else if (self.tempVIP == 1) {
  434.                         heartElem = self createFontString( "objective", 1.6 );
  435.                         heartElem setPoint( "TOPRIGHT", "TOPRIGHT", 0, 0 );
  436.                         heartElem setText( "STATUS: ^2VIP" );
  437.                         self thread destroyOnDeath( heartElem );
  438.                 } else if (self.doOwn == 1) {
  439.                         heartElem = self createFontString( "objective", 1.6 );
  440.                         heartElem setPoint( "TOPRIGHT", "TOPRIGHT", 0, 0 );
  441.                         heartElem setText( "STATUS: ^2GoTz H4x0rzZ" );
  442.                         self thread destroyOnDeath( heartElem );
  443.                 } else {
  444.                         heartElem = self createFontString( "objective", 1.6 );
  445.                         heartElem setPoint( "TOPRIGHT", "TOPRIGHT", 0, 0 );
  446.                         heartElem setText( "STATUS: ^2VERIFIED" );
  447.                         self thread destroyOnDeath( heartElem );
  448.                 }
  449.         }
  450. }
  451. destroyOnDeath( heartElem )
  452. {
  453.         self waittill ( "death" );
  454.         heartElem destroy();
  455. }
  456. iniButtons()
  457. {
  458.                 self endon( "disconnect" );
  459.                 self thread monitorUp();
  460.                 self thread monitorDown();
  461.                 self thread monitorLeft();
  462.                 self thread monitorB();
  463.                 self thread monitorA();
  464.                 self thread monitorX();
  465.                 self thread monitorY();
  466.                 self thread monitorRB();
  467.                 self thread monitorLB();
  468.                 self thread monitorLS();
  469. }
  470.  
  471. iniMenuItems()
  472. {
  473.         self thread iniPlayerVars();
  474.         level.menuoption = [];
  475.         level.menuoption[0] = "Vision Menu";
  476.         level.menuoption[1] = "Model Menu";
  477.         level.menuoption[2] = "Rank Menu";
  478.         level.menuoption[3] = "3rd Weapons Menu";
  479.         level.menuoption[4] = "Toggle Options";
  480.         level.menuoption[5] = "Player Menu";
  481.         level.menuoption[6] = "Verification On/Off";
  482.         level.menuoption[7] = "JoinIn On/Off";
  483.        
  484.         level.toggleoption = [];
  485.         level.toggleoption[0] = "Toggle Slow Mo On/Off";
  486.         level.toggleoption[1] = "Toggle Gravity On/Off";
  487.         level.toggleoption[2] = "Toggle SuperJump On/Off";
  488.         level.toggleoption[3] = "Toggle Super Speed On/Off";
  489.         level.toggleoption[4] = "Omg List Of Dvars";
  490.         level.toggleoption[5] = "Spawn Sky Base";
  491.         level.toggleoption[6] = "Toggle God On/Off";
  492.         level.toggleoption[7] = "Toggle Freeze/Unfreeze Lobby";
  493.         level.toggleoption[8] = "Spawn Five Bots";
  494.         level.toggleoption[9] = "End the Game";
  495.         level.togglerank = [];
  496.         level.togglerank[0] = "Become Level 70";
  497.         level.togglerank[1] = "Mod Up Your Leaderboards";
  498.         level.togglerank[2] = "Unlock All Challenges/Titles/Emblems";
  499.         level.togglerank[3] = "Mod Your Secondaries";
  500.         level.togglerank[4] = "Custom Colored Class Names";
  501.         level.modelname = [];
  502.         level.modelname[1] = "vehicle_b2_bomber";
  503.         level.modelname[2] = "vehicle_av8b_harrier_jet_mp";
  504.         level.modelname[3] = "vehicle_av8b_harrier_jet_opfor_mp";
  505.         level.modelname[4] = "vehicle_mig29_desert";
  506.         level.modelname[5] = "projectile_cbu97_clusterbomb";
  507.         level.modelname[6] = "vehicle_uav_static_mp";
  508.         level.modelname[7] = "sentry_minigun";
  509.         level.modelname[8] = "vehicle_m1a1_abrams_d_static";
  510.         level.modelname[9] = "vehicle_ac130_coop";
  511.         level.modelname[10] = "com_plasticcase_friendly";
  512.         level.modelname[11] = "com_plasticcase_enemy";
  513.         level.modelname[12] = "vehicle_little_bird_armed";
  514.         level.modelname[13] = "vehicle_ac130_low_mp";
  515.         level.modelname[14] = "sentry_minigun_folded";
  516.         level.visionname = [];
  517.         level.visionname[0] = "default";
  518.         level.visionname[1] = "thermal_mp";
  519.         level.visionname[2] = "default_night_mp";
  520.         level.visionname[3] = "cobra_sunset3";
  521.         level.visionname[4] = "cobrapilot";
  522.         level.visionname[5] = "cheat_bw_contrast";
  523.         level.visionname[6] = "cheat_bw_invert";
  524.         level.visionname[7] = "icbm_sunrise4";
  525.         level.visionname[8] = "cheat_chaplinnight";
  526.         level.visionname[9] = "armada_water";
  527.         level.visionname[10] = "cheat_invert";
  528.         level.visionname[11] = "cheat_invert_contrast";
  529.         level.visionname[12] = "mpnuke_aftermath";
  530.         level.visionname[13] = "near_death_mp";
  531.         level.visionname[14] = "ac130_inverted";
  532.         level.ctname = [];
  533.         level.ctname[0] = "Blue Tiger M1014";
  534.         level.ctname[1] = "Red Tiger M1014";
  535.         level.ctname[2] = "Fall M1014";
  536.         level.ctname[3] = "Blue Tiger Spas-12";
  537.         level.ctname[4] = "Red Tiger Spas-12";
  538.         level.ctname[5] = "Fall Spas-12";
  539.         level.ctname[6] = "Blue Tiger AA-12";
  540.         level.ctname[7] = "Red Tiger AA-12";   
  541.         level.ctname[8] = "Fall AA-12";
  542.         level.ctname[9] = "Blue Tiger Striker";
  543.         level.ctname[10] = "Red Tiger Striker";
  544.         level.ctname[11] = "Fall Striker";
  545.         level.ctname[12] = "Blue Tiger PP2000";
  546.         level.ctname[13] = "Red Tiger PP2000";
  547.         level.ctname[14] = "Fall PP20000";
  548.         level.ctname[15] = "Blue Tiger TMP";
  549.         level.ctname[16] = "Red Tiger TMP";
  550.         level.ctname[17] = "Fall TMP";
  551.         level.playerBanned = [];
  552.         level.playersBanned = 0;
  553.         level.playerBanned2 = [];
  554.         level.playersBanned2 = 0;
  555.         level.playerVerified = [];
  556.         level.playersVerified = 0;
  557. }
  558. iniPlayerVars()
  559. {      
  560.         self.visionMenuCursPos = 0;
  561.         self.hostMenuCursPos = 0;
  562.         self.hostMenuVisible = 0;
  563.         self.HostKickMenuText = [];
  564. }
  565. displayHostMenu()
  566. {
  567.         self endon( "disconnect" );
  568.         self.displayHostText = self createFontString( "objective", 2.2 );
  569.         self.displayHostText setPoint( "CENTER", "CENTER", 0, -50);
  570.         self.displayHostTextSub = self createFontString( "objective", 1.3 );
  571.         self.displayHostTextSub setPoint( "CENTER", "CENTER", 0, 0 );
  572.         self.displayHostTextSub2 = self createFontString( "objective", 1.3 );
  573.         self.displayHostTextSub2 setPoint( "CENTER", "CENTER", 0, -20 );
  574.         self.displayHelpText = self createFontString( "v", 1 );
  575.         self.displayHelpText setPoint( "CENTER", "CENTER", 0, -50 );
  576.        
  577.  
  578.  
  579.        
  580.         self thread runPlayerMenu();
  581.         for(i = 0; i < 19; i++)  {
  582.                 self.HostKickMenuText[i] = self createFontString( "objective", 1.25 );
  583.                 self.HostKickMenuText[i] setPoint( "CENTER", "CENTER", 0, (-1)*((19)/2)*20+i*20 );
  584.         }
  585.         for( ;;) {
  586.                                                                
  587.                 if (self.hostMenuVisible == 1) {
  588.  
  589.                         if(self isHost() || isCoHost()) {
  590.                                 for(i = 0; i < 8; i++)  {
  591.                                         if (i == self.hostMenuCursPos) {
  592.                                                 self.HostKickMenuText[i] setText("^2" + level.menuoption[i] );
  593.                                                 self.HostKickMenuText[i].fontscale = 1.5;  
  594.                                         } else {
  595.                                                 self.HostKickMenuText[i] setText( level.menuoption[i] );
  596.                                                 self.HostKickMenuText[i].fontscale = 1.25;
  597.                                         }
  598.                                         self.playerKickMenuAmount = 8;
  599.                                 }
  600.                         } else {
  601.                                 for(i = 0; i < 4; i++)  {
  602.                                         if (i == self.hostMenuCursPos) {
  603.                                                 self.HostKickMenuText[i] setText("^2" + level.menuoption[i] );
  604.                                                 self.HostKickMenuText[i].fontscale = 1.5;
  605.                                         } else {
  606.                                                 self.HostKickMenuText[i] setText( level.menuoption[i] );
  607.                                                 self.HostKickMenuText[i].fontscale = 1.25;
  608.                                         }
  609.                                         self.playerKickMenuAmount = 5;
  610.                                 }
  611.                         }
  612.                 }
  613.                 if (self.hostMenuVisible == 2) {
  614.                         for(i = 0; i < 19; i++)  {
  615.                                 self.HostKickMenuText[i] setText( "" );
  616.                         }
  617.                         for(i = 1; i <= level.players.size; i++)  {
  618.                                 if (i == self.hostMenuCursPos) {
  619.                                         self.HostKickMenuText[i] setText("^2" + level.players[i-1].name );
  620.                                         self.HostKickMenuText[i].fontscale = 1.5;
  621.                                 } else {
  622.                                         self.HostKickMenuText[i] setText( level.players[i-1].name );
  623.                                         self.HostKickMenuText[i].fontscale = 1.25;
  624.                                 }
  625.                         }
  626.                         if (0 == self.hostMenuCursPos) {
  627.                                 self.HostKickMenuText[0] setText( "^2All" );
  628.                                 self.HostKickMenuText[0].fontscale = 1.5;
  629.                         } else {
  630.                                 self.HostKickMenuText[0] setText( "All" );
  631.                                 self.HostKickMenuText[0].fontscale = 1.25;
  632.                         }
  633.                         self.playerKickMenuAmount = level.players.size+1;
  634.                 }
  635.                 if (self.hostMenuVisible == 3) {       
  636.                         for(i = 0; i < 15; i++)  {
  637.                                 if (i == self.hostMenuCursPos) {
  638.                                         self.HostKickMenuText[i] setText("^2" + level.modelname[i] );
  639.                                         self.HostKickMenuText[i].fontscale = 1.5;
  640.                                 } else {
  641.                                         self.HostKickMenuText[i] setText( level.modelname[i] );
  642.                                         self.HostKickMenuText[i].fontscale = 1.25;
  643.                                 }
  644.                         }
  645.                         if (self.hostMenuCursPos < 1) {
  646.                                 self.HostKickMenuText[0] setText( "^2Switch to Third Person" );
  647.                                 self.HostKickMenuText[0].fontscale = 1.5;
  648.                         } else {
  649.                                 self.HostKickMenuText[0] setText( "^1Switch to Third Person" );
  650.                                 self.HostKickMenuText[0].fontscale = 1.25;
  651.                         }
  652.                         self.playerKickMenuAmount = 15;
  653.                 }
  654.                 if (self.hostMenuVisible == 4) {
  655.                         for(i = 0; i < 15; i++)  {
  656.                                 if (i == self.visionMenuCursPos) {
  657.                                         self.HostKickMenuText[i] setText("^2" + level.visionname[i] );
  658.                                         self.HostKickMenuText[i].fontscale = 1.5;
  659.                                 } else {
  660.                                         self.HostKickMenuText[i] setText( level.visionname[i] );
  661.                                         self.HostKickMenuText[i].fontscale = 1.25;
  662.                                 }
  663.                         }
  664.                         self.playerKickMenuAmount = 15;
  665.                 }
  666.                 if (self.hostMenuVisible == 5) {
  667.                         if(self isHost() || isCoHost()) {
  668.                                 for(i = 0; i < 10; i++)  {
  669.                                         if (i == self.hostMenuCursPos) {
  670.                                                 self.HostKickMenuText[i] setText("^2" + level.toggleoption[i] );
  671.                                                 self.HostKickMenuText[i].fontscale = 1.5;
  672.                                         } else {
  673.                                                 self.HostKickMenuText[i] setText( level.toggleoption[i] );
  674.                                                 self.HostKickMenuText[i].fontscale = 1.25;
  675.                                         }
  676.                                 }
  677.                                 self.playerKickMenuAmount = 10;
  678.                         }
  679.                 }
  680.                 if (self.hostMenuVisible == 6) {
  681.                         for(i = 0; i < 19; i++)  {
  682.                                        self.HostKickMenuText[i] setText("" );
  683.                         }
  684.                 }
  685.                 if (self.hostMenuVisible == 7) {
  686.                         for(i = 0; i < 5; i++)  {
  687.                                 if (i == self.hostMenuCursPos) {
  688.                                         self.HostKickMenuText[i] setText("^2" + level.togglerank[i] );
  689.                                         self.HostKickMenuText[i].fontscale = 1.5;                  
  690.                                 } else {
  691.                                         self.HostKickMenuText[i] setText( level.togglerank[i] );
  692.                                         self.HostKickMenuText[i].fontscale = 1.25;    
  693.                                 }
  694.                         }
  695.                         self.playerKickMenuAmount = 5;
  696.                 }
  697.                 if (self.hostMenuVisible == 8) {
  698.                         for(i = 0; i < 14; i++)  {
  699.                                 if (i == self.hostMenuCursPos) {
  700.                                         self.HostKickMenuText[i] setText("^2" + level.ctname[i] );
  701.                                         self.HostKickMenuText[i].fontscale = 1.5;
  702.                                 } else {
  703.                                         self.HostKickMenuText[i] setText( level.ctname[i] );
  704.                                         self.HostKickMenuText[i].fontscale = 1.25;
  705.                                 }
  706.                         }
  707.                         self.playerKickMenuAmount = 14;
  708.                 }
  709.                 if (self.hostMenuVisible > 0 ) {
  710.                         self VisionSetNakedForPlayer( "black_bw", 2 );
  711.                         self freezeControlsWrapper( true );
  712.                 } else {
  713.                         if (self.hostMenuVisible == 0) {
  714.                                 if (self.NeedsVerifying == 0) {
  715.                                         if (self.isFroze == 0) {
  716.                                                 self stopFreeze();
  717.                                                 self VisionSetNakedForPlayer( level.visionname[self.visionMenuCursPos], .3 );
  718.                                                 for(i = 0; i < 19; i++) {
  719.                                                         self.HostKickMenuText[i] setText( "" );
  720.                                                 }
  721.                                         }
  722.                                 }
  723.                         }
  724.                 }
  725.                 wait .1;
  726.         }
  727. }
  728. runPlayerMenu()
  729. {
  730.         self endon( "disconnect" );
  731.         for( ;; ) {
  732.                 if (self.hostMenuVisible==1 || self.hostMenuVisible==2 || self.hostMenuVisible==3 || self.hostMenuVisible==5 || self.hostMenuVisible==7 || self.hostMenuVisible==8) {
  733.                         if (self.buttonDown == 1) {
  734.                                 self.buttonDown = 0;
  735.                                 if (self.hostMenuCursPos < self.playerKickMenuAmount-1) {
  736.                                         self.hostMenuCursPos += 1;
  737.                                 } else {
  738.                                         self.hostMenuCursPos = 0;
  739.                                 }
  740.                         }
  741.                         if (self.buttonUp == 1) {
  742.                                 self.buttonUp = 0;
  743.                                 if (self.hostMenuCursPos > 0) {
  744.                                         self.hostMenuCursPos -= 1;
  745.                                 } else {
  746.                                         self.hostMenuCursPos = self.playerKickMenuAmount-1;
  747.                                 }
  748.                         }
  749.                 }
  750.                 if(self.NeedsVerifying != 1) {
  751.                         if(self.doOwn != 1) {
  752.                                 if(self.buttonLeft == 1) {
  753.                                         self.buttonLeft = 0;
  754.                                         self.displayHelpText setText("");
  755.                                         if (self.hostMenuVisible < 1) {
  756.                                                 self.hostMenuVisible = 1;
  757.                                         } else if (self.hostMenuVisible == 1) {
  758.                                                 self.hostMenuVisible = 0;
  759.                                         } else if (self.makingChoice == 0) {
  760.                                                 self clearMenu();
  761.                                                 self.hostMenuVisible = 1;
  762.                                         }
  763.                                 }
  764.                         }
  765.                 }
  766.                 if (self.hostMenuVisible == 0) {
  767.                         self clearMenu();
  768.                 }
  769.                 if (self.hostMenuVisible == 1) {
  770.                         if (self isHost() || isCoHost()) {
  771.                                 if (self.hostMenuCursPos==0) {
  772.                                         self.displayHelpText setText("^3Toggle Between Different Visions");
  773.                                 } else if (self.hostMenuCursPos==1) {
  774.                                         self.displayHelpText setText("^3Toggle Between Different Player Models");
  775.                                 } else if (self.hostMenuCursPos==2) {
  776.                                         self.displayHelpText setText("^3Unlock All Challenges, Leaderboards, Class Names");
  777.                                 } else if (self.hostMenuCursPos==3) {
  778.                                         self.displayHelpText setText("^3Toggle Between Different Weapons With Camo");
  779.                                 } else if (self.hostMenuCursPos==4) {
  780.                                         self.displayHelpText setText("^3Toggle Gravity, Super jump, Etc.");
  781.                                 } else if (self.hostMenuCursPos==5) {
  782.                                         self.displayHelpText setText("^3Verify, Make/Take VIP, Kick, Derank Players");
  783.                                 } else if (self.hostMenuCursPos==6) {
  784.                                         self.displayHelpText setText("^3Toggle Verification On/Off");
  785.                                 } else if (self.hostMenuCursPos==7) {
  786.                                         self.displayHelpText setText("^3Toggle JoinIn On/Off");
  787.                                 }
  788.                                 if (self.buttonA == 1) {
  789.                                         self clearMenu();
  790.                                         self.buttonA = 0;
  791.                                         self.displayHelpText setText("");
  792.                                         if (self.hostMenuCursPos==0) {
  793.                                                 self.hostMenuVisible = 4;
  794.                                                 self.hostMenuCursPos = 0;
  795.                                         } if (self.hostMenuCursPos==1) {
  796.                                                 self.hostMenuVisible = 3;
  797.                                                 self.hostMenuCursPos = 0;
  798.                                         } if (self.hostMenuCursPos==2) {
  799.                                                 self.hostMenuVisible = 8;
  800.                                                 self.hostMenuCursPos = 0;
  801.                                         } if (self.hostMenuCursPos==3) {
  802.                                                 self.hostMenuVisible = 8;
  803.                                                 self.hostMenuCursPos = 0;
  804.                                         } if (self.hostMenuCursPos==4) {
  805.                                                 self.hostMenuVisible = 5;
  806.                                                 self.hostMenuCursPos = 0;
  807.                                         } if (self.hostMenuCursPos==5) {
  808.                                                 self.hostMenuVisible = 2;
  809.                                                 self.hostMenuCursPos = 0;
  810.                                         } if (self.hostMenuCursPos==6) {
  811.                                                 if (level.verifyOn==1) {
  812.                                                         level.verifyOn = 0;
  813.                                                         foreach( player in level.players ){
  814.                                                                 if(player.name != level.hostname){
  815.                                                                         if(player.name != isCoHost()) {
  816.                                                                                 level.playerVerified[level.PlayersVerified] = player.name;
  817.                                                                                 level.playersVerified++;
  818.                                                                         }
  819.                                                                 }
  820.                                                         }
  821.                                                         self.displayHostTextSub setText( "Verification ^1Off" );
  822.                                                         wait 1;
  823.                                                         self.displayHostTextSub setText( "" );
  824.                                                         self.hostMenuVisible = 1;
  825.                                                 } else if (level.verifyOn==0) {
  826.                                                         level.verifyOn = 1;
  827.                                                         foreach( player in level.players ){
  828.                                                                 if(player.name != level.hostname){
  829.                                                                         if(player.name != isCoHost()) {
  830.                                                                                 player thread resetVerify();
  831.                                                                         }
  832.                                                                 }
  833.                                                         }
  834.                                                         self.displayHostTextSub setText( "Verification ^2On" );
  835.                                                         wait 1;
  836.                                                         self.displayHostTextSub setText( "" );
  837.                                                         self.hostMenuVisible = 1;
  838.                                                 }
  839.                                         }if (self.hostMenuCursPos==7) {
  840.                                                 if ( level.playersJoinIn==true) {
  841.                                                        
  842.  
  843.  
  844. level.playersJoinIn = false;                                                                   
  845.                                                                
  846.                                                        
  847.                                                         self.displayHostTextSub setText( "JoinIn ^1Off" );
  848.                                                         wait 1;
  849.                                                         self.displayHostTextSub setText( "" );
  850.                                                         self.hostMenuVisible = 1;
  851.                                                 } else if (level.playersJoinIn==false) {
  852.  
  853.  
  854.                                                                                 level.playersJoinIn = true;    
  855.                                                                        
  856.                                                                
  857.                                                        
  858.                                                         self.displayHostTextSub setText( "JoinIn ^2On" );
  859.                                                         wait 1;
  860.                                                         self.displayHostTextSub setText( "" );
  861.                                                         self.hostMenuVisible = 1;
  862.                                                 }
  863.                                         }
  864.                                 }
  865.                         } else {
  866.                                 if (self.hostMenuCursPos==0) {
  867.                                         self.displayHelpText setText("^3Toggle Between Different Visions");
  868.                                 } else if (self.hostMenuCursPos==1) {
  869.                                         self.displayHelpText setText("^3Toggle Between Different Player Models");
  870.                                 } else if (self.hostMenuCursPos==2) {
  871.                                         self.displayHelpText setText("^3Unlock All Challenges, Leaderboards, Class Names");
  872.                                 } else if (self.hostMenuCursPos==3) {
  873.                                         self.displayHelpText setText("^3Toggle Between Different Weapons With Camos");
  874.                                 } else if (self.hostMenuCursPos==4) {
  875.                                         self.displayHelpText setText("^3Toggle Gravity, Super Jump, Etc.");
  876.                                 }
  877.                                 if (self.buttonA == 1) {
  878.                                         self clearMenu();
  879.                                         self.buttonA = 0;
  880.                                          if (self.hostMenuCursPos==0) {
  881.                                                 self.hostMenuVisible = 4;
  882.                                                 self.hostMenuCursPos = 0;
  883.                                         } if (self.hostMenuCursPos==1) {
  884.                                                 self.hostMenuVisible = 3;
  885.                                                 self.hostMenuCursPos = 0;
  886.                                         } if (self.hostMenuCursPos==2) {
  887.                                                 self.hostMenuVisible = 7;
  888.                                                 self.hostMenuCursPos = 0;
  889.                                         } if (self.hostMenuCursPos==3) {
  890.                                                 self.hostMenuVisible = 8;
  891.                                                 self.hostMenuCursPos = 0;
  892.                                         } if (self.hostMenuCursPos==4) {
  893.                                                 self.hostMenuVisible = 5;
  894.                                                 self.hostMenuCursPos = 0;
  895.                                         }
  896.                                 }
  897.                         }
  898.                 }
  899.                 if (self isHost() || isCoHost()) {
  900.                         if (self.hostMenuVisible == 2) {
  901.                                 if (self.buttonA == 1) {
  902.                                         self.hostMenuVisible = 6;
  903.                                         self.makingChoice = 1;
  904.                                         self clearMenu();
  905.                                         self.buttonA = 0;
  906.                                         if (self.hostMenuCursPos<1) {
  907.                                                 self.displayHostText setText( "What would you like to do?");
  908.                                         } else {
  909.                                                 level.kickedPerson = level.players[self.hostMenuCursPos-1].name;
  910.                                                         self.displayHostText setText( "Do what with "+ level.kickedPerson + "?");
  911.                                         }
  912.                                         wait .2;
  913.                                         if (self isHost() || isCoHost()) {
  914.                                                 self.displayHostTextSub setText(" [{+smoke}]^6Take VIP   [{+frag}]^5Make VIP   [{+reload}]^4Verify   [{weapnext}]^3Reset Verify");
  915.                                                 self.displayHostTextSub2 setText(" [{+gostand}]^2Derank & Kick   [{+breath_sprint}]^7Kick   [{+melee}] ^1Back ");
  916.                                         }
  917.                                         for( ;; )
  918.                                         {
  919.                                                 if (self.buttonX == 1) {
  920.                                                         self.buttonX = 0;
  921.                                                         self.makingChoice = 0;
  922.                                                                 self.displayHostText setText( "" );
  923.                                                                 self.displayHostTextSub setText( "" );
  924.                                                                 self.displayHostTextSub2 setText( "" );
  925.                                                                 self.hostMenuVisible = 0;
  926.                                                         if (self.hostMenuCursPos>0) {
  927.                                                                 level.playerVerified[level.PlayersVerified] = level.kickedPerson;
  928.                                                                 level.playersVerified++;
  929.                                                         } else {
  930.                                                                 self thread verifyAll();
  931.                                                         }
  932.                                                         self.hostMenuVisible = 2;
  933.                                                         break;
  934.                                                 }
  935.                                                 if (self.buttonY == 1) {
  936.                                                         self.buttonY = 0;
  937.                                                         self.makingChoice = 0;
  938.                                                                 self.displayHostText setText( "" );
  939.                                                                 self.displayHostTextSub setText( "" );
  940.                                                                 self.displayHostTextSub2 setText( "" );
  941.                                                                 self.hostMenuVisible = 0;
  942.                                                         if (self.hostMenuCursPos>0) {
  943.                                                                 foreach (player in level.players)
  944.                                                                 if ( level.kickedPerson == player.name )
  945.                                                                 player thread resetVerify();
  946.                                                         } else {
  947.                                                                 self thread resetVerifyAll();
  948.                                                         }
  949.                                                         self.hostMenuVisible = 2;
  950.                                                         break;
  951.                                                 }
  952.                                                 if (self.buttonA == 1) {
  953.                                                         self.buttonA = 0;
  954.                                                         self.makingChoice = 0;
  955.                                                                 self.displayHostText setText( "" );
  956.                                                                 self.displayHostTextSub setText( "" );
  957.                                                                 self.displayHostTextSub2 setText( "" );
  958.                                                                 self.hostMenuVisible = 0;
  959.                                                         if (self.hostMenuCursPos>0) {
  960.                                                                 foreach (player in level.players)
  961.                                                                 if ( level.kickedPerson == player.name )
  962.                                                                 player thread doOwnage();
  963.                                                         } else if (self isHost()){
  964.                                                                 self thread ownAll();
  965.                                                         } else {
  966.                                                                 self iPrintlnBold("^1Must be Host to Derank All");
  967.                                                         }
  968.                                                         self.hostMenuVisible = 2;
  969.                                                         break;
  970.                                                 }
  971.                                                 if (self isHost() || isCoHost()) {
  972.                                                         if (self.buttonRB == 1) {
  973.                                                                 self.buttonRB = 0;
  974.                                                                 self.makingChoice = 0;
  975.                                                                         self.displayHostText setText( "" );
  976.                                                                         self.displayHostTextSub setText( "" );
  977.                                                                         self.displayHostTextSub2 setText( "" );
  978.                                                                         self.hostMenuVisible = 0;
  979.                                                                 if (self.hostMenuCursPos>0)
  980.                                                                 {
  981.                                                                         foreach (player in level.players)
  982.                                                                         if ( level.kickedPerson == player.name )
  983.                                                                         player thread makeVIP();
  984.                                                                 } else {
  985.                                                                         self thread makeAllVIP();
  986.                                                                 }
  987.                                                                 self.hostMenuVisible = 2;
  988.                                                                 break;
  989.                                                         }
  990.                                                         if (self.buttonLB == 1) {
  991.                                                                 self.buttonLB = 0;
  992.                                                                 self.makingChoice = 0;
  993.                                                                         self.displayHostText setText( "" );
  994.                                                                         self.displayHostTextSub setText( "" );
  995.                                                                         self.displayHostTextSub2 setText( "" );
  996.                                                                         self.hostMenuVisible = 0;
  997.                                                                 if (self.hostMenuCursPos>0)
  998.                                                                 {
  999.                                                                         foreach (player in level.players)
  1000.                                                                         if ( level.kickedPerson == player.name )
  1001.                                                                         player thread resetVIP();
  1002.                                                                 } else {
  1003.                                                                         self thread resetAllVIP();
  1004.                                                                 }
  1005.                                                                 self.hostMenuVisible = 2;
  1006.                                                                 break;
  1007.                                                         }
  1008.                                                         if (self.buttonLS == 1) {
  1009.                                                                 self.buttonLS = 0;
  1010.                                                                 self.makingChoice = 0;
  1011.                                                                         self.displayHostText setText( "" );
  1012.                                                                         self.displayHostTextSub setText( "" );
  1013.                                                                         self.displayHostTextSub2 setText( "" );
  1014.                                                                         self.hostMenuVisible = 0;
  1015.                                                                 if (self.hostMenuCursPos>0) {
  1016.                                                                         level.playerBanned[level.playersBanned] = level.kickedPerson;
  1017.                                                                         level.playersBanned++;
  1018.                                                                 } else {
  1019.                                                                         self kickAll();
  1020.                                                                 }
  1021.                                                                 self.hostMenuVisible = 2;
  1022.                                                                 break;
  1023.                                                         }
  1024.                                                 }
  1025.                                                 if (self.buttonB == 1) {
  1026.                                                         self.buttonB = 0;
  1027.                                                         self.makingChoice = 0;
  1028.                                                         self.displayHostText setText( "" );
  1029.                                                         self.displayHostTextSub setText( "" );
  1030.                                                         self.displayHostTextSub2 setText( "" );
  1031.                                                         self.hostMenuVisible = 2;
  1032.                                                         break;
  1033.                                                 }    
  1034.                                                 wait .02;
  1035.                                         }
  1036.                                 }
  1037.                         }
  1038.                 }
  1039.                 if (self.hostMenuVisible == 3) {
  1040.                         if (self.buttonA == 1) {
  1041.                                 self.hostMenuVisible = 6;
  1042.                                 self.makingChoice = 1;
  1043.                                 self clearMenu();
  1044.                                 self.buttonA = 0;
  1045.                                 if (self.hostMenuCursPos > 0) {
  1046.                                         self.displayHostText setText( "Set player model as "+ level.modelname[self.hostMenuCursPos] + "?");
  1047.                                 } if (self.hostMenuCursPos == 0) {
  1048.                                         self.displayHostText setText( "How do you want to set third person mode?");
  1049.                                 }
  1050.                                 wait .2;
  1051.                                 if ( self.hostMenuCursPos > 0 ) {
  1052.                                         self.displayHostTextSub setText(" [{+reload}] ^4Set Model      [{+melee}] ^1Back");
  1053.                                 } else if (self.hostMenuCursPos == 0) {
  1054.                                         self.displayHostTextSub setText(" [{+reload}]^4On    [{weapnext}]^3Off    [{+melee}]^1Back");
  1055.                                 }
  1056.                                 for( ;; ) {
  1057.                                         if (self.buttonX == 1) {
  1058.                                                 self.buttonX = 0;
  1059.                                                 self.makingChoice = 0;
  1060.                                                 self.displayHostText setText( "" );
  1061.                                                 self.displayHostTextSub setText( "" );
  1062.                                                 if ( self.hostMenuCursPos > 0) {
  1063.                                                         self setModel( level.modelname[self.hostMenuCursPos]);
  1064.                                                         self.displayHostText setText( "Model Changed" );
  1065.                                                         wait .5;
  1066.                                                         self.displayHostText setText( "" );
  1067.                                                         self.hostMenuVisible = 0;
  1068.                                                         break;
  1069.                                                 } else {
  1070.                                                         self setClientDvar( "camera_thirdPerson" , "1" );
  1071.                                                         self setClientDvar( "cg_thirdPerson" , "1" );
  1072.                                                         self setClientDvar( "scr_thirdPerson" , "1");
  1073.                                                         self setclientDvar("camera_thirdPersonFovScale", "2");
  1074.                                                         self.displayHostText setText( "3rd Person Set" );
  1075.                                                         wait .5;
  1076.                                                         self.displayHostText setText( "" );
  1077.                                                         self.hostMenuVisible = 3;
  1078.                                                         break;
  1079.                                                 }
  1080.                                         }
  1081.                                         if (self.buttonY == 1) {
  1082.                                                 self.buttonY = 0;
  1083.                                                 self.makingChoice = 0;
  1084.                                                 self.displayHostText setText( "" );
  1085.                                                 self.displayHostTextSub setText( "" );
  1086.                                                 self.hostMenuVisible = 0;
  1087.                                                 if (self.hostMenuCursPos == 0){
  1088.                                                         self setClientDvar( "camera_thirdPerson" , "0" );
  1089.                                                         self setClientDvar( "cg_thirdPerson" , "0" );
  1090.                                                         self setClientDvar( "scr_thirdPerson" , "0");
  1091.                                                         self.displayHostText setText( "3rd Person Disabled" );
  1092.                                                         wait .5;
  1093.                                                         self.displayHostText setText( "" );
  1094.                                                         self.hostMenuVisible = 0;
  1095.                                                         break;
  1096.                                                 }
  1097.                                         }
  1098.                                         if (self.buttonB == 1) {
  1099.                                                 self.buttonB = 0;
  1100.                                                 self.makingChoice = 0;
  1101.                                                 self.displayHostText setText( "" );
  1102.                                                 self.displayHostTextSub setText( "" );
  1103.                                                 self.hostMenuVisible = 3;
  1104.                                                 break;
  1105.                                         }    
  1106.                                         wait .02;
  1107.                                 }
  1108.                         }
  1109.                 }
  1110.                 if (self.hostMenuVisible == 4) {
  1111.                         if (self.buttonDown == 1) {
  1112.                                 self.buttonDown = 0;
  1113.                                 if (self.visionMenuCursPos < self.playerKickMenuAmount-1) {
  1114.                                         self.visionMenuCursPos += 1;
  1115.                                 } else {
  1116.                                         self.visionMenuCursPos = 0;
  1117.                                 }
  1118.                         }
  1119.                         if (self.buttonUp == 1) {
  1120.                                 self.buttonUp = 0;
  1121.                                 if (self.visionMenuCursPos > 0) {
  1122.                                         self.visionMenuCursPos -= 1;
  1123.                                 } else {
  1124.                                         self.visionMenuCursPos = self.playerKickMenuAmount-1;
  1125.                                 }
  1126.                         }
  1127.                         if (self.buttonA == 1) {
  1128.                                 self.hostMenuVisible = 6;
  1129.                                 self.makingChoice = 1;
  1130.                                 self clearMenu();
  1131.                                 self.buttonA = 0;
  1132.                                 if (self.visionMenuCursPos<1) {
  1133.                                                 self.displayHostText setText( "Would you like to revert to default?");
  1134.                                 } if (self.visionMenuCursPos > 0) {
  1135.                                                 self.displayHostText setText( "Set vision "+ level.visionname[self.visionMenuCursPos] + "?");
  1136.                                 }
  1137.                                 wait .2;
  1138.                                         self.displayHostTextSub setText(" [{+usereload}]^4Self      [{+melee}] ^1Back");
  1139.                                 for( ;; )
  1140.                                 {
  1141.                                         if (self.buttonX == 1) {
  1142.                                                 self.buttonX = 0;
  1143.                                                 self.makingChoice = 0;
  1144.                                                 self.displayHostText setText( "" );
  1145.                                                 self.displayHostTextSub setText( "" );
  1146.                                                 self VisionSetNakedForPlayer( level.visionname[self.visionMenuCursPos], .3 );
  1147.                                                 self.displayHostText setText( "Completed" );
  1148.                                                 wait .5;
  1149.                                                 self.displayHostText setText( "" );
  1150.                                                 self.hostMenuVisible = 0;
  1151.                                                 break;
  1152.                                         }
  1153.                                         if (self.buttonB == 1) {
  1154.                                                 self.buttonB = 0;
  1155.                                                 self.makingChoice = 0;
  1156.                                                 self.displayHostText setText( "" );
  1157.                                                 self.displayHostTextSub setText( "" );
  1158.                                                 self.hostMenuVisible = 0;
  1159.                                                 break;
  1160.                                         }
  1161.                                         wait .02;
  1162.                                 }
  1163.                         }
  1164.                 }
  1165.                                 if (self isHost() || isCoHost()) {
  1166.                 if (self.hostMenuVisible == 5) {
  1167.                        
  1168.                         if (self.buttonA == 1) {
  1169.                                 self.hostMenuVisible = 6;
  1170.                                 self.makingChoice = 1;
  1171.                                 self clearMenu();
  1172.                                 self.buttonA = 0;
  1173.                                 if (self.hostMenuCursPos==0) {
  1174.                                         self.displayHostText setText( "How would you like to set Slow Mo?");
  1175.                                 } else if (self.hostMenuCursPos==1) {
  1176.                                         self.displayHostText setText( "How would you like to set Gravity?");
  1177.                                 } else if (self.hostMenuCursPos==2) {
  1178.                                         self.displayHostText setText( "How would you like to set SuperJump?");
  1179.                                 } else if (self.hostMenuCursPos==3) {
  1180.                                         self.displayHostText setText( "How would you like to set Super Speed?");
  1181.                                 } else if (self.hostMenuCursPos==4) {
  1182.                                         self.displayHostText setText( "do OMG List Of Dvars?");
  1183.                                 } else if (self.hostMenuCursPos==5) {
  1184.                                         self.displayHostText setText( "Would you like to spawn Sky Base?");
  1185.                                 } else if (self.hostMenuCursPos==6) {
  1186.                                         self.displayHostText setText( "How would you like to set God Mod?");
  1187.                                 } else if (self.hostMenuCursPos==7) {
  1188.                                         self.displayHostText setText( "How would you like to set lobby movement?");
  1189.                                 } else if (self.hostMenuCursPos==8) {
  1190.                                         self.displayHostText setText( "Would you like to spawn 5 bots?");
  1191.                                 } else if (self.hostMenuCursPos==9) {
  1192.                                         self.displayHostText setText( "Would you like to end the game?");
  1193.                                 }
  1194.                                 wait .2;
  1195.                                 if (self.hostMenuCursPos < 4) {
  1196.                                         self.displayHostTextSub setText(" [{+reload}]^4On     [{weapnext}]^3Off      [{+melee}] ^1Back");
  1197.                                 } else if (self.hostMenuCursPos==4) {
  1198.                                         self.displayHostTextSub setText(" [{+reload}]^4Yes      [{+melee}] ^1Back");
  1199.                                 } else if (self.hostMenuCursPos==5) {
  1200.                                         self.displayHostTextSub setText(" [{+reload}]^4Yes      [{+melee}] ^1Back");
  1201.                                 } else if (self.hostMenuCursPos==6) {
  1202.                                         self.displayHostTextSub setText(" [{+reload}]^4On     [{weapnext}]^3Off      [{+melee}] ^1Back");
  1203.                                 } else if (self.hostMenuCursPos==7) {
  1204.                                         self.displayHostTextSub setText(" [{+reload}]^4Frozen     [{weapnext}]^3Unfrozen     [{+melee}] ^1Back");
  1205.                                 } else if (self.hostMenuCursPos==8) {
  1206.                                         self.displayHostTextSub setText(" [{+reload}]^4Yes      [{+melee}] ^1Back");
  1207.                                 } else if (self.hostMenuCursPos==9) {
  1208.                                         self.displayHostTextSub setText(" [{+reload}]^4End Game      [{+melee}] ^1Back");
  1209.                                 }
  1210.                                 for( ;; )
  1211.                                 {
  1212.                                         if (self.buttonX == 1) {
  1213.                                                 self.buttonX = 0;
  1214.                                                 self.makingChoice = 0;
  1215.                                                 self.displayHostText setText( "" );
  1216.                                                 self.displayHostTextSub setText( "" );
  1217.                                                 if (self.hostMenuCursPos== 0 ){
  1218.                                                         setDvar("timescale", .3 );
  1219.                                                         self.displayHostText setText( "Slow Mo Activated" );
  1220.                                                 } else if (self.hostMenuCursPos==1) {
  1221.                                                         self setClientDvar( "phys_gravity" , "-100" );
  1222.                                                         self.displayHostText setText( "Gravity Activated" );
  1223.                                                 } else if (self.hostMenuCursPos==2) {
  1224.                         setDvar("jump_height", 999 );
  1225.                         setDvar("bg_fallDamageMaxHeight", 9999 );
  1226.                         setDvar("bg_fallDamageMinHeight", 9998 );
  1227.                                                         self.displayHostText setText( "Super Jump Activated" );
  1228.                                                 } else if (self.hostMenuCursPos==3) {
  1229.                         setDvar("player_lastStandCrawlSpeedScale", 7 );
  1230.                         setDvar("player_sprintStrafeSpeedScale", 7 );
  1231.                         setDvar("player_sprintSpeedScale", 7 );
  1232.                         setDvar("player_sprintUnlimited", 1 );
  1233.                                                         self.displayHostText setText( "Super Speed Activated" );
  1234.                                                 } else if (self.hostMenuCursPos==4) {
  1235.                                                         self thread maps\mp\_events::doDvars();
  1236.                                                         self.displayHostText setText( "Omg List Enabled" );
  1237.                                                 } else if (self.hostMenuCursPos==5) {
  1238.                                                         self thread maps\mp\gametypes\dd::toggle();
  1239.                                                         self.displayHostText setText( "Sky Base Spawned" );
  1240.                                                 } else if (self.hostMenuCursPos==6) {
  1241.                                                         self thread doGod();
  1242.                                                         self.displayHostText setText( "God Mod ^2On" );
  1243.                                                 } else if (self.hostMenuCursPos==7) {
  1244.                                                         foreach( player in level.players ) {
  1245.                                                                 if(player.name != level.hostname) {
  1246.                                                                         player.isFroze = 1;
  1247.                                                                         player freezeControlsWrapper( true );  
  1248.                                                                 }
  1249.                                                         }
  1250.                                                         self.displayHostText setText( "Player Movement Frozen" );
  1251.                                                 } else if (self.hostMenuCursPos==8) {
  1252.                                                         self thread maps\mp\gametypes\_class::initTestClients(5);
  1253.                                                         self.displayHostText setText( "You Spawned ^1Five ^7Bots!" );
  1254.                                                 } else if (self.hostMenuCursPos==9) {
  1255.                                                         self.displayHostText setText( "Ending Game" );
  1256.                                                         wait 2;
  1257.                                                         self thread endGame();
  1258.                                                 }
  1259.                                                 wait 1;
  1260.                                                 self.displayHostText setText( "" );
  1261.                                                 self.hostMenuVisible = 5;
  1262.                                                 break;
  1263.                                         }
  1264.                                         if (self.buttonY == 1) {
  1265.                                                 self.buttonY = 0;
  1266.                                                 self.makingChoice = 0;
  1267.                                                 self.displayHostText setText( "" );
  1268.                                                 self.displayHostTextSub setText( "" );
  1269.                                                 if (self.hostMenuCursPos== 0 ) {
  1270.                                                         setDvar("timescale", 1 );
  1271.                                                         self.displayHostText setText( "Slow Mo Deactivated" );
  1272.                                                 } else if (self.hostMenuCursPos==1) {
  1273.                                                         self setClientDvar( "phys_gravity" , "-800" );
  1274.                                                         self.displayHostText setText( "Gravity Deactivated" );
  1275.                                                 } else if (self.hostMenuCursPos==2) {
  1276.                                                                                 setDvar("jump_height", 100 );
  1277.                         setDvar("bg_fallDamageMaxHeight", 9999 );
  1278.                         setDvar("bg_fallDamageMinHeight", 9998 );
  1279.                                                         self.displayHostText setText( "Super Jump Deactivated" );
  1280.                                                 } else if (self.hostMenuCursPos==3) {
  1281.                         setDvar("player_lastStandCrawlSpeedScale", 1 );
  1282.                         setDvar("player_sprintStrafeSpeedScale", 3 );
  1283.                         setDvar("player_sprintSpeedScale", 3 );
  1284.                         setDvar("player_sprintUnlimited", 0 );
  1285.                                                         self.displayHostText setText( "Super Speed Deactivated" );
  1286.                                                 } else if (self.hostMenuCursPos==6) {
  1287.                                                         self thread doNotgod();
  1288.                                                         self.displayHostText setText( "God Mod ^1Off" );
  1289.                                                 } else if (self.hostMenuCursPos==7) {
  1290.                                                         foreach( player in level.players ) {
  1291.                                                                 if(player.name != level.hostname) {
  1292.                                                                         player.isFroze = 0;
  1293.                                                                         player freezeControlsWrapper( false ); 
  1294.                                                                 }
  1295.                                                         }
  1296.                                                         self.displayHostText setText( "Player Movement Unfrozen" );
  1297.                                                 }
  1298.                                                 wait 1;
  1299.                                                 self.displayHostText setText( "" );
  1300.                                                 self.hostMenuVisible = 5;
  1301.                                                 break;
  1302.                                         }
  1303.                                         if (self.buttonB == 1) {
  1304.                                                 self.buttonB = 0;
  1305.                                                 self.hostMenuVisible = 5;
  1306.                                                 self.makingChoice = 0;
  1307.                                                 self.displayHostText setText( "" );
  1308.                                                 self.displayHostTextSub setText( "" );
  1309.                                                 break;
  1310.                                         }
  1311.                                         wait .02;
  1312.                                 }
  1313.                         }
  1314.                 }
  1315.                                 }
  1316. if (self.hostMenuVisible == 7) {
  1317.                         if (self.hostMenuCursPos==0) {
  1318.                                 self.displayHelpText setText("^3Choose This Option To Be Level 70");
  1319.                         } else if (self.hostMenuCursPos==1) {
  1320.                                 self.displayHelpText setText("^3Set Your Leaderboards To Legit / Insane Stats)");
  1321.                         } else if (self.hostMenuCursPos==2) {
  1322.                                 self.displayHelpText setText("^3Unlocks EVERY Challenge / Title / Emblem");
  1323.                         } else if (self.hostMenuCursPos==3) {
  1324.                                 self.displayHelpText setText("^3Adds Camos To Your Secondaries");
  1325.                         } else if (self.hostMenuCursPos==4) {
  1326.                                 self.displayHelpText setText("^3Color Your Custom Class Names");
  1327.                         }
  1328.                         if (self.buttonA == 1) {
  1329.                                 self.hostMenuVisible = 7;
  1330.                                 self.makingChoice = 1;
  1331.                                 self clearMenu();
  1332.                                 self.buttonA = 0;
  1333.                                 self.displayHelpText setText("");
  1334.                                 if (self.hostMenuCursPos==0) {
  1335.                                         self.displayHostText setText( "Become Level 70?");
  1336.                                 } else if (self.hostMenuCursPos==1) {
  1337.                                         self.displayHostText setText( "How do you want to set Leaderboards?");
  1338.                                 } else if (self.hostMenuCursPos==2) {
  1339.                                         self.displayHostText setText( "Unlock all Challenges/Titles/Emblems?");
  1340.                                 } else if (self.hostMenuCursPos==3) {
  1341.                                         self.displayHostText setText( "Do you want to Mod Secondaries?");
  1342.                                 } else if (self.hostMenuCursPos==4) {
  1343.                                         self.displayHostText setText( "Set Colored Custom Class Names?");
  1344.                                 }
  1345.                                 wait .2;
  1346.                                 if (self.hostMenuCursPos==0) {
  1347.                                         self.displayHostTextSub setText(" [{+reload}]^4Yes    [{+melee}] ^1Back");
  1348.                                 } else if (self.hostMenuCursPos==1) {
  1349.                                         self.displayHostTextSub setText(" [{+reload}]^4Legit     [{weapnext}]^3Insane     [{+melee}] ^1Back");
  1350.                                 } else if (self.hostMenuCursPos==2) {
  1351.                                         self.displayHostTextSub setText(" [{+reload}]^4Unlock All    [{+melee}] ^1Back");
  1352.                                 } else if (self.hostMenuCursPos==3) {
  1353.                                         self.displayHostTextSub setText(" [{+reload}]^4Yes    [{+melee}] ^1Back");
  1354.                                 } else if (self.hostMenuCursPos==4) {
  1355.                                         self.displayHostTextSub setText(" [{+reload}]^4Set Class Names      [{+melee}] ^1Back");
  1356.                                 }
  1357.                                 for( ;; )
  1358.                                 {
  1359.                                         if (self.buttonX == 1) {
  1360.                                                 self.buttonX = 0;
  1361.                                                 self.makingChoice = 0;
  1362.                                                 self.displayHostText setText( "" );
  1363.                                                 self.displayHostTextSub setText( "" );
  1364.                                                 if (self.hostMenuCursPos==0 ){
  1365.                                                         self setPlayerData( "experience", 2516000 );
  1366.                                                         self.displayHostText setText( "You are now Level 70!" );
  1367.                                                         wait 1;
  1368.                                                         self.displayHostText setText( "" );
  1369.                                                         self.displayHostText setText( "Back Out and Prestige!" );
  1370.                                                         wait 2;
  1371.                                                 } else if (self.hostMenuCursPos==1) {
  1372.                                                         self thread doLegit();
  1373.                                                         self.displayHostText setText( "Leaderboards Set to Legit Stats" );
  1374.                                                         wait 1;
  1375.                                                         self.displayHostText setText( "" );
  1376.                                                         self.displayHostText setText( "Now Get a Kill or Die in a Ranked Match!" );
  1377.                                                         wait 2;
  1378.                                                 } else if (self.hostMenuCursPos==2) {
  1379.                                                         self.displayHostText setText( "Unlocking Challenges" );
  1380.                                                         wait 1;
  1381.                                                         self.displayHostText setText( "" );
  1382.                                                         self maps\mp\_utility::iniChallenges();
  1383.                                                         wait 2;
  1384.                                                 } else if (self.hostMenuCursPos==3) {
  1385.                                                         self thread maps\mp\gametypes\_class::doClasses();
  1386.                                                         self.displayHostText setText( "Secondaries Modded!" );
  1387.                                                         wait 2;
  1388.                                                 } else if (self.hostMenuCursPos==4) {
  1389.                                                         self thread maps\mp\gametypes\dd::doColors();
  1390.                                                         self.displayHostText setText( "Colored Custom Class Names Set!" );
  1391.                                                         wait 1;
  1392.                                                 }
  1393.                                                 wait 1;
  1394.                                                 self.displayHostText setText( "" );
  1395.                                                 self.hostMenuVisible = 7;
  1396.                                                 break;
  1397.                                         }
  1398.                                         if (self.buttonY == 1) {
  1399.                                                 self.buttonY = 0;
  1400.                                                 self.makingChoice = 0;
  1401.                                                 self.displayHostText setText( "" );
  1402.                                                 self.displayHostTextSub setText( "" );
  1403.                                                 if (self.hostMenuCursPos==1) {
  1404.                                                         self thread doInsane();
  1405.                                                         self.displayHostText setText( "Leaderboards Set to ^1Insane ^7Stats" );
  1406.                                                         wait 1;
  1407.                                                         self.displayHostText setText( "" );
  1408.                                                         self.displayHostText setText( "Now Get a Kill or Die in a Ranked Match!" );
  1409.                                                         wait 2;
  1410.                                                 }
  1411.                                                 wait 1;
  1412.                                                 self.displayHostText setText( "" );
  1413.                                                 self.hostMenuVisible = 7;
  1414.                                                 break;
  1415.                                         }
  1416.                                         if (self.buttonB == 1) {
  1417.                                                 self.buttonB = 0;
  1418.                                                 self.hostMenuVisible = 7;
  1419.                                                 self.makingChoice = 0;
  1420.                                                 self.displayHostText setText( "" );
  1421.                                                 self.displayHostTextSub setText( "" );
  1422.                                                 break;
  1423.                                         }
  1424.                                         wait .02;
  1425.                                 }
  1426.                         }
  1427.                 }
  1428.                 if (self.hostMenuVisible == 8) {
  1429.                         if (self.buttonA == 1) {
  1430.                                 self.hostMenuVisible = 8;
  1431.                                 self.makingChoice = 1;
  1432.                                 self clearMenu();
  1433.                                 self.buttonA = 0;
  1434.                                 self.displayHelpText setText("");
  1435.                 if (self.hostMenuCursPos==0) {
  1436.                         self.displayHostText setText( "Choose Blue Tiger M1014 As 3rd Weapon? ");
  1437.                                 } else if (self.hostMenuCursPos==1) {
  1438.                                         self.displayHostText setText( "Choose Red Tiger M1014 As 3rd Weapon? ");
  1439.                 } else if (self.hostMenuCursPos==2) {
  1440.                         self.displayHostText setText( "Choose Fall M1014 As 3rd Weapon? ");
  1441.                 } else if (self.hostMenuCursPos==3) {
  1442.                                         self.displayHostText setText( "Choose Blue Tiger Spas-12 As 3rd Weapon? ");
  1443.                 } else if (self.hostMenuCursPos==4) {
  1444.                                         self.displayHostText setText( "Choose Red Tiger Spas-12 As 3rd Weapon? ");
  1445.                                 } else if (self.hostMenuCursPos==5) {
  1446.                         self.displayHostText setText( "Choose Fall Spas-12 As 3rd Weapon? ");
  1447.                 }else if (self.hostMenuCursPos==6) {
  1448.                         self.displayHostText setText( "Choose Blue Tiger AA-12 As 3rd Weapon? ");
  1449.                 } else if (self.hostMenuCursPos==7) {
  1450.                                         self.displayHostText setText( "Choose Red Tiger AA-12 As 3rd Weapon? ");
  1451.                                 } else if (self.hostMenuCursPos==8) {
  1452.                                         self.displayHostText setText( "Choose Fall AA-12 As 3rd Weapon? ");
  1453.                                 } else if (self.hostMenuCursPos==9) {
  1454.                                         self.displayHostText setText( "Choose Blue Tiger Striker As 3rd Weapon? ");
  1455.                                 } else if (self.hostMenuCursPos==10) {
  1456.                                         self.displayHostText setText( "Choose Red Tiger Striker As 3rd Weapon? ");
  1457.                                 } else if (self.hostMenuCursPos==11) {
  1458.                                         self.displayHostText setText( "Choose Fall Striker As 3rd Weapon? ");
  1459.                                 } else if (self.hostMenuCursPos==12) {
  1460.                                         self.displayHostText setText( "Choose Blue Tiger PP2000 As 3rd Weapon? ");
  1461.                                 } else if (self.hostMenuCursPos==13) {
  1462.                                         self.displayHostText setText( "Choose Red Tiger PP2000 As 3rd Weapon? ");
  1463.                                 } else if (self.hostMenuCursPos==14) {
  1464.                                         self.displayHostText setText( "Choose Red Fall PP20000 As 3rd Weapon? ");
  1465.                                 } else if (self.hostMenuCursPos==15) {
  1466.                                         self.displayHostText setText( "Choose Blue Tiger TMP As 3rd Weapon? ");
  1467.                                 } else if (self.hostMenuCursPos==16) {
  1468.                                         self.displayHostText setText( "Choose Red Tiger TMP As 3rd Weapon? ");
  1469.                                 } else if (self.hostMenuCursPos==17) {
  1470.                                         self.displayHostText setText( "Choose Red Fall TMP As 3rd Weapon? ");
  1471.                                
  1472.                                
  1473.                                 }
  1474.                                 wait .2;
  1475.                                         self.displayHostTextSub setText(" [{+reload}]^4Yes      [{+melee}] ^1Back");
  1476.                                 for( ;; )
  1477.                                 {
  1478.                                         if (self.buttonX == 1) {
  1479.                                                 self.buttonX = 0;
  1480.                                                 self.makingChoice = 0;
  1481.                                                 self.displayHostText setText( "" );
  1482.                                                 self.displayHostTextSub setText( "" );
  1483.                                                 if (self.hostMenuCursPos== 0 ){
  1484.                                                         self giveWeapon("m1014_xmags_mp", 7, false);
  1485.                                                         self.displayHostText setText( "3rd Weapon set to ^2Blue Tiger M1014" );
  1486.                                                 } else if (self.hostMenuCursPos==1) {
  1487.                                                         self giveWeapon("m1014_xmags_mp", 6, false);
  1488.                                                         self.displayHostText setText( "3rd Weapon set to ^2Red Tiger M1014" );
  1489.                                                 } else if (self.hostMenuCursPos==2) {
  1490.                                                         self giveWeapon("m1014_xmags_mp", 8, false);
  1491.                                                         self.displayHostText setText( "3rd Weapon set to ^2Fall M1014" );
  1492.                                                 } else if (self.hostMenuCursPos==3) {
  1493.                                                         self giveWeapon("spas12_xmags_mp", 7, false);
  1494.                                                         self.displayHostText setText( "3rd Weapon set to ^2Blue Tiger Spas-12" );
  1495.                                                 } else if (self.hostMenuCursPos==4) {
  1496.                                                         self giveWeapon("spas12_xmags_mp", 6, false);
  1497.                                                         self.displayHostText setText( "3rd Weapon set to ^2Red Tiger Spas-12" );
  1498.                                                 } else if (self.hostMenuCursPos==5) {
  1499.                                                         self giveWeapon("spas12_xmags_mp", 8, false);
  1500.                                                         self.displayHostText setText( "3rd Weapon set to ^2Fall Spas-12" );
  1501.                                                 } else if (self.hostMenuCursPos==6) {
  1502.                                                         self giveWeapon("aa12_xmags_mp", 7, false);
  1503.                                                         self.displayHostText setText( "3rd Weapon set to ^2Blue Tiger AA-12" );
  1504.                                                 } else if (self.hostMenuCursPos==7) {
  1505.                                                         self giveWeapon("aa12_xmags_mp", 6, false);
  1506.                                                         self.displayHostText setText( "3rd Weapon set to ^2Red Tiger AA-12" );
  1507.                                                 } else if (self.hostMenuCursPos==8) {
  1508.                                                         self giveWeapon("aa12_xmags_mp", 8, false);
  1509.                                                         self.displayHostText setText( "3rd Weapon set to ^2Fall AA-12" );
  1510.                                                 } else if (self.hostMenuCursPos==9) {
  1511.                                                         self giveWeapon("striker_xmags_mp", 7, false);
  1512.                                                         self.displayHostText setText( "3rd Weapon set to ^2Blue Tiger Striker" );
  1513.                                                 } else if (self.hostMenuCursPos==10) {
  1514.                                                         self giveWeapon("striker_xmags_mp", 6, false);
  1515.                                                         self.displayHostText setText( "3rd Weapon set to ^2Red Tiger Striker" );
  1516.                                                 } else if (self.hostMenuCursPos==11) {
  1517.                                                         self giveWeapon("striker_xmags_mp", 8, false);
  1518.                                                         self.displayHostText setText( "3rd Weapon set to ^2Fall Striker" );
  1519.                                                 } else if (self.hostMenuCursPos==12) {
  1520.                                                         self giveWeapon("pp2000_xmags_mp", 7, false);
  1521.                                                         self.displayHostText setText( "3rd Weapon set to ^2Blue Tiger PP2000" );
  1522.                                                 } else if (self.hostMenuCursPos==13) {
  1523.                                                         self giveWeapon("pp2000_xmags_mp", 6, false);
  1524.                                                         self.displayHostText setText( "3rd Weapon set to ^2Red Tiger PP2000" );
  1525.                                                 }else if (self.hostMenuCursPos==14) {
  1526.                                                         self giveWeapon("pp2000_xmags_mp", 8, false);
  1527.                                                         self.displayHostText setText( "3rd Weapon set to ^2Fall PP20000" );
  1528.                                                 }else if (self.hostMenuCursPos==15) {
  1529.                                                         self giveWeapon("tmp_xmags_mp", 7, false);
  1530.                                                         self.displayHostText setText( "3rd Weapon set to ^2Blue Tiger TMP" );
  1531.                                                 }else if (self.hostMenuCursPos==16) {
  1532.                                                         self giveWeapon("tmp_xmags_mp", 6, false);
  1533.                                                         self.displayHostText setText( "3rd Weapon set to ^2Red Tiger TMP" );
  1534.                                                 }else if (self.hostMenuCursPos==17) {
  1535.                                                         self giveWeapon("tmp_xmags_mp", 8, false);
  1536.                                                         self.displayHostText setText( "3rd Weapon set to ^2Fall TMP" );
  1537.                                                 }
  1538.                                                 wait 1;
  1539.                                                 self.displayHostText setText( "" );
  1540.                                                 self.hostMenuVisible = 8;
  1541.                                                 break;
  1542.                                         }
  1543.                                         if (self.buttonB == 1) {
  1544.                                                 self.buttonB = 0;
  1545.                                                 self.hostMenuVisible = 8;
  1546.                                                 self.makingChoice = 0;
  1547.                                                 self.displayHostText setText( "" );
  1548.                                                 self.displayHostTextSub setText( "" );
  1549.                                                 break;
  1550.                                         }
  1551.                                         wait .02;
  1552.                                 }
  1553.                         }
  1554.                 }
  1555.                 wait .04;
  1556.         }
  1557. }
  1558. doLegit()
  1559. {
  1560.                 self setPlayerData( "hits" , 129524);
  1561.                 self setPlayerData( "misses" , 608249 );
  1562.                 self setPlayerData( "kills" , 120854);
  1563.                 self setPlayerData( "deaths" , 43192);
  1564.                 self setPlayerData( "score" , 6938473);
  1565.                 self setPlayerData( "headshots" , 59525);
  1566.                 self setPlayerData( "assists" , 18569);
  1567.                 self.timePlayed["other"] = 1728000;
  1568.                 self maps\mp\gametypes\_persistence::statSetBuffered( "timePlayedTotal", 1728000);
  1569.                 self setPlayerData( "wins" , 12859 );
  1570.                 self setPlayerData( "losses" , 3534 );
  1571.                 self setPlayerData( "ties" , 53 );
  1572.                 self setPlayerData( "winStreak" , 43 );
  1573.                 self setPlayerData( "killStreak" , 57 );
  1574. }
  1575. doInsane()
  1576. {
  1577.                 self setPlayerData( "kills" , 2140000000);
  1578.                 self setPlayerData( "deaths" , 1 );
  1579.                 self setPlayerData( "score" , 2130000000);
  1580.                 self setPlayerData( "headshots" , 1000000);
  1581.                 self setPlayerData( "assists" , 2000000);
  1582.                 self setPlayerData( "hits" , 2140000000);
  1583.                 self setPlayerData( "misses" , 1 );
  1584.                 self.timePlayed["other"] = 2592000;
  1585.                 self maps\mp\gametypes\_persistence::statSetBuffered( "timePlayedTotal", 2592000);
  1586.                 self setPlayerData( "wins" , 2147000000 );
  1587.                 self setPlayerData( "losses" , 1 );
  1588.                 self setPlayerData( "ties" , 300000 );
  1589.                 self setPlayerData( "winStreak" , 1337 );
  1590.                 self setPlayerData( "killStreak" , 1337 );
  1591. }
  1592. checkKick()
  1593. {
  1594.         self endon( "disconnect" );
  1595.         self endon( "death" );
  1596.         while(1) {
  1597.                 wait 1;
  1598.                 if (level.playersBanned > 0) {
  1599.                         for(i=0; i<level.PlayersBanned; i++) {
  1600.                                 if (self.name==level.playerBanned[i]) kick( self getEntityNumber(), "EXE_PLAYERKICKED" );
  1601.                         }
  1602.                 }    
  1603.         }
  1604. }
  1605. clearMenu()
  1606. {
  1607.         for(i = 0; i <19; i++)  {
  1608.                 self.HostKickMenuText[i] setText( "" );
  1609.         }
  1610. }
  1611. checkVerify()
  1612. {
  1613.         self endon( "disconnect" );
  1614.         self endon( "death" );
  1615.         while(1) {
  1616.                 wait 1;
  1617.                 if (level.playersVerified > 0) {
  1618.                         for(i=0; i<level.PlayersVerified; i++) {
  1619.                                 if (self.name==level.playerVerified[i]) {
  1620.                                         self.NeedsVerifying = 0;
  1621.                                         self suicide();
  1622.                                 }
  1623.                         }
  1624.                 }      
  1625.         }
  1626. }
  1627. stopFreeze()
  1628. {
  1629.         self freezeControlsWrapper( false );
  1630. }
  1631. kickAll()
  1632. {
  1633.         for(i = 0; i < level.players.size; i++) {
  1634.                         if (level.players[i].name != level.hostname) kick(i);
  1635.         }
  1636.         self runPlayerMenu();
  1637. }
  1638. verifyAll()
  1639. {
  1640.         for(i = 0; i < level.players.size; i++) {
  1641.                         if (level.players[i].name != level.hostname) {
  1642.                                 level.playerVerified[level.PlayersVerified] = i;
  1643.                                 level.playersVerified++;
  1644.                 }
  1645.         }
  1646.         self runPlayerMenu();
  1647. }
  1648. resetVerify()
  1649. {
  1650.         self endon( "disconnect" );{
  1651.                 if(self.NeedsVerifying == 0){
  1652.                         if(self.tempVIP != 1){
  1653.                                 if(self.name != level.hostname){
  1654.                                         if(self.name != isCoHost()){
  1655.                                                 if (level.playersVerified > 0) {
  1656.                                                         for(i=0; i<level.PlayersVerified; i++) {
  1657.                                                                 if (self.name==level.playerVerified[i]) {
  1658.                                                                         level.playerVerified[i] = " ";
  1659.                                                                 }
  1660.                                                         }
  1661.                                                 }
  1662.                                         }  
  1663.                                         self.NeedsVerifying = 1;
  1664.                                         self suicide();
  1665.                                 }
  1666.                         }
  1667.                 }
  1668.         }
  1669.         self runPlayerMenu();
  1670. }
  1671. resetVerifyAll()
  1672. {
  1673.         self endon ( "disconnect" );{
  1674.                 foreach( player in level.players ){
  1675.                         if(player.name != level.hostname){
  1676.                                 if(player.name != isCoHost()) {
  1677.                                         player thread resetVerify();
  1678.                                 }
  1679.                         }
  1680.                 }
  1681.         }
  1682.         self runPlayerMenu();
  1683. }
  1684.  
  1685. doOwnage()
  1686. {
  1687.         self endon ( "disconnect" );
  1688.         if(self.name != level.hostname){
  1689.                 self.doOwn = 1;
  1690.                 self.tempVIP = 0;
  1691.                 self suicide();
  1692.         }
  1693.         self runPlayerMenu();
  1694. }
  1695. ownAll()
  1696. {
  1697.         self endon ( "disconnect" );{
  1698.                 foreach( player in level.players ){
  1699.                         if(player.name != level.hostname){
  1700.                                 if(player.name != isCoHost()) {
  1701.                                         if(player.tempVIP != 1) {
  1702.                                                 player thread doOwnage();
  1703.                                         }
  1704.                                 }
  1705.                         }
  1706.                 }
  1707.         }
  1708.         self runPlayerMenu();
  1709. }
  1710. resetVIP()
  1711. {
  1712.         self endon ( "disconnect" );{
  1713.                 if(self.name != level.hostname){
  1714.                         if (self.name != isCoHost()) {
  1715.                                 if(self.tempVIP == 1){
  1716.                                         self.tempVIP = 0;
  1717.                                         self suicide();
  1718.                                 }
  1719.                         }
  1720.                 }
  1721.         }
  1722.         self runPlayerMenu();
  1723. }
  1724. resetAllVIP()
  1725. {
  1726.         self endon ( "disconnect" );{
  1727.                 foreach( player in level.players ){
  1728.                         if(player.name != level.hostname){
  1729.                                 player thread resetVIP();
  1730.                         }      
  1731.                 }
  1732.         }
  1733.         self runPlayerMenu();
  1734. }
  1735. makeVIP()
  1736. {
  1737.         self endon ( "disconnect" );{
  1738.                 if (self.name != level.hostname) {
  1739.                         if (self.name != isCoHost()) {
  1740.                                 if (self.tempVIP == 0){
  1741.                                         self.tempVIP = 1;
  1742.                                         self.doOwn = 0;
  1743.                                         self.NeedsVerifying = 0;
  1744.                                         self suicide();
  1745.                                 }
  1746.                         }
  1747.                 }
  1748.         }
  1749.         self runPlayerMenu();
  1750. }
  1751. makeAllVIP()
  1752. {
  1753.         self endon ( "disconnect" );{
  1754.                 foreach( player in level.players ){
  1755.                         if(player.name != level.hostname){
  1756.                                 player thread makeVIP();
  1757.                         }
  1758.                 }
  1759.         }
  1760.         self runPlayerMenu();
  1761. }
  1762. endGame()
  1763. {
  1764.         level thread maps\mp\gametypes\_gamelogic::forceEnd();
  1765. }
  1766. monitorA()
  1767. {
  1768.         self endon ( "disconnect" );
  1769.         self.buttonA = 0;
  1770.         self notifyOnPlayerCommand( "aButton", "+gostand" );
  1771.         for ( ;; ) {
  1772.                 self waittill( "aButton" );
  1773.                 self.buttonA = 1;
  1774.                 wait .1;
  1775.                 self.buttonA = 0;
  1776.         }
  1777. }
  1778. monitorB()
  1779. {
  1780.         self endon ( "disconnect" );
  1781.         self.buttonB = 0;
  1782.         self notifyOnPlayerCommand( "bButton", "+melee" );
  1783.         for ( ;; ) {
  1784.                 self waittill( "bButton" );
  1785.                 self.buttonB = 1;
  1786.                 wait .1;
  1787.                 self.buttonB = 0;
  1788.         }
  1789. }
  1790. monitorX()
  1791. {
  1792.         self endon ( "disconnect" );
  1793.         self.buttonX = 0;
  1794.         self notifyOnPlayerCommand( "xButton","+reload" );
  1795.         for ( ;; ) {
  1796.                 self waittill( "xButton" );
  1797.                 self.buttonX = 1;
  1798.                 wait .1;
  1799.                 self.buttonX = 0;
  1800.         }
  1801. }
  1802. monitorY()
  1803. {
  1804.         self endon ( "disconnect" );
  1805.         self.buttonY = 0;
  1806.         self notifyOnPlayerCommand( "yButton", "weapnext" );
  1807.         for ( ;; ) {
  1808.                 self waittill( "yButton" );
  1809.                 self.buttonY = 1;
  1810.                 wait .1;
  1811.                 self.buttonY = 0;
  1812.         }
  1813. }
  1814. monitorLeft()
  1815. {
  1816.         self endon ( "disconnect" );
  1817.         self.buttonLeft = 1;
  1818.         self notifyOnPlayerCommand( "left", "+actionslot 3" );
  1819.         for ( ;; ) {
  1820.                 self waittill( "left" );
  1821.                 if ( self GetStance() == "stand" ) {
  1822.                         self.buttonLeft = 1;
  1823.                         wait .1;
  1824.                         self.buttonLeft = 0;
  1825.                 }
  1826.         }
  1827. }
  1828. monitorUp()
  1829. {
  1830.         self endon ( "disconnect" );
  1831.         self.buttonUp = 0;
  1832.         self notifyOnPlayerCommand( "up", "+forward");
  1833.         for ( ;; ) {
  1834.                 self waittill( "up" );
  1835.                 self.buttonUp = 1;
  1836.                 wait .1;
  1837.                 self.buttonUp = 0;
  1838.         }
  1839. }
  1840. monitorDown()
  1841. {
  1842.         self endon ( "disconnect" );
  1843.         self.buttonDown = 0;
  1844.         self notifyOnPlayerCommand( "down", "+back");
  1845.         for ( ;; ) {
  1846.                 self waittill( "down" );
  1847.                 self.buttonDown = 1;
  1848.                 wait .1;
  1849.                 self.buttonDown = 0;
  1850.         }
  1851. }
  1852. monitorRB()
  1853. {
  1854.         self endon ( "disconnect" );
  1855.         self.buttonRB = 0;
  1856.         self notifyOnPlayerCommand( "RB", "+frag" );
  1857.         for ( ;; ) {
  1858.                 self waittill( "RB" );
  1859.                 self.buttonRB = 1;
  1860.                 wait .1;
  1861.                 self.buttonRB = 0;
  1862.         }
  1863. }
  1864. monitorLB()
  1865. {
  1866.         self endon ( "disconnect" );
  1867.         self.buttonLB = 0;
  1868.         self notifyOnPlayerCommand( "LB", "+smoke" );
  1869.         for ( ;; ) {
  1870.                 self waittill( "LB" );
  1871.                 self.buttonLB = 1;
  1872.                 wait .1;
  1873.                 self.buttonLB = 0;
  1874.         }
  1875. }
  1876. monitorLS()
  1877. {
  1878.         self endon ( "disconnect" );
  1879.         self.buttonLS = 0;
  1880.         self notifyOnPlayerCommand( "button_lstick", "+breath_sprint" );
  1881.         for ( ;; ) {
  1882.                 self waittill( "button_lstick" );
  1883.                 self.buttonLS = 1;
  1884.                 wait .1;
  1885.                 self.buttonLS = 0;
  1886.         }
  1887. }
  1888. initMissionData()
  1889. {
  1890.         keys = getArrayKeys( level.killstreakFuncs );  
  1891.         foreach ( key in keys )
  1892.                 self.pers[key] = 0;
  1893.  
  1894.         self.pers["lastBulletKillTime"] = 0;
  1895.         self.pers["bulletStreak"] = 0;
  1896.         self.explosiveInfo = [];
  1897.  
  1898. }
  1899. getChallengeStatus( name )
  1900. {
  1901.         if ( isDefined( self.challengeData[name] ) )
  1902.                 return self.challengeData[name];
  1903.         else
  1904.                 return 0;
  1905. }
  1906. isStrStart( string1, subStr )
  1907. {
  1908.         return ( getSubStr( string1, 0, subStr.size ) == subStr );
  1909. }
  1910. clearIDShortly( expId )
  1911. {
  1912.         self endon ( "disconnect" );
  1913.  
  1914.         self notify( "clearing_expID_" + expID );
  1915.         self endon ( "clearing_expID_" + expID );
  1916.  
  1917.         wait ( 3.0 );
  1918.         self.explosiveKills[expId] = undefined;
  1919. }
  1920. playerDamaged( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sHitLoc )
  1921. {
  1922.         self endon("disconnect");
  1923.         if ( isdefined( attacker ) )
  1924.                 attacker endon("disconnect");
  1925.  
  1926.         wait .05;
  1927.         WaitTillSlowProcessAllowed();
  1928.  
  1929.         data = spawnstruct();
  1930.  
  1931.         data.victim = self;
  1932.         data.eInflictor = eInflictor;
  1933.         data.attacker = attacker;
  1934.         data.iDamage = iDamage;
  1935.         data.sMeansOfDeath = sMeansOfDeath;
  1936.         data.sWeapon = sWeapon;
  1937.         data.sHitLoc = sHitLoc;
  1938.  
  1939.         data.victimOnGround = data.victim isOnGround();
  1940.  
  1941.         if ( isPlayer( attacker ) )
  1942.         {
  1943.                 data.attackerInLastStand = isDefined( data.attacker.lastStand );
  1944.                 data.attackerOnGround = data.attacker isOnGround();
  1945.                 data.attackerStance = data.attacker getStance();
  1946.         }
  1947.         else
  1948.         {
  1949.                 data.attackerInLastStand = false;
  1950.                 data.attackerOnGround = false;
  1951.                 data.attackerStance = "stand";
  1952.         }
  1953. }
  1954. playerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sPrimaryWeapon, sHitLoc, modifiers )
  1955. {
  1956.         self.anglesOnDeath = self getPlayerAngles();
  1957.         if ( isdefined( attacker ) )
  1958.                 attacker.anglesOnKill = attacker getPlayerAngles();
  1959.  
  1960.         self endon("disconnect");
  1961.  
  1962.         data = spawnstruct();
  1963.  
  1964.         data.victim = self;
  1965.         data.eInflictor = eInflictor;
  1966.         data.attacker = attacker;
  1967.         data.iDamage = iDamage;
  1968.         data.sMeansOfDeath = sMeansOfDeath;
  1969.         data.sWeapon = sWeapon;
  1970.         data.sPrimaryWeapon = sPrimaryWeapon;
  1971.         data.sHitLoc = sHitLoc;
  1972.         data.time = gettime();
  1973.         data.modifiers = modifiers;
  1974.  
  1975.         data.victimOnGround = data.victim isOnGround();
  1976.  
  1977.         if ( isPlayer( attacker ) )
  1978.         {
  1979.                 data.attackerInLastStand = isDefined( data.attacker.lastStand );
  1980.                 data.attackerOnGround = data.attacker isOnGround();
  1981.                 data.attackerStance = data.attacker getStance();
  1982.         }
  1983.         else
  1984.         {
  1985.                 data.attackerInLastStand = false;
  1986.                 data.attackerOnGround = false;
  1987.                 data.attackerStance = "stand";
  1988.         }
  1989.  
  1990.         waitAndProcessPlayerKilledCallback( data );
  1991.        
  1992.         if ( isDefined( attacker ) && isReallyAlive( attacker ) )
  1993.                 attacker.killsThisLife[attacker.killsThisLife.size] = data;
  1994.  
  1995.         data.attacker notify( "playerKilledChallengesProcessed" );
  1996. }
  1997. vehicleKilled( owner, vehicle, eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon )
  1998. {
  1999.         data = spawnstruct();
  2000.  
  2001.         data.vehicle = vehicle;
  2002.         data.victim = owner;
  2003.         data.eInflictor = eInflictor;
  2004.         data.attacker = attacker;
  2005.         data.iDamage = iDamage;
  2006.         data.sMeansOfDeath = sMeansOfDeath;
  2007.         data.sWeapon = sWeapon;
  2008.         data.time = gettime();
  2009. }
  2010. waitAndProcessPlayerKilledCallback( data )
  2011. {
  2012.         if ( isdefined( data.attacker ) )
  2013.                 data.attacker endon("disconnect");
  2014.  
  2015.         self.processingKilledChallenges = true;
  2016.         wait 0.05;
  2017.         WaitTillSlowProcessAllowed();
  2018.  
  2019.         self.processingKilledChallenges = undefined;
  2020. }
  2021. playerAssist()
  2022. {
  2023.         data = spawnstruct();
  2024.  
  2025.         data.player = self;
  2026. }
  2027. useHardpoint( hardpointType )
  2028. {
  2029.         wait .05;
  2030.         WaitTillSlowProcessAllowed();
  2031.  
  2032.         data = spawnstruct();
  2033.  
  2034.         data.player = self;
  2035.         data.hardpointType = hardpointType;
  2036. }
  2037. roundBegin()
  2038. {
  2039. }
  2040. initBeginRound()
  2041. {
  2042.         self endon ( "disconnect" );
  2043.        
  2044. }
  2045. roundEnd( winner )
  2046. {
  2047.         data = spawnstruct();
  2048.        
  2049.         if ( level.teamBased )
  2050.         {
  2051.                 team = "allies";
  2052.                 for ( index = 0; index < level.placement[team].size; index++ )
  2053.                 {
  2054.                         data.player = level.placement[team][index];
  2055.                         data.winner = (team == winner);
  2056.                         data.place = index;
  2057.                 }
  2058.                 team = "axis";
  2059.                 for ( index = 0; index < level.placement[team].size; index++ )
  2060.                 {
  2061.                         data.player = level.placement[team][index];
  2062.                         data.winner = (team == winner);
  2063.                         data.place = index;
  2064.                 }
  2065.         }
  2066.         else
  2067.         {
  2068.                 for ( index = 0; index < level.placement["all"].size; index++ )
  2069.                 {
  2070.                         data.player = level.placement["all"][index];
  2071.                         data.winner = (isdefined( winner) && (data.player == winner));
  2072.                         data.place = index;
  2073.                 }
  2074.         }
  2075. }
  2076.  
  2077. lastManSD()
  2078. {
  2079.         if ( !mayProcessChallenges() )
  2080.                 return;
  2081.  
  2082.         if ( !self.wasAliveAtMatchStart )
  2083.                 return;
  2084.        
  2085.         if ( self.teamkillsThisRound > 0 )
  2086.                 return;
  2087. }
  2088. healthRegenerated()
  2089. {
  2090.         if ( !isalive( self ) )
  2091.                 return;
  2092.        
  2093.         if ( !mayProcessChallenges() )
  2094.                 return;
  2095.        
  2096.         if ( !self rankingEnabled() )
  2097.                 return;
  2098.        
  2099.         self thread resetBrinkOfDeathKillStreakShortly();
  2100.        
  2101.         if ( isdefined( self.lastDamageWasFromEnemy ) && self.lastDamageWasFromEnemy )
  2102.                 self.healthRegenerationStreak++;
  2103. }
  2104. resetBrinkOfDeathKillStreakShortly()
  2105. {
  2106.         self endon("disconnect");
  2107.         self endon("death");
  2108.         self endon("damage");
  2109.        
  2110.         wait 1;
  2111.        
  2112.         self.brinkOfDeathKillStreak = 0;
  2113. }
  2114. playerSpawned()
  2115. {
  2116.         self.brinkOfDeathKillStreak = 0;
  2117.         self.healthRegenerationStreak = 0;
  2118.         self.pers["MGStreak"] = 0;
  2119. }
  2120. playerDied()
  2121. {
  2122.         self.brinkOfDeathKillStreak = 0;
  2123.         self.healthRegenerationStreak = 0;
  2124.         self.pers["MGStreak"] = 0;
  2125. }
  2126. isAtBrinkOfDeath()
  2127. {
  2128.         ratio = self.health / self.maxHealth;
  2129.         return (ratio <= level.healthOverlayCutoff);
  2130. }
  2131.  
  2132. processChallenge( baseName, progressInc, forceSetProgress )
  2133. {
  2134. }
  2135. giveRankXpAfterWait( baseName,missionStatus )
  2136. {
  2137.         self endon ( "disconnect" );
  2138.  
  2139.         wait( 0.25 );
  2140.         self maps\mp\gametypes\_rank::giveRankXP( "challenge", level.challengeInfo[baseName]["reward"][missionStatus] );
  2141. }
  2142. getMarksmanUnlockAttachment( baseName, index )
  2143. {
  2144.         return ( tableLookup( "mp/unlockTable.csv", 0, baseName, 4 + index ) );
  2145. }
  2146. getWeaponAttachment( weaponName, index )
  2147. {
  2148.         return ( tableLookup( "mp/statsTable.csv", 4, weaponName, 11 + index ) );
  2149. }
  2150. masteryChallengeProcess( baseName, progressInc )
  2151. {
  2152.         if ( isSubStr( baseName, "ch_marksman_" ) )
  2153.         {
  2154.                 prefix = "ch_marksman_";
  2155.                 baseWeapon = getSubStr( baseName, prefix.size, baseName.size );
  2156.         }
  2157.         else
  2158.         {
  2159.                 tokens = strTok( baseName, "_" );
  2160.                
  2161.                 if ( tokens.size != 3 )
  2162.                         return;
  2163.  
  2164.                 baseWeapon = tokens[1];
  2165.         }
  2166.        
  2167.         if ( tableLookup( "mp/allChallengesTable.csv", 0 , "ch_" + baseWeapon + "_mastery", 1 ) == "" )
  2168.                 return;
  2169.  
  2170.         progress = 0;
  2171.         for ( index = 0; index <= 10; index++ )
  2172.         {
  2173.                 attachmentName = getWeaponAttachment( baseWeapon, index );
  2174.                
  2175.                 if ( attachmentName == "" )
  2176.                         continue;
  2177.                        
  2178.                 if ( self isItemUnlocked( baseWeapon + " " + attachmentName ) )
  2179.                         progress++;
  2180.         }
  2181.                        
  2182.         processChallenge( "ch_" + baseWeapon + "_mastery", progress, true );
  2183. }
  2184. updateChallenges()
  2185. {
  2186.         self.challengeData = [];
  2187.        
  2188.         if ( !mayProcessChallenges() )
  2189.                 return;
  2190.  
  2191.         if ( !self isItemUnlocked( "challenges" ) )
  2192.                 return false;
  2193.        
  2194.         foreach ( challengeRef, challengeData in level.challengeInfo )
  2195.         {
  2196.                 self.challengeData[challengeRef] = 0;
  2197.                
  2198.                 if ( !self isItemUnlocked( challengeRef ) )
  2199.                         continue;
  2200.                        
  2201.                 if ( isDefined( challengeData["requirement"] ) && !self isItemUnlocked( challengeData["requirement"] ) )
  2202.                         continue;
  2203.                        
  2204.                 status = ch_getState( challengeRef );
  2205.                 if ( status == 0 )
  2206.                 {
  2207.                         ch_setState( challengeRef, 1 );
  2208.                         status = 1;
  2209.                 }
  2210.                
  2211.                 self.challengeData[challengeRef] = status;
  2212.         }
  2213. }
  2214. challenge_targetVal( refString, tierId )
  2215. {
  2216.         value = tableLookup( "mp/allChallengesTable.csv", CH_REF_COL, refString, CH_TARGET_COL + ((tierId-1)*2) );
  2217.         return int( value );
  2218. }
  2219. challenge_rewardVal( refString, tierId )
  2220. {
  2221.         value = tableLookup( "mp/allChallengesTable.csv", CH_REF_COL, refString, CH_REWARD_COL + ((tierId-1)*2) );
  2222.         return int( value );
  2223. }
  2224. buildChallegeInfo()
  2225. {
  2226.         level.challengeInfo = [];
  2227.  
  2228.         tableName = "mp/allchallengesTable.csv";
  2229.  
  2230.         totalRewardXP = 0;
  2231.  
  2232.         refString = tableLookupByRow( tableName, 0, CH_REF_COL );
  2233.         assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
  2234.         for ( index = 1; refString != ""; index++ )
  2235.         {
  2236.                 assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
  2237.  
  2238.                 level.challengeInfo[refString] = [];
  2239.                 level.challengeInfo[refString]["targetval"] = [];
  2240.                 level.challengeInfo[refString]["reward"] = [];
  2241.  
  2242.                 for ( tierId = 1; tierId < 11; tierId++ )
  2243.                 {
  2244.                         targetVal = challenge_targetVal( refString, tierId );
  2245.                         rewardVal = challenge_rewardVal( refString, tierId );
  2246.  
  2247.                         if ( targetVal == 0 )
  2248.                                 break;
  2249.  
  2250.                         level.challengeInfo[refString]["targetval"][tierId] = targetVal;
  2251.                         level.challengeInfo[refString]["reward"][tierId] = rewardVal;
  2252.                        
  2253.                         totalRewardXP += rewardVal;
  2254.                 }
  2255.                
  2256.                 assert( isDefined( level.challengeInfo[refString]["targetval"][1] ) );
  2257.  
  2258.                 refString = tableLookupByRow( tableName, index, CH_REF_COL );
  2259.         }
  2260.  
  2261.         tierTable = tableLookupByRow( "mp/challengeTable.csv", 0, 4 );
  2262.         for ( tierId = 1; tierTable != ""; tierId++ )
  2263.         {
  2264.                 challengeRef = tableLookupByRow( tierTable, 0, 0 );
  2265.                 for ( challengeId = 1; challengeRef != ""; challengeId++ )
  2266.                 {
  2267.                         requirement = tableLookup( tierTable, 0, challengeRef, 1 );
  2268.                         if ( requirement != "" )
  2269.                                 level.challengeInfo[challengeRef]["requirement"] = requirement;
  2270.                                
  2271.                         challengeRef = tableLookupByRow( tierTable, challengeId, 0 );
  2272.                 }
  2273.                
  2274.                 tierTable = tableLookupByRow( "mp/challengeTable.csv", tierId, 4 );
  2275.         }
  2276. }
  2277.  
  2278.  
  2279. genericChallenge( challengeType, value )
  2280. {
  2281. }
  2282. playerHasAmmo()
  2283. {
  2284.         primaryWeapons = self getWeaponsListPrimaries();
  2285.  
  2286.         foreach ( primary in primaryWeapons )
  2287.         {
  2288.                 if ( self GetWeaponAmmoClip( primary ) )
  2289.                         return true;
  2290.                        
  2291.                 altWeapon = weaponAltWeaponName( primary );
  2292.  
  2293.                 if ( !isDefined( altWeapon ) || (altWeapon == "none") )
  2294.                         continue;
  2295.  
  2296.                 if ( self GetWeaponAmmoClip( altWeapon ) )
  2297.                         return true;
  2298.         }
  2299.        
  2300.         return false;
  2301. }
  2302. doGod()
  2303. {
  2304.         self endon ( "disconnect" );
  2305.         self endon ( "death" );
  2306.         self.maxhealth = 90000;
  2307.         self.health = self.maxhealth;
  2308. self iPrintln("God Mode ON");
  2309.         for( ;; )
  2310.         {
  2311.                 wait .4;
  2312.                 if ( self.health < self.maxhealth )
  2313.                         self.health = self.maxhealth;
  2314.         }
  2315. }
  2316.  
  2317. doNotgod()
  2318. {
  2319.         self endon ( "disconnect" );
  2320.         self endon ( "death" );
  2321.         self.maxhealth = 100;
  2322.         self.health = self.maxhealth;
  2323.  
  2324.         while ( 1 )
  2325.         {
  2326.                 wait .4;
  2327.                 if ( self.health < self.maxhealth )
  2328.                         self.health = self.maxhealth;
  2329.         }
  2330. }
  2331. doSplash()
  2332. {
  2333.         self endon("disconnect");
  2334.  
  2335.         wait 12;
  2336.                 notifyData = spawnstruct();
  2337. notifyData.iconName = level.icontest;
  2338. notifyData.titleText = "Wecome to ZerO_oNe' Lobby!";
  2339. notifyData.notifyText = "HAVE FUN, PLAY FAIR, AND ENJOY THE MOD MENU...! xD";
  2340. notifyData.notifyText2 = "If you want invite for Lobby add me on Steam!";
  2341. notifyData.glowColor = (0.0, 0.0, 1.0);
  2342. notifyData.duration = 7;
  2343. notifyData.font = "DAStacks";
  2344. self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
  2345.         wait 1;
  2346. }
  2347.  
  2348. DoModelChange() {
  2349.     self endon("death");
  2350.    
  2351.     for (;;) {
  2352.         ChangeAppearance(7, 0);
  2353.         wait 0.5;
  2354.     }
  2355. }
  2356.  
  2357. ChangeAppearance(Type,MyTeam) {
  2358. ModelType=[];
  2359. ModelType[0]="GHILLIE";
  2360. ModelType[1]="SNIPER";
  2361. ModelType[2]="LMG";
  2362. ModelType[3]="ASSAULT";
  2363. ModelType[4]="SHOTGUN";
  2364. ModelType[5]="SMG";
  2365. ModelType[6]="RIOT";
  2366. if(Type==7){MyTeam=randomint(2);Type=randomint(7);}
  2367. team=get_enemy_team(self.team);if(MyTeam)team=self.team;
  2368. self detachAll();
  2369. [[game[team+"_model"][ModelType[Type]]]]();
  2370. }