pawn Code:
//onplayerconnect
new query[300], pname[24];
GetPlayerName(playerid, pname, 24);
format(query, sizeof(query), "SELECT IP FROM `data` WHERE user = '%s' LIMIT 1", pname);
mysql_query(query);
mysql_store_result();
new rows = mysql_num_rows();
if(!rows)
{
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""Blue"Please register",""White"Welcome to "Red""White"!\n"White"In order to start playing, you have to register!\n\n"White"Please insert a password below:", "Register", "Cancel");
}
if(rows == 1)
{
new IP[2][15];
mysql_fetch_field_row(IP[0],"IP");
GetPlayerIp(playerid, IP[1], 15);
if(strlen(IP[0]) != 0 && !strcmp(IP[0], IP[1], true))
{
MySQL_Login(playerid);
}
else if(!strlen(IP[0]) || strcmp(IP[0], IP[1], true))
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""Blue"Please log-in", ""White"Welcome back to "Red""White"!\n"White"In order to start playing, you have to log-in!\n\n"White"Please insert "Red"your"White" password below:", "Login", "Cancel");
PlayerInfo[playerid][Registered] = 1;
}
}
mysql_free_result();
//onplayerdisconnect
MySQLSavePlayer(playerid);
//Ongamemodeinit
new string[1500];
mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
format(string,sizeof(string),"CREATE TABLE IF NOT EXISTS data(user VARCHAR(24), password VARCHAR(40), IP VARCHAR(15), score INT(20), money INT(20), kills INT(20), deaths INT(20), registered INT(20), loggedin INT(20), level INT(20), cookies INT(20),");
strcat(string,"cakes INT(20), biscuits INT(20), icecreams INT(20), YG INT(20), unlimitedb INT(20), quickweapon INT(20), vgoto INT(20), playerfly INT(20), TP INT(20), YGFunction1 INT(20), YGFunction2 INT(20), YGFunction3 INT(20), YGFunction4 INT(20), YGFunction5 INT(20), YGFunction6 INT(20), Bank INT(20), weed INT(20), Condoms INT(20), inalcatraz INT(20), hours INT(20), minutes INT(20), seconds INT(20),");
strcat(string,"x1 INT(20), y1 INT(20), z1 INT(20), interior1 INT(20), bowner INT(20), bowned INT(20), vowned INT(20), vowner INT(20), vowned2 INT(20), vowner2 INT(20), vowned3 INT(20), vowner3 INT(20), vowned4 INT(20), vowner4 INT(20), vowned5 INT(20), vowner5 INT(20), Houseid INT(20), Rentid INT(20), SpawnX INT(20), SpawnY INT(20), SpawnZ INT(20), SpawnInt INT(20))");
mysql_query(string);
mysql_debug(1);
//Ondialogresponse
if(dialogid == DIALOG_REGISTER)
{
if(response)
{
if(!strlen(inputtext) || strlen(inputtext) > 100)
{
SendClientMessage(playerid, -1,"~r~Error: ~w~You must insert a password between 1-100 characters!");
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""Blue"Please register",""White"Welcome to "Red""White"!\n"White"In order to start playing, you have to register!\n\n"White"Please insert a password below:", "Register", "Cancel");
}
else if(strlen(inputtext) > 0 && strlen(inputtext) < 100)
{
new escpass[100];
mysql_real_escape_string(inputtext, escpass);
MySQL_Register(playerid, escpass);
}
}
if(!response)
{
SendClientMessage(playerid, -1,"~r~Error: ~w~You must register before logging in!");
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""Blue"Please register",""White"Welcome to "Red""White"!\n"White"In order to start playing, you have to register!\n\n"White"Please insert a password below:", "Register", "Cancel");
}
}
if(dialogid == DIALOG_LOGIN)
{
if(!response)
{
SendClientMessage(playerid, -1,"~r~Error: ~w~You must login before you spawn!");
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""Blue"Please log-in", ""White"Welcome back to "Red""White"!\n"White"In order to start playing, you have to log-in!\n\n"White"Please insert "Red"your"White" password below:", "Login", "Cancel");
}
if(response)
{
new query[200], pname[24], escapepass[100];
GetPlayerName(playerid, pname, 24);
mysql_real_escape_string(inputtext, escapepass);
format(query, sizeof(query), "SELECT `user` FROM data WHERE user = '%s' AND password = SHA1('%s')", pname, escapepass);
mysql_query(query);
mysql_store_result();
new numrows = mysql_num_rows();
if(numrows == 1) MySQL_Login(playerid);
if(!numrows)
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""Blue"Please log-in", ""White"Welcome back to "Red""White"!\n"White"In order to start playing, you have to log-in!\n\n"White"Please insert "Red"your"White" password below:", "Login", "Cancel");
SendClientMessage(playerid, -1,"Error: Incorrect password!");
}
mysql_free_result();
}
}
//Stocks
stock MySQL_Register(playerid, passwordstring[])
{
new query[900], pname[24], IP[15],string[500];
GetPlayerName(playerid, pname, 24);
GetPlayerIp(playerid, IP, 15);
strcat(string, "(user, password, IP, score, money, kills, deaths, registered, loggedin, level, cookies, cakes, biscuits, icecreams, YG, unlimitedb, quickweapon, vgoto, playerfly, TP, YGFunction1,");
strcat(string, "YGFunction2, YGFunction3, YGFunction4, YGFunction5, YGFunction6, Bank, weed, Condoms, inalcatraz, hours, minutes, seconds, x1, y1, z1, interior1, bowner, bowned, vowned, vowner, vowned2, vowner2, vowned3, vowner3, vowned4, vowner4, vowned5, vowner5, Houseid, Rentid, SpawnX, SpawnY, SpawnZ, SpawnInt)");
format(query, sizeof(query), "INSERT INTO data %s VALUES('%s', SHA1('%s'), '%s', 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -255, -255, 0, 0, 0, 0)", string, pname, passwordstring, IP);
mysql_query(query);
SendClientMessage(playerid, -1,"Info: You have been registered on this server!");
PlayerInfo[playerid][LoggedIn] = 1;
PlayerInfo[playerid][Registered] = 1;
return 1;
}
stock MySQL_Login(playerid)
{
new query[900], pname[24], savingstring[600];
new h, m, s;
TotalGameTime(playerid, h, m, s);
new Float:x,Float:y,Float:z, interior;
GetPlayerPos(playerid,x,y,z); interior = GetPlayerInterior(playerid);
GetPlayerName(playerid, pname, 24);
format(query, sizeof(query), "SELECT score, money, kills, deaths, registered, loggedin, level, cookies, cakes, biscuits, icecreams, YG, unlimitedb,quickweapons, vgoto, playerfly, TP, YGFunction1, YGFunction2, YGFunction3, YGFunction4, YGFunction5, YGFunction6, Bank, weed, Condoms, inalcatraz, hours, minutes, seconds, x1, y1, z1, interior1, bowner, bowned, vowned, vowner, vowned2, vowner2, vowned3, vowner3, vowned4, vowner4, vowned5, vowner5 FROM data WHERE user = '%s'", pname);
mysql_query(query);
mysql_store_result();
while(mysql_fetch_row_format(query,"|"))
{
mysql_fetch_field_row(savingstring, "score"); SetPlayerScore(playerid, strval(savingstring));
mysql_fetch_field_row(savingstring, "money"); MoneyGiven[playerid] = strval(savingstring);
mysql_fetch_field_row(savingstring, "kills"); PlayerInfo[playerid][Kills] = strval(savingstring);
mysql_fetch_field_row(savingstring, "deaths"); PlayerInfo[playerid][Deaths] = strval(savingstring);
mysql_fetch_field_row(savingstring, "registered"); PlayerInfo[playerid][Registered] = strval(savingstring);
mysql_fetch_field_row(savingstring, "loggedin"); PlayerInfo[playerid][LoggedIn] = strval(savingstring);
mysql_fetch_field_row(savingstring, "level"); PlayerInfo[playerid][Level] = strval(savingstring);
mysql_fetch_field_row(savingstring, "cookies"); PlayerInfo[playerid][Cookies] = strval(savingstring);
mysql_fetch_field_row(savingstring, "cakes"); PlayerInfo[playerid][Cakes] = strval(savingstring);
mysql_fetch_field_row(savingstring, "biscuits"); PlayerInfo[playerid][Biscuits] = strval(savingstring);
mysql_fetch_field_row(savingstring, "icecreams"); PlayerInfo[playerid][IceCreams] = strval(savingstring);
mysql_fetch_field_row(savingstring, "YG"); PlayerInfo[playerid][Rb] = strval(savingstring);
mysql_fetch_field_row(savingstring, "unlimitedb"); PlayerInfo[playerid][Unlimitedb] = strval(savingstring);
mysql_fetch_field_row(savingstring, "quickweapon"); PlayerInfo[playerid][Quickweapon] = strval(savingstring);
mysql_fetch_field_row(savingstring, "vgoto"); PlayerInfo[playerid][Vgoto] = strval(savingstring);
mysql_fetch_field_row(savingstring, "playerfly"); PlayerInfo[playerid][PlayerFly] = strval(savingstring);
mysql_fetch_field_row(savingstring, "TP"); PlayerInfo[playerid][TP] = strval(savingstring);
mysql_fetch_field_row(savingstring, "YGFunction1"); PlayerInfo[playerid][YGFunction1] = strval(savingstring);
mysql_fetch_field_row(savingstring, "YGFunction2"); PlayerInfo[playerid][YGFunction2] = strval(savingstring);
mysql_fetch_field_row(savingstring, "YGFunction3"); PlayerInfo[playerid][YGFunction3] = strval(savingstring);
mysql_fetch_field_row(savingstring, "YGFunction4"); PlayerInfo[playerid][YGFunction4] = strval(savingstring);
mysql_fetch_field_row(savingstring, "YGFunction5"); PlayerInfo[playerid][YGFunction5] = strval(savingstring);
mysql_fetch_field_row(savingstring, "YGFunction6"); PlayerInfo[playerid][YGFunction6] = strval(savingstring);
mysql_fetch_field_row(savingstring, "Bank"); PlayerInfo[playerid][bank] = strval(savingstring);
mysql_fetch_field_row(savingstring, "weed"); PlayerInfo[playerid][weed] = strval(savingstring);
mysql_fetch_field_row(savingstring, "Condoms"); PlayerInfo[playerid][condoms] = strval(savingstring);
mysql_fetch_field_row(savingstring, "inalcatraz"); PlayerInfo[playerid][inalcatraz] = strval(savingstring);
mysql_fetch_field_row(savingstring, "hours",h);
mysql_fetch_field_row(savingstring, "minutes",m);
mysql_fetch_field_row(savingstring, "seconds",s);
mysql_fetch_field_row(savingstring, "x1",floatround(x));
mysql_fetch_field_row(savingstring, "y1",floatround(y));
mysql_fetch_field_row(savingstring, "z1",floatround(z));
mysql_fetch_field_row(savingstring, "interior1",interior);
mysql_fetch_field_row(savingstring, "bowner"); PlayerInfo[playerid][bowner] = strval(savingstring);
mysql_fetch_field_row(savingstring, "bowned"); PlayerInfo[playerid][bowned] = strval(savingstring);
mysql_fetch_field_row(savingstring, "vowned"); PlayerInfo[playerid][vowned] = strval(savingstring);
mysql_fetch_field_row(savingstring, "vowner"); PlayerInfo[playerid][vowner] = strval(savingstring);
mysql_fetch_field_row(savingstring, "vowned2"); PlayerInfo[playerid][vowned2] = strval(savingstring);
mysql_fetch_field_row(savingstring, "vowner2"); PlayerInfo[playerid][vowner2] = strval(savingstring);
mysql_fetch_field_row(savingstring, "vowned3"); PlayerInfo[playerid][vowned3] = strval(savingstring);
mysql_fetch_field_row(savingstring, "vowner3"); PlayerInfo[playerid][vowner3] = strval(savingstring);
mysql_fetch_field_row(savingstring, "vowned4"); PlayerInfo[playerid][vowned4] = strval(savingstring);
mysql_fetch_field_row(savingstring, "vowner4"); PlayerInfo[playerid][vowner4] = strval(savingstring);
mysql_fetch_field_row(savingstring, "vowned5"); PlayerInfo[playerid][vowned5] = strval(savingstring);
mysql_fetch_field_row(savingstring, "vowner5"); PlayerInfo[playerid][vowner5] = strval(savingstring);
}
mysql_free_result();
JustLogged[playerid] = 1;
PlayerInfo[playerid][LoggedIn] = 1;
SendClientMessage(playerid, -1,"Info: You have been logged-in!");
return 1;
}
stock MySQLSavePlayer(playerid)
{
if(PlayerInfo[playerid][LoggedIn] == 1)
{
new h, m, s;
TotalGameTime(playerid, h, m, s);
new Float:x,Float:y,Float:z, interior;
GetPlayerPos(playerid,x,y,z); interior = GetPlayerInterior(playerid);
new query[900], pname[24];
GetPlayerName(playerid, pname, 24);
strcat(query,"UPDATE data SET score=%d, money=%d, kills=%d, deaths=%d, registered=%d, loggedin=%d, level=%d, cookies=%d, cakes=%d, biscuits=%d, icecreams=%d, YG=%d, unlimitedb=%d, quickweapon=%d, vgoto=%d, playerfly=%d, TP=%d, YGFunction1=%d, YGFunction2=%d, YGFunction3=%d, YGFunction4=%d, YGFunction5=%d, YGFunction6=%d, Bank=%d, weed=%d, Condoms=%d, inalcatraz=%d, hours=%d, minutes=%d, seconds=%d, x1=%d, y1=%d, z1=%d, interior1=%d,");
format(query,sizeof(query),"bowner=%d, bowned=%d, vowned=%d, vowner=%d, vowned2=%d, vowner2=%d, vowned3=%d, vowner3=%d, vowned4=%d, vowner4=%d, vowned5=%d, vowner5=%d WHERE user='%s'",
GetPlayerScore(playerid),
GetPlayerMoney(playerid),
PlayerInfo[playerid][Kills],
PlayerInfo[playerid][Deaths],
PlayerInfo[playerid][Registered],
PlayerInfo[playerid][LoggedIn],
PlayerInfo[playerid][Level],
PlayerInfo[playerid][Cookies],
PlayerInfo[playerid][Cakes],
PlayerInfo[playerid][Biscuits],
PlayerInfo[playerid][IceCreams],
PlayerInfo[playerid][Rb],
PlayerInfo[playerid][Unlimitedb],
PlayerInfo[playerid][Quickweapon],
PlayerInfo[playerid][Vgoto],
PlayerInfo[playerid][PlayerFly],
PlayerInfo[playerid][TP],
PlayerInfo[playerid][YGFunction1],
PlayerInfo[playerid][YGFunction2],
PlayerInfo[playerid][YGFunction3],
PlayerInfo[playerid][YGFunction4],
PlayerInfo[playerid][YGFunction5],
PlayerInfo[playerid][YGFunction6],
PlayerInfo[playerid][bank],
PlayerInfo[playerid][weed],
PlayerInfo[playerid][condoms],
PlayerInfo[playerid][inalcatraz],
h,
m,
s,
floatround(x),
floatround(y),
floatround(z),
interior,
PlayerInfo[playerid][bowner],
PlayerInfo[playerid][bowned],
PlayerInfo[playerid][vowned],
PlayerInfo[playerid][vowner],
PlayerInfo[playerid][vowned2],
PlayerInfo[playerid][vowner2],
PlayerInfo[playerid][vowned3],
PlayerInfo[playerid][vowner3],
PlayerInfo[playerid][vowned4],
PlayerInfo[playerid][vowner4],
PlayerInfo[playerid][vowned5],
PlayerInfo[playerid][vowner5],
pname);
mysql_query(query);
}
return 1;}
stock GetName(playerid)
{
new pname[24];
GetPlayerName(playerid, pname, 24);
return pname;
}