Alter erkennen

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
  • 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

  • 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 berrechnen

    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^^

    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

  • 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);