Hallo Leute,
ich bedanke mich schonmal vorab für die Hilfestellungen und sage, dass ich die ganze Nacht durch gemacht
habe und etwas müde bin, daher können Rechtschreib- und Verständlichkeitsfehler im Thread entstanden sein.
ich habe ein kleines Problem mit meinem Antrag für den Personalausweis.
Ich habe das ganze so gescriptet, dass wenn man das Geburtsdatum leer lässt, folgende Meldung kommen soll:
"Falsche Angabe beim Tag deines Geburtsdatums!" und der Dialog nochmal erscheinen soll.
Und wenn man vom Geburtsdatum nur den Tag angibt (z.b.: 12.) folgende Meldung kommen soll:
"Falsche Angabe beim Monat deines Geburtsdatums!" und der Dialog nochmal erscheinen soll.
Und wenn man vom Geburtsdatum nur den Tag und den Monat angibt (z.b.: 12.04.) folgende Meldung kommen soll:
"Falsche Angabe beim Jahr deines Geburtsdatums!" und der Dialog nochmal erscheinen soll.
Und wenn man das komplette Geburtsdatum angibt (z.b.: 12.04.1994), soll das Geburtsdatum gespeichert werden.
Es funktioniert auch eigentlich alles, bis auf das, dass wenn man das Jahr auslässt (z.b.: 12.04.), kommt weder die Meldung, noch erscheint der Dialog nochmal.
Es scheint so, dass der Antrag einfach abgebrochen wird.
Hier mal die Zeilen, ich weiß momentan kein anderen Rat außer hier nachzufragen.
case DIALOG_PERSONALAUSWEIS1:
{
if(response)
{
new day, month, year, DateInfo[3][20], string[256], name[MAX_PLAYER_NAME];
getdate(year, month, day);
split(inputtext, DateInfo, '.');
if(strval(DateInfo[0]) < 01 || strval(DateInfo[0]) > 31 || strval(DateInfo[0]) < 1 || strval(DateInfo[0]) > 31)
{
SendClientMessage(playerid,ROT,"Falsche Angabe beim Tag deines Geburtsdatums!");
ShowPlayerDialog(playerid,DIALOG_PERSONALAUSWEIS1, DIALOG_STYLE_INPUT, "Personalausweis - Antrag [1/2]", "Geben sie wie folgt ihr Geburtsdatum an: dd.mm.yyyy\n(Beispiel: 16.09.1994)!", "Weiter", "Abbrechen");
return 1;
}
if(strval(DateInfo[1]) < 01 || strval(DateInfo[1]) > 12 || strval(DateInfo[1]) < 1 || strval(DateInfo[1]) > 12)
{
SendClientMessage(playerid,ROT,"Falsche Angabe beim Monat deines Geburtsdatums!");
ShowPlayerDialog(playerid,DIALOG_PERSONALAUSWEIS1, DIALOG_STYLE_INPUT, "Personalausweis - Antrag [1/2]", "Geben sie wie folgt ihr Geburtsdatum an: dd.mm.yyyy\n(Beispiel: 16.09.1994)!", "Weiter", "Abbrechen");
return 1;
}
new check = year - strval(DateInfo[2]);
if(check == year) { return 1; }
if(strval(DateInfo[1]) > month) { check -= 1; }
else { if(strval(DateInfo[1]) == month && strval(DateInfo[0]) > day) { check -= 1; } }
if(strval(DateInfo[2]) < year-100 || strval(DateInfo[2]) > year)
{
SendClientMessage(playerid,ROT,"Falsche Angabe beim Jahr deines Geburtsdatums!");
ShowPlayerDialog(playerid,DIALOG_PERSONALAUSWEIS1, DIALOG_STYLE_INPUT, "Personalausweis - Antrag [1/2]", "Geben sie wie folgt ihr Geburtsdatum an: dd.mm.yyyy\n(Beispiel: 16.09.1994)!", "Weiter", "Abbrechen");
return 1;
}
else
{
SpielerInfo[playerid][pBdayTag] = strval(DateInfo[0]);
SpielerInfo[playerid][pBdayMonat] = strval(DateInfo[1]);
SpielerInfo[playerid][pBdayJahr] = strval(DateInfo[2]);
SpielerInfo[playerid][pAlter] = check;
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(string,sizeof(string),"Bitte überprüfen Sie, ob ihre Angaben korrekt sind!\n\nName: %s\nGeburtsdatum: %d.%d.%d\nAlter %d\n\n\nSind diese Angaben korrekt?",name,strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2]),check);
ShowPlayerDialog(playerid,DIALOG_PERSONALAUSWEIS2,DIALOG_STYLE_MSGBOX,"Personalausweis - Antrag [2/2]",string,"Ja","Nein");
return 1;
}
}
}
Mit freundlichen Grüßen
AlphaGen!