HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. /*********************************************************
  2. * Made by
  3. *
  4. * RRRRR AAA PPPPP AAA RRRRR AAA 1 33333
  5. * R R A A P P A A R R A A 11 3
  6. * RRRRR A A PPPPP A A RRRRR A A 1 1 3
  7. * RR AaaaA P AaaaA RR AaaaA 1 3333
  8. * R R A A P A A R R A A 1 3
  9. * R R A A P A A R R A A 1 33333
  10. *
  11. **********************************************************
  12. * AMX MOD X script. *
  13. * You can modify the code, but DO NOT modify the author! *
  14. **********************************************************
  15. *
  16. * Special Tanks to:
  17. * =================
  18. * DaRk_StyLe - Idea for set grenade status colors by cvars
  19. *********************************************************/
  20.  
  21. #include <amxmodx>
  22. #include <zombieplague>
  23.  
  24. #define VERSION "1.2"
  25.  
  26. new cvar_status, cvar_fire_icon, cvar_fire_color, cvar_frost_icon, cvar_frost_color, cvar_flare_icon, cvar_flare_color,
  27. cvar_infect_icon, cvar_infect_color
  28.  
  29. new g_StatusIcon
  30. new g_GrenadeIcon[33][32]
  31.  
  32. public plugin_init() {
  33. register_plugin("[ZP] Addon: Grenade Status", VERSION, "rapara13")
  34. register_cvar("zp_grenade_status", VERSION, FCVAR_SERVER|FCVAR_SPONLY)
  35.  
  36. // Nade Status Cvar
  37. cvar_status = register_cvar("zp_nadestatus_icon","1") // [0=Hide | 1=Show | 2=Flash (Don't work with red color)]
  38.  
  39. // Fire Grenade Cvars
  40. cvar_fire_icon = register_cvar("zp_firenade_icon","1") // [0=Disable | 1=Enable]
  41. cvar_fire_color = register_cvar("zp_firenade_color","255 0 0") // Color of Fire Nade in RGB
  42.  
  43. // Frost Grenade Cvars
  44. cvar_frost_icon = register_cvar("zp_frostnade_icon","1") // [0=Disable | 1=Enable]
  45. cvar_frost_color = register_cvar("zp_frostnade_color","100 149 237") // Color of Frost Nade in RGB
  46.  
  47. // Flare Grenade Cvars
  48. cvar_flare_icon = register_cvar("zp_flarenade_icon","1") // [0=Disable | 1=Enable]
  49. cvar_flare_color = register_cvar("zp_flarenade_color","255 255 255") // Color of Flare Nade in RGB
  50.  
  51. // Infect Grenade Cvars
  52. cvar_infect_icon = register_cvar("zp_infectnade_icon","1") // [0=Disable | 1=Enable]
  53. cvar_infect_color = register_cvar("zp_infectnade_color","0 255 0") // Color of Infect Nade in RGB
  54.  
  55. register_event("CurWeapon", "GrenadeIcon", "be", "1=1")
  56. register_event("DeathMsg", "DeathEvent", "a")
  57.  
  58. g_StatusIcon = get_user_msgid("StatusIcon")
  59. }
  60.  
  61. public GrenadeIcon(id) {
  62. RemoveGrenadeIcon(id)
  63.  
  64. if(is_user_bot(id))
  65. return
  66.  
  67. static NadeType, GrenadeSprite[16], Color[17], Red[5], Green[5], Blue[5]
  68. NadeType = get_user_weapon(id)
  69.  
  70. switch(NadeType) {
  71. case CSW_HEGRENADE: // Fire Nade / Infect Nade
  72. {
  73. if(!zp_get_user_zombie(id)) {
  74. if(!get_pcvar_num(cvar_fire_icon))
  75. return
  76.  
  77. GrenadeSprite = "dmg_heat"
  78. get_pcvar_string(cvar_fire_color, Color, charsmax(Color))
  79.  
  80. } else {
  81. if(!get_pcvar_num(cvar_infect_icon))
  82. return
  83.  
  84. GrenadeSprite = "dmg_bio"
  85. get_pcvar_string(cvar_infect_color, Color, charsmax(Color))
  86. }
  87. }
  88. case CSW_FLASHBANG: // Frost Nade
  89. {
  90. if(!get_pcvar_num(cvar_frost_icon))
  91. return
  92.  
  93. GrenadeSprite = "dmg_cold"
  94. get_pcvar_string(cvar_frost_color, Color, charsmax(Color))
  95. }
  96. case CSW_SMOKEGRENADE: // Flare Nade
  97. {
  98. if(!get_pcvar_num(cvar_flare_icon))
  99. return
  100.  
  101. GrenadeSprite = "dmg_shock"
  102. get_pcvar_string(cvar_flare_color, Color, charsmax(Color))
  103. }
  104. default:
  105. return
  106. }
  107. parse(Color,Red,charsmax(Red),Green,charsmax(Green),Blue,charsmax(Blue))
  108. g_GrenadeIcon[id] = GrenadeSprite
  109.  
  110. // Show Grenade Icons
  111. message_begin(MSG_ONE,g_StatusIcon,{0,0,0},id)
  112. write_byte(get_pcvar_num(cvar_status)) // Status [0=Hide, 1=Show, 2=Flash]
  113. write_string(g_GrenadeIcon[id]) // Sprite Name
  114. write_byte(str_to_num(Red)) // Red
  115. write_byte(str_to_num(Green)) // Green
  116. write_byte(str_to_num(Blue)) // Blue
  117. message_end()
  118.  
  119. return
  120. }
  121.  
  122. public RemoveGrenadeIcon(id) {
  123. // Remove Grenade Icons
  124. message_begin(MSG_ONE,g_StatusIcon,{0,0,0},id)
  125. write_byte(0) // Status [0=Hide, 1=Show, 2=Flash]
  126. write_string(g_GrenadeIcon[id]) // Sprite Name
  127. message_end()
  128. }
  129.  
  130. public DeathEvent() {
  131. new id = read_data(2)
  132.  
  133. if(is_user_bot(id))
  134. RemoveGrenadeIcon(id)
  135. }
  136.