Вопросы

Приветствую мои дорогия друзья =) 
Что то я немного туплю, помогите по братски. 2 день не сплю, туплю :(

 

Проблема в том что при правильно вводе пароле кикает. Кто поможет с меня поцелуйчик :$

Вот сам код авторизации:

fpublic:mysql_login(playerid)
{
	if(!IsPlayerConnected(playerid)) return true;
	if(PlayerInfo[playerid][pLogged])
	{
	    PlayerInfo[playerid][pLogged] = false;
	    Kick_RL(playerid, "pLogged error(1)");
		return true;
	}
	if(!GetPVarInt(playerid, "show_welcome"))
	{
		SendClientMessage(playerid, -1, "\n");
		SendClientMessage(playerid, 0xF5DEB3FF, "Добро пожаловать на {F08080}Radiant RolePlay");
		switch(random(3))
		{
			case 0:
			{
		        SetPlayerCameraPos(playerid, 1883.0011, 2094.3037, 49.1605);
				SetPlayerCameraLookAt(playerid, 1882.0026, 2094.3040, 48.6604);
			}
			case 1:
			{
				SetPlayerCameraPos(playerid, 1883.0011, 2094.3037, 49.1605);
				SetPlayerCameraLookAt(playerid, 1882.0026, 2094.3040, 48.6604);
			}
			case 2:
			{
				SetPlayerCameraPos(playerid, 1883.0011, 2094.3037, 49.1605);
				SetPlayerCameraLookAt(playerid, 1882.0026, 2094.3040, 48.6604);
			}
		}
	}
	SetPVarInt(playerid, "show_welcome", 1);

	if(cache_get_row_count())
	{
		cache_get_field_content(0, "password", PlayerInfo[playerid][pPassword], dbHandle, 33);
		PlayerInfo[playerid][pID] = cache_get_field_content_int(0, "id" , dbHandle);

		strdel(totalstring, 0, 1024);
		strcat(totalstring, "{363636}_________________________________________________\n\n");
		format(tquery, 128, "{ffffff}Приветствуем вас, {9ddaf2}%s{ffffff}.\n\n", PlayerInfo[playerid][pSendername]);
		strcat(totalstring, tquery);
		strcat(totalstring, "\
		Рады снова вас видеть на нашем сервере. \n\
        Чтобы приступить к игровому процессу введите\n\
        ваш пароль, если это не ваш аккаунт перезайдите \n\
        на сервер с другим ником.\n\
		{363636}_________________________________________________\n\n");
		strcat(totalstring, "\
		{dc143c}Примечание. {696969}Если вы забыли пароль от аккаунта,\n\
		вы можете воспользоватся восстановлением пароля\n\
		через \"Личный кабинет\".\n\
		forum.radiant-rp.pro > Авторизация > Забыли пароль?\n\n");
		strcat(totalstring, "{FFA500}Введите пароль от аккаунта:");
		ShowPlayerDialog(playerid, D_LOGIN, 3, "{e3be88}Radiant Role Play {ffffff}| {1E90FF}Авторизация", totalstring, "Далее", "Отмена");
        strdel(totalstring, 0, 1024);
	}

 

Поделиться сообщением


Ссылка на сообщение

6 ответов на этот вопрос

  • 0

Диалог D_LOGIN кидай :)

Поделиться сообщением


Ссылка на сообщение
  • 0

		case D_LOGIN:
		{
			if(response)
			{
				if(!strlen(inputtext))
				{
					strdel(totalstring, 0, 1024);
					strcat(totalstring, "{363636}_________________________________________________\n\n");
					format(tquery, 128, "{ffffff}Приветствуем вас, {9ddaf2}%s{ffffff}.\n\n", PlayerInfo[playerid][pSendername]);
					strcat(totalstring, tquery);
					strcat(totalstring, "\
					Рады снова вас видеть на нашем сервере. \n\
			        Чтобы приступить к игровому процессу введите\n\
			        ваш пароль, если это не ваш аккаунт перезайдите \n\
			        на сервер с другим ником.\n\
					{363636}_________________________________________________\n\n");
					strcat(totalstring, "\
					{dc143c}Примечание. {696969}Если вы забыли пароль от аккаунта,\n\
					вы можете воспользоватся восстановлением пароля\n\
					через \"Личный кабинет\".\n\
					forum.radiant-rp.pro > Авторизация > Забыли пароль?\n\n");
					if(GetPVarInt(playerid, "p_logtires") == 0) strcat(totalstring, "{FF0000}Вы ничего не ввели!");
					else
					{
						format(string, 128, "{FF0000}Вы ничего не ввели! Попытка: %i/3", GetPVarInt(playerid, "p_logtires"));
						strcat(totalstring, string);
					}
					ShowPlayerDialog(playerid, D_LOGIN, 3, "{e3be88}Radiant Role Play {ffffff}| {1E90FF}Авторизация", totalstring, "Далее", "Отмена");
			        strdel(totalstring, 0, 1024);
			        return true;
				}
				if(strlen(inputtext) < 1 || strlen(inputtext) > 32)
				{
					strdel(totalstring, 0, 1024);
					strcat(totalstring, "{363636}_________________________________________________\n\n");
					format(tquery, 128, "{ffffff}Приветствуем вас, {9ddaf2}%s{ffffff}.\n\n", PlayerInfo[playerid][pSendername]);
					strcat(totalstring, tquery);
					strcat(totalstring, "\
					Рады снова вас видеть на нашем сервере. \n\
			        Чтобы приступить к игровому процессу введите\n\
			        ваш пароль, если это не ваш аккаунт перезайдите \n\
			        на сервер с другим ником.\n\
					{363636}_________________________________________________\n\n");
					strcat(totalstring, "\
					{dc143c}Примечание. {696969}Если вы забыли пароль от аккаунта,\n\
					вы можете воспользоватся восстановлением пароля\n\
					через \"Личный кабинет\".\n\
					forum.radiant-rp.pro > Авторизация > Забыли пароль?\n\n");
					if(GetPVarInt(playerid, "p_logtires") == 0) strcat(totalstring, "{FF0000}Некорректный пароль!");
					else
					{
						format(string, 128, "{FF0000}Некорректный пароль! Попытка: %i/3", GetPVarInt(playerid, "p_logtires"));
						strcat(totalstring, string);
					}
					ShowPlayerDialog(playerid, D_LOGIN, 3, "{e3be88}Radiant Role Play {ffffff}| {1E90FF}Авторизация", totalstring, "Далее", "Отмена");
			        strdel(totalstring, 0, 1024);
			        return true;
				}
				if(!strcmp(MD5_Hash(inputtext), PlayerInfo[playerid][pPassword], true))
				{
					CheckBanPlayer(playerid);
					DeletePVar(playerid, "p_logtires");
				}
				else
				{
				    if(GetPVarInt(playerid, "p_logtires") >= 2)
				    {
				        SendClientMessage(playerid, COLOR_LIGHTRED, "Вы исчерпали количество попыток ввода пароля!");
						Kick_RL(playerid, "Неправильный пароль(авторизация)");
				        return true;
				    }
					strdel(totalstring, 0, 1024);
					strcat(totalstring, "{363636}_________________________________________________\n\n");
					format(tquery, 128, "{ffffff}Приветствуем вас, {9ddaf2}%s{ffffff}.\n\n", PlayerInfo[playerid][pSendername]);
					strcat(totalstring, tquery);
					strcat(totalstring, "\
					Рады снова вас видеть на нашем сервере. \n\
			        Чтобы приступить к игровому процессу введите\n\
			        ваш пароль, если это не ваш аккаунт перезайдите \n\
			        на сервер с другим ником.\n\
					{363636}_________________________________________________\n\n");
					strcat(totalstring, "\
					{dc143c}Примечание. {696969}Если вы забыли пароль от аккаунта,\n\
					вы можете воспользоватся восстановлением пароля\n\
					через \"Личный кабинет\".\n\
					forum.radiant-rp.pro > Авторизация > Забыли пароль?\n\n");
					SetPVarInt(playerid, "p_logtires", GetPVarInt(playerid, "p_logtires") + 1);
					format(string, 128, "{FF0000}Неверный пароль! Попытка: %i/3", GetPVarInt(playerid, "p_logtires")), strcat(totalstring, string);
					format(string, 32, "Повтор (%i)", 3 - GetPVarInt(playerid, "p_logtires"));
					ShowPlayerDialog(playerid, D_LOGIN, 3, "{e3be88}Radiant Role Play {ffffff}| {1E90FF}Авторизация", totalstring, string, "Отмена");
			        strdel(totalstring, 0, 1024);
				}
			}
			else ShowPlayerDialog(playerid, D_LOGIN+1, 0, "{e3be88}Radiant Role Play {ffffff}| {dc143c}Предупреждение!", "\n{ffffff}Вы уверены, что хотите отменить авторизацию?", "Да", "Нет");
		}
		case D_LOGIN+1:
		{
		    if(response)
		    {
		        format(totalstring, 128, "Вы отменили авторизацию на %s!", CurrentName);
				SendClientMessage(playerid, COLOR_LIGHTRED, totalstring);
				Kick_RL(playerid, "Отмена авторизации!");
		    }
		    else
		    {
				strdel(totalstring, 0, 1024);
				strcat(totalstring, "{363636}_________________________________________________\n\n");
				format(tquery, 128, "{ffffff}Приветствуем вас, {9ddaf2}%s{ffffff}.\n\n", PlayerInfo[playerid][pSendername]);
				strcat(totalstring, tquery);
				strcat(totalstring, "\
				Рады снова вас видеть на нашем сервере. \n\
		        Чтобы приступить к игровому процессу введите\n\
		        ваш пароль, если это не ваш аккаунт перезайдите \n\
		        на сервер с другим ником.\n\
				{363636}_________________________________________________\n\n");
				strcat(totalstring, "\
				{dc143c}Примечание. {696969}Если вы забыли пароль от аккаунта,\n\
				вы можете воспользоватся восстановлением пароля\n\
				через \"Личный кабинет\".\n\
				forum.radiant-rp.pro > Авторизация > Забыли пароль?\n\n");
				strcat(totalstring, "{FFA500}Введите пароль от аккаунта:");
				if(GetPVarInt(playerid, "p_logtires") == 0) strcat(totalstring, "{FFA500}Введите пароль от аккаунта:");
				else
				{
					format(string, 128, "{FFA500}Введите пароль от аккаунта: {ffffff}| {FF0000}Попытка: %i/3", GetPVarInt(playerid, "p_logtires"));
					strcat(totalstring, string);
				}
				ShowPlayerDialog(playerid, D_LOGIN, 3, "{e3be88}Radiant Role Play {ffffff}| {1E90FF}Авторизация", totalstring, "Далее", "Отмена");
		    }
		}

@Lil Pokemon

Отредактировано пользователем ⇜♛₮ℝĪτǿℕ♛⇝

Поделиться сообщением


Ссылка на сообщение
  • 0

Проблема скорее всего из-за PlayerInfo[playerid][pLogged] , проверь правильно ли ты её используешь . Я не вижу её обнуления . Если пароль он вел правильно, идет проверка на бан, перед проверкой на бан напиши - PlayerInfo[playerid][pLogged] = false;

Поделиться сообщением


Ссылка на сообщение
  • 0

@Lil Pokemon все это есть

Поделиться сообщением


Ссылка на сообщение
  • 0
Спойлер

				if(!strcmp(MD5_Hash(inputtext), PlayerInfo[playerid][pPassword], true))
				{
					CheckBanPlayer(playerid);
					DeletePVar(playerid, "p_logtires");
				}

 

Можешь показать где, так как в данном участке кода я не вижу этого...

Отредактировано пользователем Lil Pokemon

Поделиться сообщением


Ссылка на сообщение
  • 0

Все равно кикает :DD

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Артём Профиков
      От Артём Профиков
      У меня есть система подсказок вот так она выглядет
      ShowNotification(playerid, тип, "текст", время, "команда через /", "текст кнопки");
      Только есть вопрос как сделать так чтоб она активировалась в определенном радиусе? Заранее спасибо