Beitrag von palma7071 ()
Dieser Beitrag wurde vom Autor gelöscht ().
new year, month,day,DateInfo[3][20];
getdate(year, month, day);
split(inputtext, DateInfo, '.');
if(response == 1)
if(strlen(inputtext) > 10){
return 1;
}
if(!IsValidDate(strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2]))){
return 1;
}
if(year - strval(DateInfo[2]) > 100 || strval(DateInfo[2]) < 1 || strval(DateInfo[2]) >= year){
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;
}
SpielerInfo[playerid][Alter] = check;
format(string,sizeof(string),"Ok, du bist also %d Jahre alt.",SpielerInfo[playerid][Alter]);
SendClientMessage(playerid,Grün,string);
return 1;
}
Musste umschreiben ![]()
stock split(const strsrc[], strdest[][], delimiter){
new i,li,aNum,len;
while(i <= strlen(strsrc)){
if(strsrc[i]==delimiter || i==strlen(strsrc)){
len = strmid(strdest[aNum], strsrc, li, i, 128);
strdest[aNum][len] = 0;
li = i+1;
aNum++;
}
i++;
}
return 1;
}
stock IsValidDate(day, month, year){
new maxDays;
if(year < 1900 || year > 2010) return 0;
switch (month){
case 1,3,5,7,8,10,12: maxDays = 31;
case 4,6,9,11: maxDays = 30;
case 2:{
if(IsLeapYear(year)){
maxDays = 29;
}
else{
maxDays = 28;
}
}
default: return 0;
}
if(day < 1 || day > maxDays) return 0;
return 1;
}
stock IsLeapYear(year){
return ( year % 4 == 0 && (year % 100 != 0 || year % 400 == 0) );
}
Ich würde das Datum speichern und dir eine Funktion schreiben die aus jeden Datum das Alter errechnet bis zum heutigen Tag.
Sowas wie GetAge(day, month, year);
Ein bisschen rechnen und fertig ![]()
Ich würde das Datum speichern und dir eine Funktion schreiben die aus jeden Datum das Alter errechnet bis zum heutigen Tag.
Sowas wie GetAge(day, month, year);
Ein bisschen rechnen und fertig
Würde mich auch Interessieren wie mann das macht.
Hier arbeiten die mit GetAlter: Geburtsdatum in Alter umwandeln.