Advertisement
Guest User

Untitled

a guest
Aug 26th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | None | 0 0
  1. /* Plugin generated by AMXX-Studio */
  2.  
  3. #include <amxmodx>
  4. #include <amxmisc>
  5. #include <hamsandwich>
  6. #include <fakemeta_util>
  7. #include < fakemeta >
  8. #include <fun>
  9.  
  10. #define PLUGIN "New Plug-In"
  11. #define VERSION "1.0"
  12. #define AUTHOR "author"
  13.  
  14. #define OFFSET_TEAM 114
  15. #define fm_get_user_team(%1) get_pdata_int(%1,OFFSET_TEAM)
  16. #define fm_set_user_team(%1,%2) set_pdata_int(%1,OFFSET_TEAM,%2)
  17.  
  18.  
  19. new gMaxPlayers;
  20.  
  21. public plugin_init() {
  22. register_plugin(PLUGIN, VERSION, AUTHOR)
  23.  
  24. RegisterHam(Ham_TraceAttack, "player", "TraceAttack")
  25. RegisterHam(Ham_TakeDamage, "player", "TakeDamage")
  26. RegisterHam(Ham_Killed, "player", "Killed")
  27. RegisterHam( Ham_Killed, "player", "KilledNew", 1 );
  28.  
  29. gMaxPlayers = get_maxplayers( );
  30. }
  31.  
  32.  
  33. public TraceAttack(victim, attacker, Float:damage, Float:direction[3], tracehandle, damagebits)
  34. {
  35. if( victim != attacker && (1 <= attacker <= gMaxPlayers) )
  36. {
  37. new vteam = fm_get_user_team(victim)
  38. if( vteam == fm_get_user_team(attacker) )
  39. {
  40. fm_set_user_team(victim, vteam == 1 ? 2 : 1)
  41. ExecuteHamB(Ham_TraceAttack, victim, attacker, damage, direction, tracehandle, damagebits)
  42. fm_set_user_team(victim, vteam)
  43. return HAM_SUPERCEDE
  44. }
  45. }
  46. return HAM_IGNORED
  47. }
  48.  
  49. public TakeDamage(victim, idinflictor, attacker, Float:damage, damagebits)
  50. {
  51. if( victim != attacker && (1 <= attacker <= gMaxPlayers) )
  52. {
  53. new vteam = fm_get_user_team(victim)
  54. if( vteam == fm_get_user_team(attacker) )
  55. {
  56. fm_set_user_team(victim, vteam == 1 ? 2 : 1)
  57. ExecuteHamB(Ham_TakeDamage, victim, idinflictor, attacker, damage, damagebits)
  58. fm_set_user_team(victim, vteam)
  59. return HAM_SUPERCEDE
  60. }
  61. }
  62. return HAM_IGNORED
  63. }
  64.  
  65. public Killed(victim, attacker, shouldgib)
  66. {
  67. if( victim != attacker && (1 <= attacker <= gMaxPlayers) )
  68. {
  69. new vteam = fm_get_user_team(victim)
  70. if( vteam == fm_get_user_team(attacker) )
  71. {
  72. fm_set_user_team(victim, vteam == 1 ? 2 : 1)
  73. ExecuteHamB(Ham_Killed, victim, attacker, shouldgib)
  74. fm_set_user_team(victim, vteam)
  75. return HAM_SUPERCEDE
  76. }
  77. }
  78. return HAM_IGNORED
  79. }
  80.  
  81. public KilledNew(Victim, Attacker, shouldgib)
  82. {
  83. respawn(Victim)
  84. return HAM_IGNORED;
  85. }
  86.  
  87.  
  88. public client_connect(id)
  89. {
  90. set_task(5.0,"respawn",id)
  91. }
  92. public client_disconnect(id)
  93. {
  94. remove_task(id)
  95. }
  96. public respawn(id)
  97. {
  98. fm_DispatchSpawn( id );
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement