Admin Password [REP ++]
#1

Hi All.I need help with Admin Password.I maked it with words not with numbers.But now i set password to player and when player connect put password IJASIDJSAIJDIASJDIJASID and logged it :/ but i set the password teki :/ why ?

Code:

pawn Code:
pInfo

    pAdminPw,
pawn Code:
OnPlayerRegister

                format(var, 64, "AdminPw=%s\n",PlayerInfo[playerid][pAdminPw]);fwrite(hFile, var);
pawn Code:
OnPlayerUpdate

format(var, 64, "AdminPw=%s\n",PlayerInfo[playerid][pAdminPw]);fwrite(hFile, var);
OnPlayerLogin

pawn Code:
if( strcmp( key , "AdminPw" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pAdminPw] = strval( val ); }
DialogResponse

pawn Code:
if(dialogid == 137) {
        if(!response)
        {
            Kick(playerid);
            return 1;
        }
        new pass = strval(inputtext);
        new playerPass = PlayerInfo[playerid][pAdminPw];
        if(pass == playerPass)
        {
            SendClientMessage(playerid,COLOR_WHITE,"{6EF83C}INFO:{FFFFFF}Uspesno ste logirani na DC Admin/GM Panelot");
            new playersip[256];
            GetPlayerIp(playerid, playersip, sizeof(playersip));
            GetPlayerName(playerid, sendername, sizeof(sendername));
            return 1;
        }
        else {
        SendClientMessage(playerid,COLOR_GREY,"{FF4040}GRESKA:{FFFFFF}Pogresna lozinka.");
        Kick(playerid);
        return 1;
    }
}
Command for Set Password

pawn Code:
//------------------------------------------------------------------------------
    if(strcmp(cmd, "/staviapw", true) == 0)
    {
        if (PlayerInfo[playerid][pAdmin] >= 1338)
        {
            if(IsPlayerConnected(playerid))
            {
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp))
                {
                    SendClientMessage(playerid, COLOR_GRAD1, "{6EF83C}INFO:{FFFFFF}/staviapw [ID/Ime na Igrac] [lozinka]");
                    return 1;
                }
                giveplayerid = ReturnUser(tmp);
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp))
                {
                    SendClientMessage(playerid, COLOR_GRAD1, "{6EF83C}INFO:{FFFFFF}/staviapw [ID/Ime na Igrac] [lozinka]");
                    return 1;
                }
                strmid(PlayerInfo[giveplayerid][pAdminPw], tmp, 0, strlen(cmdtext), 255);
                PlayerInfo[giveplayerid][pAdminPw] = PlayerInfo[giveplayerid][pAdminPw];
                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                format(string, sizeof(string),"{6EF83C}INFO:{FFFFFF}Admin %s ti namesti %s lozinka na Admin Panel.",sendername,PlayerInfo[giveplayerid][pAdminPw]);
                SendClientMessage(giveplayerid, COLOR_WHITE, string);
                format(string, sizeof(string),"{6EF83C}INFO:{FFFFFF}Mu namestivte %s Admin Password, na %s za Admin Panel.",PlayerInfo[giveplayerid][pAdminPw],giveplayer);
                SendClientMessage(playerid, COLOR_WHITE, string);
                SacuvajIgraca(giveplayerid);
            }
        }
        else
        {
           SCM(playerid, WHITE,"{FF4040}GRESKA:{FFFFFF}Ne ste ovlasteni za Ovaa Komanda.");
           return 1;
        }
        return 1;
    }
OnPlayerLogin

pawn Code:
if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pGameMaster] >= 1)
        {
           ShowPlayerDialog(playerid, 137, DIALOG_STYLE_PASSWORD,"Admin/GM Panel","Vnesete ja Lozinkata na Admin/GM Panelot","Vnesi","Izlezi");

        }

HELP REPP ++
Reply
#2

You can't simply compare strings using the == operator.

I'm talking about the
Quote:

if(pass == playerPass)

line.

EDIT: I noticed you are using strval to transform the password into an integer? What if the password has letters in it?

EDIT 2: Why are you not hashing the passwords?
Reply
#3

I dont understand you
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)