HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fun>
  4. #include <engine>
  5.  
  6. #define PLUGIN "Frag Limit"
  7. #define VERSION "1.0"
  8. #define AUTHOR "Sh!nE*"
  9.  
  10. #define MAX_PLAYERS 32
  11.  
  12. new bool:g_restart_attempt[MAX_PLAYERS + 1]
  13. new fraglimit_on, fraglimit
  14. new bool:winnerfound=false
  15.  
  16. public plugin_init() {
  17. register_plugin(PLUGIN, VERSION, AUTHOR)
  18. fraglimit_on = register_cvar("fl_on","1") //frag limit (0)ki, (1)be.alap:1
  19. fraglimit = register_cvar("fl_fraglimit","50") //maximum frag/map. alap:50
  20.  
  21. register_event("DeathMsg","death_a","a")
  22.  
  23. register_event("ResetHUD", "event_hud_reset", "be")
  24. register_clcmd("fullupdate", "clcmd_fullupdate")
  25. register_event("TextMsg", "event_restart_attempt", "a", "2=#Game_will_restart_in")
  26. }
  27.  
  28. public clcmd_fullupdate() {
  29. return PLUGIN_HANDLED_MAIN
  30. }
  31.  
  32. public event_restart_attempt() {
  33. new players[32], num
  34. get_players(players, num, "a")
  35. for (new i; i < num; ++i)
  36. g_restart_attempt[players[i]] = true
  37. }
  38.  
  39. public event_hud_reset(id) {
  40. if (g_restart_attempt[id]) {
  41. g_restart_attempt[id] = false
  42. return
  43. }
  44. event_player_spawn(id)
  45. }
  46.  
  47. public event_player_spawn(id)
  48. {
  49. ShowFragsLeft(id)
  50. }
  51.  
  52. public death_a()
  53. {
  54. if(!get_pcvar_num(fraglimit_on) || winnerfound)
  55. return PLUGIN_HANDLED
  56.  
  57. new players[32], num
  58. get_players(players, num)
  59. new Frags
  60.  
  61. new killer=read_data(1)
  62. new victim=read_data(2)
  63.  
  64. for (new i=0; i<num; i++)
  65. {
  66. Frags = get_user_frags(players[i])
  67.  
  68. if(Frags >= get_pcvar_num(fraglimit))
  69. {
  70. set_hudmessage(255, 0, 0, -1.0, 0.18, 0, 6.0, 5.0, 0.0, 0.0, 3)
  71. show_hudmessage(0, "%s Gyoztes!!!", killer)
  72. set_hudmessage(0, 255, 0, -1.0, 0.39, 0, 6.0, 12.0, 0.0, 0.0, 4)
  73. show_hudmessage(0, "Ez volt az utolso frag %s", victim)
  74.  
  75. winnerfound=true
  76. set_task(5.0,"set_timelimit")
  77. break
  78. }
  79. }
  80. return PLUGIN_CONTINUE
  81. }
  82.  
  83. public set_timelimit()
  84. {
  85. new Float:time=halflife_time() + 60.0 ; set_cvar_num("mp_timelimit",floatround(time/60))
  86. set_hudmessage(255, 0, 0, -1.0, 0.20, 0, 6.0, 5.0)
  87. show_hudmessage(0, "Map valatasig 1 perc.")
  88. }
  89.  
  90. public ShowFragsLeft(id)
  91. {
  92. new Frags = get_user_frags(id)
  93. new Frags_left = get_pcvar_num(fraglimit) - Frags
  94.  
  95. set_hudmessage(255, 0, 0, -1.0, 0.90, 0, 6.0, 5.0)
  96. show_hudmessage(id, "%d frag van vissza", Frags_left)
  97.  
  98. set_task(1.0,"ShowFragsLeft", id)
  99. }
  100. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  101. *{\\ rtf1\\ ansi\\ ansicpg1250\\ deff0\\ deflang1038{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
  102. */
  103.