f0Re3t
Компетентный
[hide=15]Всем привет. Многие задавались вопросом как сделать подтверждение регистрации через электронную почту. Так как я сегодня добрый xD, я вам расскажу как это сделать. Для начала в информацию об игроке (enum) мы добавляем новую переменную pCode (название можете любое). Дальше в public OnPlayerConnect мы добавляем обнуление переменной: Player[playerid][pCode] = 0 (заменяем на своё, так как у некоторых PlayerInfo). Теперь нам нужно скачать специальный Include:
Подключаем его в мод (#include <a_mail>). Теперь нам нужно создать stock который будет генерировать и отправлять на E-mail пользователя код. Вот собственно сам stock:
Теперь давайте разберем, email - тот кому придёт данное письмо, support@sentol.ru - тот от кого придёт письмо(можно писать любой), Sentol Role Play - логин пользователя от которого придёт письмо, Подтверждение регистрации - название письма и message - текст письма.
Теперь мы находим диалог где игрок вводит свой адрес электронной почты и вставляем SendCode(playerid, inputtext). Разберём: playerid - тут думаю понятно, ID игрока, inputtext - то, что введёт игрок в окно диалога. После ввода электронной почты мы добавляем диалог с подтверждением, ShowPlayerDialog(playerid, 3, DIALOG_STYLE_INPUT, "Подтверждение регистрации", "Введите код который пришел на вашу электронную почту", "Готово", "Отмена"). И собственно делаем работу работу диалога (в public OnDialogResponse):
На этом я заканчиваю свой урок. Думаю я разъяснил всё понятно.[/hide]
Автор данной системы: f0Re3t
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Подключаем его в мод (#include <a_mail>). Теперь нам нужно создать stock который будет генерировать и отправлять на E-mail пользователя код. Вот собственно сам stock:
PHP:
stock SendCode(playerid, email[])
{
Player[playerid][pCode] = 1000 + random(8999);
new message[128];
format(message, sizeof(message), "Здравствуйте, %s\nВаш код для подтверждения регистрации: %d", Player[playerid][pName], Player[playerid][pCode]);
SendMail(email, "support@sentol.ru", "Sentol Role Play", "Подтверждение регистрации", message);
}
Теперь мы находим диалог где игрок вводит свой адрес электронной почты и вставляем SendCode(playerid, inputtext). Разберём: playerid - тут думаю понятно, ID игрока, inputtext - то, что введёт игрок в окно диалога. После ввода электронной почты мы добавляем диалог с подтверждением, ShowPlayerDialog(playerid, 3, DIALOG_STYLE_INPUT, "Подтверждение регистрации", "Введите код который пришел на вашу электронную почту", "Готово", "Отмена"). И собственно делаем работу работу диалога (в public OnDialogResponse):
PHP:
case 3:
{
if(strlen(inputtext) < 4 || strlen(inputtext) > 4) return ShowPlayerDialog(playerid, 3, DIALOG_STYLE_INPUT, "Подтверждение регистрации", "Введите код который пришел на вашу электронную почту", "Готово", "Отмена");
if(strval(inputtext) != Player[playerid][pCode]) return ShowPlayerDialog(playerid, 3, DIALOG_STYLE_INPUT, "Подтверждение регистрации", "Введите код который пришел на вашу электронную почту", "Готово", "Отмена");
//Действия если игрок ввёл правильный код.
}
Автор данной системы: f0Re3t
Последнее редактирование:
