/* POLL SYSTEM BY BRITAS / DEIVIDAS 2012 METØ DARBAS SKYPE: WIKIS666 */ #include #include // #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; }