Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- POLL SYSTEM BY BRITAS / DEIVIDAS
- 2012 METØ DARBAS
- SKYPE: WIKIS666
- */
- #include <a_samp>
- #include <zcmd>
- //
- #define RED 0xFF0000FF
- #define YELLOW 0xFFFF00FF
- #define WHITE 0xFFFFFFFF
- #define MAX_QUESTION_SIZE 24
- #define MAX_VARIANT_SIZE 15
- #define GUI_DIALOG_ID 10
- new Text:Textdraw0 [MAX_PLAYERS],
- bool:Balsavo [MAX_PLAYERS];
- enum PollVariables
- {
- yVariantas[MAX_VARIANT_SIZE],
- nVariantas[MAX_VARIANT_SIZE],
- Klausimas[MAX_QUESTION_SIZE],
- bool:Pradeta,
- yKiekis,
- nKiekis,
- BalsuSkaicius,
- Organizatorius
- }
- new Poll[PollVariables];
- public OnFilterScriptInit()
- {
- NullVariables();
- for(new i; i < MAX_PLAYERS; i++)
- {
- Textdraw0[i] = TextDrawCreate(434.000000, 110.000000, " ~y~:: ~w~APKLAUSA ~y~::~n~~n~~r~(?):~w~ Ka jus?~n~~n~~p~(Y)~w~ Nieko.~n~~p~(N)~w~ Eik nx!~n~~n~Spausk ~y~Y~w~ arba ~y~N");
- TextDrawBackgroundColor(Textdraw0[i], 255);
- TextDrawFont(Textdraw0[i], 2);
- TextDrawLetterSize(Textdraw0[i], 0.320000, 0.899999);
- TextDrawColor(Textdraw0[i], -1);
- TextDrawSetOutline(Textdraw0[i], 0);
- TextDrawSetProportional(Textdraw0[i], 1);
- TextDrawSetShadow(Textdraw0[i], 0);
- TextDrawUseBox(Textdraw0[i], 1);
- TextDrawBoxColor(Textdraw0[i], 572661640);
- TextDrawTextSize(Textdraw0[i], 647.000000, 0.000000);
- }
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- COMMAND:start(playerid,params[])
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, RED, "[]: {ffffff}Ði komanda tik RCON administratoriams.");
- new Masyvas[((265 + MAX_VARIANT_SIZE) + MAX_VARIANT_SIZE) + MAX_QUESTION_SIZE];
- format(Masyvas,sizeof Masyvas,"{ffff00}1.{ffffff} Nustatyti apklausos klausimà. ({ff0000}%s{ffffff})\n{ffff00}2.{ffffff} Nustatyti Y variantà. ({ff0000}%s{ffffff})\n{ffff00}3.{ffffff} Nustatyti N variantà. ({ff0000}%s{ffffff})\n{ffff00}4.{ffffff} %s.\n{ffff00}5.{ffffff} Anuliuoti parametrus.",Poll[Klausimas],Poll[yVariantas],Poll[nVariantas],(Poll[Pradeta]) ? ("Nutraukti apklausà") : ("Pradëti apklausà"));
- ShowPlayerDialog(playerid, GUI_DIALOG_ID, DIALOG_STYLE_LIST, "{ffffff}Apklausos nustatymai", Masyvas, "Rinktis", "Uþdaryti");
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case GUI_DIALOG_ID:
- {
- switch(listitem)
- {
- case 0: if(response) return ShowPlayerDialog(playerid, (GUI_DIALOG_ID + 1), DIALOG_STYLE_INPUT, "{ffffff}Apklausos klausimas", "{ffffff}Áveskite norimà apklausos klausimà.\n{ff0000}[!] - Turi bûti neilgesnis kaip 24 simboliai.", "Nustatyti", "Uþdaryti");
- case 1: if(response) return ShowPlayerDialog(playerid, (GUI_DIALOG_ID + 2), DIALOG_STYLE_INPUT, "{ffffff}Y variantas", "{ffffff}Áveskite norimà Y variantà.\n{ff0000}[!] - Turi bûti neilgesnis kaip 15 simboliø.", "Nustatyti", "Uþdaryti");
- case 2: if(response) return ShowPlayerDialog(playerid, (GUI_DIALOG_ID + 3), DIALOG_STYLE_INPUT, "{ffffff}N variantas", "{ffffff}Áveskite norimà N variantà.\n{ff0000}[!] - Turi bûti neilgesnis kaip 15 simboliai.", "Nustatyti", "Uþdaryti");
- case 3:
- {
- if(response)
- {
- new Masyvas[169];
- if(Poll[Pradeta])
- {
- Poll[Pradeta] = false;
- format(Masyvas,135,"{ffff00}Uþ Y variantà prabalsavo: {ff0000}%d {ffff00}þmoniø(-ës).\n{ffff00}Uþ N variantà prabalsavo: {ff0000}%d {ffff00}þmoniø(-ës).",Poll[yKiekis],Poll[nKiekis]);
- ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "{ffffff}Rezultatai", Masyvas, " ", "");
- for(new i; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i)) TextDrawHideForPlayer(i, Textdraw0[i]);
- }
- NullVariables();
- return 1;
- }
- else
- {
- if(!strcmp(Poll[Klausimas],"Nenurodytas",true)) return SendClientMessage(playerid, RED, "[]: {ffffff}Nenurodëte klausimo.");
- else if(!strcmp(Poll[yVariantas],"Nenurodyta",true)) return SendClientMessage(playerid, RED, "[]: {ffffff}Nenurodëte Y varianto.");
- else if(!strcmp(Poll[nVariantas],"Nenurodyta",true)) return SendClientMessage(playerid, RED, "[]: {ffffff}Nenurodëte N varianto.");
- Poll[Pradeta] = true;
- SendClientMessageToAll(WHITE, "[ . ]: {ffff00}Pradëta apklausa, praðome kiekvieno prabalsuoti.");
- Poll[Organizatorius] = playerid;
- for(new i; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- TextDrawShowForPlayer(playerid, Textdraw0[i]);
- format(Masyvas,169," ~y~:: ~w~APKLAUSA ~y~::~n~~n~~r~(?):~w~ %s~n~~n~~p~(Y)~w~ %s~n~~p~(N)~w~ %s~n~~n~Spausk ~y~Y~w~ arba ~y~N",Poll[Klausimas],Poll[yVariantas],Poll[nVariantas]);
- TextDrawSetString(Textdraw0[i], Masyvas);
- Poll[BalsuSkaicius]++;
- }
- }
- }
- }
- }
- case 4:
- {
- if(response)
- {
- NullVariables();
- SendClientMessage(playerid, YELLOW, "[ * ]: {ffffff} Parametrai anuliuoti.");
- }
- }
- }
- }
- case (GUI_DIALOG_ID + 1):
- {
- if(response)
- {
- if(isnull(inputtext)) return ShowPlayerDialog(playerid, (GUI_DIALOG_ID + 1), DIALOG_STYLE_INPUT, "{ffffff}Apklausos klausimas", "{ffffff}Áveskite norimà apklausos klausimà.\n{ff0000}[!] - Turi bûti neilgesnis kaip 24 simboliai.", "Nustatyti", "Uþdaryti");
- else if(strlen(inputtext) > MAX_QUESTION_SIZE) return SendClientMessage(playerid, RED, "[]: {ffffff}Per ilgas klausimas.");
- format(Poll[Klausimas], strlen(inputtext) + 1, "%s", inputtext);
- SendClientMessage(playerid, YELLOW, "[ * ]: {ffffff} Apklausos klausimas nustatytas.");
- }
- }
- case (GUI_DIALOG_ID + 2):
- {
- if(response)
- {
- if(isnull(inputtext)) return ShowPlayerDialog(playerid, (GUI_DIALOG_ID + 2), DIALOG_STYLE_INPUT, "{ffffff}Y variantas", "{ffffff}Áveskite norimà Y variantà.\n{ff0000}[!] - Turi bûti neilgesnis kaip 15 simboliø.", "Nustatyti", "Uþdaryti");
- else if(strlen(inputtext) > MAX_VARIANT_SIZE) return SendClientMessage(playerid, RED, "[]: {ffffff}Per ilgas tekstas.");
- format(Poll[yVariantas], strlen(inputtext) + 1, "%s", inputtext);
- SendClientMessage(playerid, YELLOW, "[ * ]: {ffffff} Y variantas nustatytas.");
- }
- }
- case (GUI_DIALOG_ID + 3):
- {
- if(response)
- {
- if(isnull(inputtext)) return ShowPlayerDialog(playerid, (GUI_DIALOG_ID + 2), DIALOG_STYLE_INPUT, "{ffffff}N variantas", "{ffffff}Áveskite norimà N variantà.\n{ff0000}[!] - Turi bûti neilgesnis kaip 15 simboliø.", "Nustatyti", "Uþdaryti");
- else if(strlen(inputtext) > MAX_VARIANT_SIZE) return SendClientMessage(playerid, RED, "[]: {ffffff}Per ilgas tekstas.");
- format(Poll[nVariantas], strlen(inputtext) + 1, "%s", inputtext);
- SendClientMessage(playerid, YELLOW, "[ * ]: {ffffff} N variantas nustatytas.");
- }
- }
- }
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(Poll[Pradeta])
- {
- if(!Balsavo[playerid])
- {
- if(newkeys == KEY_YES)
- {
- Poll[yKiekis]++;
- Balsavo[playerid] = false;
- if((Poll[yKiekis] + Poll[nKiekis]) == Poll[BalsuSkaicius])
- {
- new Masyvas[135];
- Poll[Pradeta] = false;
- format(Masyvas,135,"{ffff00}Uþ Y variantà prabalsavo: {ff0000}%d {ffff00}þmoniø(-ës).\n{ffff00}Uþ N variantà prabalsavo: {ff0000}%d {ffff00}þmoniø(-ës).",Poll[yKiekis],Poll[nKiekis]);
- ShowPlayerDialog(Poll[Organizatorius], 0, DIALOG_STYLE_MSGBOX, "{ffffff}Rezultatai", Masyvas, " ", "");
- for(new i; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i)) TextDrawHideForPlayer(i, Textdraw0[i]);
- }
- NullVariables();
- }
- }
- else if(newkeys == KEY_NO)
- {
- Poll[nKiekis]++;
- Balsavo[playerid] = false;
- if((Poll[yKiekis] + Poll[nKiekis]) == Poll[BalsuSkaicius])
- {
- new Masyvas[135];
- Poll[Pradeta] = false;
- format(Masyvas,135,"{ffff00}Uþ Y variantà prabalsavo: {ff0000}%d {ffff00}þmoniø(-ës).\n{ffff00}Uþ N variantà prabalsavo: {ff0000}%d {ffff00}þmoniø(-ës).",Poll[yKiekis],Poll[nKiekis]);
- ShowPlayerDialog(Poll[Organizatorius], 0, DIALOG_STYLE_MSGBOX, "{ffffff}Rezultatai", Masyvas, " ", "");
- for(new i; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i)) TextDrawHideForPlayer(i, Textdraw0[i]);
- }
- NullVariables();
- }
- }
- }
- }
- return 1;
- }
- stock NullVariables()
- {
- format(Poll[yVariantas], 12, "Nenustatyta");
- format(Poll[nVariantas], 12, "Nenustatyta");
- format(Poll[Klausimas], 13, "Nenustatytas");
- Poll[Pradeta] = false;
- Poll[yKiekis] = 0;
- Poll[nKiekis] = 0;
- Poll[BalsuSkaicius] = 0;
- Poll[Organizatorius] = INVALID_PLAYER_ID;
- }
Advertisement
Add Comment
Please, Sign In to add comment