Alex Westbrook
Специалист
Добрый день, ув. Пользователи p-i, в общем... Штука такая...
Я написал систему, которая отправляет код на мыло, при регистрации аккаунта.
Прикол в том, что после ввода кода - не происходит никакой реакции, т.е диалог тупо пропал и все.
Помогите пожалуйста, отблагодарю
---------- Post added at 19:49 ---------- Previous post was at 19:38 ----------
Для тех, у кого сдвинулся спойлер:
Диалог ввода пароля (при реге)
Диалог ввода мыла:
Диалог ввода кода, который пришел на E-Mail:
Я написал систему, которая отправляет код на мыло, при регистрации аккаунта.
Прикол в том, что после ввода кода - не происходит никакой реакции, т.е диалог тупо пропал и все.
Помогите пожалуйста, отблагодарю
---------- Post added at 19:49 ---------- Previous post was at 19:38 ----------
Для тех, у кого сдвинулся спойлер:
Диалог ввода пароля (при реге)
PHP:
if(dialogid == 1)
{
if(response)
{
if(strlen(inputtext) != 0)
{
new pname2[36];
GetPlayerName(playerid, pname2, 36);
format(query,sizeof(query),"{FFFFFF}Добро пожаловать на сервер Advance RolePlay!\nЧтобы начать игру Вам необходимо пройти регистрацию\n\nВведите пароль для Вашего аккаунта\nОн будет запрашиваться каждый раз, когда вы заходите на сервер\n\n{66CD00}\t\tПримечания:\n\t\t- Пароль может состоять из русских и латинских символов\n\t\t- Пароль чувствителен к регистру\n\t\t- Длина пароля от 6-ти до 15-ти символов");
if(strlen(inputtext) < 6 || strlen(inputtext) > 20)
{
format(query,sizeof(query),"{FFFFFF}Добро пожаловать на сервер Advance RolePlay!\nЧтобы начать игру Вам необходимо пройти регистрацию\n\nВведите пароль для Вашего аккаунта\nОн будет запрашиваться каждый раз, когда вы заходите на сервер\n\n{66CD00}\t\tПримечания:\n\t\t- Пароль может состоять из русских и латинских символов\n\t\t- Пароль чувствителен к регистру\n\t\t- Длина пароля от 6-ти до 15-ти символов");
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"{6495ED}Регистрация",query,"Ок","Отмена");
return true;
}
for(new i = strlen(inputtext); i != 0; --i)
switch(inputtext[i])
{
case 'А'..'Я', 'а'..'я', ' ':
return ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"{6495ED}Регистрация",query,"Ок","Отмена");
}
ShowPlayerDialog(playerid, 1037, DIALOG_STYLE_INPUT, "{6495ED}Email", "{FFFFFF}Введите адрес Вашей электронной почты\nИпользуя его, вы сможете восстановить доступ к аккаунту\nв случае взлома или если забудуту пароль\n\n{FFD700}На email будет выслан код, который Вы должны\nввести в слудеющем окне для продолжения.\nУбедитесь в правильности ввода и нажмине ''Ок'' ", "Ок", "Выйти");
OnPlayerRegister(playerid, inputtext);
PlayerInfo[playerid][preg] = true;
PlayerInfo[playerid][pChoosingSkinRegen] = false;
}
else
{
format(query,sizeof(query),"{FFFFFF}Добро пожаловать на сервер Advance RolePlay!\nЧтобы начать игру Вам необходимо пройти регистрацию\n\nВведите пароль для Вашего аккаунта\nОн будет запрашиваться каждый раз, когда вы заходите на сервер\n\n{66CD00}\t\tПримечания:\n\t\t- Пароль может состоять из русских и латинских символов\n\t\t- Пароль чувствителен к регистру\n\t\t- Длина пароля от 6-ти до 15-ти символов");
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"{6495ED}Регистрация",query,"Ок","Отмена");
}
}
else
{
SendClientMessage(playerid, 0x99FF00AA,"Вы отказались от регистрации и были кикнуты.");
KickEx(playerid);
}
}
PHP:
if(dialogid == 1037)
{
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 1037, DIALOG_STYLE_INPUT, "{6495ED}Email", "{FFFFFF}Введите адрес Вашей электронной почты\nИпользуя его, вы сможете восстановить доступ к аккаунту\nв случае взлома или если забудуту пароль\n\n{FFD700}На email будет выслан код, который Вы должны\nввести в слудеющем окне для продолжения.\nУбедитесь в правильности ввода и нажмине ''Ок'' ", "Ок", "Выйти");
if(strlen(inputtext) > 32) SendClientMessage(playerid,0xFF6600AA, "Максимальная длина почтового адреса 32 символа!");
if(strlen(inputtext) > 32) return ShowPlayerDialog(playerid, 1037, DIALOG_STYLE_INPUT, "{6495ED}Email", "{FFFFFF}Введите адрес Вашей электронной почты\nИпользуя его, вы сможете восстановить доступ к аккаунту\nв случае взлома или если забудуту пароль\n\n{FFD700}На email будет выслан код, который Вы должны\nввести в слудеющем окне для продолжения.\nУбедитесь в правильности ввода и нажмине ''Ок'' ", "Ок", "Выйти");
//if(strfind(inputtext,"@mail.ru", true) == -1 || strfind(inputtext,"@gmail.com", true) == -1 || strfind(inputtext,"@yandex.ru", true) == -1 || strfind(inputtext,"@rambler.ru", true) == -1) return ShowPlayerDialog(playerid, 1037, DIALOG_STYLE_INPUT, "Email", "{FFFFFF}Введите адрес Вашей электронной почты\nИспользуя его, вы сможете восстановить доступ к аккаунту\nв случае взлома или если забудете пароль\n\nУбедитесь в правильности ввода и нажмите\"Далее\"", "Далее", "Выйти");
for(new i = strlen(inputtext); i != 0; --i)
switch(inputtext[i])
{
case 'А'..'Я', 'а'..'я', ' ':return ShowPlayerDialog(playerid, 1037, DIALOG_STYLE_INPUT, "{6495ED}Email", "{FFFFFF}Введите адрес Вашей электронной почты\nИпользуя его, вы сможете восстановить доступ к аккаунту\nв случае взлома или если забудуту пароль\n\n{FFD700}На email будет выслан код, который Вы должны\nввести в слудеющем окне для продолжения.\nУбедитесь в правильности ввода и нажмине ''Ок'' ", "Ок", "Выйти");
}
new newstring[40];
mysql_real_escape_string(inputtext, newstring);
new testmaillol[80];
format(testmaillol, sizeof(testmaillol), "SELECT * FROM accounts WHERE email = '%s'", newstring);
new Cache: pizdec = mysql_query(dbHandle,testmaillol,true);
if(cache_num_rows() > 0)
{
ShowPlayerDialog(playerid, 1037, DIALOG_STYLE_INPUT, "{6495ED}Email", "{FFFFFF}Введите адрес Вашей электронной почты\nИспользуя его, вы сможете восстановить доступ к аккаунту\nв случае взлома или если забудете пароль\n\n{FFD700}На email будет выслан код, который Вы должны\nввести в следующем окне для продолжения.\nУбедитесь в правильности ввода и нажмите ''Ок'' ", "Ок", "Выйти");
SendClientMessage(playerid,0xFF9900AA, "Данный email уже используется.");
return true;
}
cache_delete(pizdec);
mysql_real_escape_string(inputtext, newstring);
new setnewmail[80];
format(setnewmail, sizeof(setnewmail), "update accounts set email = '%s' where name = '%s'",newstring, PlayerInfo[playerid][pName]);
mysql_query(dbHandle,setnewmail,false);
strmid(PlayerInfo[playerid][pEmail], newstring, 0, strlen(newstring), 255);
SendCode(playerid, inputtext);
ShowPlayerDialog(playerid, 333333, DIALOG_STYLE_INPUT, "Подтверждение регистрации", "Введите код который пришел на Вашу электронную почту", "Далее", "Отмена");
PlayerInfo[playerid][preg] = true;
PlayerInfo[playerid][pChoosingSkinRegen] = false;
}
else
{
ShowPlayerDialog(playerid, 1037, DIALOG_STYLE_INPUT, "{6495ED}Email", "{FFFFFF}Введите адрес Вашей электронной почты\nИспользуя его, вы сможете восстановить доступ к аккаунту\nв случае взлома или если забудете пароль\n\n{FFD700}На email будет выслан код, который Вы должны\nввести в следующем окне для продолжения.\nУбедитесь в правильности ввода и нажмите ''Ок'' ", "Ок", "Выйти");
}
}
PHP:
if(dialogid == 333333)
{
if(response)
{
if(strlen(inputtext) < 4 || strlen(inputtext) > 4) return ShowPlayerDialog(playerid, 333333, DIALOG_STYLE_INPUT, "Подтверждение регистрации", "Введите код который пришел на Вашу электронную почту", "Готово", "Отмена");
if(strval(inputtext) != PlayerInfo[playerid][pCode]) return ShowPlayerDialog(playerid, 333333, DIALOG_STYLE_INPUT, "Подтверждение регистрации", "Введите код который пришел на Вашу электронную почту", "Готово", "Отмена");
if(strval(inputtext) == PlayerInfo[playerid][pCode])
{
ShowPlayerDialog(playerid, 1038, DIALOG_STYLE_INPUT, "{6495ED}Ник пригласившего игрока", "{FFFFFF}Если Вы узнали о нашем сервере от своего друга\nкоторый тут играет, укажите его ник в поле ниже\n\n{ADFF2F}При достижении вами 4-го уровня он получит вознаграждение", "Ввести", "Пропустить");
}
}
}
