Перейти к содержанию
Авторизация  
Normul

Проблема с регистрацией / авторизацией в моде Novgorod

Рекомендуемые сообщения

Normul

Добрый день уважаемые форумчане, да вопрос старый,а я от всех отстал, но все же, в тех темах которые тут были, я так и не нашел решения проблемы, а дело вот в чем, при заходе в игру, проходит регистрация -> потом емайл потом ucp, следующим должен быть выбор пола, но его нет, пишет что юспи окончено, и тут все заного регистрация, емайл и опять юсипи, в чем проблема, да я немного не шарю, прошу помочь. 

[spoiler=Код ]case dCreateAccount:
{
if(!response)
{
SCM(playerid, -1, "Регистрация отменена. Для выхода с сервера используйте /q(uit)");

Kick(playerid);

return 1;
}

new password_length = strlen(inputtext);

if(!password_length)
return SPD(playerid, dCreateAccount, DIALOG_STYLE_INPUT, "Регистрация", erorreg1, "Далее", "Отмена");

else if(password_length < 4)
return SPD(playerid, dCreateAccount, DIALOG_STYLE_INPUT, "Регистрация", erorreg2, "Далее", "Отмена");

else if(password_length > 20)
return SPD(playerid, dCreateAccount, DIALOG_STYLE_INPUT, "Регистрация", erorreg3, "Далее", "Отмена");

else
{
format(pInfo[playerid][pPass], 30, "%s", inputtext);

SPD(playerid, dCreateAccount + 1, DIALOG_STYLE_INPUT, "Электронная почта", mailtext, "Далее", "Отмена");
}
}

case dCreateAccount + 1:
{
if(!response)
{
SCM(playerid, -1, "Регистрация отменена. Для выхода с сервера используйте /q(uit)");

Kick(playerid);

return 1;
}

new length = strlen(inputtext);

if(!length)
return SPD(playerid, dCreateAccount + 1, DIALOG_STYLE_INPUT, "Электронная почта", mailtext, "Далее", "Отмена");

if(length < 4)
return SPD(playerid, dCreateAccount + 1, DIALOG_STYLE_INPUT, "Электронная почта", mailtext, "Далее", "Отмена");

for(new idx; idx < length; idx ++)
{
switch(inputtext[idx])
{
case '0'..'9', 'a'..'z', 'A'..'Z', '@', '.', '_', '-': continue;
default: return SPD(playerid, dCreateAccount + 1, DIALOG_STYLE_INPUT, "Электронная почта", #C_GRAY "Ошибка: {FFFFFF}EMail-адрес не соответствует эталону\n\n" mailtext, "Далее", "Отмена");
}
}

if(strfind(inputtext, "@") == -1)
{
return SPD(playerid, dCreateAccount + 1, DIALOG_STYLE_INPUT, "Электронная почта", #C_GRAY "Ошибка: {FFFFFF}EMail-адрес не соответствует эталону\n\n" mailtext, "Далее", "Отмена");
}

format(pInfo[playerid][pMail], 25, "%s", inputtext);

SetPVarInt(playerid, "ucp_question_id", 0);

format:str_big( #C_GRAY "UCP Регистрация / Вопрос №%d\n\n{ffffff}%s", GetPVarInt(playerid, "ucp_question_id") + 1, ucp_questions[GetPVarInt(playerid, "ucp_question_id")]);
SPD(playerid, dCreateAccount + 2, DIALOG_STYLE_INPUT, "UCP Регистрация", str_big, "Далее", "Отмена");
}

case dCreateAccount + 2:
{
new question_id = GetPVarInt(playerid, "ucp_question_id"),
bool: right_type = false;

switch(inputtext[0])
{
case '0'..'9': right_type = true;
}

if(response && right_type)
{
pInfo[playerid][pUcpData][question_id] = ucp_answers[question_id] == strval(inputtext) ? 1 : 0;

SetPVarInt(playerid, "ucp_question_id", question_id + 1);

if(question_id + 1 == 10)
{
new answers = 0;

for(new idx; idx < sizeof ucp_questions; idx ++)
if(pInfo[playerid][pUcpData][idx] == 1) answers ++;

if(answers >= 7)
{
SCM(playerid, -1, "UCP Регистрация завершена");
mysql_format:str_big("INSERT INTO `" #DB_ACCOUNTS "` (Name, Pass, Mail, UcpData) VALUES ('%s', '%s', '%s', '%d|%d|%d|%d|%d|%d|%d|%d|%d|%d')", pInfo[playerid][pName], pInfo[playerid][pPass], pInfo[playerid][pMail],
pInfo[playerid][pUcpData][0],pInfo[playerid][pUcpData][1],pInfo[playerid][pUcpData][2],pInfo[playerid][pUcpData][3],pInfo[playerid][pUcpData][4],
pInfo[playerid][pUcpData][5],pInfo[playerid][pUcpData][6],pInfo[playerid][pUcpData][7],pInfo[playerid][pUcpData][8],pInfo[playerid][pUcpData][9]);
mysql_function_query(mysql_connect_ID, str_big, false, "", "");
mysql_format:str_big( "SELECT ID, Ban, Pass FROM `" #DB_ACCOUNTS "` WHERE `Name` = '%s' LIMIT 1", pInfo[playerid][pName]);
mysql_tquery( mysql_connect_ID, str_big, "OnPlayerFind", "i", playerid );
}
else
{
SCM(playerid, 0xFF5533FF, "Вы не набрали нужного количества правильных ответов");
SCM(playerid, 0xFFCC00FF, "Регистрация отменена");
Kick(playerid);
}

return 1;
}
}

format:str_big( #C_GRAY "UCP Регистрация / Вопрос №%d\n\n{ffffff}%s", GetPVarInt(playerid, "ucp_question_id") + 1, ucp_questions[GetPVarInt(playerid, "ucp_question_id")]);
SPD(playerid, dCreateAccount + 2, DIALOG_STYLE_INPUT, "UCP Регистрация", str_big, "Далее", "Отмена");
}
case dRegister:
{
if(!response)
{
pInfo[playerid][pChart][0]=1;
mysql_format:str_small("UPDATE `" #DB_ACCOUNTS "` SET `Chart` = '%d|%d|%d|%d' WHERE `Name` = '%s'",pInfo[playerid][pChart][0],pInfo[playerid][pChart][1],pInfo[playerid][pChart][2],pInfo[playerid][pChart][3],pInfo[playerid][pName]), mysql_function_query(mysql_connect_ID, str_small, false, "", "");
SCM(playerid,-1,"Вы выбрали женский пол своему персонажу");
return SPD(playerid,dRegister+1,list,"Выберите расу вашего","" #C_GRAY "1. {ffffff}Европеец\n" #C_GRAY "2. {ffffff}Латиноамериканец\n" #C_GRAY "3. {ffffff}Африканец\n" #C_GRAY "4. {ffffff}Азиат","Ок","");

}

pInfo[playerid][pChart][0]=2;
SCM(playerid,-1,"Вы выбрали мужской пол своему персонажу");
mysql_format:str_small("UPDATE `" #DB_ACCOUNTS "` SET `Chart` = '%d|%d|%d|%d' WHERE `Name` = '%s'",pInfo[playerid][pChart][0],pInfo[playerid][pChart][1],pInfo[playerid][pChart][2],pInfo[playerid][pChart][3],pInfo[playerid][pName]), mysql_function_query(mysql_connect_ID, str_small, false, "", "");

return SPD(playerid,dRegister+1,list,"Выберите расу вашего","" #C_GRAY "1. {ffffff}Европеец\n" #C_GRAY "2. {ffffff}Латиноамериканец\n" #C_GRAY "3. {ffffff}Африканец\n" #C_GRAY "4. {ffffff}Азиат","Ок","");
}

case dRegister+1:
{
if(!response) return Kick(playerid);
pInfo[playerid][pChart][2]=listitem;
mysql_format:str_small("UPDATE `" #DB_ACCOUNTS "` SET `Chart` = '%d|%d|%d|%d' WHERE `Name` = '%s'",pInfo[playerid][pChart][0],pInfo[playerid][pChart][1],pInfo[playerid][pChart][2],pInfo[playerid][pChart][3],pInfo[playerid][pName]), mysql_function_query(mysql_connect_ID, str_small, false, "", "");
SetPVarInt(playerid,"skinchange",1);
SpawnPlayer(playerid);
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.