Вопросы

PRоFeSSoR
Разработчик Forever RolePlay | CR:MP 0.3.7

Приветствую мои дорогия друзья =) 
Что то я немного туплю, помогите по братски. 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
PRоFeSSoR
Разработчик Forever RolePlay | CR:MP 0.3.7

		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
LilPokemon
Гуру форума

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

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


Ссылка на сообщение
  • 0
LilPokemon
Гуру форума
Спойлер

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

 

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

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

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


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

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

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

    • Дебилойд
      От Дебилойд
      Здравствуйте!
      Мы ищем талантливого 3D-моделлера в команду нашего CRMP-проекта!
      Что нужно будет делать:
      Моделировать и адаптировать автомобили.
      Создавать и настраивать скины (модели персонажей).
      Большим плюсом будет:
      Умение создавать качественные и оптимизированные интерьеры.
      Если вы хотите стать частью нашей команды и развивать проект вместе с нами, пишите в ЛС. Ждем ваши портфолио!
    • LORDIKUS
      От LORDIKUS
      Уважаемые участники форума - всех приветствую, кто перешел в беседу моей темы обсуждения. В настоящее время у меня зарождается огромное желание и мысль создать собственный CR:MP проект, но столкнулся с единственной проблемой - с отсутствием команды людей, у которых будет искреннее желание ежедневно вкладывать свой труд на разработку проекта. Особого опыта в скриптинге, маппинге, дизайне или в моделировании у меня не имеется, поэтому такой критерий как опыт в определенной сфере для желающих вступить в команду я не рассматриваю. Так как проект не открыт и находится на начальной стадии создания, мое сотрудничество выстраивается на некоммерческой основе (без выплаты за проделанную работу и труд), однако я не собираюсь отрицать высокую ценность вложенного командой труд — труд, особенно на первой стадии разработки я рассматриваю превыше всего. После открытия проекта в зависимости от коммерции и чистой прибыли каждый участник будет получать настоящую выплату, однако это также может убить еще значительное время. Мне нужна команда, которая проявит искренний интерес в создании общего между командой CR:MP проекта, пожертвует свое время, а также вложит собственный труд благодаря заработанным навыкам. Если вас заинтересовала данная тема обсуждения, пожалуйста, свяжитесь со мной по любым возможным и удобным для вас контактам связи ниже. Спасибо всем, кто зашел в мою беседу!

      🔗 Спец. Связь:
      — DISCORD: https://discord.com/users/1452715348196589691 (перейти по ссылке и добавить в друзья) ИЛИ _shin833_ (ввести никнейм и отправить запрос дружбы)
      — VK: https://vk.com/shin833
      — TG: https://t.me/s_hin833
    • Korochansky
      От Korochansky
      Настало время объявить о скором выпуске первого релиза среды разработки под названием Spawn.

      В настоящее время программа находится на заключительных этапах доработки кода и локализации интерфейса.
      Таким образом, в течение следующей недели будет выпущена быстрая и современная среда разработки, обладающая следующими возможностями (о которых я расскажу сейчас, а о других — позже):
       
      Полнофункциональный локальный Git: 
      Индексирование, фиксации, индикаторы состояния и мягкий/жесткий сброс до любой точки сохранения одним щелчком мыши. Разрабатывайте свой игровой сервер, не боясь его сломать.
      Новички могут рассматривать это как историю кодовой базы вашего сервера (что и есть на самом деле).
       
      Чистый UTF-8 (без BOM): 
      Полный отказ от устаревшей кодировки Windows-1251 (CP1251) для абсолютной стабильности и идеальной совместимости с Git.
      Реализация поддержки CP1251 привела бы к нестабильному поведению программы и ухудшила бы пользовательский опыт.
       
      История изменений строк: Редактор выделяет измененные строки в реальном времени в полях рядом с номерами строк. Это позволяет мгновенно видеть границы изменений, внесенных с момента открытия файла.
       
      Сопоставление и выделение фигурных скобок: мгновенное выделение открывающих и закрывающих фигурных скобок для быстрой навигации по структуре кода и защиты от ошибок компиляции.
       
      Интеграция с SAMPCTL: готовая к использованию автоматизация процессов. Сборка, запуск сервера и менеджер зависимостей (управление библиотеками и плагинами) работают напрямую из интерфейса редактора.
       
      И многое другое...
       
      И самое главное: проект будет с открытым исходным кодом под лицензией GPLv3!
      Следите за новостями о выпуске в репозитории: https://github.com/daniilkorochansky/spawn
    • KodBi
      От KodBi
      шапка
      по одиночке работают
      нужны оба