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



Не найдено.

7 posts in this topic

Когда отвечаю на все вопросы, то перекидавает заново на авторизацию

Спойлер

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);
		}

 

 

Share this post


Link to post
Share on other sites

А где собственно сами переходы на диалоги вопросов? И сами case на вопросы ? 

Edited by LilPokemon

Share this post


Link to post
Share on other sites

@LilPokemon case дал, а вопросы вот:
 

Спойлер

new ucp_questions[10][1024] =
{
	"Может ли администрация помочь в отыгровке каких-либо незначительных \"условных\" персонажей,\n\
	посредствам команды \"/do\" или же полноценной отыгровки за какого-либо вымышленного персонажа?\n\n\
	Варианты ответа:\n\
	\t1. Администрация имеет на это полное право.\n\
	\t2. Может, если это будет делать Главный Администратор.\n\
	\t3. Администрации полностью запрещено принимать участие в RP-процессе.\n\nОтвет:", // 1
	
	"Разрешена ли провокация полиции на погоню?\n\n\
	Варианты ответа:\n\
	\t1. Провокация без причины строго запрещена.\n\
	\t2. Провокация разрешена, если имеется весомая на то причина.\n\
	\t3. Провокация полиции разрешена только для криминальных персонажей.\n\nОтвет:", // 1
	
	"Как нужно общаться в местах большого скопления людей?\n\n\
	Варианты ответа:\n\
	\t1. Необходимо использовать только /w чат (шепот). Все остальное остается как было.\n\
	\t2. Необходимо разговаривать шепотом и отыгрывать все через /ame.\n\
	\t3. В людных местах запрещено писать в /do, но при этом необходимо общаться только шепотом и отыгрывать все через /ame.\n\
	\t4. Разрешено также писать в простой чат и отыгрывать через /me.\n\nОтвет:", // 3
	
	"Что такое PowerGaming?\n\n\
	Варианты ответа:\n\
	\t1. Игра в свою пользу.\n\
	\t2. Завышение физических и психологических/моральных качеств персонажа.\n\
	\t3. Игра в свою пользу, не давая шанса другой стороне переломить ситуацию.\n\
	\t4. Верны все варианты.\n\nОтвет:", // 3
	
	"Можно ли писать в IC чаты со включенным Caps Lock'ом?\n\n\
	Варианты ответа:\n\
	\t1. Написание слов в IC чат большими буквами запрещено. За это могут дать мут.\n\
	\t2. Разрешено использовать CAPS во всех чатах, кроме шёпота.\n\
	\t3. Разрешено только для усиления эмоций персонажа.\n\nОтвет:", // 3
	
	"Как должна проходить драка между двумя игроками?\n\n\
	Варианты ответа:\n\
	\t1. Драка начинается с мелкой отыгровки и продолжается без неё.\n\
	\t2. Драка начинается с мелкой отыгровки и до конца сопровождается отыгровкой.\n\
	\t3. Драку можно начать и продолжать без какой-либо отыгровки.\n\nОтвет:", // 1
	
	"Какое использование действий/реплик IC запрещено?\n\n\
	Варианты ответа:\n\
	\t1. /me поправляет свои наручные часы и осматривает неизвестного рядом с автомобилем.\n\
	\t2. Действие в локальный чат без реплики: *вытаскивает вазу из тумбочки и\n\tвливает внутрь немного воды, после оставляет в ней свежие розы*\n\
	\t3. [Хриплый голос]: Давно не виделись, Фрэнки.\n\nОтвет:", // 2
	
	"Соблюдается ли на сервере ПДД?\n\n\
	Варианты ответа:\n\
	\t1. Да, я обязан соблюдать все нормы ПДД.\n\
	\t2. Соблюдение ПДД зависит только от моей роли.\n\
	\t3. Членам организованных преступных группировок разрешено игнорировать ПДД.\n\
	\t4. Да, я должен соблюдать все правила, но есть исключение в виде разрешенного проезда на красный сигнал светофора.\n\nОтвет:", // 1
	
	"Какой вариант отыгровки является верным?\n\n\
	Варианты ответа:\n\
	\t1. /me Иван робко посмотрел на Екатерину и улыбнулся\n\
	\t2. /me сделал угрюмую гремассу и начал активно мыть пол [1/3]\n\
	\t3. /me сунул руку в карман штанов и вытащил из него свой старенький портсигар\n\
	\t4. /me сел на стул\n\
	\t5. Нет правильного ответа\n\nОтвет:", // 3
	
	"Какова политика сервера по отношению ограблений?\n\n\
	Варианты ответа:\n\
	\t1. Ограбить игрока можно не более чем на 10.000 рублей,\n\tс разрешения администрации можно совершить афёру не более чем на 300.000 рублей.\n\
	\t2. Ограбить игрока можно не более чем на 5.000 рублей,\n\tс разрешения администрации можно совершить афёру не более чем на 500.000 рублей.\n\
	\t3. Ограбить игрока можно не более чем на 10.000 рублей,\n\tс разрешения администрации можно совершить афёру не более чем на 500.000 рублей.\n\
	\t4. Ограбление игрока можно совершить на всю сумму, которую он имеет с собой.\n\tАферы только с разрешения администрации и не более чем на 500.000 рублей.\n\nОтвет:" // 3
};

new ucp_answers[sizeof ucp_questions] =
{
	1, 1, 3, 3, 3, 1, 2, 1, 3, 3
};

 

 

Share this post


Link to post
Share on other sites

Приветствую, у меня был мод Exciting Roleplay, попробуй те поменять БД была такая же ошибка.

 

Share this post


Link to post
Share on other sites

@Danil Baranov  не помогло

Share this post


Link to post
Share on other sites

Ещё раз приветствую, скажи те откуда вы взяли данный мод?

 

Share this post


Link to post
Share on other sites

ап

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • warrion4ik
      By warrion4ik
      При телепорте по метке она тепает под текстуры и приходится перетелепортироваться, как это можно исправить?
      Видео: https://youtu.be/FLjer8lfGc0