PDA

Просмотр полной версии : [Вопрос] Проверка пароля



whale
15.12.2016, 01:08
Проверка на пароль не работает (в любом случае пишет, что пароль неправильный).
Как решить проблему? Буду очень благодарен за помощь :)

Вот проверка пароля:

else if(dialogid == dialog+3)
{
new str[100 + 25 + MAX_PLAYER_NAME];
if(!response) return showadmin(playerid);
if(!strlen(inputtext)) return showadmin(playerid);
if(strval(inputtext) != Player[playerid][pApass])
{
SCM(playerid, cgray, ""#err" Неверный пароль от административной панели.");
SCM(playerid, cblue, "Ты был кикнут с сервера. (Неверный пароль от административной панели)");
return 1;
}
SCM(playerid, cgray, "Ты успешно авторизован в административной панели. Теперь административные команды доступны для тебя.");
SPI(playerid, "AdminAutorization", true);
format(str, sizeof(str), ""#aye" %s авторизовался в административной панели.", PlayerName(playerid));
AdminChat(cygreen, str);
}

Ну и создание(запись) пароля, на всякий случай


else if(dialogid == dialog+4 && response)
{
new str[50 + 50 + 50];
if(!strlen(inputtext)) return SPD(playerid, dialog+4, DIALOG_STYLE_INPUT, ""#yellow"Панель", ""#gray"Введи пароль для административной панели.\n\n\t"#red"- Примечание\n\t- Пароль будет запрашиваться каждый раз при входе на сервер.\n\t- Пароль может состоять только из цифр (от 4 до 16)", "Принять", "Закрыть");
if(strlen(inputtext) < 4 && strlen(inputtext) > 16) return SPD(playerid, dialog+4, DIALOG_STYLE_INPUT, ""#yellow"Панель", ""#gray"Введи пароль для административной панели.\n\n\t"#red"- Примечание\n\t- Пароль будет запрашиваться каждый раз при входе на сервер.\n\t- Пароль может состоять только из цифр (от 4 до 16)", "Принять", "Закрыть");
new stra[16 + MAX_PLAYER_NAME];
format(stra, sizeof(stra), "players/%s.ini", PlayerName(playerid));
new iniFile = ini_openFile(stra);
strmid(Player[playerid][pApass], inputtext, 0, strlen(inputtext), 255);
ini_setString(iniFile, "Apass", Player[playerid][pApass]);
ini_closeFile(iniFile);
format(str, sizeof(str), "Твой пароль от административной панели: "#white"%s. (Сделай скриншот клавишей: F8, чтобы не забыть пароль!)", inputtext);
SCM(playerid, cygreen, str);
}

Pa4enka
15.12.2016, 01:25
if(strlen(inputtext) != Player[playerid][pApass])
?

whale
15.12.2016, 01:45
if(strlen(inputtext) != Player[playerid][pApass])
?

Пробовал. Результат тот же.

- - - Добавлено - - -

Проблему решил. Закройте, пожалуйста.

middlematt
15.12.2016, 16:11
Да, закрыто, но:


if (!strcmp(Player[playerid][pApass], inputtext)
{
// Code
}