Abstimmung erstellen - Aber wie?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hi, ich wollte gerade eine Abstimmung erstellen. Aber wie mache ich das eigentlich? Ich möchte das der Spieler voten kann und mit dem Spieler der am meisten Stimmen hat etwas passiert. Hilfe, ich habe eine Denklücke :D


    Ich kann es zwar machen das man dem Spieler eine Stimmme dazu gibt wenn auf ihn gevotet wird aber wie ermittle ich am Ende den Spieler der die meisten Stimmen hat?


    Danke schon jetzt für eure konstruktiven Antworten :p :)

  • Ja genau. Ich wollte gestern eigentlich ein Script veröffentlichen aber das viel dann ins Wasser als ich nicht weiterkam mit der Umfrage.
    Naja wenn ihr mir/uns helfen könntet wäre sehr nett.
    Ich bin erstmal offline, gute nacht allerseits =).

    ...

  • Lag gestern im Bett und dann ist mir die Lösung eingefallen obs funktioniert werde ich auch gleich testen.


    Erstmal hier mein gedachtes:


    if(bisher == tipps[pID]) { format(string,sizeof(string),"%s hat nun gleich viel Stimmen wie %s.",bisherplayer, TheOtherPlayer); SendClientMessageToAll(COLOR_INFO, string); }
    else if(bisher < tipps[pID]) { format(string,sizeof(string),"%s hat nun am meisten Stimmen.",TheOtherPlayer); SendClientMessageToAll(COLOR_INFO, string); bisherplayer = TheOtherPlayer; bisher = tipps[pID];}


    In meinem Fall wie ich es benötige sieht es derzeit so aus:
    new abgegeben[MAX_PLAYERS];
    new bisher = 0;
    new bisherplayer[64];
    new tipps[MAX_PLAYERS] = 0;


    dcmd_mafia_mkill(playerid,params[]) {
    if(Tageszeit == 3 && abgegeben[playerid] == 0 && killzeit == 1)
    {
    new
    pID;
    if(sscanf(params, "d",pID)) {
    SendClientMessage(playerid,COLOR_RED,"Da fehlt doch etwas.");
    SendClientMessage(playerid, COLOR_INFO, "Benutze bitte: /mafia_bkill [ID]");
    return 1;
    }
    if(fraktion[pID] == 0) {
    return SendClientMessage(playerid,COLOR_RED,"Diese ID ist ungültig oder spielt derzeit nicht mit.");
    }
    new
    TheOtherPlayer[MAX_PLAYER_NAME],
    ThePlayer[MAX_PLAYER_NAME],
    string[128];
    GetPlayerName(pID,TheOtherPlayer,sizeof(TheOtherPlayer));
    GetPlayerName(playerid, ThePlayer, sizeof(ThePlayer));
    abgegeben[playerid] = 1;
    tipps[pID] += 1;
    if(bisher == tipps[pID]) { format(string,sizeof(string),"%s hat nun gleich viel Stimmen wie %s.",bisherplayer, TheOtherPlayer); SendClientMessageToAll(COLOR_INFO, string); }
    else if(bisher < tipps[pID]) { format(string,sizeof(string),"%s hat nun am meisten Stimmen.",TheOtherPlayer); SendClientMessageToAll(COLOR_INFO, string); bisherplayer = TheOtherPlayer; bisher = tipps[pID];}
    if(fraktion[pID] == 3)
    {
    format(string,sizeof(string),"%s hat für %s gestimmt.",ThePlayer, TheOtherPlayer);
    SendClientMessage(playerid, COLOR_INFO,string);
    }
    }
    else { SendClientMessage(playerid, COLOR_RED, "Du kannst das jetzt nicht."); }
    return 1;
    }



    Errors gibt es keine. Testen werde ich es wenn mein Script fertig ist.

    ...

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • ne will kein ideen klauer -.- sein


    ich denke mir selbst mal was aus^^