Bank Einzahlen und Auszahlen mit Input Dialog 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
  • Hey liebe Community,
    bin grade an einem Bank-System dran und brauch nun hilfe.


    Hier der enum dazu


    enum Sinfo
    {
    Adminlevel,
    Fraktion,
    Leader,
    Member,
    Banned,
    Bank
    }
    new SpielerInfo[MAX_PLAYERS][Sinfo];



    Und die Dialog erstellung :


    ShowPlayerDialog(playerid,DIALOG_EINZAHLUNG,DIALOG_STYLE_INPUT,"Einzahlung","Einzahlen","Abbrechen");



    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(response)// They pressed the first button.
    {
    switch(dialogid)// If you only have one dialog, then this isn't required, but it's neater for when you implement more dialogs.
    {
    case DIALOG_BANK:// Our dialog!
    {
    switch(listitem)// Checking which listitem was selected
    {
    case 0:// The first item listed
    {
    ShowPlayerDialog(playerid,DIALOG_AUSZAHLUNG,DIALOG_STYLE_INPUT,"Auszahlung","Auszahlen","Abbrechen");
    }
    case 1: // The second item listed
    {
    ShowPlayerDialog(playerid,DIALOG_EINZAHLUNG,DIALOG_STYLE_INPUT,"Einzahlung","Einzahlen","Abbrechen");
    }
    case 2: // The third item listed
    {
    new Spielerdatei[64], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,64,"/Accounts/%s.txt",name);
    new string[64];
    format(string,64,"Ihr Kontostand beträgt {6EF83C} %d",dini_Get(Spielerdatei,"Bank"));
    ShowPlayerDialog(playerid,DIALOG_KONTOSTAND,DIALOG_STYLE_MSGBOX,"|~ Kontostand ~|",string,"Ok","Abbrechen");
    }
    }
    }
    }
    }
    if(dialogid == DIALOG_EINZAHLEN)
    {
    return 1; // Hier hab ich keine Ahnung weiter :D
    }
    if(dialogid == DIALOG_AUSZAHLUNG)
    {
    return 1; // hier auch net :D
    }



    Nun hab ich garkeine Ahnung wie ich das was im Input dialog eingegeben wurde Auszahle / oder einzahle


    Bitte um Hilfe :(

  • In OnDialogResponse bekommst du in der Variable inputtext den String, den der Spieler in den Dialog eingegeben hat.
    Aus diesem kannst du einen Integer-Wert machen, mit der Funktion strval().
    Anschließend musst du diesen Wert nur noch dem Konto des Spielers addieren bzw. subtrahieren.

    Professioneller Webentwickler.