Guest User

Indicator HP/Armor TextDraw by Ayzek

a guest
Jun 13th, 2015
904
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.08 KB | None | 0 0
  1. forward Fresh();
  2. new Text:Health[3];
  3. new PlayerText:PlayerHpT[MAX_PLAYERS][5];
  4. new DrawHP[MAX_PLAYERS];
  5. public OnGameModeInit()
  6. {
  7. SetTimer("Fresh",1000,1); //one second timer
  8. Health[0] = TextDrawCreate(365.125000, 107.083328, "usebox");
  9. TextDrawLetterSize(Health[0], 0.000000, 1.562963);
  10. TextDrawTextSize(Health[0], 261.125000, 0.000000);
  11. TextDrawAlignment(Health[0], 1);
  12. TextDrawColor(Health[0], 0);
  13. TextDrawUseBox(Health[0], true);
  14. TextDrawBoxColor(Health[0], 102);
  15. TextDrawSetShadow(Health[0], 0);
  16. TextDrawSetOutline(Health[0], 0);
  17. TextDrawFont(Health[0], 0);
  18.  
  19. Health[1] = TextDrawCreate(365.125000, 127.500000, "usebox");
  20. TextDrawLetterSize(Health[1], 0.000000, 0.072222);
  21. TextDrawTextSize(Health[1], 261.125000, 0.000000);
  22. TextDrawAlignment(Health[1], 1);
  23. TextDrawColor(Health[1], 0);
  24. TextDrawUseBox(Health[1], true);
  25. TextDrawBoxColor(Health[1], 102);
  26. TextDrawSetShadow(Health[1], 0);
  27. TextDrawSetOutline(Health[1], 0);
  28. TextDrawFont(Health[1], 0);
  29.  
  30. Health[2] = TextDrawCreate(365.125000, 134.500000, "usebox");
  31. TextDrawLetterSize(Health[2], 0.000000, 0.072222);
  32. TextDrawTextSize(Health[2], 261.125000, 0.000000);
  33. TextDrawAlignment(Health[2], 1);
  34. TextDrawColor(Health[2], 0);
  35. TextDrawUseBox(Health[2], true);
  36. TextDrawBoxColor(Health[2], 102);
  37. TextDrawSetShadow(Health[2], 0);
  38. TextDrawSetOutline(Health[2], 0);
  39. TextDrawFont(Health[2], 0);
  40. return true;
  41. }
  42. public OnPlayerDisconnect(playerid, reason)
  43. {
  44. for(new i; i < 5; i ++) PlayerTextDrawDestroy(playerid, PlayerHpT[playerid][i]);
  45. return true;
  46. }
  47. public OnPlayerConnect(playerid)
  48. {
  49. DrawHP[playerid] = 0;
  50. PlayerHpT[playerid][0] = CreatePlayerTextDraw(playerid, 269.375000, 109.083335, "Ayzek_Clark");
  51. PlayerTextDrawLetterSize(playerid, PlayerHpT[playerid][0], 0.190000, 0.917499);
  52. PlayerTextDrawAlignment(playerid, PlayerHpT[playerid][0], 1);
  53. PlayerTextDrawColor(playerid, PlayerHpT[playerid][0], -1);
  54. PlayerTextDrawSetShadow(playerid, PlayerHpT[playerid][0], 0);
  55. PlayerTextDrawSetOutline(playerid, PlayerHpT[playerid][0], 1);
  56. PlayerTextDrawBackgroundColor(playerid, PlayerHpT[playerid][0], 51);
  57. PlayerTextDrawFont(playerid, PlayerHpT[playerid][0], 1);
  58. PlayerTextDrawSetProportional(playerid, PlayerHpT[playerid][0], 1);
  59.  
  60. PlayerHpT[playerid][1] = CreatePlayerTextDraw(playerid, 266.20, 127.500000, "usebox"); //111
  61. PlayerTextDrawLetterSize(playerid, PlayerHpT[playerid][1], 0.000000, 0.032222);
  62. PlayerTextDrawTextSize(playerid, PlayerHpT[playerid][1], 261.95000, 0.000000);
  63. PlayerTextDrawAlignment(playerid, PlayerHpT[playerid][1], 1);
  64. PlayerTextDrawColor(playerid, PlayerHpT[playerid][1], -1);
  65. PlayerTextDrawUseBox(playerid, PlayerHpT[playerid][1], 1);
  66. PlayerTextDrawBoxColor(playerid, PlayerHpT[playerid][1], COLOR_REDD);
  67. PlayerTextDrawSetShadow(playerid, PlayerHpT[playerid][1], 0);
  68. PlayerTextDrawSetOutline(playerid, PlayerHpT[playerid][1], 0);
  69. PlayerTextDrawFont(playerid, PlayerHpT[playerid][1], 0);
  70. PlayerTextDrawBackgroundColor(playerid, PlayerHpT[playerid][1], 255);
  71.  
  72. PlayerHpT[playerid][2] = CreatePlayerTextDraw(playerid, 266.20, 134.500000, "usebox"); //222
  73. PlayerTextDrawLetterSize(playerid, PlayerHpT[playerid][2], 0.000000, 0.032222);
  74. PlayerTextDrawTextSize(playerid, PlayerHpT[playerid][2], 261.95000, 0.000000);
  75. PlayerTextDrawAlignment(playerid, PlayerHpT[playerid][2], 1);
  76. PlayerTextDrawColor(playerid, PlayerHpT[playerid][2], -1);
  77. PlayerTextDrawUseBox(playerid, PlayerHpT[playerid][2], 1);
  78. PlayerTextDrawBoxColor(playerid, PlayerHpT[playerid][2], COLOR_LIGHTBLUE);
  79. PlayerTextDrawSetShadow(playerid, PlayerHpT[playerid][2], 0);
  80. PlayerTextDrawSetOutline(playerid, PlayerHpT[playerid][2], 0);
  81. PlayerTextDrawFont(playerid, PlayerHpT[playerid][2], 0);
  82. PlayerTextDrawBackgroundColor(playerid, PlayerHpT[playerid][2], 255);
  83.  
  84. PlayerHpT[playerid][3] = CreatePlayerTextDraw(playerid, 305.625000, 124.250000, "100");
  85. PlayerTextDrawLetterSize(playerid, PlayerHpT[playerid][3], 0.196248, 0.649165);
  86. PlayerTextDrawAlignment(playerid, PlayerHpT[playerid][3], 1);
  87. PlayerTextDrawColor(playerid, PlayerHpT[playerid][3], -1);
  88. PlayerTextDrawSetShadow(playerid, PlayerHpT[playerid][3], 0);
  89. PlayerTextDrawSetOutline(playerid, PlayerHpT[playerid][3], 1);
  90. PlayerTextDrawBackgroundColor(playerid, PlayerHpT[playerid][3], 51);
  91. PlayerTextDrawFont(playerid, PlayerHpT[playerid][3], 1);
  92. PlayerTextDrawSetProportional(playerid, PlayerHpT[playerid][3], 1);
  93.  
  94. PlayerHpT[playerid][4] = CreatePlayerTextDraw(playerid, 305.625000, 131.250000, "100");
  95. PlayerTextDrawLetterSize(playerid, PlayerHpT[playerid][4], 0.196248, 0.649165);
  96. PlayerTextDrawAlignment(playerid, PlayerHpT[playerid][4], 1);
  97. PlayerTextDrawColor(playerid, PlayerHpT[playerid][4], -1);
  98. PlayerTextDrawSetShadow(playerid, PlayerHpT[playerid][4], 0);
  99. PlayerTextDrawSetOutline(playerid, PlayerHpT[playerid][4], 1);
  100. PlayerTextDrawBackgroundColor(playerid, PlayerHpT[playerid][4], 51);
  101. PlayerTextDrawFont(playerid, PlayerHpT[playerid][4], 1);
  102. PlayerTextDrawSetProportional(playerid, PlayerHpT[playerid][4], 1);
  103. return true;
  104. }
  105. public Fresh()
  106. {
  107. for(new i = 0; i < MAX_PLAYERS; i++)
  108. {
  109. if(DrawHP[i] > 0)
  110. {
  111. DrawHP[i] --;
  112. if(DrawHP[i] == 1) HideDrawHP(i);
  113. }
  114. }
  115. return true;
  116. }
  117. stock HideDrawHP(playerid)
  118. {
  119. for(new i; i < 3; i ++) TextDrawHideForPlayer(playerid, Health[i]);
  120. for(new i; i < 5; i ++) PlayerTextDrawHide(playerid, PlayerHpT[playerid][i]);
  121. DrawHP[playerid] = 0;
  122. return 1;
  123. }
  124. public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid)
  125. {
  126. new string[128];
  127. if(GetPlayerWeapon(playerid) > 18)
  128. {
  129. new sendername[24];
  130. GetPlayerName(damagedid, sendername, sizeof(sendername));
  131. new oldhp = floatround(Float:amount, floatround_ceil);
  132. new Float:draw;
  133. for(new i; i < 3; i ++) TextDrawShowForPlayer(playerid, Health[i]);
  134. new Float:armour;
  135. GetPlayerArmour(damagedid, armour);
  136. if(armour-oldhp > 0)
  137. {
  138. if(armour-oldhp < 0) format(string, sizeof(string), "0");
  139. else format(string,sizeof(string),"%.0f",armour-oldhp);
  140. PlayerTextDrawSetString(playerid,PlayerHpT[playerid][4], string);
  141. draw = 261.95 + armour-oldhp * 1.00;
  142. if(draw < 261.95) draw = 261.95;
  143. else if(draw > 359.6) draw = 359.6;
  144. else if(draw < 0.0) draw = 0.0;
  145. PlayerTextDrawTextSize(playerid, PlayerHpT[playerid][2], draw, 0.0);
  146. new Float:Healthh;
  147. GetPlayerHealth(damagedid, Healthh);
  148. format(string,sizeof(string),"%.0f",Healthh);
  149. PlayerTextDrawSetString(playerid,PlayerHpT[playerid][3], string);
  150. draw = 261.95 + Healthh * 1.00;
  151. if(draw < 261.95) draw = 261.95;
  152. else if(draw > 359.6) draw = 359.6;
  153. else if(draw < 0.0) draw = 0.0;
  154. PlayerTextDrawTextSize(playerid, PlayerHpT[playerid][1], draw, 0.0);
  155. }
  156. else if(armour-oldhp < 0)
  157. {
  158. new Float:Healthh;
  159. GetPlayerHealth(damagedid, Healthh);
  160. if(Healthh-oldhp < 0) format(string, sizeof(string), "0");
  161. else format(string,sizeof(string),"%.0f",Healthh-oldhp);
  162. PlayerTextDrawSetString(playerid,PlayerHpT[playerid][3], string);
  163. draw = 261.95 + Healthh-oldhp * 1.00;
  164. if(draw < 261.95) draw = 261.95;
  165. else if(draw > 359.6) draw = 359.6;
  166. else if(draw < 0.0) draw = 0.0;
  167. PlayerTextDrawTextSize(playerid, PlayerHpT[playerid][1], draw, 0.0);
  168. format(string, sizeof(string), "0");
  169. PlayerTextDrawSetString(playerid,PlayerHpT[playerid][4], string);
  170. PlayerTextDrawTextSize(playerid, PlayerHpT[playerid][2], 261.95, 0.0);
  171. }
  172. format(string,sizeof(string),"%s - %d",sendername, damagedid);
  173. PlayerTextDrawSetString(playerid,PlayerHpT[playerid][0], string);
  174. for(new i; i < 5; i ++) PlayerTextDrawShow(playerid, PlayerHpT[playerid][i]);
  175. DrawHP[playerid] = 6;
  176. }
  177. return true;
  178. }
Advertisement
Add Comment
Please, Sign In to add comment