Hallo Leute,
ich wollte euch mal fragen, was mehr Sinn macht...
Macht es mehr Sinn, das Geburstdatum des Spielers, das er in der Tutorial angibt zu speichern, oder direkt das Alter zu erreschnen und dieses in meiner mysql Datenbank zu speichern?
Gibts vl. ne mysql funktion, die ein Alter direkt ausrechnet, oder wie rechne ichs mit pawn aus?
Wie kann ich das Alter immer aktuell halten, muss ich bei jedem SpielerConnect das Alter neu berrechnen?
MfG. Ich
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
-
-
Mit PHP ginge es, soweit ich weiß.
Versuchs
-
kann sein das ich deine Frage falsch verstehe.
Aber wenn der Spieler sein geburtsdatum eingibt. Die zahl die er eingibt in einem Timer mit +1 auf "2010" hochrechnen. Nebenbei noch eine Variable die im Timer mitläuft die von 0 mit +1 hochgerechnet wird.Wenn die erste Variable dann 2010 erreicht hat sollte die Zweite Variable dann das Alter wiedergeben.Wenn ich das ganze falsch verstanden habe.. einfach ignorieren^^
-
Mit PHP ginge es, soweit ich weiß.
Versuchs
Sorry doofe frage aber wieso PHP ? Ich schwanke gerade zwischen das alter in PAWNO oder in der MYSQL direkt zu berrechnenkann sein das ich deine Frage falsch verstehe.
Aber wenn der Spieler sein geburtsdatum eingibt. Die zahl die er eingibt in einem Timer mit +1 auf "2010" hochrechnen. Nebenbei noch eine Variable die im Timer mitläuft die von 0 mit +1 hochgerechnet wird.Wenn die erste Variable dann 2010 erreicht hat sollte die Zweite Variable dann das Alter wiedergeben.Wenn ich das ganze falsch verstanden habe.. einfach ignorieren^^
Du hast meine Frage schon verstanden aber ich verstehe dein Prinzip nicht
-
public Alter(playerid)
{
new Alterstr[50];
GebD[playerid]+=1;// GebD Setzt du beim TuT auf die Angabe die der Spieler angibt
AltersErk[playerid]+=1;
if(GebD[playerid]== 2010){
format(Alterstr,sizeof(Alterstr),"Du bist %d Jahre Alt",AltersErk[playerid]);
SendClientMessage(playerid,farbe,Alterstr);
AltersErk[playerid]=0;
KillTimer(AltersTimer[playerid]);
}
return 1;
}So Sollte das ganze dann Aussehen.
Mit einem Timer dann wiederholen lassen.
AltersTimer[playerid] = SetTimerEx("Alter", 1000, true, "i", playerid);Bitte nicht einfach kopieren sondern Nachdenken und nach deinen Wünschen anpassen. Das ist nur eine Vorlage.
Mfg Micha
-
Soweit ich weiß gibt es dafür keine extra funktion. Du müsstes es in Pawn berechnen.^^
-
Wieso machst du das mit einem Timer?
Einfache Subtraktion geht auch. 2010- Geburtsjahr=Alter. -
Wäre natürlich noch besser^^ bin dadrauf nicht gekommen.
-
Nachteil: Es wird nicht erkannt, dass man schon älter ist.
Beispiel:
Geb. 06.11.1991 (Scriptzeit: 08.11.2010)
Ausgabe = 19
obwohl der Mensch schon 20 ist. -
Wenn man 91 geboren ist wird man diese Jahr 19. Der Nachteil ist der das das Script heute schon sagen würde, das du 19 wärst. Aber da musst einfach noch den Tag und den Monat einbeziehen dann geht das.
-
-
stock GetPlayerAge(day, month, year)
{
new tag, monat, jahr; getdate(jahr, monat, tag);
if((month > monat) || (month >= monat && day > tag)) return (jahr-year-1);
else return (jahr-year);
}Selfmade, und hier ein Beispiel:
new alter = GetPlayerAge(22, 11, 1995);
printf("Alter: %d", alter);Hilfestellung:
GetPlayerAge(Tag, Monat, Jahr); -
sorry wenn ich dieses thema nochmal aufrufe, aber das ist mein problem...
wenn man nun hier dieses Getage verwendet muss man es mit int also muss man die zahlen reinschreiben..
aber wenn man es nun als inputtext hat.. wie soll man es dan machen? -
1.Listbox Dialog: Tag » zwichenspeichern
2.Listbox Dialog Monat » zwichenspeichern
3.Listbox Dialog Jahr » zwichenspeichern » Berechnen -
Kla, ich mache jz extra 3 dialoge
-
Du kannst froh sein, dass ich dir überhaupt geholfen habe.
Zudem, wenn du es einfacher willst, zeig 1 Dialog wo er sein Geb.Datum eingibt, bspw. 12.06.1995
Dann lies die ersten 2,die nächsten 2 und die letzten 4 aus, und speicher es ab. -
breadfish.de
Hat das Thema geschlossen.