//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;
}
[16:54:04] MySQL Debugging activated (09/08/12) [16:54:04] --------------------------- [16:54:04] [16:54:04] >> mysql_connect( )
[02:13:27] --------------------------- [02:13:27] MySQL Debugging activated (09/09/12) [02:13:27] --------------------------- [02:13:27] [02:14:32] >> mysql_query( Connection handle: 1 ) [02:14:32] CMySQLHandler::Query(SELECT IP FROM `data` WHERE user = 'Crazyboobs' LIMIT 1) - Successfully executed. [02:14:32] >> mysql_store_result( Connection handle: 1 ) [02:14:32] CMySQLHandler::StoreResult() - Result was stored. [02:14:32] >> mysql_num_rows( Connection handle: 1 ) [02:14:32] CMySQLHandler::NumRows() - Returned 0 row(s) [02:14:32] >> mysql_free_result( Connection handle: 1 ) [02:14:32] CMySQLHandler::FreeResult() - Result was successfully free'd. [02:14:37] >> mysql_real_escape_string( Connection handle: 1 ) [02:14:37] CMySQLHandler::EscapeString(pass); - Escaped 4 characters to pass. [02:14:37] >> mysql_query( Connection handle: 1 ) [02:14:37] CMySQLHandler::Query(INSERT INTO data (user, password, IP, score, money, kills, deaths, registered, loggedin, level, cookies, cakes, biscuits, icecreams, YG, unlimitedb, quickweapon, 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, Houseid, Rentid, SpawnX, SpawnY, SpawnZ, SpawnInt) VALUES('Crazyboobs', SHA1('pass'), '86.97.42.244', 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)) - Successfully executed. [02:15:13] >> mysql_query( Connection handle: 1 ) [02:15:13] CMySQLHandler::Query(bowner=-3, bowned=31913, vowned=0, vowner=3, vowned2=1, vowner2=1, vowned3=0, vowner3=0, vowned4=0, vowner4=0, vowned5=0, vowner5=0 WHERE user='') - An error has occured. (Error ID: 1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'bowner=-3, bowned=31913, vowned=0, vowner=3, vowned2=1, vowner2=1, vowned3=0, vo' at line 1) [02:15:13] >> mysql_query( Connection handle: 1 ) [02:15:13] CMySQLHandler::Query(bowner=-3, bowned=31913, vowned=0, vowner=3, vowned2=1, vowner2=1, vowned3=0, vowner3=0, vowned4=0, vowner4=0, vowned5=0, vowner5=0 WHERE user='') - An error has occured. (Error ID: 1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'bowner=-3, bowned=31913, vowned=0, vowner=3, vowned2=1, vowner2=1, vowned3=0, vo' at line 1) |
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'",
pawn Code:
|
AFIAK format resets ur string , so using format after strcat wont work
|
new string[40] = "Hello";
format(string, sizeof(string), "%s Vincent, how are you?", string);
Hello Vincent, how are you?
You can format a string into itself.
pawn Code:
Code:
Hello Vincent, how are you? |
You can format a string into itself.
pawn Code:
Code:
Hello Vincent, how are you? |
new str[128];
strcat(str,"123");
format(str,sizeof(str),"456");
printf("%s",str);
456
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'",
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'