Guten Abend Zusammen,
ich habe versucht, bei meinem Registersystem, die Berechnung aus dem Geburtsdatum ausgeben zu lassen bzw. diese zu speichern. Dennoch misslingt mir dies bis jetzt. Wenn ich beispielsweise angebe, dass ich am "29.04.1990" geboren bin, zeigt er mir als Resultat "-1973" an. Ich habe bis jetzt noch keine Ahnung, wie ich dies beheben kann.
if(dialogid==DIALOG_Jahre)
{
new tag, monat, jahr;
getdate(tag, monat, jahr);
new DatumInfo[3][20];
split(inputtext, DatumInfo, '.');
if(response==1)
{
if(strlen(inputtext) > 10)
{
ShowPlayerDialog(playerid,DIALOG_Jahre,DIALOG_STYLE_INPUT,"Jahre","ANGABEFEHLER: Wann bist du geboren?\nAngabe bitte in TT.MM.JJJJ","Weiter","");
}
if(!IstDatumGueltig(strval(DatumInfo[0]),strval(DatumInfo[1]),strval(DatumInfo[2])))
{
ShowPlayerDialog(playerid,DIALOG_Jahre,DIALOG_STYLE_INPUT,"Jahre","ANGABEFEHLER: Wann bist du geboren?\nAngabe bitte in TT.MM.JJJJ","Weiter","");
}
if(jahr - strval(DatumInfo[2]) > 60 || strval(DatumInfo[2]) < 10 || strval(DatumInfo[2]) >= jahr)
{
ShowPlayerDialog(playerid,DIALOG_Jahre,DIALOG_STYLE_INPUT,"Jahre","ANGABEFEHLER: Wann bist du geboren?\nAngabe bitte in TT.MM.JJJJ","Weiter","");
}
new check = jahr - strval(DatumInfo[2]);
if(check == jahr)
{
ShowPlayerDialog(playerid,DIALOG_Jahre,DIALOG_STYLE_INPUT,"Jahre","ANGABEFEHLER: Wann bist du geboren?\nAngabe bitte in TT.MM.JJJJ","Weiter","");
}
if(strval(DatumInfo[1]) > monat)
{
check -= 1;
}
else if(strval(DatumInfo[1]) == monat && strval(DatumInfo[0]) > tag)
{
check -= 1;
}
new string[128];
SetPVarInt(playerid,"Jahre",check);
format(string,sizeof(string),"Du hast angegeben, dass du %d Jahre alt bist.",GetPVarInt(playerid,"Jahre"));
SendClientMessage(playerid,gelb,string);
BLABLABLA - Nächster Dialog wird angezeigt
}
}
Wenn noch etwas benötigt wird, sagt mir Bescheid. Danke im Voraus und für die Fußballer unter uns, einen schönen Abend!
PUSH #1!