TDM-Script: Immer falsches Passwort

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
  • Ich habe ein Team-DM Script und weiß einfach nicht warum da immer "Falsches Passwort" steht ...
    Nach dem Registrieren einloggen funktioniert einwandfrei.


    Aber dann gehts nicht mehr (wollte mit Adminrechte geben in der .ini).


    Hier mal der PAWN-Code, wie die .ini angelegt wird usw.:


    public OnPlayerRegister(playerid, password[])
    {
    if(IsPlayerConnected(playerid))
    {
    new name[MAX_PLAYER_NAME], str[128], ip[15];
    GetPlayerName(playerid, name, sizeof name);
    GetPlayerIp(playerid, ip, sizeof ip);
    format(str, sizeof str, "%s.ini", name);
    new File:account = fopen(str, io_write);
    if (account)
    {
    strmid(AccountInfo[playerid][Password], password, 0, strlen(password), 255);
    AccountInfo[playerid][Cash] = GetPlayerMoney(playerid);
    new file[128];
    {
    format(file, sizeof file, "Password: %s\n\r", AccountInfo[playerid][Password]);
    {fwrite(account, file); }
    format(file, sizeof file, "AdminLevel: %d\n\r", 0);
    {fwrite(account, file); AccountInfo[playerid][AdminLevel] = 0; }
    format(file, sizeof file, "DonateRank: %d\n\r",AccountInfo[playerid][DonateRank]);
    {fwrite(account, file); }
    format(file, sizeof file, "Cash: %d\n\r", AccountInfo[playerid][Cash]);
    {fwrite(account, file); }
    format(file, sizeof file, "Warnings: %d\n\r",AccountInfo[playerid][Warns]);
    {fwrite(account, file); }
    format(file, sizeof file, "WarnReason1: %s\n\r",AccountInfo[playerid][WarnReason1]);
    {fwrite(account, file); }
    format(file, sizeof file, "WarnReason2: %s\n\r",AccountInfo[playerid][WarnReason2]);
    {fwrite(account, file); }
    format(file, sizeof file, "WarnReason3: %s\n\r",AccountInfo[playerid][WarnReason3]);
    {fwrite(account, file); }
    format(file, sizeof file, "Kills: %d\n\r",AccountInfo[playerid][Kills]);
    {fwrite(account, file); }
    format(file, sizeof file, "Deaths: %d\n\r",AccountInfo[playerid][Deaths]);
    {fwrite(account, file); }
    format(file, sizeof file, "IPAddress: %s\n\r",ip);
    {fwrite(account, file); }
    }
    fclose(account);
    SendClientMessage(playerid, GREEN, "Der Account wurde erfolgreich registriert, bitte wähle dein Team!");
    }
    }
    return 1;
    }


    Und hier der /login und /register Command:


    if (strcmp(cmd, "/register", true) == 0) // Registers an account
    {
    if(IsPlayerConnected(playerid))
    {
    if(AccountInfo[playerid][Logged] == 1)
    {
    SendClientMessage(playerid, GREEN, "Der Account wurde erfolgreich registriert, du bist automatisch eingeloggt viel Spaß");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s.ini", sendername);
    new File: hFile = fopen(string, io_read);
    if (hFile)
    {
    SendClientMessage(playerid, RED, "Dieser Nickname ist bereits vergeben.");
    fclose(hFile);
    return 1;
    }
    new tmppass[128];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "Verwende: /register [password]");
    strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
    OnPlayerRegister(playerid, MD5_Hash(tmppass));
    GivePlayerMoney(playerid, 10000);
    AccountInfo[playerid][Logged] = 1;
    }
    return 1;
    }


    if (strcmp(cmd, "/login", true) == 0) // Logins
    {
    new tmppass[128];
    if(AccountInfo[playerid][Logged] == 1) return SendClientMessage(playerid, RED, "Du bist bereits eingeloggt.");
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "Verwende: /login [password]");
    new plname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, plname, sizeof(plname));
    format(string, sizeof(string), "%s.ini", plname);
    if(!fexist(string)) return SendClientMessage(playerid, RED, "Dieser Account ist noch nicht registriert Verwende: /register [password] um Ihn zu registrieren");
    strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
    OnPlayerLogin(playerid, MD5_Hash(tmppass));
    return 1;
    }


    Bitte um Hilfe!


    //edit


    OnPlayerLogin(playerid, MD5_Hash(tmppass));


    Was muss ich da ändern, damit der das aus der Datei das normale PW und nicht das verschlüsselte liest?


    //edit2


    RCON Login ganz vergessen! :)
    Erledigt.