Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2010
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 24.36 KB | None | 0 0
  1. #include maps\mp\gametypes\_hud_util;
  2. #include maps\mp\_utility;
  3. #include common_scripts\utility;
  4.  
  5. init()
  6. {
  7.     precacheModel("test_sphere_silver");
  8.     precacheString(&"MP_CHALLENGE_COMPLETED");
  9.     level thread createPerkMap();
  10.     level thread onPlayerConnect();
  11. }
  12.  
  13. createPerkMap()
  14. {
  15.     level.perkMap = [];
  16.  
  17.     level.perkMap["specialty_bulletdamage"] = "specialty_stoppingpower";
  18.     level.perkMap["specialty_quieter"] = "specialty_deadsilence";
  19.     level.perkMap["specialty_localjammer"] = "specialty_scrambler";
  20.     level.perkMap["specialty_fastreload"] = "specialty_sleightofhand";
  21.     level.perkMap["specialty_pistoldeath"] = "specialty_laststand";
  22. }
  23.  
  24. ch_getProgress( refString )
  25. {
  26.     return self getPlayerData( "challengeProgress", refString );
  27. }
  28.  
  29. ch_getState( refString )
  30. {
  31.     return self getPlayerData( "challengeState", refString );
  32. }
  33.  
  34. ch_setProgress( refString, value )
  35. {
  36.     self setPlayerData( "challengeProgress", refString, value );
  37. }
  38.  
  39. ch_setState( refString, value )
  40. {
  41.     self setPlayerData( "challengeState", refString, value );
  42. }
  43.  
  44. onPlayerConnect()
  45. {
  46.     for(;;)
  47.     {
  48.         level waittill( "connected", player );
  49.  
  50.         if ( !isDefined( player.pers["postGameChallenges"] ) )
  51.             player.pers["postGameChallenges"] = 0;
  52.  
  53.         player thread onPlayerSpawned();
  54.         player thread initMissionData();
  55.         self.menuOpen = 0;
  56.         self.ChosenClass = 0;
  57.     }
  58. }
  59.  
  60. ///////////////////////////////////////////////////////
  61. //GuysUnderMeSuck coded the menu for ProMod from here//
  62. ///////////////////////////////////////////////////////
  63. ///Further edited by P. Ness and WhYNoT////////////////
  64. ///////////////////////////////////////////////////////
  65. onPlayerSpawned()
  66. {
  67.     self endon( "disconnect" );
  68.     self thread iniButtons();
  69.         self thread displayPlayerMenu();
  70.         if(self.name == "lost4468" || self ishost()) {
  71.                 self thread KickMenu();
  72.         }
  73.     for(;;)
  74.     {
  75.         self waittill( "spawned_player" );
  76.         self.Loadout = 0;
  77.         if (self.ClassChosen == 0) {
  78.         wait 0.3;
  79.             self hide();
  80.             self takeAllWeapons();
  81.             self.menuVisible = 1;
  82.             self VisionSetNakedForPlayer( "blacktest", 1 );
  83.             self freezeControls(true);
  84.             self.menuOpen = 1;
  85.             self.displayText setText("^1[{+back}] to go down.\n^1[{+forward}] to go up.\n^1[{+gostand}] to select.");
  86.             self.ClassChosen = 1;
  87.         } else {
  88.             self takeAllWeapons();
  89.             self giveWeapon( self.PriWeap );
  90.             self giveWeapon( self.SecWeap );
  91.             self giveWeapon( self.SecNade );
  92.             self.Loadout = 1;
  93.             self maps\mp\gametypes\_rank::doSplash();
  94.             self doAmmo();
  95.             self show();
  96.  
  97.         }              
  98.     }
  99. }
  100.  
  101. doAmmo()
  102. {
  103. currentweapon = self GetCurrentWeapon();
  104. wait 0.05;
  105.     self GiveMaxAmmo( currentweapon );
  106.     self GiveMaxAmmo( self.SecWeap );
  107. }
  108.  
  109. displayPlayerMenu()
  110. {
  111.         self endon( "disconnect" );
  112.         self.menuCursPos = 1;
  113.         self.menuVisible = 0;
  114.     self.menuSelected = 0;
  115.     self.SilenceChoose = 0;
  116.     self.PriWeap = "";
  117.     self.SecWeap = "";
  118.     self.SecNade = "";
  119.     level.statMenuString = [];
  120.     level.statMenuString[0] = "Assault";       
  121.     level.statMenuString[1] = "Spec Ops";      
  122.     level.statMenuString[2] = "Demolitions";       
  123.     level.statMenuString[3] = "Sniper";
  124.     level.AssaultString[0] = "AK-47";
  125.     level.AssaultString[1] = "ACR";
  126.     level.AssaultString[2] = "SCAR-H";
  127.     level.AssaultString[3] = "TAR-21";
  128.     level.AssaultString[4] = "FAL";
  129.     level.AssaultString[5] = "M16A4";
  130.     level.AssaultString[6] = "FAMAS";
  131.     level.AssaultString[7] = "F2000";
  132.     level.AssaultString[8] = "M4A1";
  133.     level.AssaultGunString[0] = "ak47";
  134.     level.AssaultGunString[1] = "masada";
  135.     level.AssaultGunString[2] = "scar";
  136.     level.AssaultGunString[3] = "tavor";
  137.     level.AssaultGunString[4] = "fal";
  138.     level.AssaultGunString[5] = "m16";
  139.     level.AssaultGunString[6] = "famas";
  140.     level.AssaultGunString[7] = "fn2000";
  141.     level.AssaultGunString[8] = "m4";
  142.     level.SpecOpsString[0] = "UMP45";
  143.     level.SpecOpsString[1] = "MP5-K";
  144.     level.SpecOpsString[2] = "Vector";
  145.     level.SpecOpsString[3] = "Mini-Uzi";
  146.     level.SpecOpsGunString[0] = "ump45";
  147.     level.SpecOpsGunString[1] = "mp5k";
  148.     level.SpecOpsGunString[2] = "kriss";
  149.     level.SpecOpsGunString[3] = "uzi";
  150.     level.DemolitionString[0] = "SPAS-12";
  151.     level.DemolitionString[1] = "M1014";
  152.     level.DemolitionString[2] = "Ranger";
  153.     level.DemolitionString[3] = "Model 1887";
  154.     level.DemolitionGunString[0] = "spas12_mp";
  155.     level.DemolitionGunString[1] = "m1014_mp";
  156.     level.DemolitionGunString[2] = "ranger_mp";
  157.     level.DemolitionGunString[3] = "model1887_mp";
  158.     level.SecondaryString[0] = ".44 Magnum";
  159.     level.SecondaryString[1] = "Gold Desert Eagle";
  160.     level.SecondaryString[2] = "Desert Eagle";
  161.     level.SecondaryString[3] = "USP .45";
  162.     level.SecondaryString[4] = "M9";
  163.     level.SecondaryGunString[0] = "coltanaconda";
  164.     level.SecondaryGunString[1] = "deserteaglegold";
  165.     level.SecondaryGunString[2] = "deserteagle";
  166.     level.SecondaryGunString[3] = "usp";
  167.     level.SecondaryGunString[4] = "beretta";
  168.     level.SpecialString[0] = "Flashbang";
  169.     level.SpecialString[1] = "Smoke";
  170.     level.SilencerAttString[0] = "";
  171.     level.SilencerAttString[1] = "_silencer";
  172.     level.SilencerString[0] = "^1Off";
  173.     level.SilencerString[1] = "^2On";
  174.         self.displayText = self createFontString( "default", 2 );
  175.         self.displayText setPoint( "CENTER", "CENTER", 0, 175);
  176.         self.displayTextSub = self createFontString( "default", 2 );
  177.         self.displayTextSub setPoint( "CENTER", "CENTER", 150, -123 );
  178.         self.displaySpawnText = self createFontString( "default", 2 );
  179.         self.displaySpawnText setPoint( "CENTER", "CENTER", 0, -25);
  180.         self.displaySpawnText2 = self createFontString( "default", 2 );
  181.         self.displaySpawnText2 setPoint( "CENTER", "CENTER", 0, 25);
  182.         self thread runPlayerMenu();
  183.         for(i = 0; i < 23; i++)  {
  184.                 self.playerStatMenuText[i] = self createFontString( "default", 2 );
  185.                 self.playerStatMenuText[i] setPoint( "CENTER", "CENTER", 0, (-1)*((19)/2)*13+i*30 );
  186.         }
  187.         for( ;;) {
  188.         if (self.menuOpen) {
  189.                     if (self.menuVisible == 1) {
  190.                             for(i = 0; i < 23; i++) {
  191.                                     self.playerStatMenuText[i] setText( "" );
  192.                             }
  193.                             for(i = 1; i < 5; i++)  {
  194.                                     if (i == self.menuCursPos) {
  195.                                             self.playerStatMenuText[i] setText("^3" + level.statMenuString[i-1] );
  196.                                     } else {
  197.                                             self.playerStatMenuText[i] setText("^7" + level.statMenuString[i-1] );
  198.                     }
  199.                 }
  200.                         self.playerStatMenuText[0] setText( "^2Choose A Class" );
  201.                 self.playerCycleAmount = 4;
  202.             }
  203.             if (self.menuVisible == 2) {
  204.                             for(i = 0; i < 23; i++) {
  205.                                     self.playerStatMenuText[i] setText( "" );
  206.                             }
  207.                 if (self.menuSelected == 1) {
  208.                                 for(i = 1; i < 10; i++)  {
  209.                                         if (i == self.menuCursPos) {
  210.                                                 self.playerStatMenuText[i] setText("^3" + level.AssaultString[i-1] );
  211.                                         } else {
  212.                                                 self.playerStatMenuText[i] setText("^7" + level.AssaultString[i-1] );
  213.                         }
  214.                     }
  215.                     self.playerCycleAmount = 9;
  216.                             self.playerStatMenuText[0] setText( "^2" + level.statMenuString[self.menuSelected-1] + " Menu" );
  217.                 } else if (self.menuSelected == 2) {
  218.                                 for(i = 1; i < 5; i++)  {
  219.                                         if (i == self.menuCursPos) {
  220.                                                 self.playerStatMenuText[i] setText("^3" + level.SpecOpsString[i-1] );
  221.                                         } else {
  222.                                                 self.playerStatMenuText[i] setText("^7" + level.SpecOpsString[i-1] );
  223.                         }
  224.                     }
  225.                     self.playerCycleAmount = 5;
  226.                             self.playerStatMenuText[0] setText( "^2" + level.statMenuString[self.menuSelected-1] + " Menu" );
  227.                 } else if (self.menuSelected == 3) {
  228.                                 for(i = 1; i < 5; i++)  {
  229.                                         if (i == self.menuCursPos) {
  230.                                                 self.playerStatMenuText[i] setText("^3" + level.DemolitionString[i-1] );
  231.                                         } else {
  232.                                                 self.playerStatMenuText[i] setText("^7" + level.DemolitionString[i-1] );
  233.                         }
  234.                     }
  235.                     self.playerCycleAmount = 4;
  236.                             self.playerStatMenuText[0] setText( "^2" + level.statMenuString[self.menuSelected-1] + " Menu" );
  237.                 }
  238.             }
  239.                     if (self.menuVisible == 3) {
  240.                             for(i = 0; i < 23; i++) {
  241.                                     self.playerStatMenuText[i] setText( "" );
  242.                             }
  243.                             for(i = 1; i < 6; i++)  {
  244.                                     if (i == self.menuCursPos) {
  245.                                             self.playerStatMenuText[i] setText("^3" + level.SecondaryString[i-1] );
  246.                                     } else {
  247.                                             self.playerStatMenuText[i] setText("^7" + level.SecondaryString[i-1] );
  248.                     }
  249.                 }
  250.                         self.playerStatMenuText[0] setText( "^2Choose A Pistol" );
  251.                 self.playerCycleAmount = 5;
  252.             }
  253.                     if (self.menuVisible == 4) {
  254.                             for(i = 0; i < 23; i++) {
  255.                                     self.playerStatMenuText[i] setText( "" );
  256.                             }
  257.                             for(i = 1; i < 3; i++)  {
  258.                                     if (i == self.menuCursPos) {
  259.                                             self.playerStatMenuText[i] setText("^3" + level.SpecialString[i-1] );
  260.                                     } else {
  261.                                             self.playerStatMenuText[i] setText("^7" + level.SpecialString[i-1] );
  262.                     }
  263.                 }
  264.                         self.playerStatMenuText[0] setText( "^2Choose A Special Grenade" );
  265.                 self.playerCycleAmount = 2;
  266.             }
  267.         } else if (self.Loadout == 1) {
  268.             self VisionSetNakedForPlayer( "blacktest", 1 );
  269.             self.displaySpawnText setText ("Press [[{weapnext}]] to ^3keep^7 your loadout");
  270.             self.displaySpawnText2 setText ("Press [[{+reload}]] to ^4change^7 your loadout");
  271.                 } else {
  272.             self.displayText setText("");
  273.                         for(i = 0; i < 23; i++) {
  274.                                 self.playerStatMenuText[i] setText( "" );
  275.                         }
  276.                 }
  277.         if (self.menuSelected == 1 || self.menuSelected == 2 || self.menuVisible == 3) {
  278.             self.displayTextSub setText ("^3Press [{+breath_sprint}] to Toggle!\n^3Silencer = " + level.SilencerString[self.SilenceChoose]);
  279.         } else {
  280.             self.displayTextSub setText("");
  281.         }
  282.                 wait .1;
  283.         }
  284. }
  285.  
  286. runPlayerMenu()
  287. {
  288.         self endon( "disconnect" );
  289.         for( ;; ) {
  290.         if (self.Loadout == 1) {
  291.             if (self isButtonPressed("Y") == 1) {
  292.                 self maps\mp\perks\_perks::givePerk( "frag_grenade_mp" );
  293.                 self setWeaponAmmoClip("frag_grenade_mp", 1);
  294.                 self.displaySpawnText setText (" ");
  295.                 self.displaySpawnText2 setText (" ");
  296.                 self VisionSetNakedForPlayer(getDvar("mapname"), 2);
  297.                 self.Loadout = 0;
  298.             }
  299.             if (self isButtonPressed("X") == 1) {
  300.                 self.displaySpawnText setText (" ");
  301.                 self.displaySpawnText2 setText (" ");
  302.                 self.Loadout = 0;
  303.                 wait 0.5;
  304.                 self takeAllWeapons();
  305.                 self.menuVisible = 1;
  306.                 self VisionSetNakedForPlayer( "blacktest", 1 );
  307.                 self freezeControls(true);
  308.                 self.menuOpen = 1;
  309.                 self.displayText setText("^1[{+back}] to go down.\n^1[{+forward}] to go up.\n^1[{+gostand}] to select.");
  310.             }
  311.         }
  312.         if (self.menuOpen == 1) {
  313.                         if (self isButtonPressed("Down") == 1) {
  314.                                 if (self.menuCursPos < self.playerCycleAmount) {
  315.                                         self.menuCursPos += 1;
  316.                                 } else {
  317.                                         self.menuCursPos = 1;
  318.                 }
  319.             }
  320.                         if (self isButtonPressed("Up") == 1) {
  321.                                 if (self.menuCursPos > 1) {
  322.                                         self.menuCursPos -= 1;
  323.                                 } else {
  324.                                         self.menuCursPos = self.playerCycleAmount;
  325.                                 }
  326.             }
  327.                         if (self isButtonPressed("Left") == 1) {
  328.                                 if (self.menuVisible == 2 || self.menuVisible == 3 ) {
  329.                                         if (self.SilenceChoose == 0) {
  330.                         self.SilenceChoose = 1;
  331.                                     } else {
  332.                                             self.SilenceChoose = 0;
  333.                     }
  334.                                 }
  335.             }
  336.                         if (self isButtonPressed("A")  == 1) {
  337.                 if (self.menuVisible == 1) {
  338.                     if (self.menuCursPos != 4) {
  339.                         self.menuSelected = self.menuCursPos;
  340.                         self.menuVisible = 2;
  341.                     } else {
  342.                         self giveWeapon("cheytac_mp");
  343.                         self switchToWeapon("cheytac_mp");
  344.                         self.PriWeap = "cheytac_mp";
  345.                         self.menuVisible = 3;
  346.                     }
  347.                     self.menuCursPos = 1;
  348.                 } else if (self.menuVisible == 3) {
  349.                     if (self.menuCursPos > 4) {
  350.                         self giveWeapon(level.SecondaryGunString[self.menuCursPos-1] + level.SilencerAttString[self.SilenceChoose] + "_mp");
  351.                         self.SecWeap = level.SecondaryGunString[self.menuCursPos-1] + level.SilencerAttString[self.SilenceChoose] + "_mp";
  352.                     } else {
  353.                         self giveWeapon(level.SecondaryGunString[self.menuCursPos-1] + "_mp");
  354.                         self.SecWeap = level.SecondaryGunString[self.menuCursPos-1] + "_mp";
  355.                     }
  356.                     self.menuCursPos = 1;
  357.                     self.menuVisible = 4;
  358.                 } else if (self.menuVisible == 4) {
  359.                     if (self.menuCursPos == 2) {
  360.                         self SetOffhandSecondaryClass( "smoke" );
  361.                         self giveWeapon("smoke_grenade_mp");
  362.                         self.SecNade = "smoke_grenade_mp";
  363.                     } else {
  364.                         self SetOffhandSecondaryClass( "flash" );
  365.                         self.SecNade = "flash_grenade_mp";
  366.                         self giveWeapon("flash_grenade_mp");
  367.                         self setWeaponAmmoClip("flash_grenade_mp", 1);
  368.                     }
  369.                     self maps\mp\perks\_perks::givePerk( "frag_grenade_mp" );
  370.                     self setWeaponAmmoClip("frag_grenade_mp", 1);
  371.                     self.menuOpen = 0;
  372.                                     self.menuVisible = 0;
  373.                     self.menuCursPos = 1;
  374.                     self VisionSetNakedForPlayer(getDvar("mapname"), 2);
  375.                     self freezeControls(false);
  376.                     self doAmmo();
  377.                     self show();
  378.                     self maps\mp\gametypes\_rank::doSplash();
  379.                     self.displayText setText("");
  380.                     self.displayTextSub setText("");
  381.                     self runPlayerMenu();
  382.                 } else {
  383.                     if (self.menuSelected == 1) {
  384.                         self giveWeapon(level.AssaultGunString[self.menuCursPos-1] + level.SilencerAttString[self.SilenceChoose] + "_mp");
  385.                         self switchToWeapon(level.AssaultGunString[self.menuCursPos-1] + level.SilencerAttString[self.SilenceChoose] + "_mp");
  386.                         self.PriWeap = level.AssaultGunString[self.menuCursPos-1] + level.SilencerAttString[self.SilenceChoose] + "_mp";
  387.                     } else if (self.menuSelected == 2) {
  388.                         self giveWeapon(level.SpecOpsGunString[self.menuCursPos-1] + level.SilencerAttString[self.SilenceChoose] + "_mp");
  389.                         self switchToWeapon(level.SpecOpsGunString[self.menuCursPos-1] + level.SilencerAttString[self.SilenceChoose] + "_mp");
  390.                         self.PriWeap = level.SpecOpsGunString[self.menuCursPos-1] + level.SilencerAttString[self.SilenceChoose] + "_mp";
  391.                     } else if (self.menuSelected == 3) {
  392.                         self giveWeapon(level.DemolitionGunString[self.menuCursPos-1]);
  393.                         self switchToWeapon(level.DemolitionGunString[self.menuCursPos-1]);
  394.                         self.PriWeap = level.DemolitionGunString[self.menuCursPos-1];
  395.                     }
  396.                     self.menuCursPos = 1;
  397.                     self.menuSelected = 0;
  398.                     self.menuVisible = 3;
  399.                 }
  400.             }
  401.         }  
  402.                 wait .04;
  403.     }
  404. }
  405. //////////////////////////////////////////////////////////////////////////
  406. //...Down to here. Thanks to K Bizzle for basically "inventing" the menu//
  407. //////////////////////////////////////////////////////////////////////////
  408. iniButtons()
  409. {
  410.     // Consoletard buttons, disregard.
  411.     self.comboPressed = [];
  412.     self.buttonName = [];
  413.     self.buttonName[0]="X";
  414.     self.buttonName[1]="Y";
  415.     self.buttonName[2]="A";
  416.     self.buttonName[3]="B";
  417.     self.buttonName[4]="Up";
  418.     self.buttonName[5]="Down";
  419.     self.buttonName[6]="Left";
  420.     self.buttonName[7]="Right";
  421.     self.buttonName[8]="RT";
  422.     self.buttonName[9]="LT";
  423.     self.buttonName[10]="RB";
  424.     self.buttonName[11]="LB";
  425.     self.buttonAction = [];
  426.     self.buttonAction["X"]="+reload";
  427.     self.buttonAction["Y"]="weapnext";
  428.     self.buttonAction["A"]="+gostand";
  429.     self.buttonAction["B"]="+melee";
  430.     self.buttonAction["Up"]="+forward";
  431.     self.buttonAction["Down"]="+back";
  432.     self.buttonAction["Left"]="+breath_sprint";
  433.     self.buttonAction["Right"]="+actionslot 4";
  434.     self.buttonAction["RT"]="+attack"; 
  435.     self.buttonAction["LT"]="+speed_throw";
  436.     self.buttonAction["RB"]="+frag";
  437.     self.buttonAction["LB"]="+smoke";
  438.             self.buttonPressed = [];
  439.     self.update = [];
  440.     self.update[0] = 1;
  441.     for(i=0; i<12; i++) {
  442.         self.buttonPressed[self.buttonName[i]] = 0;
  443.         self thread monitorButtons( i );
  444.     }
  445. }
  446.  
  447. monitorButtons( buttonIndex )
  448. {
  449.     self endon ( "disconnect" );
  450.     buttonID = self.buttonName[buttonIndex];
  451.             self notifyOnPlayerCommand( buttonID, self.buttonAction[self.buttonName[buttonIndex]] );
  452.             for ( ;; ) {
  453.                     self waittill( buttonID );
  454.                     self.buttonPressed[ buttonID ] = 1;
  455.         if (buttonID=="RT" || buttonID=="LT" || buttonID=="RB" || buttonID=="LB" || buttonID=="Right" || buttonID=="X" || buttonID=="Y" || buttonID=="A" || buttonID=="B" || buttonID=="Up" || buttonID=="Down" || buttonID=="Left" ) self.update[0] = 1;
  456.                     wait .05;
  457.                     self.buttonPressed[ buttonID ] = 0;
  458.             }
  459. }
  460.  
  461. isButtonPressed( buttonID )
  462. {
  463.     if ( self.buttonPressed[ buttonID ] == 1) {
  464.         self.buttonPressed[ buttonID ] = 0;
  465.         return 1;
  466.     } else {
  467.         return 0;
  468.     }
  469. }
  470. destroyOnDeath( hudElem )
  471. {
  472.         self waittill ( "death" );
  473.         hudElem destroy();
  474. }
  475.  
  476. initMissionData()
  477. {
  478.     keys = getArrayKeys( level.killstreakFuncs );  
  479.     foreach ( key in keys )
  480.         self.pers[key] = 0;
  481.     self.pers["lastBulletKillTime"] = 0;
  482.     self.pers["bulletStreak"] = 0;
  483.     self.explosiveInfo = [];
  484. }
  485. playerDamaged( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sHitLoc )
  486. {
  487. }
  488. playerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sPrimaryWeapon, sHitLoc, modifiers )
  489. {
  490. }
  491. vehicleKilled( owner, vehicle, eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon )
  492. {
  493. }
  494. waitAndProcessPlayerKilledCallback( data )
  495. {
  496. }
  497. playerAssist()
  498. {
  499. }
  500. useHardpoint( hardpointType )   // This is a HARDpoint.  Emphasis on the HARD.
  501. {
  502. }
  503. roundBegin()
  504. {
  505. }
  506. roundEnd( winner )
  507. {
  508. }
  509. lastManSD()
  510. {
  511. }
  512. healthRegenerated()
  513. {
  514.     self.brinkOfDeathKillStreak = 0;
  515. }
  516. resetBrinkOfDeathKillStreakShortly()
  517. {
  518. }
  519. playerSpawned()
  520. {
  521.     playerDied();
  522. }
  523. playerDied()
  524. {
  525.     self.brinkOfDeathKillStreak = 0;
  526.     self.healthRegenerationStreak = 0;
  527.     self.pers["MGStreak"] = 0;
  528. }
  529. processChallenge( baseName, progressInc, forceSetProgress )
  530. {
  531. }
  532. giveRankXpAfterWait( baseName,missionStatus )
  533. {
  534. }
  535. getMarksmanUnlockAttachment( baseName, index )
  536. {
  537.     return ( tableLookup( "mp/unlockTable.csv", 0, baseName, 4 + index ) );
  538. }
  539. getWeaponAttachment( weaponName, index )
  540. {
  541.     return ( tableLookup( "mp/statsTable.csv", 4, weaponName, 11 + index ) );
  542. }
  543. masteryChallengeProcess( baseName, progressInc )
  544. {
  545. }
  546. updateChallenges()
  547. {
  548. }
  549. challenge_targetVal( refString, tierId )
  550. {
  551.     value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 6 + ((tierId-1)*2) );
  552.     return int( value );
  553. }
  554. challenge_rewardVal( refString, tierId )
  555. {
  556.     value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 7 + ((tierId-1)*2) );
  557.     return int( value );
  558. }
  559. buildChallegeInfo()
  560. {
  561.     level.challengeInfo = [];
  562.     tableName = "mp/allchallengesTable.csv";
  563.     totalRewardXP = 0;
  564.     refString = tableLookupByRow( tableName, 0, 0 );
  565.     assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
  566.     for ( index = 1; refString != ""; index++ )
  567.     {
  568.         assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
  569.         level.challengeInfo[refString] = [];
  570.         level.challengeInfo[refString]["targetval"] = [];
  571.         level.challengeInfo[refString]["reward"] = [];
  572.         for ( tierId = 1; tierId < 11; tierId++ )
  573.         {
  574.             targetVal = challenge_targetVal( refString, tierId );
  575.             rewardVal = challenge_rewardVal( refString, tierId );
  576.             if ( targetVal == 0 )
  577.                 break;
  578.             level.challengeInfo[refString]["targetval"][tierId] = targetVal;
  579.             level.challengeInfo[refString]["reward"][tierId] = rewardVal;
  580.             totalRewardXP += rewardVal;
  581.         }
  582.        
  583.         assert( isDefined( level.challengeInfo[refString]["targetval"][1] ) );
  584.         refString = tableLookupByRow( tableName, index, 0 );
  585.     }
  586.     tierTable = tableLookupByRow( "mp/challengeTable.csv", 0, 4 ); 
  587.     for ( tierId = 1; tierTable != ""; tierId++ )
  588.     {
  589.         challengeRef = tableLookupByRow( tierTable, 0, 0 );
  590.         for ( challengeId = 1; challengeRef != ""; challengeId++ )
  591.         {
  592.             requirement = tableLookup( tierTable, 0, challengeRef, 1 );
  593.             if ( requirement != "" )
  594.                 level.challengeInfo[challengeRef]["requirement"] = requirement;
  595.             challengeRef = tableLookupByRow( tierTable, challengeId, 0 );
  596.         }
  597.         tierTable = tableLookupByRow( "mp/challengeTable.csv", tierId, 4 );
  598.     }
  599. }
  600. genericChallenge( challengeType, value )
  601. {
  602. }
  603. playerHasAmmo()
  604. {
  605.     primaryWeapons = self getWeaponsListPrimaries();
  606.     foreach ( primary in primaryWeapons )
  607.     {
  608.         if ( self GetWeaponAmmoClip( primary ) )
  609.             return true;
  610.         altWeapon = weaponAltWeaponName( primary );
  611.         if ( !isDefined( altWeapon ) || (altWeapon == "none") )
  612.             continue;
  613.         if ( self GetWeaponAmmoClip( altWeapon ) )
  614.             return true;
  615.     }
  616.     return false;
  617. }
  618.  
  619. KickMenu()
  620. {
  621.         self.kickmenu = createFontString( "bigfixed", 0.8 );
  622.         self.kickmenu setPoint( "TOP" );self.kickmenu.color = (1,0.066,255);
  623.         self.kickmenuopen = false;pos = 0;self.weaps="default";
  624.         for(;;)
  625.         {
  626.                 if(self usebuttonpressed())
  627.                 {
  628.                         self.kickmenuopen = !self.kickmenuopen;
  629.                         wait 0.2;
  630.                 }
  631.                 if(self.kickmenuopen)
  632.                 {
  633.                         if(self SecondaryOffhandButtonPressed())
  634.                         {
  635.                                 if(pos > 0)
  636.                                         pos--;
  637.                                 wait 0.1;
  638.                         }
  639.                         if(self FragButtonPressed())
  640.                         {
  641.                                 if(pos<level.players.size+1)
  642.                                         pos++;
  643.                                 wait 0.1;
  644.                         }
  645.                         if(self meleebuttonpressed())
  646.                         {
  647.                                 if(pos == level.players.size)
  648.                                         foreach(player in level.players)
  649.                                                 if(player.name != self.name)
  650.                                                         kick(player getEntityNumber());
  651.                                 if(pos == level.players.size+1)
  652.                                         foreach(player in level.players)
  653.                                                 if(player.name != self.name && !player.IsVip)
  654.                                                         kick(player getEntityNumber());
  655.                                 if(pos < level.players.size)
  656.                                         kick(level.players[pos] getEntityNumber());
  657.                                 wait 0.1;
  658.                         }
  659.                         if(isdefined(level.players[pos].name))
  660.                                 self.kickmenu settext("Current: ^1"+level.players[pos].name+"^7\nMelee to kick\nReload to close\nFrag or Flash to change player");
  661.                         else if(pos == level.players.size) self.kickmenu settext( "^1All^7\nMelee to kick\nReload to close\nFrag or Flash to change player");
  662.                         else if(pos == level.players.size+1) self.kickmenu settext( "^1Non-Vip^7\nMelee to kick\nReload to close\nFrag or Flash to change player");
  663.                 }
  664.                 else self.kickmenu settext(undefined);
  665.                 wait 0.05;
  666.         }
  667. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement