String speichern dini?

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
  • Yoa hallo,
    ich habe grade gemerkt das man sich mit jedem Passwort einloggen kann.
    Das Passwort wird nur als Zahl 0 oder 1 gespeichert.
    Jetzt wollte ich fragen wie muss ich es hmachen das das PW als String gespeichert/geladen wird.
    Ich habe die Sufu genutzt und auch google etc. ich komm aber net weiter.
    Also ich möchhte wissen wie ich einen string speichere und lade.
    Ich hoffe mir kann einer helfen.
    mfg
    //Edit wenn möglich kann mir ja noch jemand sagen bzw. erklären wie ich das pw verschlüssele ;D
    Hier der ganzte Code:
    Dialog Response:
    if(dialogid == 1)
    {
    if(response)
    {
    new save[128];
    GetPlayerName(playerid,player,sizeof(player));
    format(save,sizeof(save),"Spieler/%s.ini",player);
    if(!strlen(inputtext))
    {
    new plname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, plname, sizeof(plname));
    new wstring[250];
    format(wstring, sizeof(wstring), "{FFFFFF}Wilkommen zurück: {FF0000}%s \n{FFFFFF}Schön das du uns wieder besuchst\n{FFFFFF}Du kannst dich nun einloggen\n{FF0000}Gib bitte dein Passwort unten ein!",plname);
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login",wstring,"Weiter","Abbrechen");
    return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
    }
    else if(strcmp(inputtext,dini_Get(save,"Passwort")) == 0)
    {
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login","{FFFFFF}Dein Passwort ist falsch! \nFalls dies nicht dein Account ist\nverlasse das Spiel ändere deinen Nicknamen\nund connecte erneut.\nDu kannst dir dann sofort einenn neuen Account erstellen.","Weiter","Abbrechen");
    SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
    }
    else if(strcmp(inputtext,dini_Get(save,"Passwort")) == 0)
    {
    loggedin[playerid] = true;
    hausinfo[playerid] = false;
    helpdeskb[playerid] = false;
    fahrstunde[playerid] = false;
    besichtigen[playerid] = false;
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");
    //Was geladen werden soll
    pInfo[playerid][geld] =dini_Int(save,"Geld");
    pInfo[playerid][skin] =dini_Int(save,"Skin");
    pInfo[playerid][admin] =dini_Int(save,"Adminlevel");
    pInfo[playerid][premium] =dini_Int(save,"Premium");
    pInfo[playerid][team] =dini_Int(save,"Team");
    pInfo[playerid][leader] =dini_Int(save,"Leader");
    pInfo[playerid][pBank] =dini_Int(save,"Kontostand");
    pInfo[playerid][perso] =dini_Int(save,"Personalausweis");
    pInfo[playerid][kampfstyle] =dini_Int(save,"Kampfstyle");
    pInfo[playerid][autoschein] =dini_Int(save,"Autoschein");
    pInfo[playerid][bootsschein] =dini_Int(save,"Bootsschein");
    pInfo[playerid][truckschein] =dini_Int(save,"Truckschein");
    pInfo[playerid][motorradschein] =dini_Int(save,"Motorradschein");
    pInfo[playerid][quadschein] =dini_Int(save,"Quadschein");
    pInfo[playerid][freischwimmer] =dini_Int(save,"Freischwimmer");
    pInfo[playerid][flugzeugschein] =dini_Int(save,"Flugzeugschein");
    pInfo[playerid][hausbesitzer] =dini_Int(save,"Hausbesitzer");
    pInfo[playerid][pHandy] =dini_Int(save,"Handy");
    pInfo[playerid][pCalling] =dini_Int(save,"Telefonieren");
    pInfo[playerid][pHCash] =dini_Int(save,"Guthaben");
    pInfo[playerid][pCallPlayerid] =dini_Int(save,"Anrufer");
    pInfo[playerid][pHandyNr] =dini_Int(save,"Handynummer");
    pInfo[playerid][tode] =dini_Int(save,"Gestorben");
    pInfo[playerid][kills] =dini_Int(save,"Getötete");
    pInfo[playerid][frank] =dini_Int(save,"Fraktionsrank");
    pInfo[playerid][hunger] =dini_Int(save,"Hunger");
    pInfo[playerid][energie] =dini_Int(save,"Energie");
    pInfo[playerid][harndrang] =dini_Int(save,"Harndrang");
    pInfo[playerid][pjob] =dini_Int(save,"Job");
    pInfo[playerid][wochen] =dini_Int(save,"Wochen");
    pInfo[playerid][monate] =dini_Int(save,"Monate");
    pInfo[playerid][jahre] =dini_Int(save,"Jahre");
    pInfo[playerid][payday] =dini_Int(save,"Payday");
    pInfo[playerid][flensburgpunkte] =dini_Int(save,"Punkte in Flensburg");
    SetTimerEx("Spawn",500,0,"i",playerid);
    }
    }
    }
    if(dialogid == 2)
    {
    if(response)
    {
    new save[128];
    GetPlayerName(playerid,player,sizeof(player));
    format(save,sizeof(save),"Spieler/%s.ini",player);
    if(!strlen(inputtext))
    {
    new plname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, plname, sizeof(plname));
    new wstring[250];
    format(wstring, sizeof(wstring), "{FFFFFF}Wilkommen bei uns: {FF0000}%s \n{FFFFFF}Schön das du zu uns gefunden hast\n{FFFFFF}Du kannst dir nun einen Account erstellen\n{FF0000}Bitte gib unten dein gewünschtest Passwort ein!",plname);
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Registrieren",wstring,"Weiter","Abbrechen"); return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
    }
    loggedin[playerid] = true;
    hausinfo[playerid] = false;
    helpdeskb[playerid] = false;
    fahrstunde[playerid] = false;
    besichtigen[playerid] = false;
    dini_Create(save);
    dini_Set(save,"Passwort",inputtext);
    dini_IntSet(save,"Passwort",pInfo[playerid][passwort]);
    SendClientMessage(playerid,0xFFFFFFFF,"Dein Account wurde angelegt und du wurdest eingeloggt.");
    SetTimerEx("Spawn",500,0,"i",playerid);
    }
    }
    return 1;
    }
    Connect steht nur das einer der beiden Dialoge aufgerufen werden soll ;D
    und Disconnect:
    public OnPlayerDisconnect(playerid, reason)
    {
    new name[128];
    new save[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(save,sizeof(save),"/Spieler/%s.ini",name);
    if(dini_Exists(save))
    {
    dini_IntSet(save,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(save,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(save,"Kampfstyle",GetPlayerFightingStyle(playerid));
    dini_IntSet(save,"Adminlevel",pInfo[playerid][admin]);
    dini_IntSet(save,"Premium",pInfo[playerid][premium]);
    dini_IntSet(save,"Team",pInfo[playerid][team]);
    dini_IntSet(save,"Leader",pInfo[playerid][leader]);
    dini_IntSet(save,"Kontostand",pInfo[playerid][pBank]);
    dini_IntSet(save,"Personalausweis",pInfo[playerid][perso]);
    dini_IntSet(save,"Autoschein",pInfo[playerid][autoschein]);
    dini_IntSet(save,"Bootsschein",pInfo[playerid][bootsschein]);
    dini_IntSet(save,"Truckschein",pInfo[playerid][truckschein]);
    dini_IntSet(save,"Motorradschein",pInfo[playerid][motorradschein]);
    dini_IntSet(save,"Quadschein",pInfo[playerid][quadschein]);
    dini_IntSet(save,"Freischwimmer",pInfo[playerid][freischwimmer]);
    dini_IntSet(save,"Flugzeugschein",pInfo[playerid][flugzeugschein]);
    dini_IntSet(save,"Hausbesitzer",pInfo[playerid][hausbesitzer]);
    dini_IntSet(save,"Handy",pInfo[playerid][pHandy]);
    dini_IntSet(save,"Telefonieren",pInfo[playerid][pCalling]);
    dini_IntSet(save,"Guthaben",pInfo[playerid][pHCash]);
    dini_IntSet(save,"Anrufer",pInfo[playerid][pCallPlayerid]);
    dini_IntSet(save,"Handynummer",pInfo[playerid][pHandyNr]);
    dini_IntSet(save,"Gestorben",pInfo[playerid][tode]);
    dini_IntSet(save,"Getötete",pInfo[playerid][kills]);
    dini_IntSet(save,"Fraktionsrank",pInfo[playerid][frank]);
    dini_IntSet(save,"Hunger",pInfo[playerid][hunger]);
    dini_IntSet(save,"Energie",pInfo[playerid][energie]);
    dini_IntSet(save,"Harndrang",pInfo[playerid][harndrang]);
    dini_IntSet(save,"Job",pInfo[playerid][pjob]);
    dini_IntSet(save,"Wochen",pInfo[playerid][wochen]);
    dini_IntSet(save,"Monate",pInfo[playerid][monate]);
    dini_IntSet(save,"Jahre",pInfo[playerid][jahre]);
    dini_IntSet(save,"Payday",pInfo[playerid][payday]);
    dini_IntSet(save,"Punkte in Flensburg",pInfo[playerid][flensburgpunkte]);
    dini_IntSet(save,"Drogen",pInfo[playerid][drogen]);
    dini_IntSet(save,"Gebannt_von",pInfo[playerid][von]);
    dini_IntSet(save,"Grund",pInfo[playerid][grund]);
    dini_IntSet(save,"Gebannt",pInfo[playerid][ban]);
    }
    return 1;
    }
    Das selbe brauche ich auch für mein ban system nur ohne verschlüsselung also
    wenn man gebannt wiurd soll der Grund und der der gabannt hat gespeichert werden also auch ein string.
    Meine frage ist nur wie spüeichere ich den Passwort string und lade denn?
    mfg


    Bewerte mich und meine Transaktionen als Mittelsmann

    Einmal editiert, zuletzt von lollipop ()

  • Genau das meine ich ja.
    Erst speichert er einen String, dann Integer mit dem Key "Passwort".
    Eigentlich müsste da ja ein Warning kommen, weil wenn Passwort String ist, kommt ein Warning bei dini_IntSet, wenn Passwort Integer ist, müsste der Warning bei dini_Set kommen.

  • Dann speicher das Passwort doch einfach nicht als Integer ab, sondern als String weil du weißt ja eh nicht ob der Spieler nur Zahlen oder Zahlen & Buchstaben verwendet. String ist für Passwörter eig in dem dini fall Typisch.

  • Also muss cih aus:
    dini_IntSet(save,"Passwort",pInfo[playerid][passwort]);

    das machen:
    dini_Set(save,"Passwort",pInfo[playerid][passwort]);

    oder?
    ich habe es jetzt so aber dann ist das Passwort feld komplett leer in der ini.
    mfg


    Bewerte mich und meine Transaktionen als Mittelsmann

  • Account neu erstellen, und wenn du mit LoH arbeitest die User Dateien nicht mit dem Windows Editor bearbeiten! Nur mit notepad++, sonst ist dein Passwort gleich wieder weg :D Hab ich viel Erfahrung mit^^

  • Ok danke ;D
    nein ich arbeite an einem Selfmade island reallife du kannst dir gerne einmal mein Benutzerprofil durchlesen ;D
    Währe es ein LoH dann währe es im Godfather berreich ich bin lang genug im Forum um das zu wissen ;D
    Ich werde es mal probieren.
    mfg
    //edit habe es jetzt erneut probiert.
    Ich habe es auch mit notepad geöffnet jedoch steht da trotzdem kein Passwort.
    Hier mein aktueller Code:
    Disconnect
    format(save,sizeof(save),"/Spieler/%s.ini",name);
    if(dini_Exists(save))
    {
    dini_IntSet(save,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(save,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(save,"Kampfstyle",GetPlayerFightingStyle(playerid));
    dini_IntSet(save,"Adminlevel",pInfo[playerid][admin]);
    dini_IntSet(save,"Premium",pInfo[playerid][premium]);
    dini_IntSet(save,"Team",pInfo[playerid][team]);
    dini_IntSet(save,"Leader",pInfo[playerid][leader]);
    dini_IntSet(save,"Kontostand",pInfo[playerid][pBank]);
    dini_IntSet(save,"Personalausweis",pInfo[playerid][perso]);
    dini_IntSet(save,"Autoschein",pInfo[playerid][autoschein]);
    dini_IntSet(save,"Bootsschein",pInfo[playerid][bootsschein]);
    dini_IntSet(save,"Truckschein",pInfo[playerid][truckschein]);
    dini_IntSet(save,"Motorradschein",pInfo[playerid][motorradschein]);
    dini_IntSet(save,"Quadschein",pInfo[playerid][quadschein]);
    dini_IntSet(save,"Freischwimmer",pInfo[playerid][freischwimmer]);
    dini_IntSet(save,"Flugzeugschein",pInfo[playerid][flugzeugschein]);
    dini_IntSet(save,"Hausbesitzer",pInfo[playerid][hausbesitzer]);
    dini_IntSet(save,"Handy",pInfo[playerid][pHandy]);
    dini_IntSet(save,"Telefonieren",pInfo[playerid][pCalling]);
    dini_IntSet(save,"Guthaben",pInfo[playerid][pHCash]);
    dini_IntSet(save,"Anrufer",pInfo[playerid][pCallPlayerid]);
    dini_IntSet(save,"Handynummer",pInfo[playerid][pHandyNr]);
    dini_IntSet(save,"Gestorben",pInfo[playerid][tode]);
    dini_IntSet(save,"Getötete",pInfo[playerid][kills]);
    dini_IntSet(save,"Fraktionsrank",pInfo[playerid][frank]);
    dini_IntSet(save,"Hunger",pInfo[playerid][hunger]);
    dini_IntSet(save,"Energie",pInfo[playerid][energie]);
    dini_IntSet(save,"Harndrang",pInfo[playerid][harndrang]);
    dini_IntSet(save,"Job",pInfo[playerid][pjob]);
    dini_IntSet(save,"Wochen",pInfo[playerid][wochen]);
    dini_IntSet(save,"Monate",pInfo[playerid][monate]);
    dini_IntSet(save,"Jahre",pInfo[playerid][jahre]);
    dini_IntSet(save,"Payday",pInfo[playerid][payday]);
    dini_IntSet(save,"Punkte in Flensburg",pInfo[playerid][flensburgpunkte]);
    dini_IntSet(save,"Drogen",pInfo[playerid][drogen]);
    dini_IntSet(save,"Gebannt_von",pInfo[playerid][von]);
    dini_IntSet(save,"Grund",pInfo[playerid][grund]);
    dini_IntSet(save,"Gebannt",pInfo[playerid][ban]);
    }
    Dialog Response:

    if(dialogid == 1)
    {
    if(response)
    {
    new save[128];
    GetPlayerName(playerid,player,sizeof(player));
    format(save,sizeof(save),"Spieler/%s.ini",player);
    if(!strlen(inputtext))
    {
    new plname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, plname, sizeof(plname));
    new wstring[250];
    format(wstring, sizeof(wstring), "{FFFFFF}Wilkommen zurück: {FF0000}%s \n{FFFFFF}Schön das du uns wieder besuchst\n{FFFFFF}Du kannst dich nun einloggen\n{FF0000}Gib bitte dein Passwort unten ein!",plname);
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login",wstring,"Weiter","Abbrechen");
    return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
    }
    else if(strcmp(inputtext,dini_Get(save,"Passwort")) != 0)
    {
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login","{FFFFFF}Dein Passwort ist falsch! \nFalls dies nicht dein Account ist\nverlasse das Spiel ändere deinen Nicknamen\nund connecte erneut.\nDu kannst dir dann sofort einenn neuen Account erstellen.","Weiter","Abbrechen");
    SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
    }
    else if(strcmp(inputtext,dini_Get(save,"Passwort")) == 0)
    {
    loggedin[playerid] = true;
    hausinfo[playerid] = false;
    helpdeskb[playerid] = false;
    fahrstunde[playerid] = false;
    besichtigen[playerid] = false;
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");
    //Was geladen werden soll
    pInfo[playerid][geld] =dini_Int(save,"Geld");
    pInfo[playerid][skin] =dini_Int(save,"Skin");
    pInfo[playerid][admin] =dini_Int(save,"Adminlevel");
    pInfo[playerid][premium] =dini_Int(save,"Premium");
    pInfo[playerid][team] =dini_Int(save,"Team");
    pInfo[playerid][leader] =dini_Int(save,"Leader");
    pInfo[playerid][pBank] =dini_Int(save,"Kontostand");
    pInfo[playerid][perso] =dini_Int(save,"Personalausweis");
    pInfo[playerid][kampfstyle] =dini_Int(save,"Kampfstyle");
    pInfo[playerid][autoschein] =dini_Int(save,"Autoschein");
    pInfo[playerid][bootsschein] =dini_Int(save,"Bootsschein");
    pInfo[playerid][truckschein] =dini_Int(save,"Truckschein");
    pInfo[playerid][motorradschein] =dini_Int(save,"Motorradschein");
    pInfo[playerid][quadschein] =dini_Int(save,"Quadschein");
    pInfo[playerid][freischwimmer] =dini_Int(save,"Freischwimmer");
    pInfo[playerid][flugzeugschein] =dini_Int(save,"Flugzeugschein");
    pInfo[playerid][hausbesitzer] =dini_Int(save,"Hausbesitzer");
    pInfo[playerid][pHandy] =dini_Int(save,"Handy");
    pInfo[playerid][pCalling] =dini_Int(save,"Telefonieren");
    pInfo[playerid][pHCash] =dini_Int(save,"Guthaben");
    pInfo[playerid][pCallPlayerid] =dini_Int(save,"Anrufer");
    pInfo[playerid][pHandyNr] =dini_Int(save,"Handynummer");
    pInfo[playerid][tode] =dini_Int(save,"Gestorben");
    pInfo[playerid][kills] =dini_Int(save,"Getötete");
    pInfo[playerid][frank] =dini_Int(save,"Fraktionsrank");
    pInfo[playerid][hunger] =dini_Int(save,"Hunger");
    pInfo[playerid][energie] =dini_Int(save,"Energie");
    pInfo[playerid][harndrang] =dini_Int(save,"Harndrang");
    pInfo[playerid][pjob] =dini_Int(save,"Job");
    pInfo[playerid][wochen] =dini_Int(save,"Wochen");
    pInfo[playerid][monate] =dini_Int(save,"Monate");
    pInfo[playerid][jahre] =dini_Int(save,"Jahre");
    pInfo[playerid][payday] =dini_Int(save,"Payday");
    pInfo[playerid][flensburgpunkte] =dini_Int(save,"Punkte in Flensburg");
    SetTimerEx("Spawn",500,0,"i",playerid);
    }
    }
    }
    if(dialogid == 2)
    {
    if(response)
    {
    new save[128];
    GetPlayerName(playerid,player,sizeof(player));
    format(save,sizeof(save),"Spieler/%s.ini",player);
    if(!strlen(inputtext))
    {
    new plname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, plname, sizeof(plname));
    new wstring[250];
    format(wstring, sizeof(wstring), "{FFFFFF}Wilkommen bei uns: {FF0000}%s \n{FFFFFF}Schön das du zu uns gefunden hast\n{FFFFFF}Du kannst dir nun einen Account erstellen\n{FF0000}Bitte gib unten dein gewünschtest Passwort ein!",plname);
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Registrieren",wstring,"Weiter","Abbrechen"); return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
    }
    loggedin[playerid] = true;
    hausinfo[playerid] = false;
    helpdeskb[playerid] = false;
    fahrstunde[playerid] = false;
    besichtigen[playerid] = false;
    dini_Create(save);
    dini_Set(save,"Passwort",inputtext);
    dini_Set(save,"Passwort",pInfo[playerid][passwort]);
    SendClientMessage(playerid,0xFFFFFFFF,"Dein Account wurde angelegt und du wurdest eingeloggt.");
    SetTimerEx("Spawn",500,0,"i",playerid);
    }
    }
    mfg


    Bewerte mich und meine Transaktionen als Mittelsmann

    Einmal editiert, zuletzt von lollipop ()

  • dini_Set(save,"Passwort",pInfo[playerid][passwort]);


    Das noch unter OnPlayerDisconnect, oder da wo du die PlayerVaribalen eben speicherst.



    dini_Set(save,"Passwort",inputtext);
    dini_Set(save,"Passwort",pInfo[playerid][passwort]);


    Warum zwei mal?



    //Edit Mach so:


    dini_Set(save,"Passwort",inputtext);
    format(pInfo[playerid][passwort], sizeof(inputtext), inputtext);
    Sonst wäre die Variable passwort ja wieder ein leerer String ^^

  • Danke für die schnelle hilfe.
    Jetzt habe ich ein Problem undzwar das:
    C:\Users\Sven\Desktop\Selfmade rl\gamemodes\Selfmade.pwn(5861) : warning 224: indeterminate array size in "sizeof" expression (symbol "")
    Es ist in der Zeile:
    format(pInfo[playerid][passwort], sizeof(inputtext), inputtext);

    //edit habe die Warningzeile auskommentiert habe es getestet.
    Es wird trotzdem kein Passwort gespeichert. Es sieht so aus:
    Passwort=
    egal ob mit notepad oder editor.
    mfg


    Bewerte mich und meine Transaktionen als Mittelsmann

    Einmal editiert, zuletzt von lollipop ()

  • Ja wenn du die Warningzeile auskommentierst und den Server verlässt, dann wird ja wieder ein leerer String in die Variable reingeschrieben, weil pInfo[playerid][passwort] immernoch ein leerer String ist.
    dann mach eben: statt dem format(pInfo[playerid][passwort, sizeof(inputtext)...);
    Das:
    strmid(pInfo[playerid][passwort], inputtext, 0, strlen(inputtext)-1, 255);


    Ich seh gerade, dass du beim einloggen das Passwort garnicht lädst...
    Also noch zu den anderen dini_Int usw bei if(dialogid == 1):



    new length = strlen(dini_Get(save, "Passwort"));
    strmid(pInfo[playerid][passwort], dini_Get(save, "Passwort"), 0, length-1, 255);



    Und beim Disconnecten:


    dini_Set(save, "Passwort", pInfo[playerid][passwort]); Falls du das nicht schon hast.




    Dir fehlen die einfachsten Basics.

  • Danke ;D jez wird das Passwort gespeichert und geladen.
    Nur das Problem ist jetzt kannn ich mich mit jedem Passwort einloggen.
    Wie muss es richtig sein? Hier der Code:
    entfernt
    //edit alten Code entfernt+neuen Text
    So habs jetzt so das alles gespeichert wird.
    Jetzt kann ich mich aber nicht mehr eibnloggen da steht immer falsches pw.
    Es sieht nun wie folgt aus:
    if(dialogid == 1)
    {
    if(response)
    {
    new pw;
    pw = strval(inputtext);
    new save[128];
    GetPlayerName(playerid,player,sizeof(player));
    format(save,sizeof(save),"Spieler/%s.ini",player);
    if(!strlen(inputtext))
    {
    new plname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, plname, sizeof(plname));
    new wstring[250];
    format(wstring, sizeof(wstring), "{FFFFFF}Wilkommen zurück: {FF0000}%s \n{FFFFFF}Schön das du uns wieder besuchst\n{FFFFFF}Du kannst dich nun einloggen\n{FF0000}Gib bitte dein Passwort unten ein!",plname);
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login",wstring,"Weiter","Abbrechen");
    return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
    }
    if(pInfo[playerid][passwort] != pw)
    {
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login","{FFFFFF}Dein Passwort ist falsch! \nFalls dies nicht dein Account ist\nverlasse das Spiel ändere deinen Nicknamen\nund connecte erneut.\nDu kannst dir dann sofort einenn neuen Account erstellen.","Weiter","Abbrechen");
    SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
    }
    else if(pInfo[playerid][passwort] == pw)
    {
    loggedin[playerid] = true;
    hausinfo[playerid] = false;
    helpdeskb[playerid] = false;
    fahrstunde[playerid] = false;
    besichtigen[playerid] = false;
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");
    //Was geladen werden soll
    pInfo[playerid][geld] =dini_Int(save,"Geld");
    pInfo[playerid][skin] =dini_Int(save,"Skin");
    pInfo[playerid][admin] =dini_Int(save,"Adminlevel");
    pInfo[playerid][premium] =dini_Int(save,"Premium");
    pInfo[playerid][team] =dini_Int(save,"Team");
    pInfo[playerid][leader] =dini_Int(save,"Leader");
    pInfo[playerid][pBank] =dini_Int(save,"Kontostand");
    pInfo[playerid][perso] =dini_Int(save,"Personalausweis");
    pInfo[playerid][kampfstyle] =dini_Int(save,"Kampfstyle");
    pInfo[playerid][autoschein] =dini_Int(save,"Autoschein");
    pInfo[playerid][bootsschein] =dini_Int(save,"Bootsschein");
    pInfo[playerid][truckschein] =dini_Int(save,"Truckschein");
    pInfo[playerid][motorradschein] =dini_Int(save,"Motorradschein");
    pInfo[playerid][quadschein] =dini_Int(save,"Quadschein");
    pInfo[playerid][freischwimmer] =dini_Int(save,"Freischwimmer");
    pInfo[playerid][flugzeugschein] =dini_Int(save,"Flugzeugschein");
    pInfo[playerid][hausbesitzer] =dini_Int(save,"Hausbesitzer");
    pInfo[playerid][pHandy] =dini_Int(save,"Handy");
    pInfo[playerid][pCalling] =dini_Int(save,"Telefonieren");
    pInfo[playerid][pHCash] =dini_Int(save,"Guthaben");
    pInfo[playerid][pCallPlayerid] =dini_Int(save,"Anrufer");
    pInfo[playerid][pHandyNr] =dini_Int(save,"Handynummer");
    pInfo[playerid][tode] =dini_Int(save,"Gestorben");
    pInfo[playerid][kills] =dini_Int(save,"Getötete");
    pInfo[playerid][frank] =dini_Int(save,"Fraktionsrank");
    pInfo[playerid][hunger] =dini_Int(save,"Hunger");
    pInfo[playerid][energie] =dini_Int(save,"Energie");
    pInfo[playerid][harndrang] =dini_Int(save,"Harndrang");
    pInfo[playerid][pjob] =dini_Int(save,"Job");
    pInfo[playerid][wochen] =dini_Int(save,"Wochen");
    pInfo[playerid][monate] =dini_Int(save,"Monate");
    pInfo[playerid][jahre] =dini_Int(save,"Jahre");
    pInfo[playerid][payday] =dini_Int(save,"Payday");
    pInfo[playerid][flensburgpunkte] =dini_Int(save,"Punkte in Flensburg");
    SetTimerEx("Spawn",500,0,"i",playerid);
    }
    }
    }


    Bewerte mich und meine Transaktionen als Mittelsmann

    Einmal editiert, zuletzt von lollipop ()

  • :thumbdown:
    WTF! Wiso machst du aus dem Passwort immer einen Integer Wert?!!
    Das Passwort ist ein STRING, also eine Zeichenkette und KEINE Zahl!
    new pw;
    pw = strval(inputtext);


    Völlig unsinnig -.-



    if(pInfo[playerid][passwort] != pw)


    Diese Bedinung kann NICHT erfüllt sein, da das Passwort noch nicht in pInfo[playerid][passwort] geladen ist!!!



    so:


    new save[128];
    GetPlayerName(playerid,player,sizeof(player));
    format(save,sizeof(save),"Spieler/%s.ini",player);
    format(pInfo[playerid][passwort], 50, dini_Get(save, "Passwort"));
    if(!strlen(inputtext))
    {
    new plname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, plname, sizeof(plname));
    new wstring[250];
    format(wstring, sizeof(wstring), "{FFFFFF}Wilkommen zurück: {FF0000}%s \n{FFFFFF}Schön das du uns wieder besuchst\n{FFFFFF}Du kannst dich nun einloggen\n{FF0000}Gib bitte dein Passwort unten ein!",plname);
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login",wstring,"Weiter","Abbrechen");
    return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
    }
    if(strcmp(inputtext, pInfo[playerid][passwort], true))
    {
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login","{FFFFFF}Dein Passwort ist falsch! \nFalls dies nicht dein Account ist\nverlasse das Spiel ändere deinen Nicknamen\nund connecte erneut.\nDu kannst dir dann sofort einenn neuen Account erstellen.","Weiter","Abbrechen");
    SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
    }
    else
    {
    //...


    Ist das denn so schwer? :thumbdown:


    Das musst du doch können wie hast du denn sonst über 500 Beiträge gesammelt?
    Du hast den Rank Profi!

  • Es tut mir leid das ich soetwas frage nur was da steht mit profi heißt nicht gleich das ich alles lkann.
    Erspammt habe ich sie aber nicht. Naja egal.
    Ich habs es jetzt soweit verstanden jedoch wird jetzt immer falsches passwort angezeigt wenn ich nur die else abfrage drinnen habe
    und wenn ich statt else das mache:
    else if(strcmp(inputtext, pInfo[playerid][passwort], false))
    Steht auch immer falsches passwort. Habe es auch so probiert:
    else if(strcmp(inputtext, pInfo[playerid][passwort], true))
    und bei der andere false etc.
    So sieht der Code jez aus:
    if(dialogid == 1)
    {
    if(response)
    {
    new save[128];
    GetPlayerName(playerid,player,sizeof(player));
    format(save,sizeof(save),"Spieler/%s.ini",player);
    format(pInfo[playerid][passwort], 50, dini_Get(save, "Passwort"));
    if(!strlen(inputtext))
    {
    new plname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, plname, sizeof(plname));
    new wstring[250];
    format(wstring, sizeof(wstring), "{FFFFFF}Wilkommen zurück: {FF0000}%s \n{FFFFFF}Schön das du uns wieder besuchst\n{FFFFFF}Du kannst dich nun einloggen\n{FF0000}Gib bitte dein Passwort unten ein!",plname);
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login",wstring,"Weiter","Abbrechen");
    return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
    }
    if(strcmp(inputtext, pInfo[playerid][passwort], true))
    {
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login","{FFFFFF}Dein Passwort ist falsch! \nFalls dies nicht dein Account ist\nverlasse das Spiel ändere deinen Nicknamen\nund connecte erneut.\nDu kannst dir dann sofort einenn neuen Account erstellen.","Weiter","Abbrechen");
    SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
    }
    else if(strcmp(inputtext, pInfo[playerid][passwort], false))
    {
    //...


    Bewerte mich und meine Transaktionen als Mittelsmann

  • if(strcmp(inputtext, pInfo[playerid][passwort], true))
    else if(strcmp(inputtext, pInfo[playerid][passwort], false))


    Unterschied? Schwachsinn.


    true in strcmp = Nicht case sensitive.
    false in strcmp = case sensitive.


    strcmp liefert 0 zurück, wenn die Strings übereinstimmen, 1 wenn nicht, also muss das so heißen, wenn du das unbedingt mit else if machen willst...


    if(strcmp(inputtext, pInfo[playerid][passwort], true))
    {
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login","{FFFFFF}Dein Passwort ist falsch! \nFalls dies nicht dein Account ist\nverlasse das Spiel ändere deinen Nicknamen\nund connecte erneut.\nDu kannst dir dann sofort einenn neuen Account erstellen.","Weiter","Abbrechen");
    SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
    }
    else if(!strcmp(inputtext, pInfo[playerid][passwort], true))
    //...