Вопросы

Saito
Новичок

При вводе любого пароля выдаёт что он верный, помогите сделать проверку на правильность пароля.

Ошибок при компиляции нет

Вот код: 

Спойлер

		case DLG_LOG:
		{
		    if(response)
		    {
          		new checkpass[30];
          		if(strcmp(player_info[playerid][PASSWORD], checkpass, true, 30) == 0)
		        {
		            static const fmt_query[] = "SELECT * FROM `userss` WHERE `name` = '%s' AND `password` = '%s'";
		            new query[sizeof(fmt_query)+(-2+MAX_PLAYER_NAME)+(-2+30)];
				 	format(query, sizeof(query), fmt_query, player_info[playerid][NAME], player_info[playerid][PASSWORD]);
				 	mysql_tquery(dbHandle, query, "PlayerLogin", "i", playerid);
				}
		        else
				{
				    new string[68];
				    SetPVarInt(playerid, "WrongPassword", GetPVarInt(playerid, "WrongPassword")-1);
				    if(GetPVarInt(playerid, "WrongPassword") > 0)
					{
						format(string, sizeof(string), "[Ошибка] {FFFFFF}Вы ввели неверный пароль. Осталось %d попыток входа", GetPVarInt(playerid, "WrongPassword"));
					    SCM(playerid, COLOR_RED, string);
					}
				    if(GetPVarInt(playerid, "WrongPassword") == 0)
				    {
						SCM(playerid, COLOR_RED, "[Ошибка] {FFFFFF}Вы исчерпали лимит попыток входа и были отключены от сервера");
						SPD(playerid, -1, 0, " ", " ", " ", "");
                        return Kick(playerid);
					}
					ShowLogin(playerid);
				}
			}
		    else
		    {
		    	SCM(playerid, COLOR_RED, "Используйте /q для выхода с сервера");
			    SPD(playerid, -1, 0, " ", " ", " ", "");
			    return Kick(playerid);
			}
		}

 

 

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

Заметка от Shakoladka , создано

Большой код нужно брать под спойлер. Как это сделать можно узнать тут

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


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

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

  • 0
keyl
Великий Гуру

Попробуй сделать так:
 

if(!strcmp(pInfo[playerid][Password], inputtext))
        {
//тут твой код
        }
   	  else
        {
       Тут тоже
      }

 

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


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Saito, функция, сравнивающая строки (strcmp), возвращает успешное значение (строки идентичны) еще в случае, когда одна из строк оказалась пустой. То есть в вашем случае player_info[playerid][PASSOWRD] или inputtext могут принимать пустые значения, из-за чего возникает такая ошибка. Выведите значения этих переменных в консоль или чат, чтобы проверить.

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


Ссылка на сообщение
  • 0
SCRIPTMAN
Великий Гуру

Специально взял проверку со своего мода, у меня работает.

if(!strcmp(inputtext, массив с паролем, false, макс. длина))
{
    если верно;
}
else
{ 
	неверно;
}

 

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


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

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

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

    • x4reo
      От x4reo
      EPOCH ROLE PLAY | ВОЗВРАЩЕНИЕ В 90-Е Создаем атмосферный Full RP проект без «фарма» и лишней «дичи»     О ПРОЕКТЕ Epoch Role Play — это площадка для тех, кто ценит качество, а не статистику. Мы строим живой мир, где каждое действие имеет последствия, а экономика строится на социальном взаимодействии.   КОГО МЫ ИЩЕМ? • Lead Developer (Pawn/C#/JS): Создание ядра мода, БД, оптимизация. • Mapper/Level Designer: Создание аутентичных интерьеров 90-х. • Game Designer: Проработка ролевых правил и сценариев. • SMM-менеджер: Ведение соцсетей, создание контента. • Дизайнер: Оформление медиа и UI проекта. • Discord-архитектор: Настройка каналов и безопасности. • Web-разработчик: Сайт и форум проекта. • Bot-developer (VK/TG): Безопасность: 2FA, привязка аккаунтов.   НАШИ УСЛОВИЯ 1. Энтузиазм: Проект стартует без бюджета. Мы ищем единомышленников. 2. Соавторство: Каждый участник — полноценный совладелец проекта. 3. Партнерство: Вся прибыль от монетизации распределяется пропорционально вкладу.     КОНТАКТЫ ДЛЯ СВЯЗИ Telegram: x4reoo  
    • Gabriel C
      От Gabriel C
      Всем привет. Ищу клиентскую сборку Flin RP для ПК.
      Нужна полноценная версия клиента со всеми необходимыми файлами для запуска игры и подключения к серверу.
      Желательно сборку примерно 2023 года, так как по имеющимся файлам видно, что обновления клиента и систем Real Cars / Real Skins были сделаны в начале 2023 года.
      Нужна именно ПК-сборка/клиент Flin RP:
      лаунчер (если был); папка с игрой; ASI/плагины; cache/modpack с моделями. Если у кого-то осталась рабочая сборка или архив клиента — буду благодарен за помощь.