Windows_8
Умник
Ввожу команду /alogin
Открывается диалог окно, в котором нужно придумать админ пароль
Диалог
После ввожу новый пароль, придуманный и все, диалоговое окно закрывается и ничего в БД не записывается, так же в чат ничего не выводит
PHP:
CMD:alogin(playerid, params[])
{
if(PlayerInfo[playerid][pAdminLevel] < 1) return SendClientMessage(playerid, COLOR_GREY, "Вы не администратор.");
if(AdminLogged[playerid]) return SendClientMessage(playerid, COLOR_GREY, "Вы уже авторизовались как администратор.");
format(CMDstring, sizeof(CMDstring), "SELECT * FROM `admins` WHERE `Name` = '%s'", GetName(playerid));
mysql_tquery(database, CMDstring, "Alogin", "is", playerid, GetName(playerid));
return 1;
}
PHP:
publics Alogin(playerid, name[])
{
new rows;
cache_get_row_count(rows);
new Password[16];
cache_get_value_name(0, "Password", Password, 16);
if(!strcmp(Password, "qwerty", true))
{
SetPVarInt(playerid, "aLogin", 1);
ShowPlayerDialog(playerid, dAlogin, DIALOG_STYLE_PASSWORD, "Регистрация администратора", "Введите пароль, который будет от панели администратора", "Готово", "Выход");
}
else
{
SetPVarInt(playerid, "aLogin", 0);
ShowPlayerDialog(playerid, dAlogin, DIALOG_STYLE_PASSWORD, "Доступ администратора", "Введите ваш пароль от панели администратора", "Готово", "Выход");
}
return 1;
}
PHP:
case dAlogin:
{
if(!response) return 1;
new string[144];
switch(GetPVarInt(playerid,"aLogin"))
{
case 1:
{
if(!strlen(inputtext)|| !strcmp(inputtext, "qwerty", true) || strlen(inputtext) < 6 || strlen(inputtext) > 16 || strfind(inputtext, "=", true) != -1)
return ShowPlayerDialog(playerid, dAlogin, DIALOG_STYLE_PASSWORD, "Регистрация администратора", "Введите пароль, который будет от панели администратора", "Готово", "Выход");
SetPVarString(playerid, "inputtext", inputtext);
mysql_format(database, string, sizeof(string), "SELECT * FROM `admins` WHERE `Name` = '%s'", GetName(playerid));
mysql_tquery(database, string, "AloginReg", "is", playerid, GetName(playerid));
}
case 0:
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, dAlogin, DIALOG_STYLE_PASSWORD, "Доступ администратора", "Введите ваш пароль от панели администратора", "Готово", "Выход");
mysql_format(database, string, sizeof(string), "SELECT * FROM `admins` WHERE `Name` = '%s' AND `Password` = '%e'", GetName(playerid), inputtext);
mysql_tquery(database, string, "AloginAuth", "is", playerid, inputtext);
}
}
return 1;
}
PHP:
publics AloginReg(playerid, name[])
{
new rows;
cache_get_row_count(rows);
if(!rows) return 1;
new inputtext[16], string[144];
GetPVarString(playerid, "inputtext", inputtext, sizeof(inputtext));
mysql_format(database, string, sizeof(string), "UPDATE `admins` SET `Password` = '%s' WHERE `Name` = '%s' LIMIT 1", inputtext, GetName(playerid));
mysql_tquery(database, string, "", "", playerid);
format(string, sizeof(string), "%s[%i] авторизовался как администратор.", GetName(playerid), playerid);
SendAdminMessage(string, COLOR_WHITE);
AdminLogged[playerid] = true;
new day, month, year;
getdate(year, month, day);
mysql_format(database, string, sizeof(string), "UPDATE `admins` SET `last_connect` = '%d.%d.%d' WHERE `Name` = '%s' LIMIT 1", day, month, year, GetName(playerid));
mysql_tquery(database, string, "", "", playerid);
return 1;
}
