HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <fakemeta>
  3. #include <hamsandwich>
  4.  
  5. #define PLUGIN "HeadShot Only"
  6. #define VERSION "1.2a"
  7. #define AUTHOR "Dores"
  8.  
  9. #define USAGE " 1 (on) or 0 (off)"
  10.  
  11. new HamHook:fw_TraceAttack;
  12. new g_iMaxPlayers;
  13. new p_knife, p_team[3];
  14.  
  15. _Un_RegisterHamForwards(on = 0)
  16. {
  17. on ? EnableHamForward(fw_TraceAttack) : DisableHamForward(fw_TraceAttack);
  18. }
  19.  
  20. public plugin_init()
  21. {
  22. register_plugin(PLUGIN, VERSION, AUTHOR)
  23.  
  24. fw_TraceAttack = RegisterHam(Ham_TraceAttack, "player", "Forward_TraceAttack");
  25. register_clcmd("amx_hsonly", "Cmd_ToggleHS", ADMIN_ADMIN, USAGE);
  26. g_iMaxPlayers = get_maxplayers();
  27. p_knife = register_cvar("hsonly_knife", "0");
  28. p_team[1] = register_cvar("hsonly_t", "1");
  29. p_team[2] = register_cvar("hsonly_ct", "1");
  30. }
  31.  
  32. public Forward_TraceAttack(id, attacker, Float:dmg, Float:dir[3], tr, dmgbit)
  33. {
  34. if(id != attacker && get_tr2(tr, TR_iHitgroup) != HIT_HEAD && get_pcvar_num(p_team[get_user_team(id)]))
  35. {
  36. if(1 <= attacker <= g_iMaxPlayers)
  37. {
  38. if(!get_pcvar_num(p_knife) && get_user_weapon(attacker) == CSW_KNIFE)
  39. {
  40. return HAM_IGNORED;
  41. }
  42.  
  43. return HAM_SUPERCEDE;
  44. }
  45. }
  46.  
  47. return HAM_IGNORED;
  48. }
  49.  
  50. public Cmd_ToggleHS(id)
  51. {
  52. if(read_argc() < 2)
  53. {
  54. console_print(id, USAGE);
  55. return PLUGIN_HANDLED;
  56. }
  57.  
  58. static arg[2] ; read_argv(1, arg, charsmax(arg));
  59. static val ; val = str_to_num(arg);
  60. _Un_RegisterHamForwards(val);
  61. client_print(0, print_chat, "A HeadShot mod a szerveren jelenleg: %s!", val ? "ON" : "OFF");
  62. return PLUGIN_HANDLED;
  63. }
  64.  
  65. public client_putinserver(id)
  66. {
  67. set_hudmessage(42, 255, 42, 0.11, 0.22, 0, 6.0, 12.0);
  68. show_hudmessage(id, "A szerveren HeadShot plugin fut. ^nVerzio: %s", VERSION);
  69. }
  70.