Edit the command(rep++)
#1

This command not save a password.

Код:
if(strcmp(cmd, "/changepass", true) == 0)
{
	if(IsPlayerConnected(playerid))
	{
		if(IsPlayerLogged[playerid] == 0)
		{
			SendClientMessage(playerid, COLOR_RED, "You aren't logged!");
			return 1;
		}
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_WHITE, "Usage: /changepass [new password]");
			return 1;
		}
		strmid(PlayerInfo[playerid][pPwd], tmp, 0, strlen(cmdtext), 255);
		format(string, sizeof(string), "You successful changed your password %s.", tmp);
		SendClientMessage(playerid, COLOR_YELLOW, string);
	}
	return 1;
}
Reply
#2

You have to format the file of the people who change pass

GetPlayerName(playerid, pname, sizeof(pname));
format(file, sizeof(file), "Users/%s.txt", pname);

"Users/%s.txt"
This is your saving file

Like Us/Ameri.txt

If player names Ameri and Us is your saving folder
Reply
#3

I put this:

new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
format(file, sizeof(file), "%s.ini", pName);

and don't work
Reply
#4

Код:
COMMAND:changepass(playerid, params[]) 
{ 
    new file[256], PlayerName[MAX_PLAYER_NAME], buf[150]; 
    GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME); 
    if(Account[playerid][Logged] != 1) return SendClientMessage(playerid,Red,"You are not logged in, so you can't use this command!"); 
    if(strlen(params) >= 3) 
    { 
        format(file, sizeof(file), "users/%s.txt", PlayerName); 
        WP_Hash(buf, sizeof(buf), params); 
        dini_Set(file, "Password", buf); 
        SendClientMessage(playerid,Green, "Your password has been succesfull changed!"); 
    }
    else
    {
        SendClientMessage(playerid, Red, "Your password need to be atleast 3 characters long!"); 
    }
    return 1; 
}
try this
Reply
#5

I used udb_hash

Edit: I fixed
Reply
#6

Код:
if(strcmp(cmd, "/changepass", true) == 0)
	{
		if(IsPlayerConnected(playerid))
		{
		    if(gPlayerLogged[playerid] == 0)
		    {
		        SendClientMessage(playerid, COLOR_GREY, "   You need to login first.");
		        return 1;
		    }
		    else
		    {
		    	SendClientMessage(playerid, COLOR_GREY, " ");
			}
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /changepass [password]");
				return 1;
			}
			strmid(PlayerInfo[playerid][pKey], tmp, 0, strlen(cmdtext), 255);
			OnPlayerUpdate(playerid);
			SendClientMessage(playerid, COLOR_YELLOW, "   Password has been changed successfuly");
		}
		return 1;
	}
And That?
Reply
#7

Worked?
Reply
#8

Oo and try to make sure your folder is correct
Reply
#9

Everything is correct, the problem was dini_IntSet ...
Reply
#10

Cool
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)