DEAMON
Умник
Коннект:
Вопрос:
Регистрируешь акк > выходишь > повторный заход > вводишь любой пароль и заходишь в аккаунт. Что тут не так???? Замучался уже, ужас
---------- Post added at 23:08 ---------- Previous post was at 22:38 ----------
Заметил одну вешь что так происходит после перезагрузки мода
то есть, если зарегистрировать аккаунт > выйти > зайти (без рестарта мода) то недействительный пароль принимать не будет, только настоящий. А стоит перезагрузить мод как настоящий пасс просто убирается (его нет вообще, пустое место и можно зайти под любым паролем).
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 ----------
Заметил одну вешь что так происходит после перезагрузки мода
то есть, если зарегистрировать аккаунт > выйти > зайти (без рестарта мода) то недействительный пароль принимать не будет, только настоящий. А стоит перезагрузить мод как настоящий пасс просто убирается (его нет вообще, пустое место и можно зайти под любым паролем).
