Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
- | rVote - Voting System |
- | Made By AlExEy/XePloiT |
- | Do What Ever You Want With It!!! |
- | Just, Don't Remove Or Change The Credits, Thanks :) |
- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
- */
- #include <a_samp>
- #include <sscanf2>
- #include <foreach>
- #include <zcmd>
- #define dVote 1200
- #define END_TIME 120000 // 2 Minutes
- #define MAX_ANSWERS 4
- #define White 0xFFFFFFAA
- public OnFilterScriptInit()
- {
- print("\n*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*");
- print("| rVote System Made By AlExEy/XePloiT |");
- print("*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\n");
- return 1;
- }
- new Que[128],vStart=0,qTime,Sst[128],Ans[MAX_ANSWERS][128],FrstAns=1;
- new i=0,pAns[MAX_ANSWERS];
- new IsVoted[MAX_PLAYERS];
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- forward EndTime(playerid);
- public EndTime(playerid)
- {
- new str[128],gmText[128];
- SendClientMessageToAll(White,Que);
- format(gmText,128,Que);
- for(new j=0;j<i;j++)
- {
- format(str,sizeof(str),"[%d] %s.",pAns[j],Ans[j]);
- format(gmText,sizeof(gmText),"%s~n~~b~[~w~%d] ~g~%s",gmText,pAns[j],Ans[j]);
- SendClientMessageToAll(White,str);
- }
- GameTextForAll(gmText,8000,3);
- format(Sst,sizeof(Sst),"");
- foreach(Player,h)
- IsVoted[h]=0;
- for(new h=0;h<MAX_ANSWERS;h++)
- {
- format(Ans[h],128,"");
- pAns[h]=0;
- }
- vStart=0;
- return KillTimer(qTime);
- }
- stock EndVote(playerid)
- {
- for(new j=0;j<i;j++)
- format(Sst,sizeof(Sst),"%s\n%s\n",Sst,Ans[j]);
- new str[128];
- format(str,sizeof(str),"~g~%s~n~~w~Type '~r~/Vote Ans~w~' To Answer~n~You Got ~b~2 Minutes ~w~to Answer",Que);
- GameTextForAll(str,5000,3);
- SendClientMessageToAll(White,Que);
- SendClientMessageToAll(White,"[ 2 Mins To Answer! ]");
- SendClientMessageToAll(White,"type '/Vote Ans' to Answer.");
- return qTime=SetTimerEx("EndTime",END_TIME,false,"i",playerid);
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case dVote:
- {
- if(!response) {vStart=0; return SendClientMessage(playerid,White,"You Canceled");}
- format(Que,sizeof(Que),"%s",inputtext);
- FrstAns=1;
- return ShowPlayerDialog(playerid,dVote+1,DIALOG_STYLE_INPUT,"Answer","Answer 1:","Add","Cancel");
- }
- case dVote+1:
- {
- if(!response && FrstAns==1) {vStart=0; return SendClientMessage(playerid,White,"Vote Canceled.");}
- if(!response || i==MAX_ANSWERS) return EndVote(playerid);
- new answer[128],eAns[128];
- format(answer,128,"Answer %d:",i+2);
- if(FrstAns==1) format(eAns,128,"Answer 1: [ Can't Be EMPTY! ]");
- else format(eAns,128,"Answer %d: [ Can't Be EMPTY! ]",i+1);
- if(!strlen(inputtext))
- if(FrstAns==1) return ShowPlayerDialog(playerid,dVote+1,DIALOG_STYLE_INPUT,"Answer was Empty!",eAns,"Add","Cancel");
- else return ShowPlayerDialog(playerid,dVote+1,DIALOG_STYLE_INPUT,"Answer was Empty!",eAns,"Add","Start Vote");
- format(Ans[i],128,"%s",inputtext);
- i++;
- if((i+1)>MAX_ANSWERS) return EndVote(playerid);
- else FrstAns=0;
- return ShowPlayerDialog(playerid,dVote+1,DIALOG_STYLE_INPUT,"Answer",answer,"Add","Start Vote");
- }
- case dVote+2:
- {
- if(!response) return SendClientMessage(playerid,White,"You Canceled");
- for(new j=0;j<i;j++)
- if(listitem==j)
- pAns[j]++;
- }
- }
- return 0;
- }
- CMD:vote(playerid,params[])
- {
- new cmd[24];
- if(sscanf(params,"s[24]",cmd))
- {
- if(IsPlayerAdmin(playerid))
- {
- SendClientMessage(playerid,White,"/Vote Start - To Start a Vote.");
- SendClientMessage(playerid,White,"/Vote End - To End a Vote.");
- }
- return SendClientMessage(playerid,White,"/Vote Ans - To Answer The Vote.");
- }
- if(!strcmp(cmd,"start",true))
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,White,"You Are Not and Admin!");
- if(vStart==1) return SendClientMessage(playerid,White,"There is Vote Started");
- vStart=1;
- i=0;
- return ShowPlayerDialog(playerid,dVote,DIALOG_STYLE_INPUT,"Choose the Question","The Question:","Ask","Cancel");
- }
- else if(!strcmp(cmd,"ans",true))
- {
- if(vStart==0) return SendClientMessage(playerid,White,"No Vote.");
- if(IsVoted[playerid]==1) return SendClientMessage(playerid,White,"You Already Voted");
- IsVoted[playerid]=1;
- return ShowPlayerDialog(playerid,dVote+2,DIALOG_STYLE_LIST,Que,Sst,"Pick","Cancel");
- }
- else if(!strcmp(cmd,"end",true))
- {
- if(vStart==0) return SendClientMessage(playerid,White,"There is No Vote.");
- return EndTime(playerid);
- }
- if(IsPlayerAdmin(playerid))
- {
- SendClientMessage(playerid,White,"/Vote Start - To Start a Vote.");
- SendClientMessage(playerid,White,"/Vote End - To End a Vote.");
- }
- return SendClientMessage(playerid,White,"/Vote Ans - To Answer The Vote.");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement