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

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

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

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

Не работает регистрация на mxINI

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

BiGGY

Ученик
Помогите, пожалуйста!
Написал регистрацию - не работает. Захожу, написано что не зареган, ввожу пароль, еще раз пишет, что не зареган, потом жму spawn и на весь экран появляется надпись типа "world bounderes..", ну я эту проблему знаю, что-то с координатами, но у меня все нормально.+
ЕНУМ:
PHP:
enum pInfo
{
	pPass,
	pName,
	bool:pLogged,
	pLevel,
	pAdmin,
	pMoney
}
new PlayerInfo[MAX_PLAYERS][pInfo];
OnPlayerConnect:
PHP:
public OnPlayerConnect(playerid)
{
	new string[255];
	GetPlayerName(playerid, PlayerInfo[playerid][pName], MAX_PLAYER_NAME);
	format(string, sizeof(string), "Accounts\%s.ini", PlayerInfo[playerid][pName]);
	if(!fexist(string))
	{
	    ShowPlayerDialog(playerid, 5, DSI, "Регистрация", "Данный аккаунт не зарегистрирован\nВведите пароль:", "Далее", "Отмена");
	}
	else if(fexist(string))
	{
 		ShowPlayerDialog(playerid, 4, DSI, "Авторизация", "Данный аккаунт зарегистрирован\nВведите пароль:", "Далее", "Отмена");
	}
	return 1;
}
СТОКИ:
PHP:
stock OnPlayerRegiser(playerid, password[])
{
	new str[255];
	format(str, sizeof(str), "Accounts/%s.ini", PlayerInfo[playerid][pName]);
	if(fexist(str)) return ShowPlayerDialog(playerid, 5, DSI, "Авторизация", "Данный аккаунт зарегистрирован\nВведите пароль:", "Далее", "Отмена");
	new iniFile = ini_createFile(str);
	if(iniFile < 0) ini_openFile(str);
	{
		ini_setString(iniFile, "Name", PlayerInfo[playerid][pName]);
		ini_setString(iniFile, "Password", password);
		ini_setInteger(iniFile, "Level", 1);
		ini_setInteger(iniFile, "Admin", 0);
		ini_setInteger(iniFile, "Money", 5000);
		ini_closeFile(iniFile);
		OnPlayerLogin(playerid);
	}
	return 1;
}

stock OnPlayerLogin(playerid)
{
	new str[255];
	format(str, sizeof(str), "Accounts/%s.ini", PlayerInfo[playerid][pName]);
	if(!fexist(str)) return ShowPlayerDialog(playerid, 5, DSI, "Регистрация", "Данный аккаунт не зарегистрирован\nВведите пароль", "Далее", "Отмена");
	new iniFile = ini_openFile(str);
	ini_getString(iniFile, "Name", PlayerInfo[playerid][pName]);
	ini_getString(iniFile, "Password", PlayerInfo[playerid][pPass], 64);
	ini_getInteger(iniFile, "Level", PlayerInfo[playerid][pLevel]);
	ini_getInteger(iniFile, "Admin", PlayerInfo[playerid][pAdmin]);
	ini_getInteger(iniFile, "Money", PlayerInfo[playerid][pMoney]);
	ini_closeFile(iniFile);
	ResetPlayerMoney(playerid);
	GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
	PlayerInfo[playerid][pLogged] = true;
	return 1;
}

stock SaveAccount(playerid)
{
    new str[255];
	format(str, sizeof(str), "Accounts/%s.ini", PlayerInfo[playerid][pName]);
	new iniFile = ini_openFile(str);
	ini_setString(iniFile, "Name", PlayerInfo[playerid][pName]);
	ini_setString(iniFile, "Password", PlayerInfo[playerid][pPass]);
	ini_setInteger(iniFile, "Level", PlayerInfo[playerid][pLevel]);
	ini_setInteger(iniFile, "Admin", PlayerInfo[playerid][pAdmin]);
	ini_setInteger(iniFile, "Money", PlayerInfo[playerid][pMoney]);
	ini_closeFile(iniFile);
	return 1;
}
ДИАЛОГИ:
PHP:
	if(dialogid == 4) // авторизация
	{
	    if(!response) return Kick(playerid);
	    else if(response)
	    {
  			if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 4, DSI, "Авторизация", "Пароль введен не верно!\nПовторите попытку:", "Далее", "Отмена");
	        new str[255];
			format(str, sizeof(str), "Accounts/%s.ini", PlayerInfo[playerid][pName]);
			if(fexist(str)) return ShowPlayerDialog(playerid, 5, DSI, "Авторизация", "Данный аккаунт зарегистрирован\nВведите пароль:", "Далее", "Отмена");
			else return OnPlayerRegiser(playerid, inputtext);
		}
	}
	else if(dialogid == 5) // регистрация
	{
		if(!response) return Kick(playerid);
	    else if(response)
	    {
	        if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 4, DSI, "Авторизация", "Пароль введен не верно!\nПовторите попытку:", "Далее", "Отмена");
     		new str[255];
			format(str, sizeof(str), "Accounts/%s.ini", PlayerInfo[playerid][pName]);
			if(!fexist(str)) return ShowPlayerDialog(playerid, 4, DSI, "Регистрация", "Данный аккаунт не зарегистрирован\nВведите пароль:", "Далее", "Отмена");
			else
 			{
 			    new password[64];
 		    	new iniFile = ini_openFile(str);
				ini_getString(iniFile, "Password", password);
				ini_closeFile(iniFile);
				if(!strcmp(password, inputtext, false)) return OnPlayerLogin(playerid);
				if(strcmp(password, inputtext, false)) return ShowPlayerDialog(playerid, 4, DSI, "Авторизация", "Пароль введен не верно!\nПовторите попытку:", "Далее", "Отмена");
			}
		}
		return 1;
	}


---------- Post added at 09:47 ---------- Previous post was at 09:41 ----------

Толи я в вызовах диалогов где-то запутался, то ли что. Помогите, пожалуйста, без этого у меня просто желания дальше в павн идти нету.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу