Advertisement
TheHiddenHour

[GSC] Battlefield VIP Gamemode

Aug 4th, 2015
305
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.00 KB | None | 0 0
  1. #include maps/mp/_utility;
  2. #include common_scripts/utility;
  3. #include maps/mp/gametypes/_hud_util;
  4. #include maps/mp/gametypes/_hud_message;
  5. #include maps/mp/gametypes/_spectating;
  6. #include maps/mp/gametypes/_globallogic_ui;
  7. #include maps/mp/gametypes/_persistence;
  8. #include maps/mp/teams/_teams;
  9. #include maps/mp/_createfx;
  10. #include maps/mp/gametypes/_globallogic_score;
  11. #include maps/mp/gametypes/_globallogic_utils;
  12. #include maps/mp/_scoreevents;
  13. #include maps/mp/gametypes/_spawnlogic;
  14. #include maps/mp/gametypes/_spawning;
  15. #include maps/mp/killstreaks/_killstreaks;
  16. #include maps/mp/gametypes/_globallogic;
  17.  
  18. init()
  19. {
  20.     registernumlives(1, 1);//1 life
  21.     registerroundlimit(5, 5);
  22.     registerscorelimit(0, 0);
  23.    
  24.     level thread onPlayerConnect();
  25.     level thread selectVIP();
  26.    
  27.     level.VIP = "";
  28.     level.VIPweap = "fiveseven_mp";
  29. }
  30.  
  31. onPlayerConnect()
  32. {
  33.     for(;;)
  34.     {
  35.         level waittill("connected", player);
  36.         player thread onPlayerSpawned();
  37.     }
  38. }
  39.  
  40. onPlayerSpawned()
  41. {
  42.     self endon("disconnect");
  43.     level endon("game_ended");
  44.     for(;;)
  45.     {
  46.         self waittill("spawned_player");
  47.        
  48.        
  49.     }
  50. }
  51.  
  52. selectVIP()
  53. {
  54.     level waittill("prematch_over");
  55.    
  56.     level.VIP = level getRandomPlayer();
  57.     allClientsPrint("^5" + level.VIP.name + "^7 has been selected to be the ^2VIP^7! ^2Protect them^7!");
  58.    
  59.     level thread vipMonitor();
  60.    
  61.     level.VIP takeAllWeapons();
  62.     level.VIP giveWeapon(level.VIPweap);
  63.     level.VIP switchToWeapon(level.VIPweap);
  64. }
  65.  
  66. getRandomPlayer()
  67. {
  68.     randNum = randomIntRange(0, level.players.size);
  69.     VIP = level.players[randNum];
  70.    
  71.     if(isAlive(VIP))
  72.         return VIP;
  73.     else
  74.         return getRandomPlayer();
  75. }
  76.  
  77. vipMonitor()
  78. {
  79.     level endon("endvipMonitor");
  80.    
  81.     for(;;)
  82.     {
  83.         if(!isAlive(level.VIP) && level.VIP.pers["team"] == "axis")
  84.             endgame("allies", level.VIP.name + " was killed");
  85.         if(!isAlive(level.VIP) && level.VIP.pers["team"] == "allies")
  86.             endgame("axis", level.VIP.name + " was killed");
  87.        
  88.         wait 0.01;
  89.     }
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement