Passwort Ingame ändern

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,


    ich bins mal wieder. Könnte einer von euch mir eventuell einen Befehl scripten, mit dem man InGame sein PW ändern kann (nur sein eigenes PW, versteht sich ...)


    Würde mich freuen, danke schonmal im voraus.


    Zilla

  • schön und gut aber du musst wissen, dass ichs nicht weiß wies geht, sonst würde ich nicht fragen ...


    könntest mir des vielleicht machen ?

  • defines:
    #define changepw 2012


    OnPlayerCommand:
    if (strcmp("/changepw", cmdtext, true, 10) == 0)
    {
    ShowPlayerDialog(playerid, changepw, DIALOG_STYLE_INPUT, "{FFFF00}Passwort ändern", "Gebe hier dein NEUES Passwort ein:", "Fortfahren", "Abbrechen");
    return 1;
    }


    OnDialogResponse:


    if(dialogid == changepw){
    if(response){
    new datei[120], playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername, sizeof playername);
    format(datei, sizeof datei, "PFADZUDENUSERFILES/%s.ini", playername);
    dini_Set(datei, "Passwort", inputtext);
    SendClientMessage(playerid, 0xffffffff, "SERVER: Passwort geändert.");
    }
    }

  • Danke für deine Antwort. Werds gleich mal testen und berichten.


    LG Zilla


    /edit ergebnis


    Also hab alles brav eingefügt, geht auch ingame alles nur das pw ändert sich ned. bei mir in der account datei heißt das Passwort "Key", ich habs auch umbenannt. nur es ändert sich einfach ned. Woran liegts?

    Einmal editiert, zuletzt von Zilla ()

  • Du musst auch bei PlayerSave(playerid); die enum wodrin das PW gespeichert wird eg. PlayerInfo[playerid][key] // das passwort
    musst dementsprechen setzen mit
    format(PlayerInfo[playerid][key], sizeof PlayerInfo[playerid][key], "%s", inputtext);


    Da ja bei deinem PlayerSave(playerid), bzw, SpielcerSpeicher, oder wie auch immer du die Funktion genannt hast, das PW NOCHMALS überschrieben wird mit dem alten, das kannst wie gesagt mit der redifinieren der Vairable verhindern.

  • hab ich ich habs so umgeändert:


    format(datei, sizeof datei, "/Accounts/%s.ini", playername);
    dini_Set(datei, "Key", inputtext);


    in den acc datein ist das pw Key=blablabla deshalb hab ich auch Key hingeschrieben .. stimmt das so?

  • ehrlich gesagt weiß ich ned so ganz wo ich das


    Zitat

    format(PlayerInfo[playerid][key], sizeof PlayerInfo[playerid][key], "%s", inputtext);

    hinpacken soll. unter dem enum pInfo gibt es pKey, das taucht unter onplayerregister, playerupdate und unter onplayerlogin auf.

  • PlayerUpdate{
    //BLA BLA bissle code


    //BEVOR PlayerInfo[playerid][pKey] GESETZT wird:

    new datei[120], playername[MAX_PLAYERNAME];
    GetPlayerName(playerid, playername, sizeof playername);
    format(datei, sizeof datei, "PFADZUDENUSERFILES/%s.ini", playername);
    format(PlayerInfo[playerid][pKey], sizeof PlayerInfo[playerid][pKey], "%s", dini_Get(datei, "Key"));