29.06.2012, 11:22
pawn Код:
mysql_query("CREATE TABLE IF NOT EXISTS playerdata(user VARCHAR(24), password VARCHAR(41), score INT(20), money INT(20),admin INT(4), IP VARCHAR(16) )");
//Fields:
Create a global variable (not inside any public function or stock):
pawn Код:
new PlayaAdmin[MAX_PLAYERS];
pawn Код:
stock MySQL_Login(playerid)
{
new query[300], pname[24], savingstring[20];
GetPlayerName(playerid, pname, 24);
format(query, sizeof(query), "SELECT * FROM playerdata WHERE user = '%s'", pname);
//We only select the variables that we want to use.
//We don't need things like the password string or the user string.
mysql_query(query); //Queries the result
mysql_store_result(); //Store a result because it's a SELECT statement.
while(mysql_fetch_row_format(query,"|"))
{
//We use while so that it does a single query, not multiple
//Especially when we have more variables. If there is more
//Variables, you should just split the line with sscanf. To
//Make it easier.
mysql_fetch_field_row(savingstring, "score"); SetPlayerScore(playerid, strval(savingstring));
mysql_fetch_field_row(savingstring, "money"); MoneyGiven[playerid] = strval(savingstring);
//If you are wondering why I'm using savingstring instead
//Of a variable like using MoneyGiven right away, it's because
//mysql_fetch_field_row requires a string.
}
mysql_free_result(); //We must always free a stored result
SendClientMessage(playerid, -1, "You have been logged in!"); //Sends the client a message.
Logged[playerid] = 1; //Sets our logged in variable to one
return 1;
}
pawn Код:
mysql_fetch_field_row(savingstring, "admin"); PlayaAdmin[playerid] = strval(savingstring);
pawn Код:
MoneyGiven[playerid] = strval(savestring);
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/kick", cmdtext, true, 10) == 0)
{
new otherplayer;
if(PlayaAdmin[playerid] >= 1 || IsPlayerAdmin(playerid))
{
if(sscanf(cmdtext,"u",otherplayer)) return SendClientMessage(playerid,0xFFFFFF00,"Usage: /kick [ID]");
Kick(otherplayer);
}
else SendClientMessage(playerid,0xFFFFFF00,"SERVER: Unknown command.");
return 1;
}
return 0;
}