Hallo,
ich habe ein Vote System gemacht bei dem man für Maps Voten kann.
Wenn jetzt ein Spieler zum Beispiel Map 1 Voted wird unten rechts in einem Textdraw in der ersten Zeile der Name der Map "Map 1 - Votes 1" angezeigt.
Wenn jetzt die anderen Spieler Voten, z.B Map 2 mit 3 Stimmen. Wird unter "Map 1- Votes 1" "Map 2 - Votes 3" angezeigt.
Wie kann ich es jetzt machen das wenn die Map 2 mehr stimmen als alle anderen hat, an erste stelle rückt.
Bis jetzt habe ich es so:
new const RaceTracks[][race_tracks] =
{
{"Map 1", 21, 503, -2381.8965, -2198.7551, 33.1811, 297.4381, true, false},
{"Map 2", 6, 411, 1819.2133, -1923.3389, 13.1076, 359.6205, false, true}
};
RaceStats[voting] = true;
for(new i = 0; i < sizeof(RaceTracks); i++)
{
format(temp, sizeof(temp), "%s\n", RaceTracks[i][name]);
strcat(string, temp);
}
for(new i = 0; i < GetMaxPlayers(); i++)
{
ShowPlayerDialog(i, DIALOG_RACE_VOTE, DIALOG_STYLE_LIST, "Vote für eine Rennstrecke", string, "Abstimmen", "Enthalten");
}
if(dialogid == DIALOG_RACE_VOTE)
{
if(response == 0) return 1;
if(response == 1)
{
// Map 1 ist listitem 0, deswegen geht es in die 1. zeile.
new votes[64];
RaceStats[vote][listitem] ++;
format(votes, sizeof(votes), "%s - %i Stimme(n)", RaceTracks[listitem][name], RaceStats[vote][listitem]);
format(Vote_Text[listitem], 10, votes);
TextDrawHideForAll(Vote_TextDraw[listitem]);
TextDrawSetString(Vote_TextDraw[listitem], Vote_Text[listitem]);
TextDrawColor(Vote_TextDraw[listitem], COLOR_WHITE);
TextDrawShowForAll(Vote_TextDraw[listitem]);
return 1;
}
}
Hoffe ihr könnt mir helfen
MFG KleinerTeufel