[TuT] Vote systém

Sekcia určená pre programovací jazyk pawn.

[TuT] Vote systém

Poslaťod Michael » Sob 11. Jún 2011 20:07:00

Určitě známe takové to "Hráč ... Spustil hlasování ... hlasujte /ano, /ne, Tak si ukážeme jak nato:

Nahoru do modu:
Kód: Vybrať všetko
new ano;
new ne;
new hlas[MAX_PLAYERS];
new hlasovani2;


Mezi vaše forwardy:
Kód: Vybrať všetko
forward hlasovani(playerid);


Do OnPlayerCommandText :
Kód: Vybrať všetko
dcmd(vote,4,cmdtext);
dcmd(ano,3,cmdtext);
dcmd(ne,2,cmdtext);


Někam do modu::
Kód: Vybrať všetko
public hlasovani(playerid)
{
   if(hlasovani2 == 1)
   {
   new konec[128];
   format(konec, sizeof(konec), "Hlasovaní Skončilo : Ano(%d) Ne(%d)",ano,ne);
   SendClientMessageToAll(COLOR_YELLOW,konec);
   hlasovani2 = 0;
   ano = 0;
   ne = 0;
   for(new i=0;i<MAX_PLAYERS;i++)
   hlas[i] = 0;
   }
   return 1;
}


Definujeme příkaz vote (Někam do modu mimo publici):
Kód: Vybrať všetko
dcmd_vote(playerid, params[])
{
    if(!strlen(params)) return SendClientMessage(playerid,COLOR_CERVENA,"Použi: /vote [otazka]");
   else
   {
      if(hlasovani2 == 0)
      {
          new answer[128];
          new Meno[MAX_PLAYER_NAME];
          GetPlayerName(playerid, Meno, MAX_PLAYER_NAME);
          format(answer, sizeof(answer), "Hráč %s začal hlasovaní '' %s '', Hlasujte pomocí /ano /ne.",Meno,params);
          SendClientMessageToAll(COLOR_YELLOW,answer);
          SetTimer("hlasovani",120000,0); //120000-2min...1000-1 sekunda (změnte si)
          hlasovani2 = 1;
      }
      else
      {
         SendClientMessage(playerid,COLOR_CERVENA,"[  !  ] Hlasovaní Už Probíhá [  !  ]");
      }
   }
   return 1;
}


Definujeme příkaz ano (Někam do modu mimo publici):
Kód: Vybrať všetko
dcmd_ano(playerid, params[])
{
   #pragma unused params
   #pragma unused playerid
   if(hlas[playerid] == 1)
   {
       SendClientMessage(playerid,COLOR_CERVENA,"[  !  ] Už Si Hlasoval [  !  ]");
    }
    else
   {
      if(hlasovani2 == 1)
      {
         ano++;
         new ano2[128];
         format(ano2, sizeof(ano2), "Stav Hlasování : Ano(%d) Ne(%d)",ano,ne);
           SendClientMessageToAll(COLOR_YELLOW,ano2);
           hlas[playerid] = 1;
        }
        else
      {
      SendClientMessage(playerid,COLOR_CERVENA,"[  !  ] Žádné Hlasovnání Neprobíhá [  !  ]");
      }
   }
     return 1;
}


Definujeme příkaz ne (Někam do modu mimo publici):
Kód: Vybrať všetko
dcmd_ne(playerid, params[])
{
   #pragma unused params
   #pragma unused playerid
   if(hlas[playerid] == 1)
   {
       SendClientMessage(playerid,COLOR_CERVENA,"[  !  ] Už Si Hlasoval [  !  ]");
    }
   else
   {
      if(hlasovani2 == 1)
      {
         ne++;
         new ne2[128];
         format(ne2, sizeof(ne2), "Stav Hlasování : Ano(%d) Ne(%d)",ano,ne);
           SendClientMessageToAll(COLOR_YELLOW,ne2);
           hlas[playerid] = 1;
        }
        else
      {
      SendClientMessage(playerid,COLOR_CERVENA,"[  !  ] Žádné Hlasovnání Neprobíhá [  !  ]");
      }
   }
     return 1;
}
Obrázok užívateľa
Michael
Senior
Senior
 
Príspevky: 843
Registrovaný: Sob 02. Apr 2011 9:07:35

Späť na Pawn

Kto je on-line

Užívatelia prezerajúci fórum: Žiadny registrovaný užívateľ nie je prítomný a 1 hosť

cron