Szerző Téma: Pálya választás  (Megtekintve 1162 alkalommal)

Nem elérhető BoSS

  • 816
    • Profil megtekintése
Pálya választás
« Dátum: 2014. június 06. - 16:03:15 »
0 Show voters
Sziasztok!
Egy olyan scriptet szeretnék kérni,ami lehetõvé teszi azt,hogy egy rCon admin elõ hívjon egy dialogot és elõ jöjjön azokban a meglévõ mappok neve,és amelyikre több szavazás jön arra a mappra dobja el a playerokat!
Ez a script egy TDM szerverre kéne! Esetleg ha megoldható még úgy kéne,hogy õõõ hogy ha nincs rCon admin akkor is elõjöjjön csak mondjuk 60 percenként automatikusan!
Elõre is köszönöm szépen!

Pálya választás
« Válasz #1 Dátum: 2014. június 09. - 12:24:49 »
0 Show voters
Jobban megfogalmazva le tudnád írni?

Nem elérhető BoSS

  • 816
    • Profil megtekintése
Pálya választás
« Válasz #2 Dátum: 2014. június 06. - 16:03:15 »
0 Show voters
Sziasztok!
Egy olyan scriptet szeretnék kérni,ami lehetõvé teszi azt,hogy egy rCon admin elõ hívjon egy dialogot és elõ jöjjön azokban a meglévõ mappok neve,és amelyikre több szavazás jön arra a mappra dobja el a playerokat!
Ez a script egy TDM szerverre kéne! Esetleg ha megoldható még úgy kéne,hogy õõõ hogy ha nincs rCon admin akkor is elõjöjjön csak mondjuk 60 percenként automatikusan!
Elõre is köszönöm szépen!

Pálya választás
« Válasz #3 Dátum: 2014. június 09. - 12:24:49 »
0 Show voters
Jobban megfogalmazva le tudnád írni?

Nem elérhető BackUP

  • 908
    • Profil megtekintése
Pálya választás
« Válasz #4 Dátum: 2014. június 09. - 16:50:10 »
0 Show voters
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?

Nem elérhető BoSS

  • 816
    • Profil megtekintése
Pálya választás
« Válasz #5 Dátum: 2014. június 15. - 11:51:56 »
0 Show voters
Idézetet írta: BackUP date=1402325410\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"48589\" data-ipsquote-contentclass=\"forums_Topic
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?
 
Szia!
Különbözõ pályákra dobna át,szóval minden pálya máshol helyezkedne el,nem az objectek cserélõdnének. Igazából ezzel a szavazós rendszerrel vagyok gondba a kisebb munkálatokat meg tudom már csinálni benne,ha maga a rendszer ,azaz a nehezebb része meg van írva már. Elõre is köszönöm segítséged!

Nem elérhető BackUP

  • 908
    • Profil megtekintése
Pálya választás
« Válasz #6 Dátum: 2014. június 15. - 13:28:04 »
+1 Show voters
Megírtam neked, már csak tesztelnem kell. Délután kirakom ide
Szerk:
itt van, könnyen testreszabható, fent elég a difiniált dolgokat átírni.
Hogyha 3-nál több/kevesebb pálya közül szeretnél szavaztatni, akkor lent az \'ErtekReset\'-nél is át kell írni, az nem nagy dolog van egy kis leírás róla.
 
#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 szavazn
new 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ó! ))
}
« Utoljára szerkesztve: 2014. június 15. - 14:32:50 írta BackUP »

Nem elérhető BoSS

  • 816
    • Profil megtekintése
Pálya választás
« Válasz #7 Dátum: 2014. június 20. - 15:09:26 »
0 Show voters
Köszönöm szépen,ment a plusz :)

Nem elérhető BackUP

  • 908
    • Profil megtekintése
Pálya választás
« Válasz #8 Dátum: 2014. június 21. - 15:24:12 »
0 Show voters
Zárd a témát

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal