danya9877
Ученик
Доброе время суток всем. Прошу помочь, запутался уже в диалогах. Прочитав, не стоит мне говорить что у меня там ошибки и т.д (кроме действий с переменной per, там я не уверен).. Я знаю всё, кроме вопроса. Вопрос: при авторизации, при нажатии esc не кикает, а перекидывает на окно регистрации.
PHP:
public OnPlayerConnect(playerid)
{
new per[12];
//регистрация , проверка на имя в файле
GetPlayerName(playerid, lalka, sizeof(lalka));
format(lalka, sizeof(lalka), "users/%s.ini", lalka);
if(!fexist(lalka))
{
mxininames = ini_createFile(lalka);
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Регистрация", "Ваш ник не зарегистрирован на сервере. Введите пароль(не более 32 символов)","Ввод","Выход");
}
else if(!ini_getString(mxininames, "Password", per))
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация", "Введите ваш пароль","Ввод","Выход");
}
else { ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация", "Введите ваш пароль","Ввод","Выход"); }
return 1;
}
PHP:
if(dialogid == 0)
if(!strlen(inputtext))
{ SendClientMessage(playerid, 0xFF0000AA, "Введите в поле пароль!");
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Регистрация", "Ваш ник не зарегистрирован на сервере. Введите пароль","Ввод","Выход");
}
else
switch(response) //пароль
{
case 1:
{
format(lalka, sizeof(lalka), "%s", lalka);
ini_openFile(lalka);
ini_setString(mxininames,"Password",inputtext);
ini_closeFile(mxininames);
OnPlayerSpawn(playerid);
SendClientMessage(playerid, 0xFF0000AA, "Поздравляем вас с успешной регистрацией!");
}
case 0:
{
Kick(playerid);
}
}
if(!response) {ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Регистрация", "Ваш ник не зарегистрирован на сервере. Введите пароль","Ввод","Выход");}
if(dialogid == 1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid, 0xFF0000AA, "Введите ваш пароль!");
}
else
switch(response) // пароль
{
case 1://вариант 1!
{
if(fexist(lalka)) {
new pass[40];
ini_getString(mxininames, "Password", pass);
if(strcmp(pass,inputtext,true))
{
OnPlayerSpawn(playerid);
}
}
else { ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация", "Введите ваш пароль","Ввод","Выход");}
}
case 0: { Kick(playerid); } //отказ
}
}
return 1;
}
