Hallo Leute,
hab eine kurze Frage zu OnPlayerText - strval(text).
Der Spieler soll nach aussuchen des Menu Punktes Abheben/Einzahlen an einem Geldautomaten den Betrag in das Textfeld eingeben. Dieses soll ihm dann überwiesen werden, ohne dass es nochmals im Textfenster erscheint und es jeder lesen kann.
Zurzeit sieht es so bei mir aus:
public OnPlayerText(playerid, text[])
{
new string[256];
new tmp[128];
...
if(atmabheben[playerid] == 1)
{
new betrag = strval(text);
if (betrag <= 2500 && betrag > 0)
{
if(PlayerInfo[playerid][pBank] >= betrag)
{
GivePlayerCash(playerid,betrag);
PlayerInfo[playerid][pBank] = PlayerInfo[playerid][pBank]-betrag;
format(string, sizeof(string), "[INFO:] Du hast $%d von deinem Konto abgehoben, Neuer Kontostand: $%d", betrag,PlayerInfo[playerid][pBank]);
SendClientMessage(playerid, COLOR_WHITE, string);
PlayerActionMessage(playerid,15.0,"nimmt ein paar Scheine aus dem Geldautomat");
OnPlayerDataSave(playerid);
TogglePlayerControllable(playerid,1);
atmabheben[playerid] = 0;
return 1;
}
else
{
SendClientMessage(playerid, COLOR_LIGHTRED, "[ERROR:] Dein Konto ist nicht ausreichend gedeckt!");
TogglePlayerControllable(playerid,1);
atmabheben[playerid] = 0;
}
}
else
{
SendClientMessage(playerid,COLOR_LIGHTRED,"[INFO:] Du kannst an einem Geldautomaten höchstens $2500 abheben.");
TogglePlayerControllable(playerid,1);
atmabheben[playerid] = 0;
}
return 1;
}
if(atmeinzahlen[playerid] == 1)
{
new betrag = strval(text);
if (betrag <= 2500 && betrag > 0)
{
if(GetPlayerCash(playerid) >= betrag)
{
GivePlayerCash(playerid,-betrag);
PlayerInfo[playerid][pBank] = PlayerInfo[playerid][pBank]+betrag;
format(string, sizeof(string), "[INFO:] Du hast $%d auf dein Konto eingezahlt, Neuer Kontostand: $%d", betrag,PlayerInfo[playerid][pBank]);
SendClientMessage(playerid, COLOR_WHITE, string);
PlayerActionMessage(playerid,15.0,"schiebt ein paar Scheine in den Geldautomat");
OnPlayerDataSave(playerid);
TogglePlayerControllable(playerid,1);
atmeinzahlen[playerid] = 0;
return 1;
}
else
{
SendClientMessage(playerid, COLOR_LIGHTRED, "[ERROR:] Dein Konto ist nicht ausreichend gedeckt!");
TogglePlayerControllable(playerid,1);
atmeinzahlen[playerid] = 0;
}
}
else
{
SendClientMessage(playerid,COLOR_LIGHTRED,"[INFO:] Du kannst an einem Geldautomaten höchstens $2500 einzahlen.");
TogglePlayerControllable(playerid,1);
atmeinzahlen[playerid] = 0;
}
return 1;
}
...
Wie kann ich das korrigieren, damit es so läuft wie oben beschrieben?