Szerintem érthetõen megfogalmazta.. Bocsi de késõbb talán megírom, most nincs rá idõm. Egyszavazást akar amit rcon admin tud létrehozni(ha nincs rcon admin bizonyos idõközönként jöjjön elõ), és ott lehet szavazni pályákra. Pl.: melyik DM-be dobjon.Nemtudom pontosan, hogy mivel pályát írál úgy akarod e, hogy az objecteket cserélje ugyanazon a helyen, vagy csak más helyre tpzzen?
#include <a_samp>#include <zcmd>#define SZAVAZAS_IDO 15 // ide írd, hogy automatikusan hány percenként induljon az új szavazás.#define SZAVAZO_IDO 3 // ide írd, hogy hány másodpercig tartson a szavazás. (( ha letelt, utána vált pályát ))#define DIALOG_SZAVAZAS 53 // ide írd a dialog ID-jét, hogy a módban lévõ dialogokkal ne keveredjen össze.#define SZAVAZDIALOG ShowPlayerDialog(i, DIALOG_SZAVAZAS, DIALOG_STYLE_LIST, \"Szavazás\",\"Pálya1\\nPálya2\\nPálya3\",\"Szavaz\",\"\") // elég itt átírni a szavazós dialogot!forward szavazas();forward SzavazoIdo();new szavazastimer;new bool:szavazhat[MAX_PLAYERS];new szavazatok[3]; // a négyzetes zárójelbe akkora számot írj, amennyi pályára lehet szavaznnew nyertespalya = 0;public szavazas(){for(new i;i < MAX_PLAYERS; i++){ szavazhat = true; SZAVAZDIALOG;}KillTimer(szavazastimer);SetTimer(\"SzavazoIdo\",1000*SZAVAZO_IDO,false);ErtekReset();}public SzavazoIdo(){SendClientMessageToAll(-1,\"[szavazás] a szavazás ideje letelt!\");szavazastimer = SetTimer(\"szavazas\",1000*60*SZAVAZAS_IDO,false);new str1[15];new str2[15];new str3[15];format(str1,sizeof(str1),\"* Pálya1: %d\",szavazatok[0]);format(str2,sizeof(str2),\"* Pálya2: %d\",szavazatok[1]);format(str3,sizeof(str3),\"* Pálya3: %d\",szavazatok[2]);SendClientMessageToAll(-1, \" ------ SZAVAZATOK ------\");SendClientMessageToAll(-1, str1);SendClientMessageToAll(-1, str2);SendClientMessageToAll(-1, str3);SendClientMessageToAll(-1, \" \");for(new i; i < sizeof(szavazatok); i++){ if(szavazatok > nyertespalya) nyertespalya = i;}for(new ix; ix < MAX_PLAYERS; ix++){szavazhat[ix] = false;}if(nyertespalya == szavazatok[0]){ SendClientMessageToAll(-1,\"Az 1. pálya nyert\"); // ha az 1. pálya a nyertes, akkor ez történjen}else if(nyertespalya == szavazatok[1]){ SendClientMessageToAll(-1,\"A 2. pálya nyert\"); // ha a 2. pálya a nyertes, akkor ez történjen}else if(nyertespalya == szavazatok[2]){ SendClientMessageToAll(-1,\"A 3. pálya nyert\"); // ha a 3. pálya a nyertes, akkor ez történjen}}public OnFilterScriptInit(){print(\" * Szavazás rendszer betöltve!\");szavazastimer = SetTimer(\"szavazas\",1000*60*SZAVAZAS_IDO,false);return 1;}CMD:szavazas(playerid, params[]){if(!IsPlayerAdmin(playerid)) return 0;KillTimer(szavazastimer);for(new i;i < MAX_PLAYERS; i++){ SZAVAZDIALOG; szavazhat = true;}SetTimer(\"SzavazoIdo\",1000*SZAVAZO_IDO,false);ErtekReset();return 1;}public OnFilterScriptExit(){return 1;}public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){switch(dialogid){ case DIALOG_SZAVAZAS: { new name[30]; GetPlayerName(playerid, name, 40); if(listitem == 0) { if(szavazhat[playerid] == false) return SendClientMessage(playerid, -1, \"Elkéstél..\"); new string[128]; format(string, sizeof(string), \"[szavazás] %s a(z) 1. pályára szavazott!\",name); SendClientMessageToAll(-1,string); szavazatok[0] ++; } if(listitem == 1) { if(szavazhat[playerid] == false) return SendClientMessage(playerid, -1, \"Elkéstél..\"); new string[128]; format(string, sizeof(string), \"[szavazás] %s a(z) 2. pályára szavazott!\",name); SendClientMessageToAll(-1,string); szavazatok[1] ++; } if(listitem == 2) { if(szavazhat[playerid] == false) return SendClientMessage(playerid, -1, \"Elkéstél..\"); new string[128]; format(string, sizeof(string), \"[szavazás] %s a(z) 3. pályára szavazott!\",name); SendClientMessageToAll(-1,string); szavazatok[2] ++; } }}return 1;}stock ErtekReset(){szavazatok[0] = 0;szavazatok[1] = 0;szavazatok[2] = 0; // addig folytasd ameddig el nem érsz a szavazatok változó maximális értékéig! (( Figyelem! ha a változónak pl: 5-ös értéke van, akkor 0-4ig számozható! ))}