Вопросы

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

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

Вот код: 

Спойлер

		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

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

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

 

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


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

Не работает

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


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

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

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


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

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

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

 

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


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

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

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

    • nazpol9
      От nazpol9
      Привет всем.

      У меня имеется мод для самп сервера и VPS с Ubuntu, на котором я пытаюсь его запустить.

      В чем суть проблемы: при запуске samp03svr, сервер запускается, но на версии 0.3.DL R-1. Когда я пытаюсь запустить этот же мод локально на Windows, сервер работает на версии 0.3.7 и я могу зайти на него без клиента 0.3.DL.

      Для решения этой проблемы я уже пробовал заменять инклуды и исполнительные файлы теми, что есть в архивах на официальном сайте сампа, перекомпилировал мод, и ничего не изменилось.
       
      #include <a_samp> #include <a_mysql> #include <foreach> #include <Pawn.RakNet> #include <streamer> #include <sscanf2> #include <float2> #include <crashdetect> #include <fmt> #include <a_http> #include <Pawn.CMD> #include <Pawn.Regex> #include <requests> #include <callbacks> #include <MD5> #include <mxdate> #include <TOTP> #include <gvar> #include <md-sort> #include <nex-ac> #include <weapon-config> #include <discord-connector> #include <3DTryg> #include <textdraw-streamer>  
      plugins crashdetect.so streamer.so textdraw-streamer.so sscanf.so pawnraknet.so pawncmd.so mysql.so requests.so profiler.so pawnregex.so TOTP.so gvar.so discord-connector.so

      Если у кого-то будут какие-либо догадки, прошу ими поделиться, если понадобится больше информации - я постараюсь её предоставить.
    • Talex
      От Talex
      Всем привет, сливаю первый мод!
      Информация о моде:

      — Основа Gamenix.
      — Мод переведен на Mysql R39, теперь ни каких слётов нет, мод работает стабильно с онлайном 160+.
      — Новый автосалон на TextDraw.
      — Система 3-х автомобилей (1 можно купить по дефолту, 2 и 3 за донат).
      — Автомобили у игроков теперь не пропадают (Id'ы авто сбивались, с номерами теперь тоже всё в порядке).
      — Оформление сервера полностью переработано, теперь оно более красивое.
      — Защита от копирования карты.
      — в меню сервера добавлен пункт визуальных настроек.
      — Номера на транспорт теперь можно приобрести в /donate.
      — Сделан новый красивый спидометр.
      — При получении номера, добавлен выбор региона.
      — Сделана система радаров и промокодов, создание прямо из игры.
      — Новый интерьер казино.
      — Магазин скинов теперь на TextDraw.
      — Автошкола полностью функционирует.
      — Добавлена информация после коннекта о последнем входе в собственный аккаунт.
      — Приватная защита от всех видов DDoS атак и DoS атак.                                                                                                                                    
      — пароль от АП (/alog) теперь у каждого администратора индивидуальный.
      — Изменено оформление самого мода
      Это не все изменения мода, их ещё очень много. все не упомнишь. 
      Автор мода: Неизвестен
      CUNBERS RP 8.4.3.rar
       

    • Tufxgod
      От Tufxgod
      Пойду на проект в качестве разработчика.
      Опыт в павн 2 года, умею писать системы любой сложности, владею mysql.
      Пишите в лс!