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

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

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

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

Не сохраняет пароль при регистрации.

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

Nixon133

Дебютант
Доброе утро.. Такой вопрос, почему не сохраняет пароль? Пол сохраняет, а пароль нет, вот код:

Код:
#include <a_samp>
#include <mxINI>

enum
{
	pLogin,
	pRegister1,
	pRegister2
}

enum gPlayerInfo
{
	pName[MAX_PLAYER_NAME],
	pPassword[16],
	pMail[64],
	pRegIP[16],
	pSex[7]
}
new pData[MAX_PLAYERS][gPlayerInfo];

public OnPlayerConnect(playerid)
{
	/* Авторизация */
	GetPlayerName(playerid, pData[playerid][pName], MAX_PLAYER_NAME);

	new iAccount[MAX_PLAYER_NAME + 10];
	format(iAccount, sizeof(iAccount), "users/%s.ini", pData[playerid][pName]);

	if(!fexist(iAccount)) //Если файл небыл открыт(т.е. не найден), делаем регистрацию
		ShowPlayerDialog(playerid, pRegister1, DIALOG_STYLE_INPUT, "Регистрация", "{FFFFFF}Добро пожаловать на наш сервер.\nВаш логин:{00CCCC} Jack_Jones\n\n{FFFFFF}Данный аккаунт{00FF00} свободен{FFFFFF}.\nВведите пароль для аккаунта:", "Далее", "Выход");
	else
		ShowPlayerDialog(playerid, pLogin, DIALOG_STYLE_INPUT, "Авторизация", "{FFFFFF}Добро пожалотвать на наш сервер.\nВаш лошин:{00CCCC} Jack_Jones\n\n{FFFFFF}Данный аккаунт{1FAEE9} зарегистрирован{FFFFFF}.\nВведите пароль для входа:", "Вход", "Выход");

	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	new passowrd[16], sex[8];

	switch(dialogid)
	{
		case pRegister1:
		{
			if(!response)
				return Kick(playerid);

			if(!strlen(inputtext) || strlen(inputtext) < 6 || strlen(inputtext) > 16)
				return ShowPlayerDialog(playerid, pRegister1, DIALOG_STYLE_INPUT, "Регистрация: {FF0000}Ошибка", "{FFFFFF}Добро пожаловать на наш сервер.\nВаш логин:{00CCCC} Jack_Jones\n\n{FFFFFF}Данный аккаунт{00FF00} свободен{FFFFFF}.\nПароль от{FF0000} 6{FFFFFF} до{FF0000} 16{FFFFFF} символов:", "Далее", "Выход");
			else
			{
				format(passowrd, sizeof(passowrd), "%s1", inputtext);
				ShowPlayerDialog(playerid, pRegister2, DIALOG_STYLE_INPUT, "Регистрация: Выбор пола", "{FFFFFF}Добро пожаловать на наш сервер.\nВаш логин:{00CCCC} Jack_Jones\n\n{FFFFFF}Данный аккаунт{00FF00} свободен{FFFFFF}.\nВыберите пол персонажа:", "Мужской", "Женский");
			}
		}
		case pRegister2:
		{
			if(response) format(sex, sizeof(sex), "мужской");
			else format(sex, sizeof(sex), "женский");

			return OnPlayerCreateAccount(playerid, passowrd, sex);
		}

		case pLogin:
		{
			if(!response)
				return Kick(playerid);

			new iAccount[MAX_PLAYER_NAME + 10];
			format(iAccount, sizeof(iAccount), "users/%s.ini", pData[playerid][pName]);

			if(!fexist(iAccount))
				return ShowPlayerDialog(playerid, pRegister1, DIALOG_STYLE_INPUT, "Регистрация", "{FFFFFF}Добро пожаловать на наш сервер.\nВаш логин:{00CCCC} Jack_Jones\n\n{FFFFFF}Данный аккаунт{00FF00} свободен{FFFFFF}.\nВведите пароль для аккаунта:", "Далее", "Выход");
			else if(fexist(iAccount))
			{
				new iPassword[16];
				new iFile = ini_openFile(iAccount);
				ini_getString(iFile, "Пароль:", iPassword);
				ini_closeFile(iFile);

				if(strcmp(inputtext, iPassword, false))
					return ShowPlayerDialog(playerid, pLogin, DIALOG_STYLE_INPUT, "Авторизация: {FF0000}Ошибка", "{FFFFFF}Добро пожаловать на наш сервер.\nВаш логин:{00CCCC} Jack_Jones\n\n{FFFFFF}Данный аккаунт{1FAEE9} зарегистрирован{FFFFFF}.\nВы ввели не правильный пароль:", "Вход", "Выход");
				//else return OnPlayerLogin(playerid)
			}
		}
	}

	return 1;
}

stock OnPlayerCreateAccount(playerid, password[], sex[])
{
	new iAccount[MAX_PLAYER_NAME + 10];
	format(iAccount, sizeof(iAccount), "users/%s.ini", pData[playerid][pName]);

	new iFile = ini_createFile(iAccount);
	if(iFile < 0) ini_openFile(iAccount);
	{
		ini_openFile(iAccount);
		ini_setString(iFile, "Пароль:", password);
		ini_setString(iFile, "Пол персонажа:", sex);
		ini_closeFile(iFile);
	}

	return 1;
}

Сохранение идёт здесь:

Код:
		case pRegister1:
		{
			if(!response)
				return Kick(playerid);

			if(!strlen(inputtext) || strlen(inputtext) < 6 || strlen(inputtext) > 16)
				return ShowPlayerDialog(playerid, pRegister1, DIALOG_STYLE_INPUT, "Регистрация: {FF0000}Ошибка", "{FFFFFF}Добро пожаловать на наш сервер.\nВаш логин:{00CCCC} Jack_Jones\n\n{FFFFFF}Данный аккаунт{00FF00} свободен{FFFFFF}.\nПароль от{FF0000} 6{FFFFFF} до{FF0000} 16{FFFFFF} символов:", "Далее", "Выход");
			else
			{
				format(passowrd, sizeof(passowrd), "%s1", inputtext);
				ShowPlayerDialog(playerid, pRegister2, DIALOG_STYLE_INPUT, "Регистрация: Выбор пола", "{FFFFFF}Добро пожаловать на наш сервер.\nВаш логин:{00CCCC} Jack_Jones\n\n{FFFFFF}Данный аккаунт{00FF00} свободен{FFFFFF}.\nВыберите пол персонажа:", "Мужской", "Женский");
			}
		}
		case pRegister2:
		{
			if(response) format(sex, sizeof(sex), "мужской");
			else format(sex, sizeof(sex), "женский");

			return OnPlayerCreateAccount(playerid, passowrd, sex);
		}
В pawno первый раз, не ругайтесь :)
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу