Bank System Fehler ?

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 habe ein Problem bei meinem ATM/Bank System.
    Fehler : Abheben wenn man nur 1$ auf der bank Hat.
    Screen :

    Code :

    Spoiler anzeigen
    if(dialogid == DIALOG_ATMMENU)
    {
    if(response)
    {
    switch(listitem)
    {
    case 0:
    {
    // Geld einzahlen.
    ShowPlayerDialog(playerid, DIALOG_ATMEINZAHLEN, DIALOG_STYLE_INPUT, "Geldautomat", "Geben Sie den gewünschten Betrag ein, den sie einzahlen möchten.", "Einzahlen", "Abbrechen");
    }
    case 1:
    {
    // Geld auszahlen.
    ShowPlayerDialog(playerid, DIALOG_ATMAUSZAHLEN, DIALOG_STYLE_INPUT, "Geldautomat", "Geben Sie den gewünschten Betrag ein, den sie auszahlen möchten.", "Auszahlen", "Abbrechen");
    }
    case 2:
    {
    // Kontostand abrufen.
    new str[50];
    format(str, sizeof(str), "Jetziger Kontostand: %i$.", Spieler[playerid][Bank]);
    SendClientMessage(playerid, COLOR_WHITE, str);
    }
    }
    }
    }
    else if(dialogid == DIALOG_ATMEINZAHLEN)
    {
    if(response)
    {
    if(IsNumeric(inputtext) || strlen(inputtext) == 0)
    {
    if(GetPlayerMoney(playerid) > strval(inputtext))
    {
    new str[75];
    GivePlayerMoney(playerid, -strval(inputtext));
    Spieler[playerid][Money] -= strval(inputtext);
    Spieler[playerid][Bank] += strval(inputtext);
    format(str, sizeof(str), "Du hast %i$ eingezahlt. Neuer Kontostand: %i$.", strval(inputtext), Spieler[playerid][Bank]);
    SendClientMessage(playerid, COLOR_WHITE, str);
    }
    else
    {
    SendClientMessage(playerid, COLOR_ORANGE, "Sie haben nicht so viel Geld bei sich.");
    ShowPlayerDialog(playerid, DIALOG_ATMEINZAHLEN, DIALOG_STYLE_INPUT, "Geldautomat", "Geben Sie den gewünschten Betrag ein, den sie einzahlen möchten.", "Einzahlen", "Abbrechen");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_ORANGE, "Sie müssen einen nummerischen Betrag eingeben.");
    ShowPlayerDialog(playerid, DIALOG_ATMEINZAHLEN, DIALOG_STYLE_INPUT, "Geldautomat", "Geben Sie den gewünschten Betrag ein, den sie einzahlen möchten.", "Einzahlen", "Abbrechen");
    }
    }
    }
    else if(dialogid == DIALOG_ATMAUSZAHLEN)
    {
    if(response)
    {
    if(IsNumeric(inputtext) || strlen(inputtext) == 0)
    {
    if(Spieler[playerid][Bank] > strval(inputtext))
    {
    new str[75];
    GivePlayerMoney(playerid, strval(inputtext));
    Spieler[playerid][Money] += strval(inputtext);
    Spieler[playerid][Bank] -= strval(inputtext);
    format(str, sizeof(str), "Du hast dir %i$ auszahlen lassen. Neuer Kontostand: %i$.", strval(inputtext), Spieler[playerid][Bank]);
    SendClientMessage(playerid, COLOR_WHITE, str);
    }
    else
    {
    SendClientMessage(playerid, COLOR_ORANGE, "Sie haben nicht so viel Geld auf ihrem Konto.");
    ShowPlayerDialog(playerid, DIALOG_ATMAUSZAHLEN, DIALOG_STYLE_INPUT, "Geldautomat", "Geben Sie den gewünschten Betrag ein, den sie auszahlen möchten.", "Auszahlen", "Abbrechen");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_ORANGE, "Sie müssen einen nummerischen Betrag eingeben.");
    ShowPlayerDialog(playerid, DIALOG_ATMAUSZAHLEN, DIALOG_STYLE_INPUT, "Geldautomat", "Geben Sie den gewünschten Betrag ein, den sie auszahlen möchten.", "Auszahlen", "Abbrechen");
    }
    }
    }

  • if(Spieler[playerid][Bank] >= strval(inputtext))



    Du hast das "=" vergessen .. in dem Falle fragst du einfach nur ab ob das Bankguthaben größer als der eingegebene Betrag ist, wenn du 1$ auf dem Konto hast und willst 1$ abheben, wird also die Fehlermeldung ausgegeben ;)


    Mfg