Downloads containing healthdisplay.mut

Downloads
Name Author Game Mode Rating
JJ2+ Only: Health Display XxMoNsTeRXM Mutator N/A Download file

File preview

  1. #pragma name "Health Display"
  2.  
  3. const string Filename = "healthdp.asdat";
  4.  
  5. enum displayType {teammates, all, enemy, none};
  6.  
  7. int display = teammates;
  8. int size = 32;
  9.  
  10. void onLevelLoad() {
  11.         jjSTREAM savedStrings(Filename);
  12.         while (!savedStrings.isEmpty()) {
  13.                 savedStrings.pop(display);
  14.                 savedStrings.pop(size);
  15.         }
  16. }
  17.  
  18. void onPlayer() {
  19.         for (int i = 0; i < 32; i++) {
  20.             jjPLAYER@ p = jjPlayers[i];
  21.                 if (((display == all || jjGameMode != GAME::CTF) && jjPlayers[i].playerID != jjLocalPlayers[0].playerID) && display != none) {
  22.                         int health = p.health;
  23.                         float xPos = p.xPos - 0.5 * p.health;
  24.                         float xPos2 = p.xPos - 0.5 * p.health-6;
  25.                         float yPos = p.yPos - 45;
  26.                         while (health > 0) {
  27.                                 jjDrawSprite(xPos - 12.25, yPos, ANIM::PICKUPS, 41, 0, 0, SPRITE::RESIZED, size);
  28.                                 xPos += 9;
  29.                                 health -= 1;
  30.                         }
  31.                 }
  32.                 if (display == teammates && jjGameMode == GAME::CTF) {
  33.                         if (jjPlayers[i].team == jjLocalPlayers[0].team && jjPlayers[i].playerID != jjLocalPlayers[0].playerID) {
  34.                                 int health = p.health;
  35.                                 float xPos = p.xPos - 0.5 * p.health;
  36.                                 float xPos2 = p.xPos - 0.5 * p.health-6;
  37.                                 float yPos = p.yPos - 45;
  38.                                 while (health > 0) {
  39.                                         jjDrawSprite(xPos - 12.25, yPos, ANIM::PICKUPS, 41, 0, 0, SPRITE::RESIZED, size);
  40.                                         xPos += 9;
  41.                                         health -= 1;
  42.                                 }
  43.                         }
  44.                 }
  45.                 if (display == enemy && jjGameMode == GAME::CTF) {
  46.                         if (jjPlayers[i].team != jjLocalPlayers[0].team && jjPlayers[i].playerID != jjLocalPlayers[0].playerID) {
  47.                                 int health = p.health;
  48.                                 float xPos = p.xPos - 0.5 * p.health;
  49.                                 float xPos2 = p.xPos - 0.5 * p.health-6;
  50.                                 float yPos = p.yPos - 45;
  51.                                 while (health > 0) {
  52.                                         jjDrawSprite(xPos - 12.25, yPos, ANIM::PICKUPS, 41, 0, 0, SPRITE::RESIZED, size);
  53.                                         xPos += 9;
  54.                                         health -= 1;
  55.                                 }
  56.                         }
  57.                 }
  58.         }
  59. }
  60.  
  61. void onChat(int clientID, string &in stringReceived, CHAT::Type chatType) {
  62.         if (clientID == 0 || jjPlayers[clientID].isAdmin) {
  63.                 if (stringReceived == "!health display teammates") {
  64.                         display = teammates;
  65.                         jjAlert("Health Display is now for |||TEAMMATES", false, STRING::SMALL);
  66.                 }
  67.                 if (stringReceived == "!health display enemy") {
  68.                         display = enemy;
  69.                         jjAlert("Health Display is now for |ENEMY", false, STRING::SMALL);
  70.                 }
  71.                 if (stringReceived == "!health display all") {
  72.                         display = all;
  73.                         jjAlert("Health Display is now for ||ALL", false, STRING::SMALL);
  74.                 }
  75.                 if (stringReceived == "!health display none") {
  76.                         display = none;
  77.                         jjAlert("Health Display is now for |NONE", false, STRING::SMALL);
  78.                 }
  79.                 if (stringReceived == "!health size small") {
  80.                         size = 16;
  81.                         jjAlert("Health Size is now |SMALL", false, STRING::SMALL);
  82.                 }
  83.                 if (stringReceived == "!health size medium") {
  84.                         size = 24;
  85.                         jjAlert("Health Size is now ||MEDIUM", false, STRING::SMALL);
  86.                 }
  87.                 if (stringReceived == "!health size normal") {
  88.                         size = 32;
  89.                         jjAlert("Health Size is now |||NORMAL", false, STRING::SMALL);
  90.                 }
  91.                 if (stringReceived == "!health size big") {
  92.                         size = 48;
  93.                         jjAlert("Health Size is now ||||BIG", false, STRING::SMALL);
  94.                 }
  95.                 saveFile();
  96.         }
  97. }
  98.  
  99. void saveFile() {
  100.         jjSTREAM stream;
  101.         stream.push(display);
  102.         stream.push(size);
  103.         stream.save(Filename);
  104. }
  105.