Alter bei register scripten

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
  • Hey weiß jemand wie ich es script das nach dem man sein passwort beim registrieren eingegeben hat ein fenster kommt wo man sein Geburtstag eingebne muss: XX.XX.XXXX
    und das da nach z.B kommt: Du bist also 12 Jahre Alt.... Und das es das speichert? Und wie man das geschlecht abfragt und speichert.


    Hoffe mir kann jemand helfen ?(



    //Edit Speichersystem ist Dini

    Mit freundlichen Grüßen:

    Fruchtsaft :rolleyes:
    _______________________________

  • if(dialogid == DIALOG_ALTER)
    {
    new year, month,day,string[128];
    getdate(year, month, day);
    new DateInfo[3][20];
    split(inputtext, DateInfo, '.');
    if(response == 1)
    if (strlen(inputtext) > 10) { // nicht länger als 10 zeichen (xx/xx/xxxx)
    ShowPlayerDialog(playerid,DIALOG_ALTER,DIALOG_STYLE_INPUT,"Alter","ANGABEFEHLER:Wann bist du geboren?\nAngabe bitte in TT.MM.JJJJ","Weiter"," ");
    return 0;
    }
    if (!IsValidDate(strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2]))) {
    ShowPlayerDialog(playerid,DIALOG_ALTER,DIALOG_STYLE_INPUT,"Alter","ANGABEFEHLER:Wann bist du geboren?\nAngabe bitte in TT.MM.JJJJ","Weiter"," ");
    return 0;
    }
    if(year - strval(DateInfo[2]) > 100 || strval(DateInfo[2]) < 1 || strval(DateInfo[2]) >= year)
    {
    ShowPlayerDialog(playerid,DIALOG_ALTER,DIALOG_STYLE_INPUT,"Alter","ANGABEFEHLER:Wann bist du geboren?\nAngabe bitte in TT.MM.JJJJ","Weiter"," ");
    return 0;
    }
    new check = year - strval(DateInfo[2]);
    if(check == year)
    {
    ShowPlayerDialog(playerid,DIALOG_ALTER,DIALOG_STYLE_INPUT,"Alter","ANGABEFEHLER:Wann bist du geboren?\nAngabe bitte in TT.MM.JJJJ","Weiter"," ");
    return 0;
    }
    if(strval(DateInfo[1]) > month)
    {
    check -= 1;
    }
    else if(strval(DateInfo[1]) == month && strval(DateInfo[0]) > day)
    {
    check -= 1;
    }
    SetPVarInt(playerid,"Alter",GetPVarInt(playerid,"Alter") +check);
    format(string, sizeof(string), "ok, du bist also %d Jahre alt.",GetPVarInt(playerid,"Alter"));
    SendClientMessage(playerid, COLOR_WHITE, string);
    ShowPlayerDialog(playerid,GESCHLECHTSWAHL,DIALOG_STYLE_LIST,"bist du männlich oder weiblich?","Männlich\nWeiblich","Fertig","Verlassen");
    if(response == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_ALTER,DIALOG_STYLE_INPUT,"Alter","Fehler versuche es nochmal:Wann bist du geboren?\nAngabe bitte in TT.MM.JJJJ","Weiter"," ");
    }
    }


    und noch das nötigste


    //für alter stocks
    forward split(const strsrc[], strdest[][], delimiter);
    public split(const strsrc[], strdest[][], delimiter)
    {
    new i, li;
    new aNum;
    new 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; // Bad Year
    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; // Bad Month
    }


    if (day < 1 || day > maxDays) return 0; // Bad Day
    return 1;
    }
    stock IsLeapYear(year)
    {
    return ( year % 4 == 0 && (year % 100 != 0 || year % 400 == 0) );
    }