Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Potrebni definicii:
- new bool:VoteActive;
- new VoteYes;
- new VoteNo;
- new bool:HasVoted[MAX_PLAYERS];
- new VoteText[128];
- new VoteTimer;
- new VoteEndTick;
- - Skripta -
- CMD:zapocniglasanje(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] < 10) // <-- ????? level ??? ?????
- return SendClientMessage(playerid, -1,
- "{D60000}ERROR:{FFFFFF} Nemate dozvola da startuvate vote.");
- if(VoteActive)
- return SendClientMessage(playerid, -1,
- "{D60000}ERROR:{FFFFFF} Vekje ima aktivno vote.");
- if(sscanf(params, "s[128]", VoteText))
- return SendClientMessage(playerid, -1,
- "{4DC85C}KORISTI:{FFFFFF} /zapocniglasanje [prasanje]");
- VoteActive = true;
- VoteYes = 0;
- VoteNo = 0;
- for(new i = 0; i < MAX_PLAYERS; i++)
- HasVoted[i] = false;
- new msg[200];
- format(msg, sizeof msg,
- "{4DC85C}[FG:RPG]: {FFFFFF}ZAPOCNA GLASANJE: %s | /glasaj da / glasaj ne",
- VoteText);
- SendClientMessageToAll(-1, msg);
- VoteEndTick = GetTickCount() + 300000; // 5 minuti
- VoteTimer = SetTimer("EndVote", 300000, false);
- VoteTimer = SetTimer("EndVote", 300000, false); // 5 minuti = 300000 ms
- return 1;
- }
- CMD:glasaj(playerid, params[])
- {
- if(!VoteActive)
- return SendClientMessage(playerid, -1,
- "{D60000}ERROR:{FFFFFF} Nema aktivno glasanje.");
- if(HasVoted[playerid])
- return SendClientMessage(playerid, -1,
- "{4DC85C}ERROR:{FFFFFF} Vekje glasavte.");
- if(strcmp(params, "da", true) == 0)
- {
- VoteYes++;
- HasVoted[playerid] = true;
- SendClientMessage(playerid, -1,
- "{4DC85C}[FG:RPG]: {FFFFFF}Glasavte DA.");
- }
- else if(strcmp(params, "ne", true) == 0)
- {
- VoteNo++;
- HasVoted[playerid] = true;
- SendClientMessage(playerid, -1,
- "{4DC85C}[FG:RPG]: {FFFFFF}Glasavte NE.");
- }
- else
- return SendClientMessage(playerid, -1,
- "{4DC85C}KORISTI:{FFFFFF} /glasaj da | ne");
- return 1;
- }
- CMD:otkaziglasanje(playerid, params[])
- {
- VoteEndTick = 0;
- if(PlayerInfo[playerid][pAdmin] < 3) // ????? ??? ?????
- return SendClientMessage(playerid, -1,
- "{D60000}ERROR:{FFFFFF} Nemate dozvola da go otkazete glasanjeto.");
- if(!VoteActive)
- return SendClientMessage(playerid, -1,
- "{D60000}ERROR:{FFFFFF} Nema aktivno glasanje.");
- KillTimer(VoteTimer);
- VoteActive = false;
- new adminName[MAX_PLAYER_NAME], msg[144];
- GetPlayerName(playerid, adminName, sizeof(adminName));
- format(msg, sizeof msg,
- "{4DC85C}[FG:RPG]: {FFFFFF}GLASANJETO e otkazan od admin %s.",
- adminName);
- SendClientMessageToAll(-1, msg);
- return 1;
- }
- CMD:preostanatovreme(playerid, params[])
- {
- if(!VoteActive)
- return SendClientMessage(playerid, -1,
- "{D60000}ERROR:{FFFFFF} Nema aktivno glasanje.");
- new remaining = VoteEndTick - GetTickCount();
- if(remaining < 0) remaining = 0;
- new seconds = remaining / 1000;
- new minutes = seconds / 60;
- seconds %= 60;
- new msg[144];
- format(msg, sizeof msg,
- "{4DC85C}[FG:RPG]: {FFFFFF}Preostanato vreme: %d minuti i %d sekundi.",
- minutes, seconds);
- SendClientMessage(playerid, -1, msg);
- return 1;
- }
- - kraj skripta -
- - forward i public -
- forward EndVote();
- public EndVote()
- {
- if(!VoteActive) return 1;
- VoteActive = false;
- new msg[200];
- format(msg, sizeof msg,
- "{4DC85C}[FG:RPG]: {FFFFFF}GLASANJETO ZAVRSHI! | %s | DA: %d | NE: %d",
- VoteText, VoteYes, VoteNo);
- SendClientMessageToAll(-1, msg);
- // reset (optional ama preporaclivo)
- VoteYes = 0;
- VoteNo = 0;
- VoteText[0] = EOS;
- for(new i = 0; i < MAX_PLAYERS; i++)
- HasVoted[i] = false;
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment