Вопросы

Ввожу команду в чате ничего и диалога тоже нет 

Команда: 

CMD:pmenu(playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] >= 6)
    {
		if(PlayerInfo[playerid][pAdmin] != 11) return false;
	    ShowPlayerDialog(playerid,D_PROMO,DIALOG_STYLE_LIST,"{F2E70F}Меню промокодов","\
	    1. Создать промокод \n\
	    2. Действующие промокоды \n\
		3. Активированные промокоды \n\
		4. Заблокированные промокоды \n\
		{F66B6D}5. Заблокировать промокод \n\
		{F66B6D}6. Удалить промокод","Далее","Выход");
	}
	return true;
}

 

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

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


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

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

  • 0
Спойлер

CMD:pmenu(playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] >= 6)
    {
	    ShowPlayerDialog(playerid,D_PROMO,DIALOG_STYLE_LIST,"{F2E70F}Меню промокодов","\
	    1. Создать промокод \n\
	    2. Действующие промокоды \n\
		3. Активированные промокоды \n\
		4. Заблокированные промокоды \n\
		{F66B6D}5. Заблокировать промокод \n\
		{F66B6D}6. Удалить промокод","Далее","Выход");
	}
	return true;
}

 

 

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


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

@DEST Ввожу название нажимаю enter, оно мне еще раз диалог показывает 

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


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

@Timur_Top значит, ошибки в диалоге

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


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

@Timur_Top Покажи диалог 

D_PROMO

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

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


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

@archiboy6

Спойлер

@archiboy6         case D_PROMO:
        {
            if(!response) return 1;
            switch(listitem)
            {
                case 0: ShowPlayerDialog(playerid,D_PROMO+1,DIALOG_STYLE_INPUT,"Создание промокода | {FE6060}Шаг: 1","{FFFFFF}Вам необходимо придумать промокод\nДлина промокода должна быть 6 символов, состоящая из цифр и букв латинского алфавита\n\nВведите промокод в строчку ниже:","Далее","Назад");
                case 1: mysql_function_query(dbHandle, "SELECT * FROM `promo` WHERE activate = '0' AND block = '0'", true, "ShowDPromo", "i", playerid);
                case 2: mysql_function_query(dbHandle, "SELECT * FROM `promo` WHERE activate = '1'", true, "ShowAPromo", "i", playerid);
                case 3: mysql_function_query(dbHandle, "SELECT * FROM `promo` WHERE block = '1'", true, "ShowBPromo", "i", playerid);
                case 4: ShowPlayerDialog(playerid,D_PROMO+2,DIALOG_STYLE_INPUT,"{F66B6D}Блокировка промокода","{FFFFFF}Введите ниже промокод, который хотите заблокировать:","Далее","Назад");
                case 5: ShowPlayerDialog(playerid,D_PROMO+3,DIALOG_STYLE_INPUT,"{F66B6D}Удаление промокода","{FFFFFF}Введите ниже промокод, который хотите удалить:","Далее","Назад");
            }
        }

 

@DEST

Спойлер

@archiboy6         case D_PROMO:
        {
            if(!response) return 1;
            switch(listitem)
            {
                case 0: ShowPlayerDialog(playerid,D_PROMO+1,DIALOG_STYLE_INPUT,"Создание промокода | {FE6060}Шаг: 1","{FFFFFF}Вам необходимо придумать промокод\nДлина промокода должна быть 6 символов, состоящая из цифр и букв латинского алфавита\n\nВведите промокод в строчку ниже:","Далее","Назад");
                case 1: mysql_function_query(dbHandle, "SELECT * FROM `promo` WHERE activate = '0' AND block = '0'", true, "ShowDPromo", "i", playerid);
                case 2: mysql_function_query(dbHandle, "SELECT * FROM `promo` WHERE activate = '1'", true, "ShowAPromo", "i", playerid);
                case 3: mysql_function_query(dbHandle, "SELECT * FROM `promo` WHERE block = '1'", true, "ShowBPromo", "i", playerid);
                case 4: ShowPlayerDialog(playerid,D_PROMO+2,DIALOG_STYLE_INPUT,"{F66B6D}Блокировка промокода","{FFFFFF}Введите ниже промокод, который хотите заблокировать:","Далее","Назад");
                case 5: ShowPlayerDialog(playerid,D_PROMO+3,DIALOG_STYLE_INPUT,"{F66B6D}Удаление промокода","{FFFFFF}Введите ниже промокод, который хотите удалить:","Далее","Назад");
            }
        }

 

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


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

@Timur_Top У тебя еще ниже должно быть покажи то что до D_PROMO+4 включительно

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


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

@archiboy6 а вот его уже нет, но, я поискал снизу есть 4 promo, но это не то.. код: 

		case D_PROMO+4:
		{
		    new totalstrings[512];
		    if(!response)
			{
			    strcat(totalstrings,"{FFFFFF}Теперь необходимо ввести тип приза, количество выигрыша, количество активаций\n\n{4AA9CF}Типы:\n");
				strcat(totalstrings,"{FFFFFF}1. VIP аккаунт\n");
				strcat(totalstrings,"2. Игровая валюта\n");
				strcat(totalstrings,"3. Кредиты\n\n");
				strcat(totalstrings,"Если указан тип '1', то в качестве количества приза - указываете дни, в течении которых будет действовать VIP аккаунт\n");
				strcat(totalstrings,"Если указаны типы '2' и '3', то соответственно указываете количество игровой валюты, и кредитов для выигрыша.\n\n");
				strcat(totalstrings,"{F6F7D8}Указывать все значения нужно через запятую!\n");
				strcat(totalstrings,"Пример: 1,30,10\n");
				strcat(totalstrings,"Где 1 - тип приза(VIP), 30 - количество дней, 10 - число доступных активаций промокода");
				ShowPlayerDialog(playerid,D_PROMO+4,DIALOG_STYLE_INPUT,"Создание промокода | {FE6060}Шаг: 2",totalstrings,"Далее","Назад");
				return 1;
			}

 

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


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

@Timur_Top D_PROMO замени на это

case D_PROMO:
		{
		    if(!response) return 1;
		    switch(listitem)
		    {
		        case 0: ShowPlayerDialog(playerid,D_PROMO+1,DIALOG_STYLE_INPUT,"Создание промокода | {FE6060}Шаг: 1","{FFFFFF}Вам необходимо придумать промокод\nДлина промокода должна быть от 3 до 12 символов, состоящая из цифр и букв латинского алфавита\n\nВведите промокод в строчку ниже:","Далее","Назад");
				case 1: mysql_function_query(dbHandle, "SELECT * FROM `promo` WHERE activate = '0' AND block = '0'", true, "ShowDPromo", "i", playerid);
				case 2: mysql_function_query(dbHandle, "SELECT * FROM `promo` WHERE activate = '1'", true, "ShowAPromo", "i", playerid);
				case 3: mysql_function_query(dbHandle, "SELECT * FROM `promo` WHERE block = '1'", true, "ShowBPromo", "i", playerid);
				case 4: ShowPlayerDialog(playerid,D_PROMO+2,DIALOG_STYLE_INPUT,"{F66B6D}Блокировка промокода","{FFFFFF}Введите ниже промокод, который хотите заблокировать:","Далее","Назад");
				case 5: ShowPlayerDialog(playerid,D_PROMO+3,DIALOG_STYLE_INPUT,"{F66B6D}Удаление промокода","{FFFFFF}Введите ниже промокод, который хотите удалить:","Далее","Назад");
			}
		}

 

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


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

@Timur_Top система уже была в моде? Какой мод (название, основа)? 

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


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

@Timur_Top так на диалоге создания промокода вам еще раз его показывает, так? 

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


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

@DEST да

 

@DEST Я ввожу название промокода нажимаю Enter и это окно показывается еще раз

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


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

@Timur_Top D_PROMO+1 скинь

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


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

@DEST вроде оно: 

		case D_PROMO+1:
		{
		    if(!response)
		    {
		        ShowPlayerDialog(playerid,D_PROMO,DIALOG_STYLE_LIST,"{F2E70F}Меню промокодов","\
			    1. Создать промокод \n\
			    2. Действующие промокоды \n\
				3. Активированные промокоды \n\
				4. Заблокированные промокоды \n\
				{F66B6D}5. Заблокировать промокод \n\
				{F66B6D}6. Удалить промокод","Далее","Выход");
				return 1;
		    }

 

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


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

@Timur_Top система не дописана. поэтому и не работает. 

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


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

@Timur_Top у тебя там после D_PROMO еще должно быть, вообщем удали эти диалоги и вставь это на их место 

Спойлер

case D_PROMO:
		{
		    if(!response) return 1;
		    switch(listitem)
		    {
		        case 0: ShowPlayerDialog(playerid,D_PROMO+1,DIALOG_STYLE_INPUT,"Создание промокода | {FE6060}Шаг: 1","{FFFFFF}Вам необходимо придумать промокод\nДлина промокода должна быть от 3 до 12 символов, состоящая из цифр и букв латинского алфавита\n\nВведите промокод в строчку ниже:","Далее","Назад");
				case 1: mysql_function_query(dbHandle, "SELECT * FROM `promo` WHERE activate = '0' AND block = '0'", true, "ShowDPromo", "i", playerid);
				case 2: mysql_function_query(dbHandle, "SELECT * FROM `promo` WHERE activate = '1'", true, "ShowAPromo", "i", playerid);
				case 3: mysql_function_query(dbHandle, "SELECT * FROM `promo` WHERE block = '1'", true, "ShowBPromo", "i", playerid);
				case 4: ShowPlayerDialog(playerid,D_PROMO+2,DIALOG_STYLE_INPUT,"{F66B6D}Блокировка промокода","{FFFFFF}Введите ниже промокод, который хотите заблокировать:","Далее","Назад");
				case 5: ShowPlayerDialog(playerid,D_PROMO+3,DIALOG_STYLE_INPUT,"{F66B6D}Удаление промокода","{FFFFFF}Введите ниже промокод, который хотите удалить:","Далее","Назад");
			}
		}
		case D_PROMO+2:
		{
		    if(!response)
		    {
		        return ShowPlayerDialog(playerid,D_PROMO,DIALOG_STYLE_LIST,"{F2E70F}Меню промокодов","\
			    1. Создать промокод \n\
			    2. Действующие промокоды \n\
				3. Активированные промокоды \n\
				4. Заблокированные промокоды \n\
				{F66B6D}5. Заблокировать промокод \n\
				{F66B6D}6. Удалить промокод","Далее","Выход");
		    }
		    new qstring[128];
	 		mysql_format(dbHandle, qstring, sizeof(qstring), "SELECT * FROM `promo` WHERE `name`='%s'", inputtext);
	   	 	mysql_tquery(dbHandle, qstring, "BlockPromo", "is", playerid,inputtext);
		}
		case D_PROMO+3:
		{
		    if(!response)
		    {
		        return ShowPlayerDialog(playerid,D_PROMO,DIALOG_STYLE_LIST,"{F2E70F}Меню промокодов","\
			    1. Создать промокод \n\
			    2. Действующие промокоды \n\
				3. Активированные промокоды \n\
				4. Заблокированные промокоды \n\
				{F66B6D}5. Заблокировать промокод \n\
				{F66B6D}6. Удалить промокод","Далее","Выход");
		    }
		    new qstring[128];
	 		mysql_format(dbHandle, qstring, sizeof(qstring), "SELECT * FROM `promo` WHERE `name`='%s'", inputtext);
	   	 	mysql_tquery(dbHandle, qstring, "DeletePromo", "is", playerid,inputtext);
		}
		case D_PROMO+1:
		{
		    if(!response)
		    {
		        ShowPlayerDialog(playerid,D_PROMO,DIALOG_STYLE_LIST,"{F2E70F}Меню промокодов","\
			    1. Создать промокод \n\
			    2. Действующие промокоды \n\
				3. Активированные промокоды \n\
				4. Заблокированные промокоды \n\
				{F66B6D}5. Заблокировать промокод \n\
				{F66B6D}6. Удалить промокод","Далее","Выход");
				return 1;
		    }
		    new totalstring[712];
		    if(strlen(inputtext) < 3 || strlen(inputtext) > 12) return ShowPlayerDialog(playerid,D_PROMO+1,DIALOG_STYLE_INPUT,"Создание промокода | {FE6060}Шаг: 1","{FFFFFF}Вам необходимо придумать промокод\nДлина промокода должна быть от 3 до 12 символов, состоящая из цифр и букв латинского алфавита\n\nВведите промокод в строчку ниже:","Далее","Назад");
			SetPVarString(playerid,"PROMO",inputtext);
			strcat(totalstring,"{FFFFFF}Теперь необходимо ввести тип приза, количество выигрыша, количество активаций\n\n{4AA9CF}Типы:\n");
			strcat(totalstring,"{FFFFFF}1. VIP аккаунт\n");
			strcat(totalstring,"2. Игровая валюта\n");
			strcat(totalstring,"3. Кредиты\n\n");
			strcat(totalstring,"Если указан тип '1', то в качестве количества приза - указываете дни, в течении которых будет действовать VIP аккаунт\n");
			strcat(totalstring,"Если указаны типы '2' и '3', то соответственно указываете количество игровой валюты, и кредитов для выигрыша.\n\n");
			strcat(totalstring,"{F6F7D8}Указывать все значения нужно через запятую!\n");
			strcat(totalstring,"Пример: 1,30,10\n");
			strcat(totalstring,"Где 1 - тип(VIP), 30 - кол-во дней, 10 - число активаций");
			ShowPlayerDialog(playerid,D_PROMO+4,DIALOG_STYLE_INPUT,"Создание промокода | {FE6060}Шаг: 2",totalstring,"Далее","Назад");
		}
		case D_PROMO+4:
		{
		    new totalstring[512];
		    if(!response)
		    {
		        ShowPlayerDialog(playerid,D_PROMO,DIALOG_STYLE_LIST,"{F2E70F}Меню промокодов","\
			    1. Создать промокод \n\
			    2. Действующие промокоды \n\
				3. Активированные промокоды \n\
				4. Заблокированные промокоды \n\
				{F66B6D}5. Заблокировать промокод \n\
				{F66B6D}6. Удалить промокод","Далее","Выход");
				return 1;
		    }
			new numb[3];
			if(sscanf(inputtext, "p<,>iii",numb[0],numb[1],numb[2]))
			{
			    strcat(totalstring,"{FFFFFF}Теперь необходимо ввести тип приза, количество выигрыша, количество активаций\n\n{4AA9CF}Типы:\n");
				strcat(totalstring,"{FFFFFF}1. VIP аккаунт\n");
				strcat(totalstring,"2. Игровая валюта\n");
				strcat(totalstring,"3. Кредиты\n\n");
				strcat(totalstring,"Если указан тип '1', то в качестве количества приза - указываете дни, в течении которых будет действовать VIP аккаунт\n");
				strcat(totalstring,"Если указаны типы '2' и '3', то соответственно указываете количество игровой валюты, и кредитов для выигрыша.\n\n");
				strcat(totalstring,"{F6F7D8}Указывать все значения нужно через запятую!\n");
				strcat(totalstring,"Пример: 1,30,10\n");
				strcat(totalstring,"Где 1 - тип приза(VIP), 30 - количество дней, 10 - число доступных активаций промокода");
				ShowPlayerDialog(playerid,D_PROMO+4,DIALOG_STYLE_INPUT,"Создание промокода | {FE6060}Шаг: 2",totalstring,"Далее","Назад");
				return 1;
			}
			SetPVarInt(playerid,"TYPEPROMO",numb[0]),SetPVarInt(playerid,"AMOUNTPROMO",numb[1]),SetPVarInt(playerid,"ACTIVATEPROMO",numb[2]);
	    	new qstring[128],promoname[16];
	     	GetPVarString(playerid, "PROMO", promoname, sizeof(promoname));
	     	mysql_format(dbHandle, qstring, sizeof(qstring), "SELECT * FROM `promo` WHERE `name`='%s'", promoname);
	   	 	mysql_tquery(dbHandle, qstring, "CreatePromo", "is", playerid,promoname);
		}

 

 

Отредактировано пользователем DEST
Причина: изменил обращение

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


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

@archiboy6 У меня после D_PROMO идет сдача на права и после этого сам D_PROMO+2 и т.д., щас скину код 

Спойлер

        case dAutoExam3:
        {
            if(!response) return DeletePVar(playerid,"AutoExam");
            ShowTestQuestion(playerid,0,5,dAutoTest1);
            return 1;
        }
        case dAutoTest1:
        {
            if(!response) return DeletePVar(playerid,"AutoExam");
            new q = GetPVarInt(playerid,"pTestQNumber")-1;
            if(!listitem) return ShowTestQuestion(playerid,0,2,dAutoTest1,q);
            if(listitem != gExamTrueAnswer[q]) return SendClientMessage(playerid,CBADINFO,"К сожалению Вы ответили неверно. Тест провален"),DeletePVar(playerid,"AutoExam");
            ShowTestQuestion(playerid,5,10,dAutoTest2);
            return 1;
        }
        case dAutoTest2:
        {
            if(!response) return DeletePVar(playerid,"AutoExam");
            new q = GetPVarInt(playerid,"pTestQNumber")-1;
            if(!listitem) return ShowTestQuestion(playerid,2,4,dAutoTest2,q);
            if(listitem != gExamTrueAnswer[q]) return SendClientMessage(playerid,CBADINFO,"К сожалению Вы ответили неверно. Тест провален"),DeletePVar(playerid,"AutoExam");
            ShowTestQuestion(playerid,10,15,dAutoTest3);
            return 1;
        }
        case dAutoTest3:
        {
            if(!response) return DeletePVar(playerid,"AutoExam");
            new q = GetPVarInt(playerid,"pTestQNumber")-1;
            if(!listitem) return ShowTestQuestion(playerid,4,6,dAutoTest3,q);
            if(listitem != gExamTrueAnswer[q]) return SendClientMessage(playerid,CBADINFO,"К сожалению Вы ответили неверно. Тест провален"),DeletePVar(playerid,"AutoExam");
            ShowTestQuestion(playerid,15,20,dAutoTest4);
            return 1;
        }
        case dAutoTest4:
        {
            if(!response) return DeletePVar(playerid,"AutoExam");
            new q = GetPVarInt(playerid,"pTestQNumber")-1;
            if(!listitem) return ShowTestQuestion(playerid,6,8,dAutoTest4,q);
            if(listitem != gExamTrueAnswer[q]) return SendClientMessage(playerid,CBADINFO,"К сожалению Вы ответили неверно. Тест провален"),DeletePVar(playerid,"AutoExam");
            ShowTestQuestion(playerid,20,25,dAutoTest5);
            return 1;
        }
        case dAutoTest5:
        {
            if(!response) return DeletePVar(playerid,"AutoExam");
            new q = GetPVarInt(playerid,"pTestQNumber")-1;
            if(!listitem) return ShowTestQuestion(playerid,8,12,dAutoTest5,q);
            if(listitem != gExamTrueAnswer[q]) return SendClientMessage(playerid,CBADINFO,"К сожалению Вы ответили неверно. Тест провален"),DeletePVar(playerid,"AutoExam");
            ShowPlayerDialog(playerid, D_JOB+42, 0, "{33AAFF}Права", "{ffffff}Вы успешно сдали теорию!\nГотовы ли Вы перейти к сдаче практики?\n\nСтоимость: {00FF00}5000 {ffffff}рублей", "Да", "Нет");
            return 1;
        }

 

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


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

@Timur_Top удали все D_PROMO+2 

и вставь то что я кидпл за место D_PROMO

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


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

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

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

    • Артём Профиков
      От Артём Профиков
      У меня есть система подсказок вот так она выглядет
      ShowNotification(playerid, тип, "текст", время, "команда через /", "текст кнопки");
      Только есть вопрос как сделать так чтоб она активировалась в определенном радиусе? Заранее спасибо