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