Advertisement
Guest User

Presi - Votesystem by [GSL]Erik

a guest
Sep 27th, 2013
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 5.37 KB | None | 0 0
  1.  
  2.  
  3. #include <a_samp>
  4. #include <ocmd>
  5.  
  6. #define DIALOG_NEWPRESI 1
  7. #define DIALOG_WAHLEN 2
  8. #define DIALOG_PRESI1 3
  9. #define DIALOG_PRESI2 4
  10. #define DIALOG_PRESI3 5
  11.  
  12. #define Blau 0x009BFFFF
  13. #define Rot 0xFF0019FF
  14.  
  15. new vote;
  16. new voted[MAX_PLAYERS];
  17.  
  18. enum EPW
  19. {
  20.     S1,
  21.     S2,
  22.     S3
  23. }
  24. new PW[EPW];
  25.  
  26. enum EPEPW
  27. {
  28.     S1P,
  29.     S2P,
  30.     S3P
  31. }
  32. new PPW[EPW][EPEPW];
  33.  
  34. public OnFilterScriptInit()
  35. {
  36.     print("\n--------------------------------------");
  37.     print("Votesystem by [GSL]Erik");
  38.     print("--------------------------------------\n");
  39.     vote = 0;
  40.     PW[S1] = -1;
  41.     PPW[S1][S1P] = 0;
  42.     PW[S2] = -1;
  43.     PPW[S2][S2P] = 0;
  44.     PW[S3] = -1;
  45.     PPW[S3][S3P] = 0;
  46.     return 1;
  47. }
  48.  
  49. public OnFilterScriptExit()
  50. {
  51.     return 1;
  52. }
  53.  
  54. public OnPlayerConnect(playerid)
  55. {
  56.     SendClientMessage(playerid,Blau,"~Votesystem~ by [GSL]Erik");
  57.     return 1;
  58. }
  59.  
  60. public OnPlayerSpawn(playerid)
  61. {
  62.     if(vote == 1)
  63.     {
  64.         SendClientMessage(playerid,Blau,"**Benutze /vote, um den Presidenten zu wählen!**");
  65.     }
  66.     return 1;
  67. }
  68.  
  69. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  70. {
  71.     if(dialogid == DIALOG_NEWPRESI)
  72.     {
  73.         if(response)
  74.         {
  75.             if(listitem == 0)
  76.             {
  77.                 ShowPlayerDialog(playerid,DIALOG_PRESI1,DIALOG_STYLE_INPUT,"Spieler-ID","Gebe bitte die ID von dem Spieler ein!","Fertig","Abbrechen");
  78.                 return 1;
  79.             }
  80.             if(listitem == 1)
  81.             {
  82.                 ShowPlayerDialog(playerid,DIALOG_PRESI2,DIALOG_STYLE_INPUT,"Spieler-ID","Gebe bitte die ID von dem Spieler ein!","Fertig","Abbrechen");
  83.                 return 1;
  84.             }
  85.             if(listitem == 2)
  86.             {
  87.                 ShowPlayerDialog(playerid,DIALOG_PRESI3,DIALOG_STYLE_INPUT,"Spieler-ID","Gebe bitte die ID von dem Spieler ein!","Fertig","Abbrechen");
  88.                
  89.             }
  90.             return 1;
  91.         }
  92.         return 1;
  93.     }
  94.     if(dialogid == DIALOG_PRESI1)
  95.     {
  96.         if(response)
  97.         {
  98.             PW[S1] = strval(inputtext);
  99.             new string[128];
  100.             format(string,128,"1. ID: %d\n2. ID: %d\n3. ID: %d",PW[S1],PW[S2],PW[S3]);
  101.             ShowPlayerDialog(playerid,DIALOG_NEWPRESI,DIALOG_STYLE_LIST,"Presidenten-Wahl",string,"Bearbeiten","Abbrechen");
  102.             return 1;
  103.         }
  104.         return 1;
  105.     }
  106.     if(dialogid == DIALOG_PRESI2)
  107.     {
  108.         if(response)
  109.         {
  110.             PW[S2] = strval(inputtext);
  111.             new string[128];
  112.             format(string,128,"1. ID: %d\n2. ID: %d\n3. ID: %d",PW[S1],PW[S2],PW[S3]);
  113.             ShowPlayerDialog(playerid,DIALOG_NEWPRESI,DIALOG_STYLE_LIST,"Presidenten-Wahl",string,"Bearbeiten","Abbrechen");
  114.             return 1;
  115.         }
  116.         return 1;
  117.     }
  118.     if(dialogid == DIALOG_PRESI3)
  119.     {
  120.         if(response)
  121.         {
  122.             PW[S3] = strval(inputtext);
  123.             new string[128];
  124.             format(string,128,"1. ID: %d\n2. ID: %d\n3. ID: %d",PW[S1],PW[S2],PW[S3]);
  125.             ShowPlayerDialog(playerid,DIALOG_NEWPRESI,DIALOG_STYLE_LIST,"Presidenten-Wahl",string,"Bearbeiten","Abbrechen");
  126.         }
  127.         return 1;
  128.     }
  129.    
  130.     if(dialogid == DIALOG_WAHLEN)
  131.     {
  132.         if(voted[playerid] == 1)return SendClientMessage(playerid,Rot,"FEHLER: Du hast bereits gevotet!");
  133.         if(response)
  134.         {
  135.             if(listitem == 0)
  136.             {
  137.                 PPW[S1][S1P] ++;
  138.                 voted[playerid] = 1;
  139.                 return 1;
  140.             }
  141.             if(listitem == 1)
  142.             {
  143.                 PPW[S2][S2P] ++;
  144.                 voted[playerid] = 1;
  145.                 return 1;
  146.             }
  147.             if(listitem == 2)
  148.             {
  149.                 PPW[S3][S3P] ++;
  150.                 voted[playerid] = 1;
  151.                 return 1;
  152.             }
  153.             return 1;
  154.         }
  155.         return 1;
  156.     }
  157.     return 0;
  158. }
  159.  
  160. ocmd:vote(playerid)
  161. {
  162.     if(vote == 0)return SendClientMessage(playerid,Rot,"FEHLER: Es liegt keine Presidenten-Wahl vor!");
  163.     new string[256];
  164.     format(string,256,"%s\t%d Votes\n%s\t%d Votes\n%s\t%d Votes",SpielerName(PW[S1]),PPW[S1][S1P],SpielerName(PW[S2]),PPW[S2][S2P],SpielerName(PW[S3]),PPW[S3][S3P]);
  165.     ShowPlayerDialog(playerid,DIALOG_WAHLEN,DIALOG_STYLE_LIST,"Presidenten-Wahl",string,"Wählen","Abbrechen");
  166.     return 1;
  167. }
  168.  
  169. ocmd:newpresi(playerid)
  170. {
  171.     if(!IsPlayerAdmin(playerid))return 1;
  172.     if(vote == 0)
  173.     {
  174.         new string[128];
  175.         format(string,128,"1. ID: %d\n2. ID: %d\n3. ID: %d",PW[S1],PW[S2],PW[S3]);
  176.         ShowPlayerDialog(playerid,DIALOG_NEWPRESI,DIALOG_STYLE_LIST,"Presidenten-Wahl",/*"1. NIEMAND\n2. NIEMAND\n3. NIEMAND"*/string,"Bearbeiten","Abbrechen");
  177.     }
  178.     return 1;
  179. }
  180. ocmd:stopvote(playerid)
  181. {
  182.     if(!IsPlayerAdmin(playerid))return 1;
  183.     if(vote == 0)return SendClientMessage(playerid,Rot,"FEHLER: Die Wahl wurde nicht gestartet!");
  184.     new npresi[32],string[128];
  185.     if(PPW[S1][S1P] > PPW[S2][S2P] && PPW[S1][S1P] > PPW[S3][S3P])
  186.     {
  187.         format(npresi,32,"%s",SpielerName(PW[S1]));
  188.     }
  189.     else if(PPW[S2][S2P] > PPW[S1][S1P] && (PPW[S2][S2P] > PPW[S3][S3P]))
  190.     {
  191.         format(npresi,32,"%s",SpielerName(PW[S2]));
  192.     }
  193.     else
  194.     {
  195.         format(npresi,32,"%s",SpielerName(PW[S3]));
  196.     }
  197.     SendClientMessageToAll(Rot,"Die Wahl ist nun zu Ende!");
  198.     format(string,128,"Der neue President ist... -> %s <- !",npresi);
  199.     SendClientMessageToAll(Blau,string);
  200.     vote = 0;
  201.     PW[S1] = -1;
  202.     PPW[S1][S1P] = 0;
  203.     PW[S2] = -1;
  204.     PPW[S2][S2P] = 0;
  205.     PW[S3] = -1;
  206.     PPW[S3][S3P] = 0;
  207.     for(new i = 0; i<MAX_PLAYERS; i++)voted[i] = 0;
  208.     return 1;
  209. }
  210.  
  211. ocmd:startvote(playerid)
  212. {
  213.     if(!IsPlayerAdmin(playerid))return 1;
  214.     if(vote == 1)return SendClientMessage(playerid,Rot,"FEHLER: Die Wahl hat bereits begonnen!");
  215.     if(PW[S1] == -1 || (PW[S2] == -1 || (PW[S3] == -1)))return SendClientMessage(playerid,Rot,"FEHLER: Bitte lege die Spieler vorher fest!");
  216.     SendClientMessageToAll(Blau,"**Die Presidenten-Wahl wurde gestartet! Tippe /vote, um den neuen Presidenten zu voten!**");
  217.     vote = 1;
  218.     return 1;
  219. }
  220.  
  221. stock SpielerName(playerid)
  222. {
  223.    new name[MAX_PLAYERS];
  224.    GetPlayerName(playerid,name,sizeof(name));
  225.    return name;
  226. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement