Когда я прохожу UCP на сервере и уже ответил на вопросы правильно меня не перекидывает дальше на выбор расы
Вот мод:Вот мод:
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытый текст
Вот сама UCP:
case dCreateAccount:
{
if(!response)
{
SCM(playerid, -1, "Регистрация отменена. Для выхода с сервера используйте /q(uit)");
Kick(playerid);
return 1;
}
for(new i = strlen(inputtext)-1; i != -1; i--)
{
switch(inputtext[i])
{
case '0'..'9', 'а'..'я', 'a'..'z', 'А'..'Я', 'A'..'Z': continue;
default: return SPD(playerid, dCreateAccount, DIALOG_STYLE_INPUT, "Регистрация", "Ошибка. Использовать возможно только латинские буквы и цифры\n{FFFFFF}Введите пароль от аккаунта для того, чтоб продолжить игру:", "Вход", "Выход");
}
}
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, "", "");
CheckNickname(playerid);
mysql_format:str_small( "SELECT ID, Ban, Pass FROM `" #DB_ACCOUNTS "` WHERE `Name` = '%s' LIMIT 1", pInfo[playerid][pName]);
mysql_tquery( mysql_connect_ID, str_small, "OnPlayerFind", "i", playerid );
}
else
{
SCM(playerid, 0xFF5533FF, "Вы не набрали нужного количества правильных ответов");
SCM(playerid, 0xFFCC00FF, "Регистрация отменена");
Kick(playerid);
return 1;
}
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;
new year, month, day;
getdate(year, month, day);
new RegIp[16];
GetPlayerIp(playerid, RegIp, 16);
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, "", "");
mysql_format:str_small("UPDATE `" #DB_ACCOUNTS "` SET `Regdate` = '%d|%d|%d' WHERE `Name` = '%s'",day,month,year,pInfo[playerid][pName]), mysql_function_query(mysql_connect_ID, str_small, false, "", "");
mysql_format:str_small("UPDATE `" #DB_ACCOUNTS "` SET `Regip` = '%s' WHERE `ID` = '%d'", RegIp, pInfo[playerid][pID]);
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 `pInvSlotsKol` = '0|0|0|0|0|0|0|0|0|0' WHERE `Name` = '%s'",pInfo[playerid][pName]), mysql_function_query(mysql_connect_ID, str_small, false, "", "");
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, "", "");
mysql_format:str_small("UPDATE `" #DB_ACCOUNTS "` SET `pInvSlots` = '0|0|0|0|0|0|0|0|0|0' WHERE `Name` = '%s'",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 `pInvSlotsKol` = '0|0|0|0|0|0|0|0|0|0' WHERE `Name` = '%s'",pInfo[playerid][pName]), mysql_function_query(mysql_connect_ID, str_small, false, "", "");
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, "", "");
mysql_format:str_small("UPDATE `" #DB_ACCOUNTS "` SET `pInvSlots` = '0|0|0|0|0|0|0|0|0|0' WHERE `Name` = '%s'",pInfo[playerid][pName]), mysql_function_query(mysql_connect_ID, str_small, false, "", "");
SetPVarInt(playerid,"skinchange",1);
SpawnPlayer(playerid);
}