Gem Saving

Version:

6.0

Added on:

29 Dec 2014 17:43

Tags:

Description:
If you add death pits in your treasure hunt levels, and gems do not re-generate, when you die in a death pit you lose all your gems, so... this will save your gems.
  1. bool access = true;
  2.  
  3. class savedGems {
  4.   savedGems() {
  5.     red = green = blue = 0;
  6.   }
  7.   int red;
  8.   int green;
  9.   int blue;
  10. };
  11.  
  12. array<int> playerArray(4);
  13. array<savedGems> gemsArray(4);
  14. bool load = false;
  15.  
  16. array<int>fakeHealth(4, 0);
  17. array<bool>forced(4, false);
  18.  
  19. void onPlayer(jjPLAYER@ p) {
  20.   if ((p.health == 0 && forced[p.localPlayerID]) || (p.health == 5 && !forced[p.localPlayerID])) {
  21.       fakeHealth[p.localPlayerID] = p.health;
  22.     }
  23.   switch(fakeHealth[p.localPlayerID]) {
  24.       case 0:
  25.         if (access) {
  26.           gemsArray[p.localPlayerID].red = p.gems[GEM::RED];
  27.             gemsArray[p.localPlayerID].green = p.gems[GEM::GREEN];
  28.             gemsArray[p.localPlayerID].blue = p.gems[GEM::BLUE];
  29.         jjAlert("Red gems current: " + p.gems[GEM::RED]);
  30.           jjAlert("|Red gems saved: " + gemsArray[p.localPlayerID].red);
  31.         jjAlert("Green gems current: " + p.gems[GEM::GREEN]);
  32.         jjAlert("|Green gems saved: " + gemsArray[p.localPlayerID].green);
  33.         jjAlert("Blue gems current: " + p.gems[GEM::BLUE]);
  34.         jjAlert("|Blue gems saved: " + gemsArray[p.localPlayerID].blue);
  35.         forced[p.localPlayerID] = false;
  36.         access = false;
  37.       }
  38.       break;
  39.     case 5:
  40.         p.gems[GEM::RED] = gemsArray[p.localPlayerID].red;
  41.       jjAlert("||Red gems loaded: " + p.gems[GEM::RED]);
  42.       p.gems[GEM::GREEN] = gemsArray[p.localPlayerID].green;
  43.       jjAlert("||Green gems loaded: " + p.gems[GEM::GREEN]);
  44.       p.gems[GEM::BLUE] = gemsArray[p.localPlayerID].blue;
  45.         jjAlert("||Blue gems loaded: " + p.gems[GEM::BLUE]);
  46.           if (!access) access = true;
  47.       forced[p.localPlayerID] = true;
  48.       fakeHealth[p.localPlayerID] = 4;
  49.       break;
  50.   }
  51. }