damage.txt 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. event.load("living_hurt");
  2. event.load("living_heal");
  3. event.load("entity_join");
  4. msg("dev", "§bDamage §rloaded.");
  5. @wait
  6. wait();
  7. ignoreGoto(event);
  8. goto("wait");
  9. @entity_join
  10. if(isLiving(entity) && !isPlayer(entity)) {
  11. updateEntityName(entity);
  12. }
  13. goto("wait");
  14. @living_heal
  15. /*cancel = true;
  16. if(heal_amount <= 0) {
  17. goto("wait");
  18. }
  19. health = entity.getHealth(living_entity);
  20. if(health <= 0) {
  21. goto("wait");
  22. }
  23. new_health = health + heal_amount;
  24. entity.setHealth(living_entity, new_health);*/
  25. if(!isPlayer(living_entity)) {
  26. updateEntityName(living_entity);
  27. }
  28. goto("wait");
  29. @living_hurt
  30. /*cancel = true;
  31. if(!isPlayer(living_entity)) {
  32. max_health = getSpecificMaxHealth(living_entity);
  33. }
  34. van_max_health = living.getMaxHealth(living_entity);
  35. damage_amount = damage_amount * van_max_health / max_health;
  36. entity.damageDirect(living_entity, damage_amount, damage_source);*/
  37. if(!isPlayer(living_entity)) {
  38. updateEntityName(living_entity);
  39. }
  40. goto("wait");
  41. /*function getSpecificMaxHealth(living_entity) {
  42. van_max_health = living.getMaxHealth(living_entity);
  43. max_health = van_max_health * van_max_health / living.getBaseMaxHealth(living_entity);
  44. msg("dev", van_max_health, " ", max_health);
  45. return max_health;
  46. }*/
  47. function updateEntityName(living_entity) {
  48. entity_type = entity.getType(living_entity);
  49. if(entity_type == "nobody" || entity_type == "armor_stand" || entity_type == "human") {
  50. return;
  51. }
  52. entity_name = entity.getName(living_entity);
  53. //max_health = getSpecificMaxHealth(living_entity);
  54. //health = text.number(math.round(max_health * (entity.getHealth(living_entity) / living.getMaxHealth(living_entity))));
  55. max_health = living.getMaxHealth(living_entity);
  56. health = text.number(math.round(entity.getHealth(living_entity)));
  57. max_health = text.number(max_health);
  58. heart_index = text.indexOf(entity_name, "❤", 0);
  59. if(heart_index == -1) {
  60. //Kein Herz gefunden
  61. entity.setName(living_entity, concat(health, "/", max_health, " §c❤\n", entity_name), true);
  62. return;
  63. }
  64. next_new_line = text.indexOf(entity_name, "\n", heart_index);
  65. if(next_new_line == -1) {
  66. //Rechts vom Herz keine New-Line gefunden
  67. entity.setName(living_entity, concat(health, "/", max_health, " §c❤"), true);
  68. return;
  69. }
  70. entity_name = text.subString(entity_name, next_new_line + 1, text.length(entity_name));
  71. entity.setName(living_entity, concat(health, "/", max_health, " §c❤\n", entity_name), true);
  72. }