if(udb_Exists(PlayerName2(playerid)))
{
if(PlayerInfo[playerid][LoggedIn] == 0)
{
ShowPlayerDialog(playerid, 125, DIALOG_STYLE_PASSWORD, ""cgreen"Login",""cwhite"This user Account is "cgreen"registered\n"cwhite"Please "cred"login "cwhite"to "cgreen"access "cwhite"your profile.","Login","Kick");
}
}
new file2[130];
new pname[128];
if(PlayerInfo[playerid][LoggedIn] == 1)
{
GetPlayerName(playerid, pname, sizeof(pname));
format(file2, sizeof(file2), savefolder,pname);
if(!dini_Exists(file2))
{
dini_Create(file2);
dini_IntSet(file2, "Score", 0);
dini_IntSet(file2, "Money", 0);
SetPlayerScore(playerid, dini_Int(file2, "Score"));
SetPlayerMoney(playerid, dini_Int(file2, "Money"));
}
else
{
SetPlayerScore(playerid, dini_Int(file2, "Score"));
SetPlayerMoney(playerid, dini_Int(file2, "Money"));
}
}
case 125:
{
if(!response)
{
Kick(playerid);
}
if (udb_Exists(PlayerName2(playerid))) {
if (udb_CheckLogin(PlayerName2(playerid),inputtext))
{
new file[256], tmp3[100], string[128];
format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
GetPlayerIp(playerid,tmp3,100);
dini_Set(file,"ip",tmp3);
LoginPlayer(playerid);
Savestatus(playerid);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(PlayerInfo[playerid][Level] > 0) {
format(string,sizeof(string),"ACCOUNT: Successfully Logged In. (Level %d)", PlayerInfo[playerid][Level] );
TimeZ[playerid]=1;
return SendClientMessage(playerid,green,string);
} else return TimeZ[playerid]=1;
}
else {
PlayerInfo[playerid][FailLogin]++;
printf("LOGIN: %s has failed to login, Wrong password (%s) Attempt (%d)", PlayerName2(playerid),inputtext, PlayerInfo[playerid][FailLogin] );
ShowPlayerDialog(playerid, 125, DIALOG_STYLE_INPUT, ""cred"Incorrect Password",""cwhite"Please enter your "cgreen"correct "cwhite"password!","Login","Kick");
if(PlayerInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
{
new string[128]; format(string, sizeof(string), "%s has been kicked (Failed Logins)", PlayerName2(playerid) );
SendClientMessageToAll(grey, string);
print(string);
Kick(playerid);
}
}
}
}
case 126:
{
if(!response)
{
Kick(playerid);
}
if (strlen(inputtext) < 4 || strlen(inputtext) > 20) {
new string[200];
format(string, sizeof(string),""cwhite"Welcome "cred"%s "cwhite"you are not registered\nKindly enter password to register your account\n"cred"Invalid password length", PlayerName2(playerid));
ShowPlayerDialog(playerid, 126, DIALOG_STYLE_INPUT, "Register",string,"Register","Kick");
}
if (!udb_Exists(PlayerName2(playerid))) {
if (udb_Create(PlayerName2(playerid),inputtext))
{
new file[256],name[MAX_PLAYER_NAME], tmp3[100];
new strdate[20], year,month,day; getdate(year, month, day);
GetPlayerName(playerid,name,sizeof(name)); format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(name));
GetPlayerIp(playerid,tmp3,100); dini_Set(file,"ip",tmp3);
// dini_Set(file,"password",params);
dUserSetINT(PlayerName2(playerid)).("registered",1);
format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
dini_Set(file,"RegisteredDate",strdate);
dini_Set(file,"Nick",name);
dUserSetINT(PlayerName2(playerid)).("loggedin",1);
dUserSetINT(PlayerName2(playerid)).("banned",0);
dUserSetINT(PlayerName2(playerid)).("level",0);
dUserSetINT(PlayerName2(playerid)).("LastOn",0);
dUserSetINT(PlayerName2(playerid)).("money",5000);
dUserSetINT(PlayerName2(playerid)).("Score",0);
dUserSetINT(PlayerName2(playerid)).("kills",0);
dUserSetINT(PlayerName2(playerid)).("deaths",0);
dUserSetINT(PlayerName2(playerid)).("hours",0);
dUserSetINT(PlayerName2(playerid)).("minutes",0);
dUserSetINT(PlayerName2(playerid)).("seconds",0);
dUserSetINT(PlayerName2(playerid)).("dRank",0);
dUserSetINT(PlayerName2(playerid)).("Prestige-I",0);
dUserSetINT(PlayerName2(playerid)).("Prestige-II",0);
PlayerInfo[playerid][LoggedIn] = 1;
PlayerInfo[playerid][Registered] = 1;
SendClientMessage(playerid, green, "ACCOUNT: You are now registered, and have been automaticaly logged in");
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
}
}
}
savePlayer(playerid);
SavePlayer(playerid)
{
dUserSetINT(PlayerName2(playerid)).("money",GetPlayerMoney(playerid));
dUserSetINT(PlayerName2(playerid)).("kills",PlayerInfo[playerid][Kills]);
dUserSetINT(PlayerName2(playerid)).("deaths",PlayerInfo[playerid][Deaths]);
dUserSetINT(PlayerName2(playerid)).("Score",GetPlayerScore(playerid));
dUserSetINT(PlayerName2(playerid)).("Help Operator",PlayerInfo[playerid][Helper]);
dUserSetINT(PlayerName2(playerid)).("Donor",PlayerInfo[playerid][dRank]);
dUserSetINT(PlayerName2(playerid)).("Prestige-I",PlayerInfo[playerid][Prestige1]);
dUserSetINT(PlayerName2(playerid)).("Prestige-II",PlayerInfo[playerid][Prestige2]);
new h, mm, s;
TotalGameTime(playerid, h, mm, s);
dUserSetINT(PlayerName2(playerid)).("hours", h);
dUserSetINT(PlayerName2(playerid)).("minutes", mm);
dUserSetINT(PlayerName2(playerid)).("seconds", s);
new Float:x,Float:y,Float:z, interior;
GetPlayerPos(playerid,x,y,z); interior = GetPlayerInterior(playerid);
dUserSetINT(PlayerName2(playerid)).("x1",floatround(x));
dUserSetINT(PlayerName2(playerid)).("y1",floatround(y));
dUserSetINT(PlayerName2(playerid)).("z1",floatround(z));
dUserSetINT(PlayerName2(playerid)).("interior1",interior);
new Float:health; GetPlayerHealth(playerid, Float:health);
new Float:armour; GetPlayerArmour(playerid, Float:armour);
new year,month,day; getdate(year, month, day);
new strdate[20]; format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
new file[256]; format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
dUserSetINT(PlayerName2(playerid)).("health",floatround(health));
dUserSetINT(PlayerName2(playerid)).("armour",floatround(armour));
dini_Set(file,"LastOn",strdate);
dUserSetINT(PlayerName2(playerid)).("loggedin",0);
dUserSetINT(PlayerName2(playerid)).("TimesOnServer",(dUserINT(PlayerName2(playerid)).("TimesOnServer"))+1);
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
dini_Set(file,"Nick",name);
}
use Y_INI System, it's more easy to use, and no bugs
i use it and it works successful |