Beiträge von [RSA]AlexandA

    Wenn ihr noch Klammerfehler habt solltet ihr euch mal die ersten 2-3 Seiten durchlesen. Bei mir hat alles wunderbar funktioniert nach diesen 2 Beiträgen.



    PS. Im ersten Beitrag ist es immernoch falsch. Wäre mal nett wenn es ein Admin oder der Ersteller verbessern könnte. :thumbup:

    Hey leute,
    Einige von euch kennen bestimmt den Chat knuddels.de.
    Ich habe letztens überlegt so etwas für Sa:Mp zu scripten mit Knutschflecken und knuddels sammeln etc.. Nur wird das wegen einer mangelnden Anzahl von weiblichen Teilnehmer an Sa:Mp wohl sowieso nie genutzt werden.
    Deswegen habe ich nur einen kleinen Teil von knuddels gemacht, nämlich das Knuddels-Game Mafia.


    Vielleicht kennen von auch dieses Spiel auch noch und weiß worum es in Mafia geht, für die die es nicht wissen:


    Spoiler anzeigen
    In Mafia (Sa:Mp Version) gehört ihr entweder zu den Bürgern oder zu den Mafiosen. Zusätzlich gibt es noch einen Detektiv.
    Jeden Tag werden max. 2 Spieler getötet.
    Einmal am Tag wo jeder eine Stimme abgegeben kann und zusätzlich in der Nacht wo nur die Mafiosen voten können.
    Als Bürger...
    solltet ihr versuchen euch unauffällig den anderen gegenüber zu verhalten und müsst alle Mafiosen töten.
    Als Bürger dürft ihr nur Tagsüber voten.

    Spoiler anzeigen
    Als Detektiv...
    gehört ihr zu den Bürgern. Ihr dürft jede Runde einen Spieler voten und zusätzlich dürft ihr noch einen Spieler checken (dessen wahre Rolle herausfinden).
    Ihr solltet nicht verraten das ihr Detektiv seid denn sonst ist es warscheinlich das ihr in der Nacht dran seid.

    Spoiler anzeigen
    Als Mafiosi...
    dürft ihr jeden Tag 2 mal voten. Einmal am Tag zusammen mit den Bürgern und einmal in der Nacht.
    Der Detektiv kann eure wahre Identität herausfinden.
    Ihr solltet eure wahre Identität vertuschen und euch als Bürger ausgeben.
    Die Mafia gewinnt dann wenn es genauso viele Bürger wie Mafiosen gibt.


    Leider konnte ich das ganze noch nicht testen, da mindestens 3 Spieler benötigt werden. Aber Errors/Warnings gibt es keine.



    In der nächsten Version ist geplant:

    • Ihr erhaltet als Bürger jede Runde Tipps (wie im Original Mafia).
    • Mehr Mafiosen als nur einer (ebenfalls wie im Original Mafia).
    • Punkte vergabe und Speicherung.
    • Ressaucenschonender und verständlicher scripten (Zeilen Kommentieren)


    Download (PWN + AMX)[Rapidshare]
    Download (PWN + AMX) [Breadfish] Noch nicht freigeschaltet.
    Quelltext auf Pastebin.


    Verbesserungsvorschläge und Kritik erwünscht.


    PS. Ich muss zugeben ich habe mir nicht viel Mühe dabei gegeben das Script Ressourcenschonend und verständlich aufzubauen

    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.

    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 =).