Junge oder Mädchen Angabe klappt nicht

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 Leute,
    ich habe heute ziemlich lange probiert den Fehler zu finden, aber ich finde Ihn nicht.
    Keine Ahnung warum, es war auch schon später, aber ich finde ihn nicht.


    Sobald man sein Passwort eingegeben hat, soll man eingeben ob man ein Junge oder ein Mädchen ist:


    if(PlayerInfo[playerid][pTut] == 0)
    {
    gOoc[playerid] = 1; gNews[playerid] = 1; gFam[playerid] = 1;
    SafeSetPlayerInterior(playerid, 3);
    SafeSetPlayerPos(playerid, 330.6825,163.6688,1014.1875);
    SetPlayerFacingAngle(playerid, 280);
    TogglePlayerControllable(playerid, 0);
    RegistrationStep[playerid] = 1;
    SendClientMessage(playerid, COLOR_LIGHTRED, "Willkommen auf dem Server, du bist hier in der Einwanderungsbehörde.");
    SendClientMessage(playerid, COLOR_LIGHTRED, "Hallo erst einmal! Willkommen in der Einwanderungsbehörde, wir werden dir nun ein paar Fragen stellen.");
    SendClientMessage(playerid, COLOR_LIGHTRED, "Erste Frage: Bist du ein Junge oder ein Mädchen?");
    SendClientMessage(playerid, COLOR_LIGHTRED, "Tipp: Bitte gib das ein, was du auch bist! Keine Sorge, keiner wird dies sehen!");
    PlayerInfo[playerid][pRegularCount] = 144000;
    SafeGivePlayerMoney(playerid,500);
    return 1;
    }


    if(RegistrationStep[playerid] > 0)
    {
    if(RegistrationStep[playerid] == 1)
    {
    if((strcmp("Junge", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Junge")))
    {
    PlayerInfo[playerid][pSex] = 1;
    SendClientMessage(playerid, COLOR_YELLOW2, "Ok, du bist also ein Junge.");
    SendClientMessage(playerid, COLOR_LIGHTRED, "Was ist dein Geburtstag? (Benutze folgendes Format TT/MM/JJ)");
    new rand = random(sizeof(RandomMaleSkins));
    SetPlayerSkin(playerid, RandomMaleSkins[rand][0]);
    RegistrationStep[playerid] = 2;
    return 0;
    }
    else if((strcmp("Mädchen", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Mädchen")))
    {
    PlayerInfo[playerid][pSex] = 2;
    SendClientMessage(playerid, COLOR_YELLOW2, "Ok, du bist also ein Mädchen.");
    SendClientMessage(playerid, COLOR_LIGHTRED, "Was ist dein Geburtstag? (Benutze folgendes Format TT/MM/JJ)");
    new rand = random(sizeof(RandomFemaleSkins));
    SetPlayerSkin(playerid, RandomFemaleSkins[rand][0]);
    RegistrationStep[playerid] = 2;
    return 0;
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, "Bist du ein Junge oder ein Mädchen? (Tippe ein was du bist).");
    }
    return 0;
    }



    Was ist daran falsch, denn wenn ich Junge eingeben kommt: Bist du ein Junge oder ein Mädchen..
    Umgekehrt genau so.

    Mit freundlichen Grüßen



    Einmal editiert, zuletzt von Apple_5g () aus folgendem Grund: Überschrift geändert

  • Versuchs mal so


    [list][*]if(RegistrationStep[playerid] > 0)
    {
    if(RegistrationStep[playerid] == 1)
    {
    if((strcmp("Junge", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Junge")))
    {
    PlayerInfo[playerid][pSex] = 1;
    SendClientMessage(playerid, COLOR_YELLOW2, "Ok, du bist also ein Junge.");
    SendClientMessage(playerid, COLOR_LIGHTRED, "Was ist dein Geburtstag? (Benutze folgendes Format TT/MM/JJ)");
    new rand = random(sizeof(RandomMaleSkins));
    SetPlayerSkin(playerid, RandomMaleSkins[rand][0]);
    RegistrationStep[playerid] = 2;
    return 0;
    }
    if((strcmp("Mädchen", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Mädchen")))
    {
    PlayerInfo[playerid][pSex] = 2;
    SendClientMessage(playerid, COLOR_YELLOW2, "Ok, du bist also ein Mädchen.");
    SendClientMessage(playerid, COLOR_LIGHTRED, "Was ist dein Geburtstag? (Benutze folgendes Format TT/MM/JJ)");
    new rand = random(sizeof(RandomFemaleSkins));
    SetPlayerSkin(playerid, RandomFemaleSkins[rand][0]);
    RegistrationStep[playerid] = 2;
    return 0;
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, "Bist du ein Junge oder ein Mädchen? (Tippe ein was du bist).");
    }
    return 0;
    }


  • Dann sag mir doch was du geändert hast,
    damit ich was dazu lernen kann!


    //Edit: Hab probiert, klappt natürlich nicht. Kann ja auch gar nicht, wenn nichts anders ist!

    Mit freundlichen Grüßen



    Einmal editiert, zuletzt von Apple_5g ()


  • if(RegistrationStep[playerid] == 1)
    {
    if((strcmp("Junge", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Junge")))

    Die len ist eine frewillige angabe.Und wenn benutzt man dort sizeof().
    Lass die len einfach draußen also:

    if((strcmp("Junge",tmp,true) == 0){


    }
    Die string länge noch extra zu überprüfen ist sowieso sinnlos.Ist der String gleich dann ist es auch die länge :D
    Aber ich würde es nicht so machen,würde einfach einen Dialog als ListBox machen. ;)
    Junge
    Mädchen


    //EDIT : pwn tag vergessen.