Perso Antrag alter abfragen

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
  • Poste bitte den "if(dialogid==DIALOG_ALTER)" Teil so wie du ihn jetzt hast.
    Vielleicht als Anmerkung für die Zukunft: Wenn ein Code nicht klappt nachdem du ihn geändert hast, poste immer gleich wieder den Code dazu, so wie du ihn jetzt nach der Änderung hast. Das beschleunigt die Fehlerfindung. ;)

  • Beitrag von xSnake ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Jeffry:


    bin rein gegangen habe dann /stadthalle gemacht dann Ausweis beantragen dann 15 eingegeben dann kommt der nechste dialog da muss ich mein Geburtsdatum eingeben da habe ich 05.12.1998 eingegeben dann ist der dialog weg gegangen und nichts mehr passiert und die Nachrichten werden nicht ausgesendet und der Timer fürs abholen funktioniert auch nicht 8|


    so sieht der code aus


    http://pastebin.com/6QYfB6jw

  • Du zeigst die falsche Dialog ID an.
    ShowPlayerDialog(playerid,DIALOG_REGISTER2,DIALOG_STYLE_INPUT,"Geburtsdatum","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
    zu:
    ShowPlayerDialog(playerid,DIALOG_GEBURTSDATUM,DIALOG_STYLE_INPUT,"Geburtsdatum","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");

  • Jeffry:


    und es passiert wieder das gleiche wenn ich da 15 eingebe und dann der andere dialog kommt wo ich das geburtsdatum einge ich 05.12.1998 ein aber der dialog kommt immer wieder wo ist der fehler ?


    [10:41:32] IsValidDate(''05.12.1998'') -> 0
    [10:41:36] IsValidDate(''05.12.1998'') -> 0


    steht in den Server Logs


    if(dialogid==DIALOG_GEBURTSDATUM)
    {
    new second = gettime();
    new tag,monat,jahr,stunde,minute;
    getdate(tag,monat,jahr);
    gettime(stunde,minute,second);
    new DateInfo[3][20],string[200];
    split(inputtext,DateInfo,'.');
    if(response == 0) return 1;
    else
    {
    if(strlen(inputtext) > 10)
    {
    ShowPlayerDialog(playerid,DIALOG_GEBURTSDATUM,DIALOG_STYLE_INPUT,"Geburtsdatum","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
    return 1;
    }
    new tmp[16];
    format(tmp, sizeof(tmp), "%02d.%02d.%d", strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2]));
    printf("IsValidDate(''%s'') -> %d", tmp, IsValidDate(tmp));
    if(jahr - strval(DateInfo[2]) > 100 || strval(DateInfo[2]) < 1 || strval(DateInfo[2]) >= jahr)
    {
    ShowPlayerDialog(playerid,DIALOG_GEBURTSDATUM,DIALOG_STYLE_INPUT,"Geburtsdatum","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
    return 1;
    }
    new check = jahr - strval(DateInfo[2]);
    if(strval(DateInfo[1]) > monat)
    {
    check -= 1;
    }
    else if(strval(DateInfo[1]) == monat && strval(DateInfo[0]) > tag)
    {
    check -= 1;
    }
    if(check < 14 || check > 50)
    {
    ShowPlayerDialog(playerid,DIALOG_GEBURTSDATUM,DIALOG_STYLE_INPUT,"Geburtsdatum"" Registrierung/Alter","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
    return 1;
    }
    sInfo[playerid][palter] = check;
    format(sInfo[playerid][pGeburtstag],11,inputtext);
    format(string,sizeof(string),"Ok du bist also %i Jahre alt.",sInfo[playerid][palter]);
    SendClientMessage(playerid,GELB,"Du hast dein Personalausweis Erfolgreich beantragt!");
    SendClientMessage(playerid,GELB,"Du kannst ihn in 5 Minuten abholen!");
    SetTimerEx("Persoantrag",5000,false,"i",playerid);
    printf("%s hat sein ausweis Beantragt!)",getPlayerName(playerid));
    return 1;
    }
    }

  • Das ging so zum kompilieren? Interessant.
    Schreib es so, falls es nicht klappt, poste den Code und die Logs dazu.


    if(dialogid==DIALOG_GEBURTSDATUM)
    {
    new second = gettime();
    new tag,monat,jahr,stunde,minute;
    getdate(jahr,monat,tag);
    gettime(stunde,minute,second);
    new DateInfo[3][20],string[200];
    split(inputtext,DateInfo,'.');
    if(response == 0) return 1;
    else
    {
    if(strlen(inputtext) > 10)
    {
    ShowPlayerDialog(playerid,DIALOG_GEBURTSDATUM,DIALOG_STYLE_INPUT,"Geburtsdatum","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
    return 1;
    }
    new tmp[16];
    format(tmp, sizeof(tmp), "%02d.%02d.%d", strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2]));
    printf("Datum: %s", tmp);
    if(jahr - strval(DateInfo[2]) > 100 || strval(DateInfo[2]) < 1 || strval(DateInfo[2]) >= jahr)
    {
    printf("jahr: %d | eingabe: %d", jahr, strval(DateInfo[2]));
    ShowPlayerDialog(playerid,DIALOG_GEBURTSDATUM,DIALOG_STYLE_INPUT,"Geburtsdatum","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
    return 1;
    }
    new check = jahr - strval(DateInfo[2]);
    if(strval(DateInfo[1]) > monat)
    {
    check -= 1;
    }
    else if(strval(DateInfo[1]) == monat && strval(DateInfo[0]) > tag)
    {
    check -= 1;
    }
    if(check < 14 || check > 50)
    {
    printf("check = %d", check);
    ShowPlayerDialog(playerid,DIALOG_GEBURTSDATUM,DIALOG_STYLE_INPUT,"Geburtsdatum","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
    return 1;
    }
    sInfo[playerid][palter] = check;
    format(sInfo[playerid][pGeburtstag],11,inputtext);
    format(string,sizeof(string),"Ok du bist also %i Jahre alt.",sInfo[playerid][palter]);
    SendClientMessage(playerid,GELB,"Du hast dein Personalausweis Erfolgreich beantragt!");
    SendClientMessage(playerid,GELB,"Du kannst ihn in 5 Minuten abholen!");
    SetTimerEx("Persoantrag",5000,false,"i",playerid);
    printf("%s hat sein ausweis Beantragt!)",getPlayerName(playerid));
    return 1;
    }
    }