Problem mit Überweisungsdialog

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
  • Moin



    Ich habe mal wieder ein kleines Problem, wo ich eure Hilfe benötige.


    Also, Ich habe vor ein Überweisung Dialog zu erstellen, womit man an andere Spieler Überweisungen tätigen kann.
    Nur will ich es so machen, das man im Dialog die Spieler ID angeben muss an dem Man das Geld überweisen möchte, Und genau da komme ich nicht weiter.
    So wie ich es jetzt habe Funktioniert es nicht wirklich, man kann da jede Spieler ID angeben, und es kommt sofort "Überweisung erfolgreich" ..


    Code für die Spieler ID angabe:


    if(dialogid==DIALOG_UBERWEISUNG)
    {
    if(!response) return ShowPlayerDialog(playerid, DIALOG_ATMDIALOG, DIALOG_STYLE_LIST,"Geldautomat","Einzahlen\nAuszahlen\nUeberweisung\nKontostand","Bestätigen","Abbrechen");
    new Ziel;
    if(sscanf(inputtext,"u",Ziel)) return SendClientMessage(playerid,DUNKELROT,"Ungültige Angabe!");
    {
    SendClientMessage(playerid,GRUN,"Überweisung erfolgreich!");
    ShowPlayerDialog(playerid, DIALOG_ATMDIALOG, DIALOG_STYLE_LIST,"Geldautomat","Einzahlen\nAuszahlen\nUeberweisung\nKontostand","Bestätigen","Abbrechen");
    }
    }



    Ich hoffe ihr könnt mir da weiter helfen..

  • Du musst das so machen, je nachdem er was aufruft dann muss auch das kommen.


    Bei Überweisung wäre es in dem Fall das 3:
    Einzahlen\nAuszahlen\nUeberweisung\nKontostand
    Wenn er das 3 aufruft sollten weite Dialoge kommen zuerst: Betrag dann ID und wenn du das hast dann kommt am Schluss "Erfolgreich überwiesen!"


    Ich hoffe du weißt was ich meine :)
    Mit freundlichen Grüßen
    Frohe Ostern
    duengonalex

  • Du Verstehst wohl nicht ganz, ich Frage mich gerade, wie lese ich die Spieler ID aus an dem das Geld überwiesen werden soll.
    Mir würde ein kleines Beispiel schon dafür reichen ^^



    Grüße

  • Spieler = strval(inputtext);
    new giveplayer[MAX_PLAYER_NAME];
    new s[128];
    GetPlayerName(Spieler, giveplayer, sizeof(giveplayer));
    {
    format(s, sizeof(s), "Wie viel willst du an %s überweisen? Aktueller Kontostand: %d", giveplayer, PlayerInfo[playerid][pAccount]);
    ShowPlayerDialog(playerid, Uberweisen2, DIALOG_STYLE_INPUT, "Überweisung", s, "Überweisen", "Abbrechen");


    Habe jetzt mal einen Teil bei mir rausgenommen, du musst halt einen neue String erstellen. Wenn ich dich richtig verstanden habe.

  • Gut es klappt soweit schon mal alles, nur wie führe ich es jetzt fort?


    Weil er gibt Jetzt die Spieler ID an , und das klappt ja auch aber wie führe ich es jetzt so fort das er nun den Betrag eingibt und es an der angegebenen Spieler ID weiterleitet?



    Hier mal der Code:



    if(dialogid==DIALOG_UBERWEISUNG)
    {
    new giveplayer[MAX_PLAYER_NAME];
    new string[128];
    GetPlayerName(strval(inputtext), giveplayer, sizeof(giveplayer));
    if(!IsPlayerConnected(strval(inputtext)))return SendClientMessage(playerid,ROT," Dieser Spieler ist nicht online");
    if(playerid == strval(inputtext)) return SendClientMessage(playerid,DUNKELROT," Du kannst dir nicht selber Geld überweisen!");
    {
    format(string, sizeof(string), "Überweisung an %s Aktueller Kontostand: %d", giveplayer, GetPVarInt(playerid,"Kontostand"));
    SendClientMessage(playerid, WEIS, string);
    //ShowPlayerDialog(playerid, DIALOG_ATMDIALOG, DIALOG_STYLE_LIST,"Geldautomat","Einzahlen\nAuszahlen\nUeberweisung\nKontostand","Bestätigen","Abbrechen");
    }
    }