MS13
Новичок
Здравствуйте, не могу никак сделать сохранение вводимого имейла в документ игрового аккаунта! Прошу помощи! Заранее благодарен!
диалог:
и паблики сохранения, регистрации и авторизации:
диалог:
PHP:
if(dialogid == 5)
{
if(response)
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,5,DIALOG_STYLE_INPUT, "Электронная почта","Пожалуйста введите действующий адрес электронной почты,\nесли вы забудете пароль на него будет выслан новый","Готово","");
}
}
}
PHP:
stock SavePlayer(playerid)
{
new string[256];// Масив с путём для файла
new playername[MAX_PLAYER_NAME];// Масив для получения имени игрока
GetPlayerName(playerid, playername, sizeof(playername));// Получаем Имя игрока
format(string, sizeof(string), "players/%s.ini", playername);// Добавляем имя игрока, в путь для сохранения
iniFile = ini_openFile(string);// Открываем файл по тому пути который указали.
ini_setString(iniFile,"Pass",Player[playerid][pPass]);// Записываем пароль игрока в файл
ini_setString(iniFile,"Email",Player[playerid][pEmail]);
ini_closeFile(iniFile);// Закрываем файл
}
forward OnPlayerRegister(playerid, password[]);
public OnPlayerRegister(playerid, password[])// Паблик регистрации
{
if(IsPlayerConnected(playerid))
{
new string[256];// Масив с путём для файла
new playername[MAX_PLAYER_NAME];// Масив для получения имени игрока
GetPlayerName(playerid, playername, sizeof(playername));// Получаем Имя игрока
format(string,sizeof(string), "players/%s.ini", playername);// Добавляем имя игрока, в путь для сохранения
new iniFile = ini_createFile(string);// Создаём файл с именем игрока в папке players
if(iniFile < 0)// Если Файла нет
{
iniFile = ini_openFile(string);// Открываем
}
if(iniFile >= 0)// Если файл есть
{
strmid(Player[playerid][pPass],password,0,strlen(password),255);// Присваиваем масиву pPass, значение password[]
ini_setString(iniFile,"Pass",Player[playerid][pPass]);// Записываем пароль игрока в файл
ini_setString(iniFile,"Email",Player[playerid][pEmail]);
ini_closeFile(iniFile);// Закрываем файл
}
ShowPlayerDialog(playerid, 5, DIALOG_STYLE_INPUT, "Электронная почта","Пожалуйста введите действующий адрес электронной почты,\nесли вы забудете пароль на него будет выслан новый","Готово","");
return 1;
}
return 1;
}
forward OnPlayerLogin(playerid,password[]);
public OnPlayerLogin(playerid,password[])
{
if(IsPlayerConnected(playerid))
{
new string[256];
new pass[64];
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
format(string,sizeof(string), "players/%s.ini", playername);
new iniFile = ini_openFile(string);
ini_getString(iniFile,"Pass",pass,64);
if(strcmp(pass,password,true) == 0)
{
ini_getString(iniFile,"Pass",Player[playerid][pPass],64);
ini_setString(iniFile,"Email",Player[playerid][pEmail]);
ini_closeFile(iniFile);
}
else
{
ini_closeFile(iniFile);
SendClientMessage(playerid,COLOR_RED,"Вы ввели неверный пароль");
format(string, sizeof(string),"{B4B5B7}______________________________________\n\n Добро пожаловать на {FFFFFF}Nailing-RP{B4B5B7}\n Этот аккаунт зарегестрирован\n\nЛогин: {FFFFFF}%s{B4B5B7}\nВведите пароль:\n______________________________________", playername);
ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"{FF0808} *****{FFFFFF}Авторизация{FF0808}*****",string,"Ввод","Отмена");// Показываем диалог входа в игру. Стиль диалога выставляем на ввод текста.
return 1;
}
SendClientMessage(playerid,0xFF00000,"Добро пожаловать на Nailing Role Play");
SetPlayerPos(playerid,1729.424072,-1949.681274,14.117187);
SpawnPlayer(playerid);
}
return 1;
}}
