GUI Banksystem

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
  • Hai,


    ich habe vor ein GUI Menü zu erstellen wo man auswählen kann ob einzahlen/auszahlen.
    Ich bin soweit gekommen den command festzulegen und ein GUI List Menü zu erstellen wo die Punkte drinn stehen.
    Diese Punkte habe ich dann so verlinkt das wenn man draufklickt sich ein Input Fenster erscheint aber wie gebe ich
    diesem Input Menü die Funktion das was eingeben wird auf das Konto einzuzahlen/auszuzahlen.
    Also kurz wie gebe ich den Input Dingens eine Funktion bzw. wie ist die funktion dafür geld auf das konto draufzuhauen bzw. Runterzuziehen ?


    Mfg Chicken

  • if(response) {
    if(dialogid==4) {
    new
    Betrag = strval(inputtext),
    Geld = GetPlayerMoney(playerid);
    if(Betrag<0) return SendClientMessage(playerid,COLOR_RED,"Du kannst keinen Betrag in Minus angeben");
    if(Betrag > Geld) return SendClientMessage(playerid,COLOR_RED,"Sie haben nicht genug Geld dabei");
    Spieler[playerid][pBank] = Spieler[playerid][pBank] + Betrag;
    GivePlayerMoney(playerid,-Betrag);
    return 1;
    }
    }
    else { {
    if(dialogid==4) return SendClientMessage(playerid,COLOR_RED,"Wir wünschen ihnen noch einen angenehmen Tag");
    }
    }
    if(response) {
    if(dialogid==5) {
    if(strval(inputtext)<0) return SendClientMessage(playerid,COLOR_RED,"Du kannst keinen Betrag in Minus angeben");
    if(strval(inputtext) > Spieler[playerid][pBank]) return SendClientMessage(playerid,COLOR_RED,"Der Betrag überschreitet ihr Kontoguthaben");
    new
    Betrag = strval(inputtext);
    Spieler[playerid][pBank] = Spieler[playerid][pBank] - Betrag;
    GivePlayerMoney(playerid,Betrag);
    return 1;
    }
    }


    else { {
    if(dialogid==5) return SendClientMessage(playerid,COLOR_RED,"Wir wünschen ihnen noch einen angenehmen Tag");
    }
    }
    und beim disconnecten natürlich die variable pBank speichern

  • #define Bandialog
    // ....
    ShowPlayerDialog(playerid, Bankdialog, DIALOG_STYLE_INPUT, "Einzahlung", "Gebe hier die Summe ein", "Einzahlen", "Abbrechen");
    // ....


    public OnPlayerDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    switch(dialogid)
    {
    case Bankdialog:
    {
    //speichermethode wählen. Und der wert von inputtext ist dan strval(inputtext);
    }
    }
    return 1;
    }

  • Also bei mir klappts einwandfrei.
    Wie kann ich das aber machen das wenn ich was eingezahlt/ausgezahlt habe sich ne msgbox öffnet wo drinns steht "Du hast erfolgreich XXXX Dollar eingezahlt" zur Not geht das auch als nur normals Sendclientmessage. Wäre dankbar ;)

  • Ganz einfach, so:
    #define msgbox
    new string[37];
    format(string,sizeof(string),"Du hast erfolgreich %d eingezahlt",strval(inputtext));
    ShowPlayerDialog(playerid,msgbox,DIALOG_STYLE_MSGBOX,"Einzahlung",string,"Bestätigen",Abbrechen");

  • So,
    #define Bandialog
    #define msgbox
    // ....
    ShowPlayerDialog(playerid, Bankdialog, DIALOG_STYLE_INPUT, "Einzahlung", "Gebe hier die Summe ein", "Einzahlen", "Abbrechen");
    // ....


    public OnPlayerDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    switch(dialogid)
    {
    case Bankdialog:
    {
    if(response) /* Button 1 */
    {
    //speichermethode wählen. Und der wert von inputtext ist dan strval(inputtext);
    new string[37];
    format(string,sizeof(string),"Du hast erfolgreich %d eingezahlt",strval(inputtext));
    ShowPlayerDialog(playerid,msgbox,DIALOG_STYLE_MSGBOX,"Einzahlung",string,"Bestätigen",Abbrechen");
    }
    else /* Button 2 */
    {


    }
    }
    }
    return 1;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • :thumbup::thumbup::thumbup::thumbup:


    Es funktioniert einwandfrei. Habe es auch hinbekommen noch eine Kontostand abfrage zumachen :D


    Hat jemand von euch ne Ahnung wie man das mit überweisungen weil da sitze ich schon seit paar stunden drann bekomme es aba net hin :(
    Vlt. weiß jemand von euch was ;)


    MFg Chicken

  • Einfach 2 Inputboxen.
    In inputbox 1 muss der spieler die ID des spielers eintragen den er was überweisen will.
    Diesen wert speicherst du in eine globale variable. z.B. ueberweisung;
    So speicherst du es ueberweisung = strval(inputtext); Nun erscheint die 2 Inputbox in der er die summe eingibt.
    Wen die summe nicht größer und nicht kleiner ist so gebe ueberweisung das geld.


    Hoffe du hast es verstanden.
    Kann funktionieren muss aber nicht!

  • ich bekommst net hin :(


    if(response) {
    if(dialogid==UID) {
    new
    ID = strval(inputtext),
    ShowPlayerDialog(playerid,UBetrag,DIALOG_STYLE_INPUT,"Banküberweisung","Wieviel Geld möchtest du überweisen?", "Bestätigen", "Abbruch");
    return 1;
    }
    }


    if(response) {
    if(dialogid==UBetrag) {
    new
    pAccount = strval(inputtext),
    SpielerInfo[ID][pAccount] += strval(inputtext);
    return 1;
    }
    }


    Einmal editiert, zuletzt von Romanov ()