Alter Abrage einfügen

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
  • Hi,
    Habe eine registersystem und ich wollte Fragen wir ich eine Alter Abfrage einfügen kann (TT/DD/JJJJ) und dies soll gespeichert werden.


    Spoiler anzeigen

    [pwn]#include <a_samp>
    #include <dini>

    Spoiler anzeigen
    #define DIALOG_REGISTER1 0
    #define DIALOG_REGISTER2 1
    #define DIALOG_REGISTER3 2
    #define DIALOG_REGISTER4 3
    #define DIALOG_LOGIN1 4
    #define DIALOG_NOPW1 5
    #define DIALOG_NOPW2 6
    #define DIALOG_WRONGPW 7
    #define DIALOG_JOIN 8

    Spoiler anzeigen
    enum Info
    {
    sex, // 0 = Männlich, 1 = Weiblich.
    age, // Das Alter
    logged, // Ob der Spieler eingeloggt ist.
    }

    Spoiler anzeigen
    new pInfo[MAX_PLAYERS][Info];

    Spoiler anzeigen
    main()
    {
    print("\n----------------------------------");
    print("TESTSCRIPT");
    print("----------------------------------\n");
    }

    Spoiler anzeigen
    public OnGameModeInit()
    {
    // Don't use these lines if it's a filterscript
    SetGameModeText("TESTSCRIPT");
    AddPlayerClass(0,1715.7500,-1903.6248,13.5664,2.7095,0,0,0,0,0,0); // NoobSpawn
    return 1;
    }

    Spoiler anzeigen
    public OnGameModeExit()
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerConnect(playerid)
    {
    ShowPlayerDialog(playerid, DIALOG_REGISTER1, DIALOG_STYLE_INPUT, "GoldenLifeRolplay","Herzlich Willkommen auf GoldenLifeRolePlay.Da du neu bist benötigst du hier eine Registration.","Verlassen","Verlassen");

    Spoiler anzeigen
    new pname[MAX_PLAYER_NAME], path[200];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(path, sizeof(path), "/spieler/%s.ini", pname);

    Spoiler anzeigen
    if(!dini_Exists(path))
    {
    // Wenn der Spieler nicht registriert ist:
    ShowPlayerDialog(playerid, DIALOG_REGISTER1, DIALOG_STYLE_INPUT, "Registrierung", "Geben Sie hier Ihr gewünschtes Passwort ein.", "OK", "Abbrechen");
    }
    else
    {
    // Wenn der Spieler registriert ist:
    ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_INPUT, "Login", "Geben Sie hier Ihr Passwort ein:", "OK", "Abbrechen");
    }
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerDisconnect(playerid, reason)
    {
    if(pInfo[playerid][logged] == 1)
    {
    new pname[MAX_PLAYER_NAME], path[200];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(path, sizeof(path), "/spieler/%s.ini", pname);
    dini_IntSet(path, "sex", pInfo[playerid][sex]);
    dini_IntSet(path, "age", pInfo[playerid][age]);
    }
    pInfo[playerid][sex] = 0;
    pInfo[playerid][age] = 0;
    pInfo[playerid][logged] = 0;
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerSpawn(playerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerDeath(playerid, killerid, reason)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnVehicleSpawn(vehicleid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnVehicleDeath(vehicleid, killerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerText(playerid, text[])
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    {
    // Do something here
    return 1;
    }
    return 0;
    }

    Spoiler anzeigen
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerEnterCheckpoint(playerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerLeaveCheckpoint(playerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerEnterRaceCheckpoint(playerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerLeaveRaceCheckpoint(playerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnRconCommand(cmd[])
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerRequestSpawn(playerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnObjectMoved(objectid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerObjectMoved(playerid, objectid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnVehicleMod(playerid, vehicleid, componentid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnVehicleRespray(playerid, vehicleid, color1, color2)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerSelectedMenuRow(playerid, row)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerExitedMenu(playerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnRconLoginAttempt(ip[], password[], success)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerUpdate(playerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerStreamIn(playerid, forplayerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerStreamOut(playerid, forplayerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnVehicleStreamOut(vehicleid, forplayerid)
    {
    return 1;
    }

    Spoiler anzeigen
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new pname[MAX_PLAYER_NAME], path[200];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(path, sizeof(path), "/spieler/%s.ini", pname);

    Spoiler anzeigen
    switch(dialogid)
    {
    case DIALOG_REGISTER1:
    {
    if(!response)
    {
    Kick(playerid);
    }
    else
    {
    new pwlength = strlen(inputtext);
    if(pwlength > 0)
    {
    dini_Create(path); // Erstellt die .ini Datei
    dini_Set(path, "password", inputtext); // Schreibt das eingegebene Passwort in die .ini
    ShowPlayerDialog(playerid, DIALOG_REGISTER2, DIALOG_STYLE_LIST, "Wähle aus","Männlich\nWeiblich", "OK", "Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_NOPW1, DIALOG_STYLE_MSGBOX, "Registrierung", "Sie müssen ein Passwort angeben!", "OK", "Abbrechen");
    }
    }
    }
    case DIALOG_REGISTER2:
    {
    if(!response)
    {
    dini_Remove(path); // .ini löschen, da der User die registrierung abgebrochen hat.
    Kick(playerid);
    }
    else
    {
    dini_Create(path); // Erstellt die .ini Datei
    dini_Set(path, "password", inputtext); // Schreibt das eingegebene Passwort in die .ini
    ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_LIST, "Wähle aus","Männlich\nWeiblich", "OK", "Abbrechen"); //TIPPFEHLER! da muss DIALOG_REGISTER3 rein :D hast dich verschrieben
    }
    }
    case DIALOG_REGISTER3:
    {
    if(!response)
    {
    dini_Remove(path); // .ini löschen, da der User die registrierung abgebrochen hat.
    Kick(playerid);
    }
    else
    {
    dini_Set(path, "age", inputtext);
    ShowPlayerDialog(playerid, DIALOG_REGISTER4, DIALOG_STYLE_MSGBOX, "Registrierung", "Ihre Registrierung ist nun abgeschlossen!", "OK", "OK");
    }
    }
    case DIALOG_REGISTER4:
    {
    pInfo[playerid][sex] = dini_Int(path, "sex");
    pInfo[playerid][age] = dini_Int(path, "age");
    pInfo[playerid][logged] = 1;
    }
    case DIALOG_LOGIN1:
    {
    if(!response)
    {
    Kick(playerid);
    }
    else
    {
    new pwlength = strlen(inputtext);
    if(pwlength > 0)
    {
    new pw[200];
    format(pw, sizeof(pw), "%s", dini_Get(path, "password"));
    if(strcmp(inputtext, pw) == 0) // Wenn das Passwort stimmt
    {
    dini_IntSet(path, "sex", pInfo[playerid][sex]);
    dini_IntSet(path, "age", pInfo[playerid][age]);

    Spoiler anzeigen
    pInfo[playerid][logged] = 1;
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_WRONGPW, DIALOG_STYLE_MSGBOX, "Login", "Sie haben ein inkorrektes Passwort angegen!", "OK", "Abbrechen");
    }
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_NOPW2, DIALOG_STYLE_MSGBOX, "Login", "Sie müssen ein Passwort angeben!", "OK", "Abbrechen");
    }
    }
    }
    case DIALOG_NOPW1: // Sollte das Passwort bei der Registrierung "Leer" sein:
    {
    if(!response)
    {
    Kick(playerid);
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_REGISTER1, DIALOG_STYLE_INPUT, "Registrierung", "Geben Sie hier Ihr gewünschtes Passwort ein:", "OK", "Abbrechen");
    }
    }
    case DIALOG_NOPW2: // Sollte das Passwort beim Login "Leer" sein:
    {
    if(!response)
    {
    Kick(playerid);
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_INPUT, "Login", "Geben Sie hier Ihr Passwort ein:", "OK", "Abbrechen");
    }
    }
    case DIALOG_WRONGPW:
    {
    if(!response)
    {
    Kick(playerid);
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_INPUT, "Login", "Geben Sie hier Ihr Passwort ein:", "OK", "Abbrechen");
    }
    }
    }
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    return 1;}/pwn]

    Mit freundlichen Grüßen
    Slammer


    Voltic Roleplay
    5.35.250.99:4444


  • Du brauchst nicht dein ganzen Gamemode hier posten!


    Wir brauchen nur den teil von OnDialogResponse...
    Du musst den inputtext, den er in einen Dialog eingibt splitten. Musst mal die Suchfunktion verwenden. Diese Frage wurde nun nicht das erste mal gestellt! Unter der letzten ist ein super Kommentar von IPrototypelI der hat das echt gut erklärt..