Question

Есть окно куда нужно вводить промокод, если человек его случайно открыл и жмет кнопку закрыть, окно не закрывается а начинает писать что промокода не существует и окно закрыть нельзя.

Спойлер

        case d_mm:
        {
            if(!response) return 1;

            switch(listitem)
            {
                case 0: show_stats(playerid, playerid);
                case 1: show_dialog(playerid, d_mm_cmds, DIALOG_STYLE_LIST, !""scm_dialog"Команды сервера", !""c_server"[1] "c_white"Общие команды\n"c_server"[2] "c_white"Работы\n"c_server"[3] "c_white"Общение (чаты)\n"c_server"[4] "c_white"Дом\n"c_server"[5] "c_white"Бизнес и АЗС\n"c_server"[6] "c_white"Организация\n"c_server"[7] "c_white"Лидерам\n"c_server"[8] "c_white"Транспорт\n"c_server"[9] "c_white"Семья\n"c_server"[10] "c_white"Трейлеры\n"c_server"[11] "c_white"Семейный остров", !"Выбрать", !"Назад");
                case 2: show_dialog(playerid, d_mm_settings, DIALOG_STYLE_LIST, !""scm_dialog"Настройки аккаунта", !""c_server"[1] "c_white"Настройки безопасности\n"c_server"[2] "c_white"Прочие настройки", !"Выбрать", !"Назад");
                case 3: pc_cmd_report(playerid);
                case 4: show_enhancements(playerid);
                case 5: show_dialog(playerid, d_mm_changename, DIALOG_STYLE_INPUT, !""scm_dialog"Изменить nonRP ник", !""c_white"Напишите новый ник в пустом поле диалогового окна, если Вы считаете, что он не соответствует правилам Role Play режима.\nПример: "c_silver"Ivan_Ivanov", !"Далее", !"Назад");
                case 6: show_donate(playerid);
                case 7: callcmd::inventory(playerid);
                case 8: show_dialog(playerid, d_mm_promocode, DIALOG_STYLE_INPUT, !""scm_dialog"Промокод", !""c_white"Введите промокод, который хотите активировать \n\nАктивируя промокод, вы получаете награды, которые перечислены ниже.\nПрокрут донат рулетки, водительские права и прокачку скиллов на оружие Desert-Eagle.\n\n О действующих промокодах вы можете узнать на нашем форуме {00FF00}""forum.SunState-roleplay.ru", !"Далее", !"Назад");
                //case 8: show_dialog(playerid, d_vk_id_code, DIALOG_STYLE_INPUT, !""scm_dialog"VK", !""c_white"qweqeqe", !"Далее", !"Назад");
            }

        }
        case d_mm_promocode:
        {
            if ( ! response ) return pc_cmd_menu(playerid);

            if ( is_text_invalid ( inputtext ) )
            {
                show_dialog ( playerid, d_mm_promocode, DIALOG_STYLE_INPUT, ""c_server"Промокод",
                ""c_orange_red"* Вы ввели некорректные символы в качестве промокода.\n\n\
                "c_grey"- "c_white"На нашем проекте Вы можете ввести промокод и получить бонусный пакет.\n\n\
                !"c_grey"* Если у Вас имеется промокод, введите его здесь:", !"Далее", !"Назад") ;
                return 1 ;
            }
            if ( strlen ( inputtext ) < 4 || strlen ( inputtext ) > 20 )
            {
                show_dialog ( playerid, d_mm_promocode, DIALOG_STYLE_INPUT, ""c_server"Промокод",
                ""c_orange_red"* Данный промокод не существует.\n\n\
                "c_grey"- "c_white"На нашем проекте Вы можете ввести промокод и получить бонусный пакет.\n\n\
                !"c_grey"* Если у Вас имеется промокод, введите его здесь:", !"Далее", !"Назад" ) ;
                return 1 ;
            }
            new scm_string [ 98 ] ;
            mysql_format (sql_connection, scm_string, sizeof (scm_string), "SELECT * FROM `server_promocodes` WHERE `promo_text` = '%e' LIMIT 1",
                                                                                                                                                inputtext);
            mysql_tquery ( sql_connection, scm_string, "promo_callback""is", playerid, inputtext ) ;

 

 

Share this post


Link to post

1 answer to this question

  • 0

Попробуй: 

        case d_mm:
        {
            if(!response) return 1;

            switch(listitem)
            {
                case 0: show_stats(playerid, playerid);
                case 1: show_dialog(playerid, d_mm_cmds, DIALOG_STYLE_LIST, !""scm_dialog"Команды сервера", !""c_server"[1] "c_white"Общие команды\n"c_server"[2] "c_white"Работы\n"c_server"[3] "c_white"Общение (чаты)\n"c_server"[4] "c_white"Дом\n"c_server"[5] "c_white"Бизнес и АЗС\n"c_server"[6] "c_white"Организация\n"c_server"[7] "c_white"Лидерам\n"c_server"[8] "c_white"Транспорт\n"c_server"[9] "c_white"Семья\n"c_server"[10] "c_white"Трейлеры\n"c_server"[11] "c_white"Семейный остров", !"Выбрать", !"Назад");
                case 2: show_dialog(playerid, d_mm_settings, DIALOG_STYLE_LIST, !""scm_dialog"Настройки аккаунта", !""c_server"[1] "c_white"Настройки безопасности\n"c_server"[2] "c_white"Прочие настройки", !"Выбрать", !"Назад");
                case 3: pc_cmd_report(playerid);
                case 4: show_enhancements(playerid);
                case 5: show_dialog(playerid, d_mm_changename, DIALOG_STYLE_INPUT, !""scm_dialog"Изменить nonRP ник", !""c_white"Напишите новый ник в пустом поле диалогового окна, если Вы считаете, что он не соответствует правилам Role Play режима.\nПример: "c_silver"Ivan_Ivanov", !"Далее", !"Назад");
                case 6: show_donate(playerid);
                case 7: callcmd::inventory(playerid);
                case 8: show_dialog(playerid, d_mm_promocode, DIALOG_STYLE_INPUT, !""scm_dialog"Промокод", !""c_white"Введите промокод, который хотите активировать \n\nАктивируя промокод, вы получаете награды, которые перечислены ниже.\nПрокрут донат рулетки, водительские права и прокачку скиллов на оружие Desert-Eagle.\n\n О действующих промокодах вы можете узнать на нашем форуме {00FF00}""forum.SunState-roleplay.ru", !"Далее", !"Назад");
                //case 8: show_dialog(playerid, d_vk_id_code, DIALOG_STYLE_INPUT, !""scm_dialog"VK", !""c_white"qweqeqe", !"Далее", !"Назад");
            }

        }
        case d_mm_promocode:
        {
            if ( ! response ) return 1;

            if ( is_text_invalid ( inputtext ) )
            {
                show_dialog ( playerid, d_mm_promocode, DIALOG_STYLE_INPUT, ""c_server"Промокод",
                ""c_orange_red"* Вы ввели некорректные символы в качестве промокода.\n\n\
                "c_grey"- "c_white"На нашем проекте Вы можете ввести промокод и получить бонусный пакет.\n\n\
                !"c_grey"* Если у Вас имеется промокод, введите его здесь:", !"Далее", !"Назад") ;
                return 1 ;
            }
            if ( strlen ( inputtext ) < 4 || strlen ( inputtext ) > 20 )
            {
                show_dialog ( playerid, d_mm_promocode, DIALOG_STYLE_INPUT, ""c_server"Промокод",
                ""c_orange_red"* Данный промокод не существует.\n\n\
                "c_grey"- "c_white"На нашем проекте Вы можете ввести промокод и получить бонусный пакет.\n\n\
                !"c_grey"* Если у Вас имеется промокод, введите его здесь:", !"Далее", !"Назад" ) ;
                return 1 ;
            }
            new scm_string [ 98 ] ;
            mysql_format (sql_connection, scm_string, sizeof (scm_string), "SELECT * FROM `server_promocodes` WHERE `promo_text` = '%e' LIMIT 1",
                                                                                                                                                inputtext);
            mysql_tquery ( sql_connection, scm_string, "promo_callback""is", playerid, inputtext ) ;

 

Share this post


Link to post
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By d7.KrEoL
      Datalink filterscript - передача тактической информации об игроках на карту sampmap.ru
      Скачать файл Данный скрипт позволяет передавать информацию об игроках на тактическую карту проекта sampmap. Управление функциями через RCON команды, сам скрипт хоть и полностью готов к использованию, но скорее является примером, на его основе можно писать свои системы для взаимодействия с тактической картой.
      Тактическая карта проекта sampmap - это подобие даталинк системы, которая позволяет координировать действия отряда, либо просто отслеживать местоположение игроков в режиме радара. Для каждого переданного в datalink систему (на тактическую карту) игрока выводится его основная информация о скорости, азимуте, высоте, величине и направлении вектора скорости, а так же принадлежность свой/чужой
      Несколько скринов:
       
       
      Архивы:
       
      Исходники:
       
      Команды (ркон) для dlink:
      Помимо серверной версии скрипта существуют так же клиентские для обычного клиента с moonloader и для RakSAMP Lite бота. Все эти скрипты распространяются по открытой лицензии MIT, здесь находится git с исходниками. Проект открыт для ваших предложений относительно кода, или дальнейшего развития, вы можете оставить свои предложения на официальной странице github.






      Добавил d7.KrEoL Добавлено 09.12.2024 Категория Скрипты Автор d7.KrEoL  
    • By d7.KrEoL
      Данный скрипт позволяет передавать информацию об игроках на тактическую карту проекта sampmap. Управление функциями через RCON команды, сам скрипт хоть и полностью готов к использованию, но скорее является примером, на его основе можно писать свои системы для взаимодействия с тактической картой.
      Тактическая карта проекта sampmap - это подобие даталинк системы, которая позволяет координировать действия отряда, либо просто отслеживать местоположение игроков в режиме радара. Для каждого переданного в datalink систему (на тактическую карту) игрока выводится его основная информация о скорости, азимуте, высоте, величине и направлении вектора скорости, а так же принадлежность свой/чужой
      Несколько скринов:
       
       
      Архивы:
       
      Исходники:
       
      Команды (ркон) для dlink:
      Помимо серверной версии скрипта существуют так же клиентские для обычного клиента с moonloader и для RakSAMP Lite бота. Все эти скрипты распространяются по открытой лицензии MIT, здесь находится git с исходниками. Проект открыт для ваших предложений относительно кода, или дальнейшего развития, вы можете оставить свои предложения на официальной странице github.






    • By Мемен Томорли
      Как сделать табличку после бана аккаунта? Типо как на малиновке, когда тебя банят, выдают табличку(скрин приложил), и при входе на сервер такую же табличку давало??