TahirUcar

[SA-MP] Vote System

May 1st, 2017
502
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.20 KB | None | 0 0
  1. #include <a_samp>
  2. #include <sscanf2>
  3. #include <zcmd>
  4.  
  5. #define VOTE_TIME    20000 // Oylama bitiş süresi
  6.  
  7. new bool:votestart;
  8.  
  9. new Text:votetext;
  10. new Text:sorutext;
  11.  
  12. new VoteYes;
  13. new VoteNo;
  14.  
  15. new bool:voted[MAX_PLAYERS];
  16.  
  17. public OnFilterScriptInit()
  18. {
  19.     print("Vote system by REFRACTIx");
  20.     votestart = false;
  21.     sorutext = TextDrawCreate(9.000000, 305.000000, "~w~(~r~VOTE~w~) Soru");
  22.     TextDrawBackgroundColor(sorutext, 96);
  23.     TextDrawFont(sorutext, 1);
  24.     TextDrawLetterSize(sorutext, 0.300000, 1.300000);
  25.     TextDrawColor(sorutext, -1);
  26.     TextDrawSetOutline(sorutext, 1);
  27.     TextDrawSetProportional(sorutext, 1);
  28.     TextDrawSetSelectable(sorutext, 0);
  29.  
  30.     votetext = TextDrawCreate(9.000000, 325.000000, "~g~Evet: ~w~0 ~r~Hayir: ~w~0");
  31.     TextDrawBackgroundColor(votetext, 96);
  32.     TextDrawFont(votetext, 1);
  33.     TextDrawLetterSize(votetext, 0.300000, 1.300000);
  34.     TextDrawColor(votetext, -1);
  35.     TextDrawSetOutline(votetext, 1);
  36.     TextDrawSetProportional(votetext, 1);
  37.     TextDrawSetSelectable(votetext, 0);
  38.     return 1;
  39. }
  40. public OnFilterScriptExit()
  41. {
  42.     return 1;
  43. }
  44.  
  45. forward VoteCount();
  46. public VoteCount()
  47. {  
  48.     TextDrawHideForAll(votetext);
  49.     TextDrawHideForAll(sorutext);      
  50.     votestart = false
  51.     new a[128];
  52.     format(a, sizeof(a),  "[{FFAA00}VOTE{FFFFFF}] Oylama sona erdi. | {00FF00}Evet: {FFFFFF}%d - {FF0000}Hayır: {FFFFFF}%d", VoteYes, VoteNo);
  53.     SendClientMessageToAll(-1, a)
  54.     VoteYes = 0;    VoteNo = 0;
  55.     for(new i = 0; i < MAX_PLAYERS; i++)   
  56.     {      
  57.         if(IsPlayerConnected(i))       
  58.         {                  
  59.             voted[i] = false;      
  60.         }  
  61.     }  
  62.     return 1;
  63. }
  64.  
  65.  
  66. public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
  67. {
  68.     if(votestart == false) return 1;
  69.     if(newkeys & KEY_YES && votestart == true && voted[playerid] == false)
  70.     {
  71.         voted[playerid] = true;
  72.         VoteYes ++;
  73.         SendClientMessage(playerid, -1, "Oyunu {00FF00}Evet {FFFFFF}olarak kullandın. Oylamanın bitmesini bekle");
  74.         new result[50];
  75.         format(result,sizeof result,"~g~Evet: ~w~%d ~r~Hayir: ~w~%d",VoteYes,VoteNo);
  76.         TextDrawSetString(votetext,result);
  77.     }
  78.     else if(newkeys & KEY_NO && votestart == true && voted[playerid] == false)
  79.     {
  80.         voted[playerid] = true;
  81.         VoteNo ++;
  82.         SendClientMessage(playerid, -1, "Oyunu {FF0000}Hayır {FFFFFF}olarak kullandın. Oylamanın bitmesini bekle");
  83.         new result[50];
  84.         format(result,sizeof result,"~g~Evet: ~w~%d ~r~Hayir: ~w~%d",VoteYes,VoteNo);
  85.         TextDrawSetString(votetext,result);
  86.     }
  87.     return 1;
  88. }
  89.  
  90. CMD:vote(playerid, params[])
  91. {
  92.     if(votestart == true) return SendClientMessage(playerid,-1,"Bir oylama zaten başlatılmış.");
  93.     new string[64];
  94.     if(sscanf(params,"s[64]",string)) return SendClientMessage(playerid, -1, "/vote [Soru]");
  95.     new a[128+24];
  96.     SendClientMessageToAll(-1, "[{FFAA00}VOTE{FFFFFF}] Bir oylama başlatıldı. Evet demek için {00FF00}'Y' {FFFFFF}tuşuna, Hayır demek için {FF0000}'N' {FFFFFF}tuşuna basın.");
  97.     format(a, sizeof(a), "~w~(~r~VOTE~w~) %s", string);
  98.     TextDrawSetString(sorutext, a);
  99.     TextDrawShowForAll(sorutext);
  100.     TextDrawSetString(votetext,"~g~Evet: ~w~0 ~r~Hayir: ~w~0");
  101.     TextDrawShowForAll(votetext);
  102.     SetTimer("VoteCount",VOTE_TIME,false);
  103.     votestart = true;
  104.     return 1;
  105. }
  106.  
  107. stock GetName(playerid)
  108. {
  109.     new name[24];
  110.     GetPlayerName(playerid,name,24);
  111.     return name;
  112. }
Advertisement
Add Comment
Please, Sign In to add comment