SA-MP Forums Archive
DINI Saving Password Wrong - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: DINI Saving Password Wrong (/showthread.php?tid=267047)



DINI Saving Password Wrong - HayZatic - 07.07.2011

Dini Is Saving My Password Like This For Every Account.

Код:
Name=HayZatic
Ip=74.88.154.91
Registered=-1
Password=0
Level=0
Wired=0
Jailed=0



Re: DINI Saving Password Wrong - Shadoww5 - 07.07.2011

We have to see the code.

We can't guess.


Re: DINI Saving Password Wrong - HayZatic - 07.07.2011

Код:
public OnPlayerConnect(playerid)
{
    new file[100],Name[MAX_PLAYER_NAME],Ip[16];
    GetPlayerName(playerid,Name,sizeof(Name));
    GetPlayerIp(playerid,Ip,sizeof(Ip));
    format(file,sizeof(file),PlayerFile,Name);

    dini_IntSet(file,"Password",0);
         SendClientMessage(playerid,COLOUR_ORANGE,"Your username is not recognized on this server. Please /register to continue.");
    }
    strcat(gPlayerInfo[playerid][PLAYER_NAME],dini_Get(file,"Name"));
    strcat(gPlayerInfo[playerid][PLAYER_IP],dini_Get(file,"Ip"));
    gPlayerInfo[playerid][PLAYER_REGGED] = dini_Int(file,"Registered");
    gPlayerInfo[playerid][PLAYER_PASS] = dini_Int(file,"Password");
    gPlayerInfo[playerid][PLAYER_LEVEL] = dini_Int(file,"Level");
    gPlayerInfo[playerid][PLAYER_WIRED] = dini_Int(file,"Wired");
    gPlayerInfo[playerid][PLAYER_JAILED] = dini_Int(file,"Jailed");
    if(gPlayerInfo[playerid][PLAYER_REGGED] == 0) SendClientMessage(playerid,COLOUR_ORANGE,"You're username is recognised on this server, but you have not registered. Please /register to continue.");
    else if(gPlayerInfo[playerid][PLAYER_REGGED] == 1)SendClientMessage(playerid,COLOUR_ORANGE,"You're username is recognised on this server. Please /login to continue.");
    gPlayerInfo[playerid][PLAYER_REGGED] = 0;
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new file[100];
    format(file,sizeof(file),PlayerFile,gPlayerInfo[playerid][PLAYER_NAME]);
    dini_Set(file,"Name",gPlayerInfo[playerid][PLAYER_NAME]);
    dini_Set(file,"Ip",gPlayerInfo[playerid][PLAYER_IP]);
    dini_IntSet(file,"Registered",gPlayerInfo[playerid][PLAYER_REGGED]);
    dini_IntSet(file,"Password",gPlayerInfo[playerid][PLAYER_PASS]);
    dini_IntSet(file,"Level",gPlayerInfo[playerid][PLAYER_LEVEL]);
    dini_IntSet(file,"Wired",gPlayerInfo[playerid][PLAYER_WIRED]);
    dini_IntSet(file,"Jailed",gPlayerInfo[playerid][PLAYER_JAILED]);
    gPlayerInfo[playerid][PLAYER_NAME] = 0;
    gPlayerInfo[playerid][PLAYER_IP] = 0;
    gPlayerInfo[playerid][PLAYER_REGGED] = 0;
    gPlayerInfo[playerid][PLAYER_LOGGED] = 0;
    gPlayerInfo[playerid][PLAYER_PASS] = 0;
    gPlayerInfo[playerid][PLAYER_LEVEL] = 0;
    gPlayerInfo[playerid][PLAYER_WIRED] = 0;
    gPlayerInfo[playerid][PLAYER_JAILED] = 0;
    return 1;
}

COMMAND:test(playerid, params[])
{
	SendClientMessage(playerid,COLOUR_ORANGE,"Test");
	return 1;
}
COMMAND:register(playerid, params[])
{
    if(gPlayerInfo[playerid][PLAYER_REGGED] == 1)
    return SendClientMessage(playerid, COLOUR_ORANGE, "ERROR: You have already registered!");
    else if(!params[0])
    return SendClientMessage(playerid, COLOUR_ORANGE, "USAGE: /register [password]");
    else if(strlen(params) < gSettings[PASS_MIN] || strlen(params) > gSettings[PASS_MAX])
    {
    new string[128];
        format(string, sizeof(string), "ERROR: Password must be between %d and $d characters long!", gSettings[PASS_MIN], gSettings[PASS_MAX]);
    return SendClientMessage(playerid, COLOUR_ORANGE, string);
    }
    else
    {
    new password = num_hash(params);
    gPlayerInfo[playerid][PLAYER_PASS] = password;
    gPlayerInfo[playerid][PLAYER_REGGED] = 1;
        gPlayerInfo[playerid][PLAYER_LOGGED] = 1;
    GetPlayerIp(playerid, gPlayerInfo[playerid][PLAYER_IP], 16);
    new string[128]; format(string, sizeof(string), "You have successfully registered your account with the password \'%s\'. You have been automatically logged in.", params);
    return SendClientMessage(playerid, COLOUR_LIGHTBLUE, string);
    }
}



Re: DINI Saving Password Wrong - [L3th4l] - 07.07.2011

Edit - Ignore this.


Re: DINI Saving Password Wrong - Jack_Leslie - 07.07.2011

Код:
public OnPlayerConnect(playerid)
{
    new file[100],Name[MAX_PLAYER_NAME],Ip[16];
    GetPlayerName(playerid,Name,sizeof(Name));
    GetPlayerIp(playerid,Ip,sizeof(Ip));
    format(file,sizeof(file),PlayerFile,Name);

    dini_IntSet(file,"Password",0);
         SendClientMessage(playerid,COLOUR_ORANGE,"Your username is not recognized on this server. Please /register to continue.");    }
    strcat(gPlayerInfo[playerid][PLAYER_NAME],dini_Get(file,"Name"));
    strcat(gPlayerInfo[playerid][PLAYER_IP],dini_Get(file,"Ip"));
    gPlayerInfo[playerid][PLAYER_REGGED] = dini_Int(file,"Registered");
    gPlayerInfo[playerid][PLAYER_PASS] = dini_Int(file,"Password");
    gPlayerInfo[playerid][PLAYER_LEVEL] = dini_Int(file,"Level");
    gPlayerInfo[playerid][PLAYER_WIRED] = dini_Int(file,"Wired");
    gPlayerInfo[playerid][PLAYER_JAILED] = dini_Int(file,"Jailed");
    if(gPlayerInfo[playerid][PLAYER_REGGED] == 0) SendClientMessage(playerid,COLOUR_ORANGE,"You're username is recognised on this server, but you have not registered. Please /register to continue.");
    else if(gPlayerInfo[playerid][PLAYER_REGGED] == 1)SendClientMessage(playerid,COLOUR_ORANGE,"You're username is recognised on this server. Please /login to continue.");
    gPlayerInfo[playerid][PLAYER_REGGED] = 0;
    return 1;
}
To me it looks like you set their password to 0 when they connect?


Re: DINI Saving Password Wrong - HayZatic - 07.07.2011

Quote:
Originally Posted by Jack_Leslie
Посмотреть сообщение
Код:
public OnPlayerConnect(playerid)
{
    new file[100],Name[MAX_PLAYER_NAME],Ip[16];
    GetPlayerName(playerid,Name,sizeof(Name));
    GetPlayerIp(playerid,Ip,sizeof(Ip));
    format(file,sizeof(file),PlayerFile,Name);

    dini_IntSet(file,"Password",0);
         SendClientMessage(playerid,COLOUR_ORANGE,"Your username is not recognized on this server. Please /register to continue.");    }
    strcat(gPlayerInfo[playerid][PLAYER_NAME],dini_Get(file,"Name"));
    strcat(gPlayerInfo[playerid][PLAYER_IP],dini_Get(file,"Ip"));
    gPlayerInfo[playerid][PLAYER_REGGED] = dini_Int(file,"Registered");
    gPlayerInfo[playerid][PLAYER_PASS] = dini_Int(file,"Password");
    gPlayerInfo[playerid][PLAYER_LEVEL] = dini_Int(file,"Level");
    gPlayerInfo[playerid][PLAYER_WIRED] = dini_Int(file,"Wired");
    gPlayerInfo[playerid][PLAYER_JAILED] = dini_Int(file,"Jailed");
    if(gPlayerInfo[playerid][PLAYER_REGGED] == 0) SendClientMessage(playerid,COLOUR_ORANGE,"You're username is recognised on this server, but you have not registered. Please /register to continue.");
    else if(gPlayerInfo[playerid][PLAYER_REGGED] == 1)SendClientMessage(playerid,COLOUR_ORANGE,"You're username is recognised on this server. Please /login to continue.");
    gPlayerInfo[playerid][PLAYER_REGGED] = 0;
    return 1;
}
To me it looks like you set their password to 0 when they connect?
Well Right now it thinks that in general i never registered


Re: DINI Saving Password Wrong - PCheriyan007 - 07.07.2011

You should probably make it check whether the user is registered or not and based on that, make it show a dialog of logging in or registering. That would prevent some of these mishaps.