Frage ATM system

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
  • :D jo mache ich


    :)


    //===== BANK =====//
    if(dialogid == BANK)
    {
    if(response)
    {
    if(listitem == 0)
    {
    new bank = PlayerInfo[playerid][pAccount];
    new s[128];
    format(s,sizeof(s),"Du hast %d$ auf dein Bankkonto",bank);
    ShowPlayerDialog(playerid,Kontostand,DIALOG_STYLE_MSGBOX,"Kontostand",s,"Zurück","Beenden");
    }
    if(listitem == 1)
    {
    new bank = PlayerInfo[playerid][pAccount];
    new s[128];
    format(s,sizeof(s),"Kontostand: %d$\nWie viel möchtest du auf dein Konto einzahlen?",bank);
    ShowPlayerDialog(playerid,Einzahlen,DIALOG_STYLE_INPUT,"Einzahlen",s,"Einzahlen","Zurück");
    }
    if(listitem == 2)
    {
    new bank = PlayerInfo[playerid][pAccount];
    new s[128];
    format(s, sizeof(s), "Kontostand: %d$\nWie viel möchstes du von deinem Konto abheben?", bank);
    ShowPlayerDialog(playerid,Auszahlen, DIALOG_STYLE_INPUT,"Abheben", s, "Abheben", "Zurück");
    }
    if(listitem == 3)
    {
    if(PlayerInfo[playerid][pLevel] < 3)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Das kann man erst ab Level 3!");
    return 1;
    }
    new bank = PlayerInfo[playerid][pAccount];
    new s[128];
    format(s, sizeof(s), "Kontostand: %d$\nGebe bitte die ID des Users an, an den du Überweisen willst.", bank);
    ShowPlayerDialog(playerid,Uberweisen, DIALOG_STYLE_INPUT, "Bank Überweisung", s, "Weiter", "Zurück");
    }
    }
    }
    if(dialogid == Kontostand)
    {
    if(response)
    {
    ShowPlayerDialog(playerid, BANK, DIALOG_STYLE_LIST, "Menü", "Kontostand\nEinzahlen\nAbheben\nÜberweisen", "Auswählen", "Beenden");
    }
    }
    if(dialogid == Einzahlen)
    {
    if(response)
    {
    if(IsNumeric(inputtext))
    {
    new val = strval(inputtext);
    if(GetPlayerMoney(playerid) == 0)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Ungültig!");
    return 1;
    }
    if(val < 0 ||val > 10000000)
    {
    SendClientMessage(playerid, COLOR_GRAD1," Bitte nur Summen in Höhe von 1 bis 10 Million Dollar!");
    return 1;
    }
    if(val > GetPlayerMoney(playerid))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "So viel Geld hast du nicht!");
    return 1;
    }
    if(val == 999999999999999)
    {
    SendClientMessage(playerid, COLOR_RED, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    if(val == 888888888888888)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1; }
    if(val == 777777777777777)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    if(val == 666666666666666)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    if(val == 555555555555555)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    if(val == 444444444444444)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    if(val == 333333333333333)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    if(val == 222222222222222)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    if(val == 111111111111111)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    new s[128];
    GivePlayerMoney(playerid,-val);
    PlayerInfo[playerid][pAccount]+= val;
    ConsumingMoney[playerid] = 1;
    format(s, sizeof(s), "Du hast %d€ in dein Konto eingezahlt. Neuer Kontostand: %d€", val, PlayerInfo[playerid][pAccount]);
    SendClientMessage(playerid, COLOR_GREEN, s);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Ungültige Eingabe");
    }
    }
    else
    {
    ShowPlayerDialog(playerid, BANK, DIALOG_STYLE_LIST, "Menü", "Kontostand\nEinzahlen\nAbheben\nÜberweisen", "Auswählen", "Beenden");
    }
    }
    if(dialogid == Auszahlen)
    {
    if(response)
    {
    if(IsNumeric(inputtext))
    {
    new val = strval(inputtext);
    if(GetPlayerMoney(playerid) == 0)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Ungültig!");
    return 1;
    }
    if(val < 0 ||val > 10000000)
    {
    SendClientMessage(playerid, COLOR_GRAD1," Bitte nur Summen in Höhe von 1 bis 10 Million Dollar!");
    return 1;
    }
    if(val > PlayerInfo[playerid][pAccount])
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast zu wenig Geld!");
    return 1;
    }
    if(val == 999999999999999)
    {
    SendClientMessage(playerid, COLOR_RED, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    if(val == 888888888888888)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1; }
    if(val == 777777777777777)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    if(val == 666666666666666)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    if(val == 555555555555555)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    if(val == 444444444444444)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    if(val == 333333333333333)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    if(val == 222222222222222)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    if(val == 111111111111111)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    new s[128];
    GivePlayerMoney(playerid, val);
    PlayerInfo[playerid][pAccount] -= val;
    ConsumingMoney[playerid] = 1;
    format(s, sizeof(s), "Du hast %d€ von deinem Konto ausgezahlt. Neuer Kontostand: %d€", val, PlayerInfo[playerid][pAccount]);
    SendClientMessage(playerid, COLOR_GREEN, s);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Ungültige Eingabe");
    }
    }
    else
    {
    ShowPlayerDialog(playerid, BANK, DIALOG_STYLE_LIST, "Menü", "Kontostand\nEinzahlen\nAbheben\nÜberweisen", "Auswählen", "Beenden");
    }
    }
    if(dialogid == Uberweisen)
    {
    if(response)
    {
    new uid;
    sscanf(inputtext, "u",uid);
    new giveplayer[MAX_PLAYER_NAME];
    new s[128];
    GetPlayerName(uid, giveplayer, MAX_PLAYER_NAME);
    if(IsPlayerConnected(uid))
    {
    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");
    UeberID[playerid] = uid;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Derzeit ist dieser Spieler nicht Online!");
    }
    }
    else
    {
    ShowPlayerDialog(playerid, BANK, DIALOG_STYLE_LIST, "Menü", "Kontostand\nEinzahlen\nAbheben\nÜberweisen", "Auswählen", "Beenden");
    }
    }
    if(dialogid == Uberweisen2)
    {
    if(response)
    {
    if(IsNumeric(inputtext))
    {
    new val;
    new uid = UeberID[playerid];
    sscanf(inputtext, "i",val);
    if(PlayerInfo[playerid][pAccount] >= val)
    {
    new s[128];
    new sendername[MAX_PLAYER_NAME];
    new giveplayer[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(uid, giveplayer, sizeof(giveplayer));
    PlayerInfo[playerid][pAccount] -= val;
    PlayerInfo[uid][pAccount] += val;
    format(s, sizeof(s), "Du hast %s erfolgreich %d$ überweisen.", giveplayer, val);
    SendClientMessage(playerid, COLOR_GREY, s);
    format(s, sizeof(s), "%s hat dir %d$ überwiesen.", sendername, val);
    SendClientMessage(uid, COLOR_GREY, s);
    new string[180];
    format(string, sizeof(string), "%s überweist $%d an %s", sendername, val, giveplayer);
    if(val >= 9999)
    {
    ABroadCast(COLOR_YELLOW,string,1);
    }
    printf("%s", string);
    PayLog(string);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast zu wenig Geld!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Ungültige Eingabe!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Überweisung abgebrochen.");
    }
    }

  • Beim Auszahlen:
    if(GetPlayerMoney(playerid) == 0)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Ungültig!");
    return 1;
    }
    Das weg machen. Wenn du kein Geld auf der Hand hast, dann solltest du dir ja was auszahlen können.


    Übrigens:
    Solche Zahlen 999999999999999 sind in SA-MP auf Grund des 32-Bit Limits nicht möglich. Maximal geht 2^31-1 (2147483647), danach wird die Zahl wieder negativ, durch den Überlauf.