Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

По поводу пароля

Статус
В этой теме нельзя размещать новые ответы.

DEAMON

Умник
Коннект:

PHP:
        GetPlayerName(playerid, PI[playerid][pName], MAX_PLAYER_NAME);
	new string[MAX_PLAYER_NAME + 6];
	format(string, sizeof(string), "users/%s.ini", PI[playerid][pName]);
	new openFile = ini_openFile(string);
	if (openFile < 0)
	{
	    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Регистрация", "Введите свой пароль для регистрации:", "Ввод", "Отмена");
	}
	else
	{
	    ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Авторизация", "Введите свой пароль для авторизации:", "Ввод", "Отмена");
	    ini_getString(openFile, "Pass", PI[playerid][pPass]);
	    ini_closeFile(openFile);
	}
PHP:
public OnPlayerDisconnect(playerid, reason)
{
    SavePlayerAccount(playerid);
	return 1;
}
PHP:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	switch (dialogid)
	{
		case 1:
		{
		    if(!response) return Kick(playerid);// регистрация > указываем пол
		    if(strlen(inputtext) < 4 || strlen(inputtext) > 16) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Регистрация", "Длина пароля от 4 до 16 символов.\nВведите свой пароль для регистрации:", "Ввод", "Отмена");
		    format(PI[playerid][pPass], 17, inputtext);
		    ShowPlayerDialog(playerid, 3, DIALOG_STYLE_MSGBOX, "Ваш пол", "Укажите ваш пол", "Мужской", "Женский");
		}
		case 2:
		{
		    if(!response) return Kick(playerid);// авторизация
		    if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Авторизация", "Введите свой пароль для регистрации:", "Ввод", "Отмена");
		    if(strcmp(PI[playerid][pPass], inputtext, false) != 0) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Авторизация", "Пароль неверный.\nВведите свой пароль для авторизации:", "Ввод", "Отмена");
		    LoadPlayerAccount(playerid);
		}
		case 3:// указали пол > загрузка
		{
		    if(!response) PI[playerid][pSex] = 2;
		    else PI[playerid][pSex] = 1;
		    new str[35];
		    format(str, sizeof(str), "users/%s.ini", PI[playerid][pName]);
		    new openFile = ini_createFile(str);
		    ini_setString(openFile, "Pass", PI[playerid][pPass]);
		    ini_setInteger(openFile, "Sex", PI[playerid][pSex]);
		    ini_closeFile(openFile);
		    TogglePlayerSpectating(playerid, false);
		}
	}
		    
	return 1;
}
PHP:
stock LoadPlayerAccount(playerid)
{
	new str[35];
	format(str, sizeof(str), "users/%s.ini", PI[playerid][pName]);
	new openFile = ini_openFile(str);
	ini_getInteger(openFile, "Sex", PI[playerid][pSex]);
	ini_closeFile(openFile);
	TogglePlayerSpectating(playerid, false);
	return 1;
}

stock SavePlayerAccount(playerid)
{
	new str[35];
	format(str, sizeof(str), "users/%s.ini", PI[playerid][pName]);
	new openFile = ini_openFile(str);
	ini_setString(openFile, "Pass", PI[playerid][pPass]);
	ini_setInteger(openFile, "Sex", PI[playerid][pSex]);
	ini_closeFile(openFile);
	return 1;
}
Вопрос:

Регистрируешь акк > выходишь > повторный заход > вводишь любой пароль и заходишь в аккаунт. Что тут не так???? Замучался уже, ужас

---------- Post added at 23:08 ---------- Previous post was at 22:38 ----------

Заметил одну вешь что так происходит после перезагрузки мода

то есть, если зарегистрировать аккаунт > выйти > зайти (без рестарта мода) то недействительный пароль принимать не будет, только настоящий. А стоит перезагрузить мод как настоящий пасс просто убирается (его нет вообще, пустое место и можно зайти под любым паролем).
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу