HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <reapi>
  3.  
  4. new g_msgSyncHud;
  5.  
  6. #define SPECTATOR_CAN_SEE_DMG
  7.  
  8. #if AMXX_VERSION_NUM < 183
  9. new MaxClients;
  10. #endif
  11.  
  12. public plugin_init() {
  13. register_plugin("Simple Damager", "1.0", "mforce"); // thanks to neugomon
  14.  
  15. RegisterHookChain(RG_CBasePlayer_TakeDamage, "CBasePlayer_TakeDamage_Post", true);
  16. g_msgSyncHud = CreateHudSyncObj();
  17. #if AMXX_VERSION_NUM < 183
  18. MaxClients = get_maxplayers();
  19. #endif
  20. }
  21.  
  22. public CBasePlayer_TakeDamage_Post(const id, pevInflictor, attacker, Float:flDamage) {
  23. if(!(1 <= attacker <= MaxClients) || !(1 <= id <= MaxClients) || flDamage < 1.0 || !rg_is_player_can_takedamage(id, attacker))
  24. return;
  25.  
  26. set_hudmessage(.red = 0, .green = 100, .blue = 200, .x = -1.0, .y = 0.55, .holdtime = 2.0, .channel = -1);
  27. ShowSyncHudMsg(attacker, g_msgSyncHud, "%.0f^n", flDamage);
  28.  
  29. set_hudmessage(.red = 255, .green = 0, .blue = 0, .x = 0.45, .y = 0.50, .holdtime = 2.0, .channel = -1);
  30. ShowSyncHudMsg(id, g_msgSyncHud, "%.0f^n", flDamage);
  31.  
  32. #if defined SPECTATOR_CAN_SEE_DMG
  33. static i, players[32], pnum, specid, iuser2;
  34. get_players(players, pnum, "bch");
  35. for(i = 0; i < pnum; i++) {
  36. specid = players[i];
  37. iuser2 = get_entvar(specid, var_iuser2);
  38. if(iuser2 == attacker) {
  39. set_hudmessage(.red = 0, .green = 100, .blue = 200, .x = -1.0, .y = 0.55, .holdtime = 2.0, .channel = -1);
  40. ShowSyncHudMsg(specid, g_msgSyncHud, "%.0f^n", flDamage);
  41. }
  42. else if(iuser2 == id) {
  43. set_hudmessage(.red = 255, .green = 0, .blue = 0, .x = 0.45, .y = 0.50, .holdtime = 2.0, .channel = -1);
  44. ShowSyncHudMsg(specid, g_msgSyncHud, "%.0f^n", flDamage);
  45. }
  46. }
  47. #endif
  48. }