Как сделать систему промокодов на сайте

Обновлено: 07.07.2024

Промокод – секретный код, с помощью которого можно получить скидку при покупке курса. Промокод может состоять из латинских букв и цифр, например: PLEASE10 .

Зайдите в раздел "Платежи" и нажмите кнопку "Промокоды", далее "Добавить промокод". Придумайте уникальный код и заполните остальнын параметры в форме.

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

Можно установить скидку только на определенный продукт (или на несколько продуктов). Такие промокоды не будут действовать, если попытаться применить их для других продуктов.

Промокод может быть применен клиентом во время заполнения формы оплаты до перехода на сайт платежной системы. Для ввода промокода предусмотрено специальное поле в форме оплаты – галочка "У меня есть промокод".

Поможет сгенерировать промокоды для маркетинговых акций и распродаж. Вы можете самостоятельно настроить список используемых символов, длину кода и его префикс. Созданные коды будет содержать как минимум один знак из каждой группы символов, и не будут повторяться.

Результат можно отформатировать в виде списка, используя различные разделители, в том числе для вставки в электронные таблицы и документы.

Информация под формой показывает, как комбинация используемых символов и длины кода влияет на его устойчивость к перебору.

Система промокодов простая система промокодов Оценка:

Пользователь офлайн

FominCrysler

Всем привет! Сейчас хотел бы рассказать как создать простую систему промокодов для вашего сервера.
Это первая моя работа, по этому прошу строго не судить. Но любые пожелания приму и учту.

Ну что же, начнём!

P.S требуется dc_cmd для работы.

Для начала зайдём в базу данных и в таблицу с аккаунтами. Нажмём сверху "Структура" и добавим одно поле
с названием usepromo .
Тип оставляем integer и длина поля в 1 символ.
Дальше объявляем в енуме информации игрока это поле, у меня это выглядит так:


Ко всем дефайнам добавляем:

Далее мы создадим саму команду, что бы открывать меню с вводом промокода. Ко всем командам добавляем:


Дальше нужно создать действие самой менюшке с вводом промокода. Переходим в public OnDialogResponse
И вставляем туда такое:


Буду рад послушать ответы. Хотелось бы услышать конструктивную критику по делу. Спасибо.
P.s Можно добавлять бесконечное количество промокодов, просто копируя строки. Но я думаю вы люди умные, сами поймёте что именно копировать)

Пользователь офлайн

oukibt


Всем привет! Сейчас хотел бы рассказать как создать простую систему промокодов для вашего сервера.
new query[128]; //переменная для запроса
format(query,sizeof(query), "UPDATE `accounts` SET `usepromo` = '1' WHERE `id` = '%d'",pData[playerid][pMysqlID]); //Сам формат
sql_query(zConn, query); //Сам запрос
[/code]

Я почему-то не припоминаю функцию sql_query

Пользователь офлайн

FominCrysler


Я создавал запрос так, как они создавались в моём моде. В каждом моде они могут быть написаны по разному. Сейчас напишу более открытый комментарий в самой теме.

Пользователь офлайн

DeimoS


Во-первых, зачем тут макросы? Макрос "SPD" так важен в реализации? Зачем людям плодить в своих скриптах необязательный код, который будет использоваться только в одной системе? Хотя я бы назвал эти макросы говнокодом, скорее.

Во-вторых, реализация с "pUsePromo" будет крайне дубовой, ибо больше одного промо-кода таким образом не создать. Гораздо проще хранить информацию о использовании промокодов прямо в БД, создав отдельную таблицу и снабдив её нормальной структурой с индексами.
Да и сами промокоды гораздо разумнее хранить в БД. Это окончательно избавит от каких-либо ограничений и позволит создавать промокоды прямо в игре, не плодя китайский код в моде.

Ну и сам код вызывает вопросы. Больше похоже на простую вырезку, чем на реально написанную систему для статьи. Слабовато, в общем :)

Пользователь офлайн

FominCrysler

Во-первых, зачем тут макросы? Макрос "SPD" так важен в реализации? Зачем людям плодить в своих скриптах необязательный код, который будет использоваться только в одной системе? Хотя я бы назвал эти макросы говнокодом, скорее.

Во-вторых, реализация с "pUsePromo" будет крайне дубовой, ибо больше одного промо-кода таким образом не создать. Гораздо проще хранить информацию о использовании промокодов прямо в БД, создав отдельную таблицу и снабдив её нормальной структурой с индексами.
Да и сами промокоды гораздо разумнее хранить в БД. Это окончательно избавит от каких-либо ограничений и позволит создавать промокоды прямо в игре, не плодя китайский код в моде.

Ну и сам код вызывает вопросы. Больше похоже на простую вырезку, чем на реально написанную систему для статьи. Слабовато, в общем :)


Спасибо за критику. В будущем учту ваши пожелания. Имею не большой опыт в скриптинге, только начинаю.

Пользователь офлайн

strass

Промокод – секретный код, с помощью которого можно получить скидку при покупке курса. Промокод может состоять из латинских букв и цифр, например: PLEASE10 .

Зайдите в раздел "Платежи" и нажмите кнопку "Промокоды", далее "Добавить промокод". Придумайте уникальный код и заполните остальнын параметры в форме.

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

Можно установить скидку только на определенный продукт (или на несколько продуктов). Такие промокоды не будут действовать, если попытаться применить их для других продуктов.

Промокод может быть применен клиентом во время заполнения формы оплаты до перехода на сайт платежной системы. Для ввода промокода предусмотрено специальное поле в форме оплаты – галочка "У меня есть промокод".

Читайте также: