Вопросы

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

Спойлер

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

 

 

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


Ссылка на сообщение

6 ответов на этот вопрос

  • 0

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

Отредактировано пользователем LilPokemon

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


Ссылка на сообщение
  • 0

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

 

 

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


Ссылка на сообщение
  • 0

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

 

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


Ссылка на сообщение
  • 0

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

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


Ссылка на сообщение
  • 0

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

 

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


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

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

  • Похожий контент

    • Aleksey98
      От Aleksey98
      Необходим человек: который сможет написать систему тюнинга!
      как на крупных проектах типа: Arizona и Radmir
      И еще требуется Мапперы на новый топовый проект!
      Связь : https://vk.com/id289498732
    • Mister Odin
      От Mister Odin
       
      new
       g_teleport_list[39][E_TELEPORT_LIST] = {  {"Спавн пгт.Батырево", 1802.3612, 2508.4824, 15.8887},  {"Спавн г.Арзамас", -113.5887, 977.7222, 12.0346},     {"Спавн г.Южный", 2744.2770, -2446.7246, 21.8988},     {"Центральный банк", 1852.020385,2040.791381,15.892713},  {"Рублёвка", -837.7783, 888.6161, 12.7232},  {"Казино", 1332.4252, 2358.7014, 17.6641},  {"Битва за контейнеры", 614.5167, 1722.3566, 12.0709},  {"Автосалон низкого класса", 2493.9616, -722.9544, 12.3315},  {"Автосалон среднего класса", 1407.7449, 455.4801, 13.1630},  {"Автосалон высокого класса", -14.0637, 2614.5664, 10.9892},   {"Мотосалон Harley Davidson", 785.720153, 750.465087, 12.000024},  {"Автошкола", 1909.174438,2227.679687,15.708162},  {"Военкомат", 1916.778564,2302.411376,15.574637},  {"Правительство области", -139.140975,593.789611,12.145712},  {"Отдел полиции №1 (ГИБДД)", 1906.805786,-2234.382812,11.257631},  {"Отдел полиции №2 (УМВД)", 2581.309326,-2416.139892,21.960090},  {"Отдел ФСБ", 1823.904663,2095.636718,15.848405},  {"Городская больница г.Арзамас", -285.797210,581.851562,12.120290},   {"СМИ", -317.708038,821.221679,13.051450},  {"Воинская часть", 1703.197265,1678.025878,15.279437},  {"Арзамасская ОПГ", 438.705322,1046.505126,12.002637},  {"Батыревская ОПГ", 1941.203857,2161.006591,15.705187},  {"Лыткаринская ОПГ", -2346.002441,75.257041,21.002962},  {"Шахта", 2381.5727, 1726.4451, -2.1506},  {"Завод", -1062.6697, 2204.1894, 38.0964},  {"Инкосация", 1864.1374, 2011.7136, 15.8546},  {"Транспортная Компания", 2362.1115, 1972.5627, 15.5530},  {"База механиков", 1840.918090,-118.025146,15.695312},  {"Курьерская служба доставки", 2764.509765,-2396.882568,21.890625},  {"Аренда автобуса(Южный)", 2771.041992,-2454.780761,21.845964},  {"Аренда автобуса(Арзамас)", -127.487670,943.652648,12.142824},   {"Аренда автобуса(Батырево)", 1798.986328,2529.591552,15.664262},  {"Гоночная трасса", -1568.7784, 1611.8305, 36.3971},  {"Дом на горе", -789.5397, -456.7479, 741.1422},  {"СТО и тюнинг-ателье", 1856.1375, -122.3266, 15.6888},  {"Аренда транспорта пгт.Батырево", 1763.641723,2255.673339,15.865348},  {"Аренда транспорта г.Арзамас", -36.923530,1360.673583,12.002090},  {"Аренда транспорта г.Южный", 1966.599975,-2603.943603,10.820312},  {"Тайный интерьер в Лыткарино", -2424.5818, 2846.3291, 40.7908} };