seroff

Simple Vote RR By Seroff

Jul 21st, 2016
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.74 KB | None | 0 0
  1. #include <amxmodx>
  2.  
  3. new cmd_Vote,bool:start_vote[33]=false,Timer,g_Timer;
  4.  
  5. const KEYSMENU = MENU_KEY_1|MENU_KEY_2
  6.  
  7. public plugin_init(){
  8. register_plugin("Simple Vote RR","1.0","Seroff");
  9. register_clcmd("say /vote_rr","vt_rr");
  10. register_clcmd("say_team /vote_rr","vt_rr");
  11. g_Timer=register_cvar("vote_rr_time","30");
  12. register_menucmd(register_menuid("votemenu",0),KEYSMENU,"menu_vote");
  13. }
  14.  
  15. public client_putinserver(id){
  16. start_vote[id]=false;
  17. }
  18.  
  19. public vt_rr(id){
  20. if(start_vote[id]==false){
  21. cmd_Vote=0;
  22. Timer=get_pcvar_num(g_Timer);
  23. for(new i=1;i<33;i++){
  24. if(is_user_connected(i)){
  25. vote_menu(i);
  26. }
  27. if(i==32){
  28. set_task(Float: get_pcvar_float(g_Timer),"check_vote");
  29. }
  30. }
  31. start_vote[id]=true;
  32. set_task(1.0,"timer_reset",id,_,_,"a",Timer);
  33. }else{
  34. ChatColor(id,"^3Внимание^1: ^4Вы недавно уже вызывали голосование, теперь прейдется ждать (%d сек.)^1!",Timer);
  35. }
  36. }
  37.  
  38. public vote_menu(id){
  39. static menu[512], len;
  40. len = 0;
  41. len += formatex(menu[len], charsmax(menu) - len, "\r Голосование за рестарт раунда^n^n");
  42. len += formatex(menu[len], charsmax(menu) - len, "\y1. \rДа^n");
  43. len += formatex(menu[len], charsmax(menu) - len, "\y2. \wНет^n");
  44. show_menu(id, KEYSMENU, menu, get_pcvar_num(g_Timer), "votemenu");
  45. return 0;
  46. }
  47.  
  48.  
  49. public menu_vote(id, key)
  50. {
  51. switch(key)
  52. {
  53. case 0:
  54. {
  55. cmd_Vote++
  56. }
  57. case 1:
  58. {
  59. menu_cancel(id);
  60. }
  61. }
  62. return 1;
  63. }
  64.  
  65. public check_vote(){
  66. new duser=get_playersnum()/2;
  67. if(cmd_Vote!=0&&cmd_Vote>duser){
  68. ChatColor(0,"^3Внимание^1: ^4Большинством голосов принято было сделать рестарт раунда [%d/%d]^1!",cmd_Vote,get_playersnum());
  69. server_cmd("sv_restart 1");
  70. }else{
  71. ChatColor(0,"^3Внимание^1: ^4Так как мало было голосов, рестрат раунда отменен [%d/%d]^1!",cmd_Vote,get_playersnum());
  72. }
  73. cmd_Vote=0;
  74. }
  75.  
  76. public timer_reset(id){
  77. if(Timer==1){
  78. start_vote[id]=false;
  79. }
  80. Timer--;
  81. }
  82.  
  83. stock ChatColor(const id, const input[], any:...) {
  84. new count = 1, players[32];
  85. static msg[191];
  86. vformat(msg, 190, input, 3);
  87. replace_all(msg, 190, "!g", "^4") // Green Color
  88. replace_all(msg, 190, "!y", "^1") // Default Color
  89. replace_all(msg, 190, "!team", "^3") // Team Color
  90. if (id) players[0] = id; else get_players(players, count, "ch"); {
  91. for (new i = 0; i < count; i++) {
  92. if (is_user_connected(players[i])) {
  93. message_begin(MSG_ONE, get_user_msgid("SayText"), _, players[i])
  94. write_byte(players[i]);
  95. write_string(msg);
  96. message_end();
  97. }
  98. }
  99. }
  100. }
Advertisement
Add Comment
Please, Sign In to add comment