nametag.pwn 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. /* BY KOPLAN */
  2. #define NAMETAG_DISTANCE 15.0
  3. new Text3D:NameTag[MAX_PLAYERS];
  4. hook OnPlayerConnect(playerid)
  5. {
  6. NameTag[playerid] = CreateDynamic3DTextLabel("Loading", 0xFFFFFFFF, 0.0, 0.0, 0.10, NAMETAG_DISTANCE, .attachedplayer = playerid, .testlos = 1);
  7. }
  8. hook OnPlayerDisconnect(playerid, reason)
  9. {
  10. if(IsValidDynamic3DTextLabel(NameTag[playerid]))
  11. DestroyDynamic3DTextLabel(NameTag[playerid]);
  12. return 1;
  13. }
  14. stock GetHealthDots(playerid)
  15. {
  16. new dots[64];
  17. new Float:HP;
  18. GetPlayerHealth(playerid, HP);
  19. if(HP == 100)
  20. dots = "||||||||||";
  21. else if(HP >= 90 && HP < 100)
  22. dots = "|||||||||{660000}|";
  23. else if(HP >= 80 && HP < 90)
  24. dots = "||||||||{660000}||";
  25. else if(HP >= 70 && HP < 80)
  26. dots = "|||||||{660000}|||";
  27. else if(HP >= 60 && HP < 70)
  28. dots = "||||||{660000}||||";
  29. else if(HP >= 50 && HP < 60)
  30. dots = "|||||{660000}|||||";
  31. else if(HP >= 40 && HP < 50)
  32. dots = "||||{660000}||||||";
  33. else if(HP >= 30 && HP < 40)
  34. dots = "|||{660000}|||||||";
  35. else if(HP >= 20 && HP < 30)
  36. dots = "||{660000}||||||||";
  37. else if(HP >= 10 && HP < 20)
  38. dots = "|{660000}|||||||||";
  39. else if(HP >= 0 && HP < 10)
  40. dots = "{660000}||||||||||";
  41. return dots;
  42. }
  43. stock GetArmourDots(playerid)
  44. {
  45. new dots[64];
  46. new Float:HP;
  47. GetPlayerArmour(playerid, HP);
  48. if(HP == 100)
  49. dots = "||||||||||";
  50. else if(HP >= 90 && HP < 100)
  51. dots = "|||||||||{666666}|";
  52. else if(HP >= 80 && HP < 90)
  53. dots = "||||||||{666666}||";
  54. else if(HP >= 70 && HP < 80)
  55. dots = "|||||||{666666}|||";
  56. else if(HP >= 60 && HP < 70)
  57. dots = "||||||{666666}||||";
  58. else if(HP >= 50 && HP < 60)
  59. dots = "|||||{666666}|||||";
  60. else if(HP >= 40 && HP < 50)
  61. dots = "||||{666666}||||||";
  62. else if(HP >= 30 && HP < 40)
  63. dots = "|||{666666}|||||||";
  64. else if(HP >= 20 && HP < 30)
  65. dots = "||{666666}||||||||";
  66. else if(HP >= 10 && HP < 20)
  67. dots = "|{666666}|||||||||";
  68. else if(HP >= 0 && HP < 10)
  69. dots = "{666666}||||||||||";
  70. return dots;
  71. }
  72. ptask UpdateNametag[500](playerid)
  73. {
  74. new nametag[128];
  75. if(Player[playerid][AdminLevel] >= 1 && TempVar[playerid][AdminDuty] == true)
  76. {
  77. if(TempVar[playerid][AFKSeconds] >= 2)
  78. {
  79. format(nametag, sizeof(nametag), "{%06x}%s {FFFFFF}(%d) {FF0000}[AFK]\n{FF0000}%s", GetPlayerColor(playerid) >>> 8, GetMasterName(playerid), playerid);
  80. }
  81. else format(nametag, sizeof(nametag), "{%06x}%s {FFFFFF}(%d)\n{FF0000}%s", GetPlayerColor(playerid) >>> 8, GetMasterName(playerid), playerid);
  82. }
  83. else
  84. {
  85. if(TempVar[playerid][AFKSeconds] >= 2)
  86. {
  87. format(nametag, sizeof(nametag), "{%06x}%s {FFFFFF}(%d) {FF0000}[AFK]\n{FF0000}%s", GetPlayerColor(playerid) >>> 8, GetRPName(playerid), playerid);
  88. }
  89. else format(nametag, sizeof(nametag), "{%06x}%s {FFFFFF}(%d)\n{FF0000}%s", GetPlayerColor(playerid) >>> 8, GetRPName(playerid), playerid);
  90. }
  91. UpdateDynamic3DTextLabelText(NameTag[playerid], 0xFFFFFFFF, nametag);
  92. return 1;
  93. }