Ich bin gerade etwas aufgeschmissen, bzgl der "Eigenheiten" meines Banksystems.
Folgendes möchte ich haben:
Ein Spieler kann z.B. bei einer Bank per Dialog einen Betrag einzahlen. Soweit so gut.
Nun bietet der Dialog (DIALOG_STYLE_INPUT) die Buttonoptionen "OK" und "Zurück".
1. Wenn der Spieler NICHTS eingibt, dann wird automatisch der gesamte Betrag auf der Hand dem Konto hinzugefügt.
2. Wenn der Spieler einen genauen Betrag eingibt, dann wird dieser vom Geld auf der Hand abgezogen und dem Konto hinzugefügt.
Nun ist es aber auch so, dass der Spieler einen String eingeben kann, und dasselbe, wie bei 1. passiert.
Anliegen: Ich möchte also abfragen können, ob ein String eingegeben wird, um eine Error-Message auszugeben. Wie baue ich das ein, und wo?
if(dialogid == DIALOG_BANK_EINZAHLEN)
{
if(!response) return ShowPlayerDialog(playerid, DIALOG_BANK_ACCOUNTMANAGEMENT, DIALOG_STYLE_LIST, "Benutzerkonto", "Einzahlen\nAuszahlen", "OK", "Abbrechen");
if(response)
{
if(!strval(inputtext))
{
new CurrentMoney = GetPlayerMoney(playerid);
pInfo[playerid][Bank] = pInfo[playerid][Bank] + CurrentMoney;
GivePlayerMoney(playerid, -CurrentMoney);
}
else
{
if(!strval(inputtext)) return ShowPlayerDialog(playerid, DIALOG_BANK_EINZAHLEN, DIALOG_STYLE_INPUT, "Einzahlen", "Bitte gib den Betrag ein, den du einzahlen willst.\nWenn du alles einzahlen möchtest, drücke einfach\nauf OK, ohne einen Betrag anzugeben.\n"#COLOR_RED_EMBED"Bitte gib einen Betrag an!", "OK", "Abbrechen");
new CurrentMoney = GetPlayerMoney(playerid);
if(strval(inputtext) > CurrentMoney) return ShowPlayerDialog(playerid, DIALOG_BANK_EINZAHLEN, DIALOG_STYLE_INPUT, "Einzahlen", "Bitte gib den Betrag ein, den du einzahlen willst.\nWenn du alles einzahlen möchtest, drücke einfach\nauf OK, ohne einen Betrag anzugeben.\n"#COLOR_RED_EMBED"Du hast nicht so viel Geld auf der Hand!", "OK", "Abbrechen");
pInfo[playerid][Bank] = pInfo[playerid][Bank] + strval(inputtext);
GivePlayerMoney(playerid, -strval(inputtext));
}
}
return 1;
}