FineNerds

Custom Perk Loader

Aug 20th, 2015
304
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.93 KB | None | 0 0
  1. /*
  2. *    Black Ops 2 - GSC Studio by iMCSx
  3. *
  4. *    Creator : FineNerds
  5. *    Project : Custom Zombies
  6. *    Mode : Zombies
  7. *    Date : 2015/08/20 - 06:26:19  
  8. *
  9. */ 
  10.  
  11. #include maps\mp\_utility;
  12. #include common_scripts\utility;
  13. #include maps\mp\gametypes_zm\_hud_util;
  14. #include maps\mp\gametypes_zm\_hud_message;
  15.  
  16. init()
  17. {
  18.     level thread onPlayerConnect();
  19.     level.customPerks = [];
  20.     level.customPerksCoords = [];
  21.     level thread isPowerOn();
  22. }
  23.  
  24. onPlayerConnect()
  25. {
  26.     for(;;)
  27.     {
  28.         level waittill("connected", player);
  29.         player thread onPlayerSpawned();
  30.         player displayMessage();
  31.     }
  32. }
  33.  
  34. displayMessage()
  35. {
  36.     self endon( "disconnect" );
  37.     self waittill( "spawned_player" );
  38.     self iprintln("^1FineZombies^7: ^4Loaded");
  39. }
  40.  
  41. onPlayerSpawned()
  42. {
  43.     self endon("disconnect");
  44.     level endon("game_ended");
  45.     for(;;)
  46.     {
  47.         self waittill("spawned_player");
  48.         self thread testPerk();
  49.     }
  50. }
  51.  
  52. testPerk()
  53. {
  54.     for(;;)
  55.     {
  56.         self waittill("weapon_fired");
  57.         self iprintln("Weapon fired");
  58.         start = self getTagOrigin("tag_eye");
  59.         end = anglesToForward(self getPlayerAngles()) * 1000000;
  60.         loc = Bullettrace(start, end, true, level)["position"];
  61.         self iprintlnbold(loc);
  62.         initNewPerk("Random Perk Name", 2500, "zombie_vending_jugg_on", loc);
  63.         self iprintln("Spawning perk...");
  64.     }
  65. }
  66.  
  67. initNewPerk(name, price, machine_model, loc)
  68. {
  69.     p = level.customPerks.size;
  70.     level.customPerks[p] = name;
  71.     self iprintln("Perk ^1" + level.customPerks[p] + "^7 added to perk list");
  72.    
  73.     c = level.customPerksCoords.size;
  74.     level.customPerksCoords[c] = spawn("script_model", loc);
  75.     level.customPerksCoords[c].angles = (0, 0, 0);
  76.     level.customPerksCoords[c] setModel(model);
  77.     self iprintln("Perk Coords contains " + level.customPerksCoords.size + " entries.");
  78.     self iprintlnbold("Perk " + name + " spawned at " + loc + " as " + machine_model);
  79.    
  80.     for(;;)
  81.     {
  82.         foreach(player in level.players)
  83.         {
  84.             if(distance(self.origin, player.origin) <100 && player.hasDrink && isPowerOn())
  85.             {
  86.                 player iPrintlnBold("Hold &&1 to buy " + name + "[Cost: " + price + "]");
  87.                 player.hasDrink = true;
  88.             }
  89.             else if(distance(self.origin, player.origin) <100 && !player.hasDrink && !isPowerOn())
  90.             {
  91.                 player iPrintlnBold("The power must be turned on first!");
  92.             }
  93.         }
  94.     }
  95. }
  96.  
  97. isPowerOn()
  98. {
  99.     flag_wait("electricity_on");
  100.     return true;
  101. }
  102.  
  103. // Not needed at this moment.
  104. displayPerkHintstring(name, price)
  105. {
  106.     level endon("game_ended");
  107.     self iprintln("Hintstring displayed");
  108.     for(;;)
  109.     {
  110.         foreach(player in level.players)
  111.         {
  112.             if(distance(self.origin, player.origin) <100 && player.hasDrink && isPowerOn())
  113.             {
  114.                 player iPrintlnBold("Hold &&1 to buy " + name + "[Cost: " + price + "]");
  115.                 player.hasDrink = true;
  116.             }
  117.             else if(distance(self.origin, player.origin) <100 && !player.hasDrink && !isPowerOn())
  118.             {
  119.                 player iPrintlnBold("The power must be turned on first!");
  120.             }
  121.         }
  122.     }
  123. }
Advertisement
Add Comment
Please, Sign In to add comment