//====================== [REGISTER & LOGIN] ==================================
CMD:register(playerid,params[])
{
if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,COLOR_RED,"ACCOUNT: You are already registered and logged in.");
if (udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,COLOR_RED,"ACCOUNT: This account already exists, please use '/login [password]'.");
if (strlen(params) == 0) return SendClientMessage(playerid,COLOR_RED,"ACCOUNT: Correct usage: '/register [password]'");
if (strlen(params) < 4 || strlen(params) > 20) return SendClientMessage(playerid,COLOR_RED,"ACCOUNT: Password length must be greater than three characters");
if (udb_Create(PlayerName2(playerid),params))
{
new file[256],rname[MAX_PLAYER_NAME], tmp3[100];
new strdate[20], year,month,day;
getdate(year, month, day);
GetPlayerName(playerid,rname,sizeof(rname));
format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(rname));
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);
dUserSetINT(PlayerName2(playerid)).("loggedin",1);
dUserSetINT(PlayerName2(playerid)).("banned",0);
dUserSetINT(PlayerName2(playerid)).("level",0);
dUserSetINT(PlayerName2(playerid)).("LastOn",0);
dUserSetINT(PlayerName2(playerid)).("money",0);
dUserSetINT(PlayerName2(playerid)).("kills",0);
dUserSetINT(PlayerName2(playerid)).("deaths",0);
dUserSetINT(PlayerName2(playerid)).("Bank",PlayerI nfo[playerid][bank]);
dUserSetINT(PlayerName2(playerid)).("weed",PlayerI nfo[playerid][weed]);
dUserSetINT(PlayerName2(playerid)).("Gang",PlayerI nfo[playerid][gang]);
dUserSetINT(PlayerName2(playerid)).("Condoms",Play erInfo[playerid][condoms]);
dUserSetINT(PlayerName2(playerid)).("inalcatraz",P layerInfo[playerid][inalcatraz]);
PlayerInfo[playerid][LoggedIn] = 1;
PlayerInfo[playerid][Registered] = 1;
SavePlayer(playerid);
dUserSetINT(PlayerName2(playerid)).("bowner",0);
dUserSetINT(PlayerName2(playerid)).("bowned",0);
dUserSetINT(PlayerName2(playerid)).("vowned",0);
dUserSetINT(PlayerName2(playerid)).("vowner",0);
dUserSetINT(PlayerName2(playerid)).("vowned2",0);
dUserSetINT(PlayerName2(playerid)).("vowner2",0);
dUserSetINT(PlayerName2(playerid)).("vowned3",0);
dUserSetINT(PlayerName2(playerid)).("vowner3",0);
dUserSetINT(PlayerName2(playerid)).("vowned4",0);
dUserSetINT(PlayerName2(playerid)).("vowner4",0);
dUserSetINT(PlayerName2(playerid)).("vowned5",0);
dUserSetINT(PlayerName2(playerid)).("vowner5",0);
dUserSetINT(PlayerName2(playerid)).("vowned6",0);
dUserSetINT(PlayerName2(playerid)).("vowner6",0);
dUserSetINT(PlayerName2(playerid)).("vowned7",0);
dUserSetINT(PlayerName2(playerid)).("vowner7",0);
dUserSetINT(PlayerName2(playerid)).("vowned8",0);
dUserSetINT(PlayerName2(playerid)).("vowner8",0);
dUserSetINT(PlayerName2(playerid)).("vowned9",0);
dUserSetINT(PlayerName2(playerid)).("vowner9",0);
dUserSetINT(PlayerName2(playerid)).("vowned10",0);
dUserSetINT(PlayerName2(playerid)).("vowner10",0);
dUserSetINT(PlayerName2(playerid)).("vowned11",0);
dUserSetINT(PlayerName2(playerid)).("vowner11",0);
dUserSetINT(PlayerName2(playerid)).("vowned12",0);
dUserSetINT(PlayerName2(playerid)).("vowner12",0);
dUserSetINT(PlayerName2(playerid)).("vowned13",0);
dUserSetINT(PlayerName2(playerid)).("vowner13",0);
dUserSetINT(PlayerName2(playerid)).("vowned14",0);
dUserSetINT(PlayerName2(playerid)).("vowner14",0);
dUserSetINT(PlayerName2(playerid)).("vowned15",0);
dUserSetINT(PlayerName2(playerid)).("vowner15",0);
dUserSetINT(PlayerName2(playerid)).("vowned16",0);
dUserSetINT(PlayerName2(playerid)).("vowner16",0);
dUserSetINT(PlayerName2(playerid)).("Houseid", -255);
dUserSetINT(PlayerName2(playerid)).("Rentid", -255);
dUserSetINT(PlayerName2(playerid)).("SpawnX", 0);
dUserSetINT(PlayerName2(playerid)).("SpawnY", 0);
dUserSetINT(PlayerName2(playerid)).("SpawnZ", 0);
dUserSetINT(PlayerName2(playerid)).("SpawnInt", 0);
LoginPlayer(playerid);
LoadPlayer(playerid);
SendClientMessage(playerid, green, "ACCOUNT: You are now registered, and have been automaticaly logged in");
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
return 1;
}
return 1;
}
CMD:login(playerid,params[])
{
if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,COLOR_RED,"ACCOUNT: You are already logged in.");
if (!udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,COLOR_RED,"ACCOUNT: Account doesn't exist, please use '/register [password]'.");
if (strlen(params)==0) return SendClientMessage(playerid,COLOR_RED,"ACCOUNT: Correct usage: '/login [password]'");
if (udb_CheckLogin(PlayerName2(playerid),params))
{
new file[256], tmp3[100], string[128], lname[MAX_PLAYER_NAME];
GetPlayerName(playerid,lname,sizeof(lname));
format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(lname));
GetPlayerIp(playerid,tmp3,100);
dini_Set(file,"ip",tmp3);
LoginPlayer(playerid);
LoadPlayer(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] );
return SendClientMessage(playerid,green,string);
} else return SendClientMessage(playerid,green,"ACCOUNT: Successfully Logged In");
}
return SendClientMessage(playerid,COLOR_RED,"ACCOUNT: Login failed! Incorrect Password");
}
LoginPlayer(playerid)
{
if(ServerInfo[GiveMoney] == 1) {ResetPlayerMoney(playerid); GivePlayerMoney(playerid, dUserINT(PlayerName2(playerid)).("money") ); }
dUserSetINT(PlayerName2(playerid)).("loggedin",1);
PlayerInfo[playerid][Deaths] = (dUserINT(PlayerName2(playerid)).("deaths"));
PlayerInfo[playerid][Kills] = (dUserINT(PlayerName2(playerid)).("kills"));
PlayerInfo[playerid][Level] = (dUserINT(PlayerName2(playerid)).("level"));
PlayerInfo[playerid][Registered] = 1;
PlayerInfo[playerid][LoggedIn] = 1;
}