Sziasztok!
Elkezdtem írni egy szavazós dialogot de most elakadtam ott hogy hogyan lehet eldönteni hogy melyik változó kapott több szavazatot.
Valaki tudna segíteni?
#include <a_samp>
#include <zcmd>
new map1;
new map2;
new map3;
new map4;
new map5;
forward Eredmeny();
CMD:test(playerid, params[])
{
ShowPlayerDialog(playerid, 500, DIALOG_STYLE_LIST, \"Szavazás\", \"Map 1\\nMap 2\\nMap 3\\nMap 4\\n Map 5\", \"Szavazás\", \"\");
SetTimer(\"Eredmeny\", 10000, false);
return 1;
}
public Eredmeny()
{
//Nyertes változót ide kéne írni
map1 = 0;
map2 = 0;
map3 = 0;
map4 = 0;
map5 = 0;
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 500)
{
if(response)
{
if(listitem == 0)
{
map1++;
SendClientMessage(playerid, -1, \"Sikeresen leadtad szavazatodat.\");
}
if(listitem == 1)
{
map2++;
SendClientMessage(playerid, -1, \"Sikeresen leadtad szavazatodat.\");
}
if(listitem == 2)
{
map3++;
SendClientMessage(playerid, -1, \"Sikeresen leadtad szavazatodat.\");
}
if(listitem == 3)
{
map4++;
SendClientMessage(playerid, -1, \"Sikeresen leadtad szavazatodat.\");
}
if(listitem == 4)
{
map5++;
SendClientMessage(playerid, -1, \"Sikeresen leadtad szavazatodat.\");
}
}
}
return 1;
}
Pár nyelvben erre vannak függvények,nem tudom,hogy pawn-ban van-e,ha nincs akkor egy if-es szerkezetben meg lehet oldani.
Írok egy példát 3 esetére(ilyenkor alkalmazni kell egy segédváltozót):
if(a<b)
{
d=b;
}
else
{
d=a;
}
if(d<c)
{
d=c;
}
else
{
d=d;
}
Persze itt még meg lehet csinálni,hogy ha egyenlő stb.[/code]
itt írom meg nem pawnba
elősszöris tömbböt használj!
new map[5]; az elejére a 5 sor helyett..!
és minden egyes ilyen map változónál írd át erre a formátumra: map[x-1] tehát ha ottvan a map5, akkor abból legyen map[4], stb. :)
new winid = -1;
for(new x; x < sizeof(map); x++) {
if(winid == -1) winid = x;
else {
if(map[winid] < map
}
}
printf(\"A következő ID-jű map indul el: %i\", map[winid]);