deniskakdela
Дебютант
Ввожу правильный пароль, а оно мне выдает "Введите пароль из цифр и латинских символов любого регистра!". Вот код:
Все дефайны:public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case DLG_REG:
{
if(response)
{
if(!strlen(inputtext))
{
ShowRegistration(playerid);
return SCM(playerid, COLOR_RED, "[Ошибка]{FFFFFF} Поле с паролем не может быть пустым!");
}
if(strlen(inputtext) < 8 || strlen(inputtext) > 32)
{
ShowRegistration(playerid);
return SCM(playerid, COLOR_RED, "[Ошибка]{FFFFFF} Введите пароль от 8-ми до 32-ух символов!");
}
new regex:rg_passwordcheck = regex_new("^[a-zA-Z0-9]{1,}0");
if(regex_check(inputtext, rg_passwordcheck))
{
strmid(player_info[playerid][PASSWORD], inputtext, 0, strlen(inputtext), 32);
SPD(playerid, DLG_REGEMAIL, DIALOG_STYLE_INPUT, "{07d455}Регистрация{FFFFFF} • Этап 2/4 • Ввод Email",
"\t\t\t{FFFFFF}Отлично! Первый шаг позади!\n\
Теперь для сохранности Вашего аккаунта требуется ввести Email\n\
Если Вы забудете пароль, Вы сможете его восстановить с помощью почты\n\
{FF0000}Важно! {FFFFFF} Введите действительную почту, иначе Вы не сможете восстановить аккаунт",
"Далее", "Выход");
}
else
{
ShowRegistration(playerid);
return SCM(playerid, COLOR_RED, "[Ошибка]{FFFFFF} Введите пароль из цифр и латинских символов любого регистра!");
}
}
else
{
SCM(playerid, COLOR_RED,
"[Ошибка]{FFFFFF} Вы отказались от регистрации. Введите \"/q\", чтобы покинуть игру");
SPD(playerid, -1, 0, " ", " ", " ", "");
return Kick(playerid);
}
}
}
return 1;
}
Все енумы:#define SCM SendClientMessage
#define SCMTA SendClientMessageToAll
#define SPD ShowPlayerDialog
#define COLOR_WHITE 0xFFFFFFFF
#define COLOR_RED 0xFF0000FF
Буду очень благодарен)enum player {
ID,
NAME[MAX_PLAYER_NAME],
PASSWORD[32],
}
new player_info[MAX_PLAYERS][player];
enum dialogs{
DLG_NONE,
DLG_REG,
DLG_LOG,
DLG_REGEMAIL,
}
