Passwort abspeichern

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 habe etwas an dem login gebastelt jedoch weiß ich jetzt nicht wie ich mein Passwort abspeichern kann.
    In der Dini wird zwar ein Passwort abgefragt aber dort steht lediglich Passwort = 0
    hier ist der passende Code dazu.




    //SendClientMessageToAll(0xFFFF00AA, tmpbuf);
    //SendClientMessage(playerid, 0xFF004040, tmpbuf);
    /*Schreib mal ins "enum Info" noch rein "Admin"
    Dann einfach die if Abfrage "if(pInfo[playerid][Admin] >= 1)"
    Das wäre nun in dem Fall so:
    Falls der Spieler größer als Admin oder gleich Admin 1 ist.


    Du kannst das verwenden:
    > (Größer als)
    < (Kleiner als)
    >= (Größer als oder ist gleich)
    <= (Kleiner als oder ist gleich)
    == (Ist perfekt gleich)*/
    //--------------------------------------------------------------------------------------------------------------------------------------


    //Icludes
    //-------------------------
    #include <a_samp>
    #include <core>
    #include <float>
    #include <dini>
    #pragma tabsize 0


    //Defines
    //------------------------
    #define COLOR_GREY 0xAFAFAFAA
    #define COLOR_GREEN 0x33AA33AA
    #define COLOR_RED 0xAA3333AA
    #define COLOR_YELLOW 0xFFFF00AA
    #define COLOR_WHITE 0xFFFFFFAA
    #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_LOGIN 8


    //New`s
    //-----------------------------
    new Text:txtTimeDisp;
    new hour, minute;
    new timestr[32];


    //Enum`S
    //--------------------------------------------------------------------------
    enum pInfo
    {
    sex, // 0 = Männlich, 1 = Weiblich.
    age, // Das Alter
    password,
    logged // Ob der Spieler eingeloggt ist.
    }
    new Info[MAX_PLAYERS][pInfo];


    //Forward`S
    //--------------------------
    forward UpdateTimeAndWeather();



    //OnPlayerRequestSpawn
    //-----------------------------------------
    public OnPlayerRequestSpawn(playerid)
    {
    return 1;
    }



    //OnPlayerPickUpPickup
    //-----------------------------------------
    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    }


    //OnPlayerConnet
    //--------------------------------------------------------------------------
    public OnPlayerConnect(playerid)
    {
    GameTextForPlayer(playerid,"~w~test server",5000,5);
    gettime(hour, minute);
    SetPlayerTime(playerid,hour,minute);
    new pname[MAX_PLAYER_NAME], path[200];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(path, sizeof(path), "/Spieler.ini", pname);
    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_LOGIN, DIALOG_STYLE_INPUT, "Login", "Geben Sie hier Ihr Passwort ein:", "OK", "Abbrechen");
    }
    return 1;
    }



    //OnPlayerDisconnect
    //------------------------------------------------------------------------------------------------------
    public OnPlayerDisconnect(playerid)
    {
    new pname[MAX_PLAYER_NAME], path[200];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(path, sizeof(path), "/Spieler/%s.ini", pname);


    dini_IntSet(path, "sex", Info[playerid][sex]);
    dini_IntSet(path, "age", Info[playerid][age]);
    dini_IntSet(path, "password", Info[playerid][password]);


    Info[playerid][logged] = 0;
    }



    //Befehle
    //------------------------------------------------------------------------------------------------------
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    return 1;
    }



    //OnPlayerSpawn
    //------------------------------------------------------------------------------------------------------


    public OnPlayerSpawn(playerid)
    {
    GivePlayerMoney(playerid, 5000);
    SetPlayerInterior(playerid,0);
    TextDrawShowForPlayer(playerid,txtTimeDisp);
    gettime(hour, minute);
    SetPlayerTime(playerid,hour,minute);


    return 1;
    }



    //OnPlayerDeath
    //------------------------------------------------------------------------------------------------------
    public OnPlayerDeath(playerid, killerid, reason)
    {
    TextDrawHideForPlayer(playerid,txtTimeDisp);
    return 1;
    }



    //OnPlayerRequestClass
    //----------------------------------------------------------------------
    public OnPlayerRequestClass(playerid, classid)
    {
    return 1;
    }


    public OnGameModeInit()
    {
    SetGameModeText("Test");
    ShowPlayerMarkers(1);
    DisableInteriorEnterExits();
    ShowNameTags(1);
    EnableStuntBonusForAll(1);
    txtTimeDisp = TextDrawCreate(605.0,25.0,"00:00");
    TextDrawUseBox(txtTimeDisp, 0);
    TextDrawFont(txtTimeDisp, 3);
    TextDrawSetShadow(txtTimeDisp,0); // no shadow
    TextDrawSetOutline(txtTimeDisp,2); // thickness 1
    TextDrawBackgroundColor(txtTimeDisp,0x000000FF);
    TextDrawColor(txtTimeDisp,0xFFFFFFFF);
    TextDrawAlignment(txtTimeDisp,3);
    TextDrawLetterSize(txtTimeDisp,0.5,1.5);
    UpdateTimeAndWeather();
    SetTimer("UpdateTimeAndWeather",1000 * 60,1);


    // Car Spawns------------------------------------------------------------------
    AddStaticVehicle(451,2040.0520,1319.2799,10.3779,183.2439,16,16);
    }


    //UpdateTimeAndWeather
    //----------------------------------------------------------------------------
    public UpdateTimeAndWeather()
    {
    // Update time
    gettime(hour, minute);
    format(timestr,32,"%02d:%02d",hour,minute);
    TextDrawSetString(txtTimeDisp,timestr);
    SetWorldTime(hour);


    new x=0;
    while(x!=MAX_PLAYERS) {
    if(IsPlayerConnected(x) && GetPlayerState(x) != PLAYER_STATE_NONE) {
    SetPlayerTime(x,hour,minute);
    }
    x++;
    }


    }


    //OnDialogRespnse
    //----------------------------------------------------------------------------
    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);


    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, "Geschlecht", "Männlich\r\nWeiblich", "Fertig", "Abbruch");
    }
    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_IntSet(path, "sex", listitem); // Schreibt entweder 0 oder 1 in die .ini (0 = Männlich, 1 = Weiblich)
    ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_INPUT, "Registrierung", "Geben Sie hier Ihr Alter an: (z.B. 16):", "OK", "Abbrechen");
    }
    }
    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:
    {
    Info[playerid][sex] = dini_Int(path, "sex");
    Info[playerid][age] = dini_Int(path, "age");
    Info[playerid][logged] = 1;
    }
    case DIALOG_LOGIN1:


    {
    if(!response)


    {
    Kick(playerid);


    }
    else


    {
    if(strlen(inputtext))


    {
    if(strcmp(inputtext, dini_Get(path, "password")) == 0) // Wenn das Passwort stimmt


    {
    Info[playerid][sex] = dini_Int(path, "sex");
    Info[playerid][age] = dini_Int(path, "age");
    Info[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");
    }
    }
    }



    }




    //Stock`S
    //----------------------------------------------------------------------------

  • Zeig mal deinen Register Stock... etc. und nicht dein ganzes Script! Ausserdem ahben wir hier ein Pawn Tax Das ist das ding!

  • Ja wenn ich da auf vorschau klicke dann verändert er die Einrückungen und setzt alles hinter einander...


    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);
    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, "Geschlecht", "Männlich\r\nWeiblich", "Fertig", "Abbruch"); } 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_IntSet(path, "sex", listitem); // Schreibt entweder 0 oder 1 in die .ini (0 = Männlich, 1 = Weiblich) ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_INPUT, "Registrierung", "Geben Sie hier Ihr Alter an: (z.B. 16):", "OK", "Abbrechen"); } } 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: { Info[playerid][sex] = dini_Int(path, "sex"); Info[playerid][age] = dini_Int(path, "age"); Info[playerid][logged] = 1; } case DIALOG_LOGIN1:
    { if(!response)
    { Kick(playerid);
    } else
    { if(strlen(inputtext))
    { if(strcmp(inputtext, dini_Get(path, "password")) == 0) // Wenn das Passwort stimmt
    { Info[playerid][sex] = dini_Int(path, "sex"); Info[playerid][age] = dini_Int(path, "age"); Info[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"); } }}
    }



    //Enum`S//--------------------------------------------------------------------------enum pInfo{ sex, // 0 = Männlich, 1 = Weiblich. age, // Das Alter password, logged // Ob der Spieler eingeloggt ist.}new Info[MAX_PLAYERS][pInfo];
    public OnPlayerConnect(playerid){ GameTextForPlayer(playerid,"~w~test server",5000,5); gettime(hour, minute); SetPlayerTime(playerid,hour,minute); new pname[MAX_PLAYER_NAME], path[200]; GetPlayerName(playerid, pname, sizeof(pname)); format(path, sizeof(path), "/Spieler.ini", pname); 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_LOGIN, DIALOG_STYLE_INPUT, "Login", "Geben Sie hier Ihr Passwort ein:", "OK", "Abbrechen"); } return 1;}


    //OnPlayerDisconnect//------------------------------------------------------------------------------------------------------public OnPlayerDisconnect(playerid){new pname[MAX_PLAYER_NAME], path[200];GetPlayerName(playerid, pname, sizeof(pname));format(path, sizeof(path), "/Spieler/%s.ini", pname);
    dini_IntSet(path, "sex", Info[playerid][sex]);dini_IntSet(path, "age", Info[playerid][age]);dini_IntSet(path, "password", Info[playerid][password]);
    Info[playerid][logged] = 0;}

  • Ich will die Stocks!!!! -.- da sist der gleiche Code... ich brauche den Stock wo alles Eingetragen wird etc..... oder den public what ever....!!!

  • Okay, ich sehe schon du arbeitest ein wenig anders... na gut aber ich habe den fehler schon ;)

    Zitat


    //OnPlayerDisconnect//------------------------------------------------------------------------------------------------------public OnPlayerDisconnect(playerid){new pname[MAX_PLAYER_NAME], path[200];GetPlayerName(playerid, pname, sizeof(pname));format(path, sizeof(path), "/Spieler/%s.ini", pname);
    dini_IntSet(path, "sex", Info[playerid][sex]);dini_IntSet(path, "age", Info[playerid][age]);dini_IntSet(path, "password", Info[playerid][password]);
    Info[playerid][logged] = 0;}

    Du musst da er sicherlich mit Buchstaben und Zahlen ein Passwort machen wird auch dini_Set(path,"password",Info[playerid][password]); benutzen! So setzt du ein Integer also eine Zahl weshalb bei dir auch das

    Code
    password= 0

    kommt!


    Sprich: Ersetze das " IntSet " mit " Set " also das " Int " wegmachen!

  • Bin unterwegs und komme erst um 22:30uhr nach hause.
    Ich probiere es dann nochmal :)
    Danke im vorraus.
    Ich merk schon, man skriptet ein jahr nicht und ist komplett aus eem Konzept... :(



    -----------------------------------------------------------------------------------------------------
    Also, plötzlich erschien "stay within the world bountries" :D das ist aber nirgendswo aufgeführt :D es läuft kein fs und mein skript besteht nur aus
    dem login system...außerdem kommt
    :cursing: passwort = (leerstelle)


    also sprich garnichts... ;(
    ----------------------------------------------------------------------------------------------------


    so wenn ich das int weg mache dann kommt dort eine leerstelle hin... :cursing::cursing:

    2 Mal editiert, zuletzt von Danger34 ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen