trevison123
Умник
Я вырезал систему алогина с сошиала и при вводе пароля ничего не происходило, просто окно закрывалось
Код:
Код:
PHP:
@Alogin(playerid, name[]);
@Alogin(playerid, name[])
{
new rows, fields;
cache_get_data(rows, fields);
if(!rows)
{
if(PlayerInfo[playerid][pAdmin] > 0)
{
PlayerInfo[playerid][pAdmin] = 0;
MysqlUpdatePlayerInt(playerid, "admin", PlayerInfo[playerid][pAdmin]);
}
return 1;
}
new Password[16];
cache_get_field_content(0, "password", Password, mysql);
if(GetString(Password, "qwerty"))
{
SetPVarInt(playerid, "type_alogin", 1);
ShowPlayerDialog(playerid, 30091, DIALOG_STYLE_PASSWORD, "{FFCC00}Регистрация администратора", "{FFFFFF}Введите пароль, который будет от панели администратора\n\n{63BD4E}Примечание:\n\t- Пароль должен состоять из латинских букв и цифр\n\t- Размер пароля от 6 до 15 символов", "Принять", "Отмена");
}
else
{
SetPVarInt(playerid, "type_alogin", 0);
ShowPlayerDialog(playerid, 30091, DIALOG_STYLE_PASSWORD, "{FFCC00}Доступ администратора", "{FFFFFF}Введите Ваш пароль от панели администратора", "Принять", "Отмена");
}
return 1;
}
@AloginReg(playerid, name[]);
@AloginReg(playerid, name[])
{
new query[512];
new rows, fields;
cache_get_data(rows, fields);
if(!rows) return 1;
new inputtext[16];
GetPVarString(playerid, "inputtext", inputtext, sizeof(inputtext));
mysql_format(mysql, query, sizeof(query), "UPDATE `admin` SET password = '%s' WHERE name = '%s' LIMIT 1", inputtext, PN(playerid));
mysql_tquery(mysql, query, "", "");
gAdminLogged[playerid] = true;
new stringer4[144];
format(stringer4, sizeof(stringer4), "Ваш пароль администратора: {FFFFFF}%s", inputtext);
SendClientMessage(playerid, COLOR_GREEN, stringer4);
SendClientMessage(playerid, COLOR_GREEN, "Рекомендуется сделать скриншот. Клавиша: {ffffff}F8");
PlayerInfo[playerid][pAdmin] = cache_get_row_int(0, 2);
MysqlUpdatePlayerInt(playerid, "admin", PlayerInfo[playerid][pAdmin]);
static const Admin_Names[7][24] = {"Мл.Модератор","Модератор","Ст.Модератор","Администратор","Ст.Администратор","Гл.Администратор","Разработчик"};
format(stringer4, sizeof(stringer4), "Вы авторизовались как %s", Admin_Names[PlayerInfo[playerid][pAdmin]-1]);
SendClientMessage(playerid, COLOR_ORANGE, stringer4);
if(PlayerInfo[playerid][pAdmin] < 7)
{
format(stringer4, sizeof(stringer4), "[A] %s %s[%i] авторизовал%s без граф.ключа [IP:%s]", Admin_Names[PlayerInfo[playerid][pAdmin]-1], PN(playerid), playerid, (PlayerInfo[playerid][pSex]==1)?("ся"):("ась"), PlayerIp[playerid]);
SendAdminsMessage(COLOR_ACHAT,stringer4);
}
return 1;
}
@AloginAuth(playerid);
@AloginAuth(playerid)
{
new rows, fields;
cache_get_data(rows, fields);
if(!rows)
{
SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Неверный пароль!");
SetPVarInt(playerid, "attempt_password", GetPVarInt(playerid, "attempt_password")+1);
if(GetPVarInt(playerid, "attempt_password")>3)
{
DeletePVar(playerid, "attempt_password");
return Kick(playerid);
}
}
else
{
gAdminLogged[playerid] = true;
AdminInfo[playerid][admID] = cache_get_row_int(0, 0);
PlayerInfo[playerid][pAdmin] = cache_get_row_int(0, 2);
static const Admin_Names[7][24] = {"Мл.Модератор","Модератор","Ст.Модератор","Администратор","Ст.Администратор","Гл.Администратор","Разработчик"};
new stringer4[144];
format(stringer4, sizeof(stringer4), "Вы авторизовались как %s", Admin_Names[PlayerInfo[playerid][pAdmin]-1]);
SendClientMessage(playerid, COLOR_ORANGE, stringer4);
}
return 1;
}
PHP:
CMD:alogin(playerid, params[])
{
if(GetPVarInt(playerid, "alogin_timer") > gettime()) return SendClientMessage(playerid, COLOR_GREY, "секретно");
else if(gAdminLogged[playerid]) return SendClientMessage(playerid, COLOR_GREY, "секретно!");
new string[128];
format(string, sizeof(string), "SELECT * FROM `admin` WHERE name = '%s'", PN(playerid));
mysql_tquery(mysql, string, "@Alogin", "is", playerid, PN(playerid));
SetPVarInt(playerid, "alogin_timer", gettime()+3);
return 1;
}
PHP:
case 30091:
{
if(!response) return 1;
new stringer4[144];
if(GetPVarInt(playerid, "type_alogin") == 1)
{
if(!strlen(inputtext) || GetString(inputtext, "qwerty") || strlen(inputtext) < 6 || strlen(inputtext) > 16 || strfind(inputtext, "=", true) != -1)
return ShowPlayerDialog(playerid, 30091, DIALOG_STYLE_PASSWORD, "{FFCC00}Регистрация администратора", "{FFFFFF}Введите пароль, который будет от панели администратора\n\n{63BD4E}Примечание:\n\t- Пароль должен состоять из латинских букв и цифр\n\t- Размер пароля от 6 до 15 символов", "Принять", "Отмена");
SetPVarString(playerid, "inputtext", inputtext);
format(stringer4, sizeof(stringer4), "SELECT * FROM `admin` WHERE name = '%s'", PN(playerid));
mysql_tquery(mysql, stringer4, "@AloginReg", "is", playerid, PN(playerid));
}
else
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 30091, DIALOG_STYLE_PASSWORD, "{FFCC00}Доступ администратора", "{FFFFFF}Введите Ваш пароль от панели администратора", "Принять", "Отмена");
mysql_format(mysql, stringer4, sizeof(stringer4), "SELECT * FROM `admin` WHERE name = '%s' AND password = '%e'", PN(playerid), inputtext);
mysql_tquery(mysql, stringer4, "@AloginAuth", "i", playerid);
}
return 1;
}
