• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Показывает каждый раз G-Auth, даже тогда, когда его нет.

Статус
В этой теме нельзя размещать новые ответы.

ivanfedoseev59

Нуль
Регистрация
22 Дек 2019
Сообщения
4
Лучшие ответы
0
Репутация
0
Я ввожу пароль и мне выходит окошко G-Auth, даже тогда, когда у меня нет кода самого, хотя проверка стоит. Помогите. Где я аут? Компилятор не орет
HTML:
case DLG_LOGIN:
		{
			if(response)
			{
			    new len = strlen(inputtext);
	            if(!len)
	        	{
	        	    SendClientMessage(playerid, 0xFF0000FF, "Вы ничего не ввели.");
	            	ShowLogin(playerid);
	            	return 1;
	        	}
	        	if(!strcmp(inputtext, player_info[playerid][Password], false))
				{
				    if(strlen(player_info[playerid][GAuth]) > 2)
				    {
				        if(player_info[playerid][GAuthSet] == 0)
				        {
					        new nowip[16], oldip[16];
							GetPlayerIp(playerid, nowip, sizeof(nowip));
							GetPlayerSubnet(playerid, nowip, sizeof(nowip));
							strmid(oldip, player_info[playerid][LastIp], 0, 16, 16);
							GetPlayerSubnet(playerid, oldip, sizeof(oldip));
							if(strcmp(nowip, oldip, true) == 0)
							{
							    static const fmt_query[] = "SELECT * FROM `accounts` WHERE `name` = '%e' AND `password` = '%e'";
								new query[sizeof(fmt_query)+(-2+MAX_PLAYER_NAME)+(-2+32)];
								mysql_format(dbHandle, query, sizeof(query), fmt_query, player_info[playerid][Name], player_info[playerid][Password]);
								mysql_tquery(dbHandle, query, "PlayerLogin", "i", playerid);
							}
							else
							{
							    ShowPlayerDialog(playerid, DLG_LOGINGAUTH, DIALOG_STYLE_INPUT, !"{e49a05}Авторизация {FFFFFF}• Google Authenticator", !"{FFFFFF}Введите код из приложения Google Authenticator (или расширения) в поле ниже\nСоветуем перепроверить синхронизацию со временем, абы могу быть неполадки при входе", !"Далее", "Отмена");
							}
						}
						else if(player_info[playerid][GAuthSet] == 1)
						{
							ShowPlayerDialog(playerid, DLG_LOGINGAUTH, DIALOG_STYLE_INPUT, !"{e49a05}Авторизация {FFFFFF}• Google Authenticator", !"{FFFFFF}Введите код из приложения Google Authenticator (или расширения) в поле ниже\nСоветуем перепроверить синхронизацию со временем, абы могу быть неполадки при входе", !"Далее", "Отмена");
						}
					}
					else
					{
					    static const fmt_query[] = "SELECT * FROM `accounts` WHERE `name` = '%s' AND `password` = '%s'";
						new query[sizeof(fmt_query)+(-2+MAX_PLAYER_NAME)+(-2+32)];
						format(query, sizeof(query), fmt_query, player_info[playerid][Name], player_info[playerid][Password]);
						mysql_tquery(dbHandle, query, "PlayerLogin", "i", playerid);
				    }
				}
				else
				{
				    SendClientMessage(playerid, 0xFF0000FF, "Вы ввели не верный пароль.");
				    ShowLogin(playerid);
	            	return 1;
				}
			}
			else
			{
			    SendClientMessage(playerid, 0xFF0000FF, "Чтобы покинуть игру напишите /q (/quit)");
	            Kick(playerid);
			}
		}
HTML:
case DLG_LOGINGAUTH:
		{
	        new getcode = GoogleAuthenticatorCode(player_info[playerid][GAuth], gettime());
	        if(strval(inputtext) == getcode)
	        {
	            static const fmt_query[] = "SELECT * FROM `accounts` WHERE `name` = '%s' AND `password` = '%s'";
				new query[sizeof(fmt_query)+(-2+MAX_PLAYER_NAME)+(-2+32)];
				mysql_format(dbHandle, query, sizeof(query), fmt_query, player_info[playerid][Name], player_info[playerid][Password]);
				mysql_tquery(dbHandle, query, "PlayerLogin", "i", playerid);
	        }
	        else
	        {
	            SendClientMessage(playerid, COLOR_RED, "Код не совпадает с тем, который нужен. Проверьте синхронизацию со временем!");
	            Kick(playerid);
	        }
		}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу