HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. // Includes
  2. #include <amxmodx>
  3. #include <fakemeta>
  4. #include <hamsandwich>
  5.  
  6. // Plugin info
  7. new const PLUGIN[] = "Kill Icon"
  8. new const VERSION[] = "0.1"
  9. new const AUTHOR[] = "muxaz"
  10.  
  11. #define ICON_HIDE 0
  12. #define ICON_SHOW 1
  13.  
  14. new kill_num[33]
  15.  
  16. new gMsgID
  17.  
  18. // Init
  19. public plugin_init()
  20. {
  21. // Register the plugin
  22. register_plugin(PLUGIN, VERSION, AUTHOR)
  23.  
  24. // Forwards
  25. RegisterHam(Ham_Killed, "player", "ham_PlayerKilled")
  26. RegisterHam(Ham_Spawn, "player", "ham_PlayerSpawned_Post", 1);
  27.  
  28. // Icon
  29. gMsgID = get_user_msgid("StatusIcon")
  30. }
  31.  
  32. public ham_PlayerSpawned_Post(id)
  33. {
  34. if (is_user_connected(id) && is_user_alive(id))
  35. {
  36. ammo_hud(id, 0)
  37. kill_num[id] = 0
  38. ammo_hud(id, 1)
  39. }
  40. else
  41. {
  42. ammo_hud(id, 0)
  43. kill_num[id] = 0
  44. ammo_hud(id, 1)
  45. }
  46. }
  47.  
  48. public ham_PlayerKilled(victim, attacker)
  49. {
  50. static selfkill;
  51.  
  52. selfkill = (victim == attacker || !is_user_connected(attacker)) ? true : false;
  53.  
  54. if (!selfkill)
  55. {
  56. ammo_hud(attacker, 0)
  57. kill_num[attacker] += 1
  58. ammo_hud(attacker, 1)
  59. }
  60. }
  61.  
  62. ammo_hud(id, sw)
  63. {
  64. if(is_user_bot(id)||!is_user_alive(id)||!is_user_connected(id))
  65. return
  66.  
  67. new s_sprite[33]
  68. format(s_sprite, 32, "number_%d", kill_num[id])
  69. if(sw)
  70. {
  71. message_begin( MSG_ONE, gMsgID, {0,0,0}, id )
  72. write_byte( ICON_SHOW ) // status
  73. write_string( s_sprite ) // sprite name
  74. write_byte( 250 ) // red
  75. write_byte( 250 ) // green
  76. write_byte( 250 ) // blue
  77. message_end()
  78. }
  79. else
  80. {
  81. message_begin( MSG_ONE, gMsgID, {0,0,0}, id )
  82. write_byte( ICON_HIDE ) // status
  83. write_string( s_sprite ) // sprite name
  84. write_byte( 250 ) // red
  85. write_byte( 250 ) // green
  86. write_byte( 250 ) // blue
  87. message_end()
  88. }
  89.  
  90. if(kill_num[id] <= 0)
  91. {
  92. message_begin( MSG_ONE, gMsgID, {0,0,0}, id )
  93. write_byte( ICON_HIDE ) // status
  94. write_string( s_sprite ) // sprite name
  95. write_byte( 250 ) // red
  96. write_byte( 250 ) // green
  97. write_byte( 250 ) // blue
  98. message_end()
  99. }
  100. }
  101.