Guest User

Untitled

a guest
Jan 3rd, 2026
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.83 KB | None | 0 0
  1. Potrebni definicii:
  2. new bool:VoteActive;
  3. new VoteYes;
  4. new VoteNo;
  5. new bool:HasVoted[MAX_PLAYERS];
  6. new VoteText[128];
  7. new VoteTimer;
  8. new VoteEndTick;
  9.  
  10. - Skripta -
  11.  
  12. CMD:zapocniglasanje(playerid, params[])
  13. {
  14. if(PlayerInfo[playerid][pAdmin] < 10) // <-- ????? level ??? ?????
  15. return SendClientMessage(playerid, -1,
  16. "{D60000}ERROR:{FFFFFF} Nemate dozvola da startuvate vote.");
  17.  
  18. if(VoteActive)
  19. return SendClientMessage(playerid, -1,
  20. "{D60000}ERROR:{FFFFFF} Vekje ima aktivno vote.");
  21.  
  22. if(sscanf(params, "s[128]", VoteText))
  23. return SendClientMessage(playerid, -1,
  24. "{4DC85C}KORISTI:{FFFFFF} /zapocniglasanje [prasanje]");
  25.  
  26. VoteActive = true;
  27. VoteYes = 0;
  28. VoteNo = 0;
  29.  
  30. for(new i = 0; i < MAX_PLAYERS; i++)
  31. HasVoted[i] = false;
  32.  
  33. new msg[200];
  34. format(msg, sizeof msg,
  35. "{4DC85C}[FG:RPG]: {FFFFFF}ZAPOCNA GLASANJE: %s | /glasaj da / glasaj ne",
  36. VoteText);
  37. SendClientMessageToAll(-1, msg);
  38. VoteEndTick = GetTickCount() + 300000; // 5 minuti
  39. VoteTimer = SetTimer("EndVote", 300000, false);
  40. VoteTimer = SetTimer("EndVote", 300000, false); // 5 minuti = 300000 ms
  41. return 1;
  42. }
  43. CMD:glasaj(playerid, params[])
  44. {
  45. if(!VoteActive)
  46. return SendClientMessage(playerid, -1,
  47. "{D60000}ERROR:{FFFFFF} Nema aktivno glasanje.");
  48.  
  49. if(HasVoted[playerid])
  50. return SendClientMessage(playerid, -1,
  51. "{4DC85C}ERROR:{FFFFFF} Vekje glasavte.");
  52.  
  53. if(strcmp(params, "da", true) == 0)
  54. {
  55. VoteYes++;
  56. HasVoted[playerid] = true;
  57. SendClientMessage(playerid, -1,
  58. "{4DC85C}[FG:RPG]: {FFFFFF}Glasavte DA.");
  59. }
  60. else if(strcmp(params, "ne", true) == 0)
  61. {
  62. VoteNo++;
  63. HasVoted[playerid] = true;
  64. SendClientMessage(playerid, -1,
  65. "{4DC85C}[FG:RPG]: {FFFFFF}Glasavte NE.");
  66. }
  67. else
  68. return SendClientMessage(playerid, -1,
  69. "{4DC85C}KORISTI:{FFFFFF} /glasaj da | ne");
  70.  
  71. return 1;
  72. }
  73. CMD:otkaziglasanje(playerid, params[])
  74. {
  75. VoteEndTick = 0;
  76.  
  77. if(PlayerInfo[playerid][pAdmin] < 3) // ????? ??? ?????
  78. return SendClientMessage(playerid, -1,
  79. "{D60000}ERROR:{FFFFFF} Nemate dozvola da go otkazete glasanjeto.");
  80.  
  81. if(!VoteActive)
  82. return SendClientMessage(playerid, -1,
  83. "{D60000}ERROR:{FFFFFF} Nema aktivno glasanje.");
  84.  
  85. KillTimer(VoteTimer);
  86. VoteActive = false;
  87.  
  88. new adminName[MAX_PLAYER_NAME], msg[144];
  89. GetPlayerName(playerid, adminName, sizeof(adminName));
  90.  
  91. format(msg, sizeof msg,
  92. "{4DC85C}[FG:RPG]: {FFFFFF}GLASANJETO e otkazan od admin %s.",
  93. adminName);
  94. SendClientMessageToAll(-1, msg);
  95.  
  96. return 1;
  97. }
  98. CMD:preostanatovreme(playerid, params[])
  99. {
  100. if(!VoteActive)
  101. return SendClientMessage(playerid, -1,
  102. "{D60000}ERROR:{FFFFFF} Nema aktivno glasanje.");
  103.  
  104. new remaining = VoteEndTick - GetTickCount();
  105. if(remaining < 0) remaining = 0;
  106.  
  107. new seconds = remaining / 1000;
  108. new minutes = seconds / 60;
  109. seconds %= 60;
  110.  
  111. new msg[144];
  112. format(msg, sizeof msg,
  113. "{4DC85C}[FG:RPG]: {FFFFFF}Preostanato vreme: %d minuti i %d sekundi.",
  114. minutes, seconds);
  115.  
  116. SendClientMessage(playerid, -1, msg);
  117. return 1;
  118. }
  119.  
  120. - kraj skripta -
  121.  
  122. - forward i public -
  123. forward EndVote();
  124. public EndVote()
  125. {
  126. if(!VoteActive) return 1;
  127.  
  128. VoteActive = false;
  129.  
  130. new msg[200];
  131. format(msg, sizeof msg,
  132. "{4DC85C}[FG:RPG]: {FFFFFF}GLASANJETO ZAVRSHI! | %s | DA: %d | NE: %d",
  133. VoteText, VoteYes, VoteNo);
  134.  
  135. SendClientMessageToAll(-1, msg);
  136.  
  137. // reset (optional ama preporaclivo)
  138. VoteYes = 0;
  139. VoteNo = 0;
  140. VoteText[0] = EOS;
  141.  
  142. for(new i = 0; i < MAX_PLAYERS; i++)
  143. HasVoted[i] = false;
  144.  
  145. return 1;
  146. }
Advertisement
Add Comment
Please, Sign In to add comment