Erstmal musst du bedenken, dass der eingegebene Text immer ein String ist. Du kannst ihn jedoch umwandeln und überprüfen, ob das Ergebnis eine Zahl ist.
Versuche es doch so:
Code
#if !defined isnull
#define isnull(%1) ((!(%1[0])) || ((%1[0] == '\1') && (!(%1[1]))))
#endif
if(dialogid == DIALOG_BANKPIN)
{
if(response == 1)
{
//Verwende hier lieber isnull, in diesem Fall ist die Funktion dafür viel besser geeignet. :)
if(!isnull(inputtext))
{
SendClientMessage(playerid,COLOR_RED,"Du musst etwas eingeben!");
return 1;
}
new Pin = PlayerInfo[playerid][Bankpin];
if(/* hier musst du entweder bei Zahlen gleichsetzen oder bei String strcmp verwenden, siehe Bsp */)
if(!strcmp(PlayerInfo[playerid][Bankpin], inputtext))
if(PlayerInfo[playerid][Bankpin] != strval(inputtext))
{
SendClientMessage(playerid,COLOR_RED,"Falsche Pin");
return 1;
}
ShowPlayerDialog(playerid,87,DIALOG_STYLE_LIST,"Bank","Einzahlen\nAbheben\nKontostand\nÜberweisung\nHandyguthaben aufladen\nBankpin beantragen","Absenden", "Abbrechen");
SendClientMessage(playerid,COLOR_GREEN,"Erfolgreich");
return 1;
}
}
Alles anzeigen