MS13
Новичок
Помогите с регистрацией! Проблема в том что при подключение на сервер, в диалоге не высвечивается логин а показывает символ %s!
Я выкладываю всё, что я вставлял, так как не знаю что конкретно за это отвечает! Заранее благодарен!
public OnPlayerRequestClass(playerid, classid)
public OnPlayerConnect(playerid)
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
И в это в конце
Я выкладываю всё, что я вставлял, так как не знаю что конкретно за это отвечает! Заранее благодарен!
public OnPlayerRequestClass(playerid, classid)
PHP:
{
SetPlayerInterior(playerid,0);
SetPlayerFacingAngle(playerid, 179.5547);
SetPlayerCameraPos(playerid,-1817.0808,1112.9937,235.4244);
SetPlayerCameraLookAt(playerid,-1816.5471,949.6590,235.4244);
new playername[MAX_PLAYER_NAME];// Масив для имени игрока
new string[128];// Путь до папки с именем игрока
GetPlayerName(playerid,playername,sizeof(playername));// Узнаём имя игрока
format(string,sizeof(string),"players/%s.ini", playername);// Путь к файлу с аккаунтом
if(PAccount[playerid] == 1)// Если аккаунт есть
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Авторизация","{B4B5B7}______________________________________\n\n Добро пожаловать на сервер{B4B5B7}\n Этот аккаунт зарегестрирован\n\nЛогин: {BFC0C2}%s{B4B5B7}\nВведите пароль:\n______________________________________","Ввод","Отмена");// Показываем диалог входа в игру. Стиль диалога выставляем на ввод текста.
}
else// Если аккаунта нет
{
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Регистрация","{B4B5B7}______________________________________\n\n Добро пожаловать на сервер{B4B5B7}\n Регистрация нового персонажа\n\nЛогин: {BFC0C2}%s{B4B5B7}\nВведите пароль:\n______________________________________","Ввод","Отмена");// Показываем диалог регистрации. Стиль диалога выставляем на ввод текста.
}
return 1;
}
PHP:
{
new playername[MAX_PLAYER_NAME];// Масив для имени игрока
new string[128];// Путь до папки с именем игрока
GetPlayerName(playerid,playername,sizeof(playername));// Узнаём имя игрока
format(string,sizeof(string),"players/%s.ini", playername);// Путь к файлу с аккаунтом
if(fexist(string))// Проверка на файл, если он есть то выполняется следующее действие.
{
PAccount[playerid] = 1;// Аккаунт есть
}
else// Если файла с именем нет, то выполняется это действие.
{
PAccount[playerid] = 0;// Аккаунта нет
}
return 1;
}
PHP:
{
if(dialogid == 1)
{
new playername[MAX_PLAYER_NAME];// Масив для имени игрока
new string[128];// Путь до папки с именем игрока
GetPlayerName(playerid,playername,sizeof(playername));// Узнаём имя игрока
format(string,sizeof(string),"players/%s.ini", playername);// Путь к файлу с аккаунтом
if(response)
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Авторизация","{B4B5B7}______________________________________\n\n Добро пожаловать на сервер{B4B5B7}\n Этот аккаунт зарегестрирован\n\nЛогин: {BFC0C2}%s{B4B5B7}\nВведите пароль:\n______________________________________","Ввод","Отмена");// Показываем диалог входа в игру.
return 1;
}
new pass[64];// Масив с паролем
strmid(pass,inputtext,0,strlen(inputtext),64);
OnPlayerLogin(playerid,pass);
}
else
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Авторизация","{B4B5B7}______________________________________\n\n Добро пожаловать на сервер{B4B5B7}\n Этот аккаунт зарегестрирован\n\nЛогин: {BFC0C2}%s{B4B5B7}\nВведите пароль:\n______________________________________","Ввод","Отмена");// Показываем диалог входа в игру.
}
}
if(dialogid == 2)
{
new playername[MAX_PLAYER_NAME];// Масив для имени игрока
new string[128];// Путь до папки с именем игрока
GetPlayerName(playerid,playername,sizeof(playername));// Узнаём имя игрока
format(string,sizeof(string),"players/%s.ini", playername);// Путь к файлу с аккаунтом
if(response)
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Регистрация","{B4B5B7}______________________________________\n\n Добро пожаловать на сервер{B4B5B7}\n Регистрация нового персонажа\n\nЛогин: {BFC0C2%s{B4B5B7}\nВведите пароль:\n______________________________________","Ввод","Отмена");// Показываем диалог регистрации.
return 1;
}
new pass[64];
strmid(pass,inputtext,0,strlen(inputtext),64);
OnPlayerRegister(playerid,pass);
}
else
{
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Регистрация","{B4B5B7}______________________________________\n\n Добро пожаловать на сервер{B4B5B7}\n Регистрация нового персонажа\n\nЛогин: {BFC0C2}%s{B4B5B7}\nВведите пароль:\n______________________________________","Ввод","Отмена");// Показываем диалог регистрации.
}
}
return 1;
}
PHP:
stock SavePlayer(playerid)
{
new string[64];// Масив с путём для файла
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_closeFile(iniFile);// Закрываем файл
}
forward OnPlayerRegister(playerid, password[]);
public OnPlayerRegister(playerid, password[])// Паблик регистрации
{
if(IsPlayerConnected(playerid))
{
new string[64];// Масив с путём для файла
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_closeFile(iniFile);// Закрываем файл
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Авторизация","{B4B5B7}______________________________________\n\n Добро пожаловать на сервер{B4B5B7}\n Этот аккаунт зарегестрирован\n\nЛогин: {BFC0C2}%s{B4B5B7}\nВведите пароль:\n______________________________________","Ввод","Отмена");// Показываем диалог входа в игру.
}
}
return 1;
}
forward OnPlayerLogin(playerid,password[]);
public OnPlayerLogin(playerid,password[])
{
if(IsPlayerConnected(playerid))
{
new string[64];
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_closeFile(iniFile);
}
else
{
ini_closeFile(iniFile);
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Авторизация","{B4B5B7}______________________________________\n\n Добро пожаловать на сервер{B4B5B7}\n Этот аккаунт зарегестрирован\n\nЛогин: {BFC0C2}%s{B4B5B7}\nВведите пароль:\n______________________________________","Ввод","Отмена");// Показываем диалог входа в игру.
return 1;
}
SendClientMessage(playerid,0xFF00000,"Добро пожаловать на Nailing Role Play");
SetPlayerPos(playerid,1729.424072,-1949.681274,14.117187);
SpawnPlayer(playerid);
}
return 1;
}
