Bank verbugt.. man kann soviel auszahlen wie man will...

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
  • Guten Tag,
    Ich habe grade mal so als test user auf mein server alles getestet und habe bei der bank was gefunden
    man kann soviel geld auszahlen wie man will der account geht dann ins minus das soll es aber nicht woran liegt das ?



    if(dialogid == BankAuszahlen)
    {
    if(response)
    {
    new betrag = strval(inputtext);
    if(betrag > 0)
    {
    if(GetPlayerMoney(playerid) >= betrag)
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Ungültiger Betrag!");
    format(str, 256, "Kontostand: %d$\nGib den Betrag ein, den du ausgezahlt haben möchtest!", SpielerInfo[playerid][pAccount]);
    ShowPlayerDialog(playerid, ATMAuszahlen, DIALOG_STYLE_INPUT, "Auszahlen", str, "Auszahlen", "Abbrechen");
    }
    else
    {
    SpielerInfo[playerid][pGeld] += betrag;
    SpielerInfo[playerid][pAccount] -= betrag;
    GivePlayerMoney(playerid, betrag);
    format(str, 256, "Alter Kontostand: %d $\nAusgezahlt: %d $\nNeuer Kontostand: %d $", SpielerInfo[playerid][pAccount]+betrag, betrag, SpielerInfo[playerid][pAccount]);
    SendClientMessage(playerid, COLOR_WHITE, str);
    }
    }
    }
    if(!response)
    {
    ShowPlayerDialog(playerid, BankDiag, 2, "Bank", "Einzahlen\nAuszahlen\nÜberweisen\nKontostand", "Auswählen", "Ende");
    }
    }

  • if(GetPlayerMoney(playerid) >= betrag)
    bedeutet: Wenn man mehr Geld dabei hat als am abheben will geht es nicht. Ist wahrscheinlich vom Einzahlen kopiert worden.


    Soll wohl eher lauten:
    if(SpielerInfo[playerid][pAccount] < betrag)



    /e nochmal besser:
    Das betrag < 0 kannst du noch in die Abfrage mit rein packen. Vorher wurde der Dialog ganz beendet wenn etwas kleiner als 0 eingegeben wurde
    if(dialogid == BankAuszahlen)
    {
    if(response)
    {
    new betrag = strval(inputtext);
    if(SpielerInfo[playerid][pAccount] < betrag || betrag <= 0)
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Ungültiger Betrag!");
    format(str, 256, "Kontostand: %d$\nGib den Betrag ein, den du ausgezahlt haben möchtest!", SpielerInfo[playerid][pAccount]);
    ShowPlayerDialog(playerid, ATMAuszahlen, DIALOG_STYLE_INPUT, "Auszahlen", str, "Auszahlen", "Abbrechen");
    }
    else
    {
    SpielerInfo[playerid][pGeld] += betrag;
    SpielerInfo[playerid][pAccount] -= betrag;
    GivePlayerMoney(playerid, betrag);
    format(str, 256, "Alter Kontostand: %d $\nAusgezahlt: %d $\nNeuer Kontostand: %d $", SpielerInfo[playerid][pAccount]+betrag, betrag, SpielerInfo[playerid][pAccount]);
    SendClientMessage(playerid, COLOR_WHITE, str);
    }
    }
    if(!response)
    {
    ShowPlayerDialog(playerid, BankDiag, 2, "Bank", "Einzahlen\nAuszahlen\nÜberweisen\nKontostand", "Auswählen", "Ende");
    }
    }