stock LoadAccount(playerid)
{
new Escape[2][MAX_PLAYER_NAME];
mysql_real_escape_string(PlayerInfo[playerid][pName], Escape[0]);
mysql_real_escape_string(mysql_account_table, Escape[1]);
format(query, sizeof(query), "SELECT * FROM `%s` WHERE `username` = '%s'", Escape[1], Escape[0]);
mysql_query(query);
mysql_store_result();
if(mysql_num_rows())
{
if(mysql_fetch_row(largestr))
{
if(!sscanf(largestr, mysql_user_string, PlayerInfo[playerid]))
{
PlayerInfo[playerid][pLoggedIn] = 1;
PlayerInfo[playerid][pRegistered] = 1;
PlayerInfo[playerid][pIsNew] = 0;
printf("[DEBUG]: Player %s(%d) Stats loaded!", PlayerInfo[playerid][pName], playerid);
return 1;
}
format(str, sizeof(str), "Player %s(%d) - SSCANF loading error", PlayerInfo[playerid][pName], playerid);
Error("MYSQL", str);
AccountError(playerid);
mysql_free_result();
return 1;
}
format(str, sizeof(str), "Player %s(%d) - Cannot fetch player row", PlayerInfo[playerid][pName], playerid);
Error("MYSQL", str);
AccountError(playerid);
mysql_free_result();
return 1;
}
format(str, sizeof(str), "Player %s(%d) - Cannot find player in the mysql database", PlayerInfo[playerid][pName], playerid);
Error("MYSQL", str);
AccountError(playerid);
mysql_free_result();
return 1;
}
format(str, sizeof(str), "Player %s(%d) - SSCANF loading error", PlayerInfo[playerid][pName], playerid);
|
Why you use sscanf on a login system?
sscanf is used for splitting strings into other strings / cells (or int)/Floats etc. ( sscanf means: StringSCANFormat, also known as unformat ) |
|
Base are for new scripters. True scripters script it themselves... Also as a login system I used something like:
|