Wie kann ich das Alter einer Spieler ausrechnen, also das er eingibt 4.1.1995 und dann wird gesagt du bist x Jahre alt.
Wie geht das?
Alter ausrechnen
- xFreeze
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Da es sich bei der eingabe nicht um atomare Werte handelt müssen die erstmal gesplitet werden. Dafür kannst du Strmid zum ausschneiden und strfind zum auslesen der Character Position nach dem . (0 beim Tag) verwenden. Alternativ geht auch eine split Funktion mit dem Delimiter '.'.
Wenn du dann drei Variablen hast, nämlich tag,monat & jahr, gehts weiter (strval) nicht vergessen.
Mit dem aktuellen Datum:
new d,m,y,alter;
getday(y,m,d);if(m < monat)
{
alter = y-jahr-1;
}
else if(m == monat)
{
if(d < tag)
{
alter = y-jahr-1;
}
else
{
alter = y-jahr;
}
}
else
{
alter = y-jahr;
}Denke so sollte das funktionieren.
-
Da hat Hauke was gemacht gehabt
stock GetAge(Birthday[16])
{
new D,M,Y,Age;
getdate(Y,M,D);
for(new i = strlen(Birthday); i > -1; i--)
{
if(Birthday[i] == '.')
{
new Tmp[32];
for(new o = i-1; o > -1; o--)
{
if(Birthday[o] == '.')
{
strmid(Tmp,Birthday,o+1,i);
if(strval(Tmp)>=M)
{
strmid(Tmp,Birthday,0,o);
if(strval(Tmp)>D)
{
strmid(Tmp,Birthday,i+1,strlen(Birthday));
Age = Y-strval(Tmp)-1;
break;
}
}
strmid(Tmp,Birthday,i+1,strlen(Birthday));
Age = Y-strval(Tmp);
break;
}
}
}
}
return Age;
}
anwendung dann so:
format(string,128,"Dein alter: %d",GetAge(01.12.1999)); -
anwendung dann so:
format(string,128,"Dein alter: %d",GetAge(01.12.1999));anwendung dann so:
format(string,128,"Dein alter: %d",GetAge("01.12.1999")); -
Könnte mir jemand zeigen wie ich abfragen kann ob er es richtig eingegeben hat? also 3.4.1994 oder so
-
breadfish.de
Hat das Thema geschlossen.