/Changename Bug (Hashed Passwords)
#1

Ok so when someone changes there name and logs on after as the other name because the passwords are hashed it doesnt change the password to there password it should be....

pawn Код:
if(strcmp("/changename", cmd, true) == 0)
        {
    if(Spawned[playerid] == 0) return SendClientMessage(playerid,COLOR_ORED,"Please Spawn First!");
    if(isLogged[playerid] == 0) return SendClientMessage(playerid,COLOR_ORED,"Please Login First!");
    new tmp[256], cmdid;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /changename [new name]");
    new file[128];
    new name[256];
    new file2[256];
        GetPlayerName(playerid,name,sizeof(name));
    format(file,sizeof(file),SERVER_USER_FILE,name);
    format(file2,sizeof(file2),SERVER_USER_FILE,tmp);
    if(fexist(file2)) return SendClientMessage(playerid,COLOR_ORED,"The name is already in use!");
    new str[256];
    format(str,sizeof(str),"* %s has changed his/her name to %s.",name,tmp);
    SetPlayerName(playerid,tmp);
    dini_Create(file2);
    dini_Remove(file);
    SendClientMessageToAll(COLOR_LIGHTGREEN,str);
             return 1;
        }
Reply
#2

Can I just add it shows all the details of the player in a new file apart from "Password=*******"
Reply
#3

I need help quick!!
Reply
#4

*Bump*
Reply
#5

*bump* srs need help
Reply
#6

Explain batter. I cannot understand what your are trying to fix
Reply
#7

The server passwords are hashed.
When someone uses /changename the server sorts it out but when they log in with there new name it tells them incorrect password unless they use /changepass after they have used /changename
Reply
#8

Show your /register command.
Reply
#9

pawn Код:
if(strcmp(cmd, "/register", true) == 0)
    {
      new name[MAX_PLAYER_NAME];
      tmp = strtok(cmdtext, idx);
      GetPlayerName(playerid, name, sizeof(name));
      if(strlen(tmp) == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /register [password]");
      format(file,sizeof(file),SERVER_USER_FILE,name);
      if(!fexist(file))
            {
              dini_Create(file);
              dini_IntSet(file, "Password");
              dini_IntSet(file,"AdminLevel", 0);
              dini_IntSet(file,"Money", 25000);
               dini_IntSet(file,"Score", 0);
               dini_IntSet(file,"DrivingLic",0);
              SendClientMessage(playerid, COLOR_LIGHTBLUE, "You account has been created! Please /login to proceed.");
              PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
              GetPlayerName(playerid, name, sizeof(name));
              printf("%s has registered a account!", name);
              justcome[playerid] = 1;
            }
            else
            {
              SendClientMessage(playerid, COLOR_RED, " This account is already registered.");
                PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
            }
        return 1;
    }
Reply
#10

pawn Код:
dini_IntSet(file, "Password");
This line compiles without errors?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)