21.02.2013, 12:35
pawn Код:
public OnPlayerConnect(playerid)
{
new query[100];
format(query, sizeof(query),"SELECT * FROM Accounts WHERE username = '%s'", GN(playerid));
mysql_query(query);
mysql_store_result();
if(mysql_num_rows() != 0) {
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Authentication", "This account appears not to be in the database.\nPlease register your account by typing in a password below.", "Register", "Quit");
} else {
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Authentication", "This account appears to be in the database\nYou can login by typing you password in below.", "Login", "Quit");
}
mysql_free_result();
return true;
}
pawn Код:
if(dialogid == DIALOG_REGISTER) {
if(!response) {
SendClientMessage(playerid, 0xFFFFFFFF, "You have clicked on cancel.");
Kick(playerid);
}
SetPlayerCameraPos(playerid, 1982.0154,-1958.7638,16.9635);
SetPlayerCameraLookAt(playerid, 1981.7389,-1962.9572,16.6941);
SetPlayerPos(playerid, 1981.7389,-1962.9572,16.6941);
SetPlayerFacingAngle(playerid, 359.3499);
SetPlayerVirtualWorld(playerid, playerid+1);
SetPlayerCameraPos(playerid, 1982.0154,-1958.7638,16.9635);
SetPlayerCameraLookAt(playerid, 1981.7389,-1962.9572,16.6941);
AddAccount(GN(playerid), inputtext);
SendClientMessage(playerid, 0xFFFFFFFF, "[Account]: You're now registered.");
}
pawn Код:
function AddAccount(name[], password[]) {
new string[250];
mysql_real_escape_string(password, SQLEscape[Escape][0]);
format(string,sizeof(string), "INSERT INTO Accounts (Name, Password, Cash, Skin, Admin, Supporter, Tester) VALUES('%s', md5('%s', 250, 124, 0, 0, 0)",
name, SQLEscape[Escape][0]);
mysql_query(string);
}