mysql_format(mysql, query, sizeof(query), "INSERT INTO `joueurs` (`Username`, `Password`, `IP`, `Admin`, `VIP`, `Argent`, `posX` ,`posY`, `posZ`, `Interieur`, `World`, `Skin`, `Niveau`) VALUES ('%e', '%s', '%s', 0, 0, 1000, 1527.5634, -1738.9218, 13.5469, 0, 0, 26, 1)", Name[playerid], pInfo[playerid][Password], IP[playerid]);
mysql_tquery(mysql, query, "", "");
mysql_format(mysql, query, sizeof(query), "SELECT `posX`, `posY` FROM `joueurs` WHERE `posX` = '%f', `posY` = '%f'", pInfo[playerid][posX], pInfo[playerid][posY]);
printf("%f %f ", pInfo[playerid][posX], pInfo[playerid][posY]);
[19:34:59] [DEBUG] mysql_format - connection: 1, len: 1024, format: "INSERT INTO `joueurs` (`Username`, `Password`, `IP`, `Admin`, `VIP`, `Argent`, `posX` ,`posY`, `posZ`, `Interieur`, `World`, `Sk..." [19:34:59] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO `joueurs` (`Username`, `Password`, `IP`, `Admin`, `V", callback: "(null)", format: "(null)" [19:34:59] [DEBUG] mysql_format - connection: 1, len: 1024, format: "SELECT `posX`, `posY` FROM `joueurs` WHERE `posX` = '%f', `posY` = '%f'" [19:34:59] [DEBUG] CMySQLQuery::Execute[] - starting query execution [19:34:59] [DEBUG] CMySQLQuery::Execute[] - query was successful [19:34:59] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new query[1024];
switch(dialogid)
{
case 1: //login dialog
{
if(!response) Kick(playerid); //if they clicked Quit, we will kick them
new hpass[129]; //for password hashing
WP_Hash(hpass, 129, inputtext); //hashing inputtext
if(!strcmp(hpass, pInfo[playerid][Password])) //remember we have loaded player's password into this variable, pInfo[playerid][Password] earlier. Now let's use it to compare the hashed password with password that we load
{ //if the hashed password matches with the loaded password from database
mysql_format(mysql, query, sizeof(query), "SELECT * FROM `joueurs` WHERE `Username` = '%e' LIMIT 1", Name[playerid]);
//let's format our query
//once again, we select all rows in the table that has your name and limit the result
mysql_tquery(mysql, query, "OnAccountLoad", "i", playerid);
//lets execute the formatted query and when the execution is done, a callback OnAccountLoad will be called
//You can name the callback however you like
}
else //if the hashed password didn't match with the loaded password(pInfo[playerid][Password])
{
//we tell them that they have inserted a wrong password
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Connexion", "Mot de passe ?\nMauvais Mot de passe !", "Connexion", "Quitter");
}
}
case 2: //register dialog
{
if(!response) return Kick(playerid); //if they clicked Quit, we will kick them
if(strlen(inputtext) < 6) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "S'enregistrer", "Ton mot de passe doit faire plus de 6 caractиres !", "S'enregistrer", "Quitter");
if(strlen(inputtext) > 24) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "S'enregistrer", "Ton mot de passe doit faire moins de 24 caractиres !", "S'enregistrer", "Quitter");
//strlen checks a lenght of a string. so if player types their password that is lower than 6, we tell them; Your password must be at least 6 characters long!
WP_Hash(pInfo[playerid][Password], 129, inputtext); //hashing inputtext
mysql_format(mysql, query, sizeof(query), "INSERT INTO `joueurs` (`Username`, `Password`, `IP`, `Admin`, `VIP`, `Argent`, `posX` ,`posY`, `posZ`, `Interieur`, `World`, `Skin`, `Niveau`) VALUES ('%e', '%s', '%s', 0, 0, 1000, 1527.5634, -1738.9218, 13.5469, 0, 0, 26, 1)", Name[playerid], pInfo[playerid][Password], IP[playerid]);
//Now let's create a new row and insert player's information in it
mysql_tquery(mysql, query, "", "");
//let's execute the query^^^^^^
mysql_format(mysql, query, sizeof(query), "SELECT `posX`, `posY` FROM `joueurs` WHERE `posX` = '%f', `posY` = '%f'", pInfo[playerid][posX], pInfo[playerid][posY]);
mysql_tquery(mysql, query, "", "");
printf("%f %f %d %d", pInfo[playerid][posX], pInfo[playerid][posY]);
SetSpawnInfo( playerid, 0, 26, 1527.5634,-1738.9218,13.5469, 0.0, 0, 0, 0, 0, 0, 0 );
SetPlayerScore(playerid,pInfo[playerid][Niveau]);
TogglePlayerSpectating(playerid, 0);
SpawnPlayer(playerid);
}
}
return 1;
}
|
Код:
mysql_format(mysql, query, sizeof(query), "SELECT `posX`, `posY` FROM `joueurs` WHERE `posX` = '%f', `posY` = '%f'", pInfo[playerid][posX], pInfo[playerid][posY]);
mysql_tquery(mysql, query, "", "");
printf("%f %f %d %d", pInfo[playerid][posX], pInfo[playerid][posY]);
|
pInfo[playerid][Admin] = cache_get_row_int(0, 4); pInfo[playerid][VIP] = cache_get_row_int(0, 5); pInfo[playerid][Argent] = cache_get_row_int(0, 6); pInfo[playerid][posX] = cache_get_row_float(0, 7); pInfo[playerid][posY] = cache_get_row_float(0, 8); pInfo[playerid][posZ] = cache_get_row_float(0, 9); pInfo[playerid][Interieur] = cache_get_row_int(0, 10); pInfo[playerid][World] = cache_get_row_int(0, 11); pInfo[playerid][Skin] = cache_get_row_int(0, 12); pInfo[playerid][Niveau] = cache_get_row_int(0, 13);
new query[256];
GetPlayerPos(playerid, Player[playerid][PosX], Player[playerid][PosY], Player[playerid][PosZ]);
GetPlayerFacingAngle(playerid, Player[playerid][PosA]);
format(query, sizeof(query), "UPDATE `players` SET `PosX` = '%f', `PosY` = '%f', `PosZ` = '%f', `PosA` = '%f' WHERE `username` = '%s' LIMIT 1", Player[playerid][PosX], Player[playerid][PosY], Player[playerid][PosZ], Player[playerid][PosA], getName(playerid));
printf("\n %s", query); // printing to make sure the co-ords are being sent.
mysql_tquery(SQL, query, "", "");
mysql_format(mysql, query, sizeof(query), "SELECT * FROM `joueurs` WHERE `posX` = '%f', `posY` = '%f' AND `posZ` = '%f' WHERE `Name` = '%s' ", pInfo[playerid][posX], pInfo[playerid][posY], pInfo[playerid][posZ], Name[playerid]);
mysql_tquery(mysql, query, "", "");
printf("\n %s", query); // printing to make sure the co-ords are being sent. );
mysql_format(mysql, query, sizeof(query), "INSERT INTO `joueurs` (`Username`, `Password`, `IP`, `Admin`, `VIP`, `Argent`, `posX` ,`posY`, `posZ`, `Interieur`, `World`, `Skin`, `Niveau`) VALUES ('%e', '%s', '%s', 0, 0, 1000, 1527.5634, -1738.9218, 13.5469, 0, 0, 26, 1)", Name[playerid], pInfo[playerid][Password], IP[playerid]);
mysql_tquery(mysql, query, "", "");
mysql_format(mysql, query, sizeof(query), "SELECT * FROM `joueurs` WHERE `posX` = '%f', `posY` = '%f' AND `posZ` = '%f' WHERE `Name` = '%s' ", pInfo[playerid][posX], pInfo[playerid][posY], pInfo[playerid][posZ], Name[playerid]);
mysql_tquery(mysql, query, "", "");
printf("\n %s", query); // printing to make sure the co-ords are being sent. );