7 posts in this topic

Ищу систему на промокоды при вводе команды(Любой), должно быть MySQL и DC_CMD, в интернете нашёл 1 систему, но она не подошла и 3 летней давности.

Share this post


Link to post
Share on other sites

шансов что найдёшь мало... 

Могу написать систему эту по дешёвке, если чё пиши в лс обсудим 

Share this post


Link to post
Share on other sites

Могу по пробовать сделать на mxini)
Если нужна то отпиши.

Share this post


Link to post
Share on other sites

@Catch Держи! https://yadi.sk/d/yTROItfL3RBARx

Share this post


Link to post
Share on other sites
Спойлер

CMD:aediter(playerid, params[])
{
    if(Logged[playerid] == false) return true; // Проверка на авторизация. У Вас своя.
    if(pData[playerid][pAdmin] < 7) return SendClientMessage(playerid,COLOR_GRAD2,"У Вас недостаточно полномочий для использования этой команды."); // Проверка на админку. У Вас другая.
    ShowPlayerDialog(playerid,2374,DIALOG_STYLE_LIST,"{66CC00}Панель управления","1. Список промкодов\n2. Создать промокод","Выбрать","Закрыть");
    return true;
}

CMD:promo(playerid) return ShowPlayerDialog(playerid,2388,DIALOG_STYLE_INPUT,"{FFCC00}Ввод промокода","{FFFFFF}Введите промо-код,который Вам был выдан:","Закрыть","");
                                   
                                   
                                   
/*=================================================в В паблик OnDialogResponse:===================================================*/
                                   
                                   
switch(dialogid)
    {
        case 2374:
        {
            if(!response) return true;
            switch(listitem)
            {
                case 0: mysql_function_query(dbHandle, "SELECT * FROM `promo`", true, "mysql_PromoCodeShow", "i", playerid);
                case 1: ShowPlayerDialog(playerid,2380,DIALOG_STYLE_INPUT,"{66CC00}Создание промокода","Введите код для промо-кода:","Далее","Отмена");
            }
        }
        case 2380:
        {
            if(!response) return true;
            if(!strlen(inputtext)) return ShowPlayerDialog(playerid,2380,DIALOG_STYLE_INPUT,"{66CC00}Создание промокода","Введите код для промо-кода:\nИспользуйте от 3 до 16 символов","Далее","Отмена");
            if(strlen(inputtext) < 3 || strlen(inputtext) > 16) return ShowPlayerDialog(playerid,2380,DIALOG_STYLE_INPUT,"{66CC00}Создание промокода","Введите код для промо-кода:\n{FF0000}Используйте от 3 до 16 символов","Далее","Отмена");
            SetPVarString(playerid,"PROMONAME",inputtext);
            ShowPlayerDialog(playerid,2381,DIALOG_STYLE_MSGBOX,"{66CC00}Создание промокода","Вы хотите создать промокод для кол-ва людей или кол-ва дней?","Дней","Людей");
        }
        case 2381:
        {
            if(response) ShowPlayerDialog(playerid,2382,DIALOG_STYLE_INPUT,"{66CC00}Создание промокода","На какое кол-во дней Вы хотите создать промокод?\nВводите от 1 до 7 дней","Далее","Отмена");
            else ShowPlayerDialog(playerid,2383,DIALOG_STYLE_INPUT,"{66CC00}Создание промокода","На сколько человек Вы хотите создать промокод?\nВводите от 1 до 500","Далее","Отмена");
        }
        case 2382:
        {
            if(!response) return true;
            if(!strlen(inputtext)) return ShowPlayerDialog(playerid,2382,DIALOG_STYLE_INPUT,"{66CC00}Создание промокода","На какое кол-во дней Вы хотите создать промокод?\nВводите от 1 до 7 дней","Далее","Отмена");
            if(strval(inputtext) < 1 || strval(inputtext) > 7) return ShowPlayerDialog(playerid,2382,DIALOG_STYLE_INPUT,"{66CC00}Создание промокода","На какое кол-во дней Вы хотите создать промокод?\n{FF0000}Вводите от 1 до 7 дней","Далее","Отмена");
            SetPVarInt(playerid,"PROMODAYS",strval(inputtext));
            SetPVarInt(playerid,"PROMOLUD",0);
            ShowPlayerDialog(playerid,2384,DIALOG_STYLE_INPUT,"{66CC00}Создание промокода","Хотите что-бы при вводе этого промокода выдавало VIP?\nЕсли не хотите,то вводите число равное 0\nЕсли хотите,то введите количество дней на которое будет выдано VIP","Ввести","Отмена");
        }
        case 2383:
        {
            if(!response) return true;
            if(!strlen(inputtext)) return ShowPlayerDialog(playerid,2383,DIALOG_STYLE_INPUT,"{66CC00}Создание промокода","На какое кол-во людей Вы хотите создать промокод?\nВводите от 1 до 500 дней","Далее","Отмена");
            if(strval(inputtext) < 1 || strval(inputtext) > 500) return ShowPlayerDialog(playerid,2383,DIALOG_STYLE_INPUT,"{66CC00}Создание промокода","На какое кол-во людей Вы хотите создать промокод?\n{FF0000}Вводите от 1 до 500 дней","Далее","Отмена");
            SetPVarInt(playerid,"PROMOLUD",strval(inputtext));
            SetPVarInt(playerid,"PROMODAYS",-1);
            ShowPlayerDialog(playerid,2384,DIALOG_STYLE_INPUT,"{66CC00}Создание промокода","Хотите что-бы при вводе этого промокода выдавало VIP?\nЕсли не хотите,то вводите число равное 0\nЕсли хотите,то введите количество дней на которое будет выдано VIP","Ввести","Отмена");
        }
        case 2384:
        {
            if(!response) return true;
            if(!strlen(inputtext)) return ShowPlayerDialog(playerid,2384,DIALOG_STYLE_INPUT,"{66CC00}Создание промокода","Хотите что-бы при вводе этого промокода выдавало VIP?\nЕсли не хотите,то вводите число равное 0\nЕсли хотите,то введите количество дней на которое будет выдано VIP","Ввести","Отмена");
            if(strval(inputtext) < 0 || strval(inputtext) > 30) return ShowPlayerDialog(playerid,2384,DIALOG_STYLE_INPUT,"{66CC00}Создание промокода","Хотите что-бы при вводе этого промокода выдавало VIP?\n{FF0000}Если не хотите,то вводите число равное 0\nЕсли хотите,то введите количество дней на которое будет выдано VIP","Ввести","Отмена");
            SetPVarInt(playerid,"PROMOVIP",strval(inputtext));
            ShowPlayerDialog(playerid,2385,DIALOG_STYLE_INPUT,"{66CC00}Создание промокода","Введите кол-во денег,которое будет выдано при вводе промокода:\nИспользуйте от 2.000$ до 30.000$","Ввести","Отмена");
        }
        case 2385:
        {
            if(!response) return true;
            if(!strlen(inputtext)) return ShowPlayerDialog(playerid,2385,DIALOG_STYLE_INPUT,"{66CC00}Создание промокода","Введите кол-во денег,которое будет выдано при вводе промокода:\nИспользуйте от 2.000$ до 30.000$","Ввести","Отмена");
            if(strval(inputtext) < 2000 || strval(inputtext) > 30000) return ShowPlayerDialog(playerid,2385,DIALOG_STYLE_INPUT,"{66CC00}Создание промокода","Введите кол-во денег,которое будет выдано при вводе промокода:\n{FF0000}Используйте от 2.000$ до 30.000$","Ввести","Отмена");
            SetPVarInt(playerid,"PROMOMONEY",strval(inputtext));
            ShowPlayerDialog(playerid,2386,DIALOG_STYLE_MSGBOX,"{66CC00}Создание промокода","Вы хотите что бы при вводе этого промокода выдавались водительские права?","Да","Нет");
        }
        case 2386:
        {
            new promoname[16],string[256];
            GetPVarString(playerid, "PROMONAME", promoname, sizeof(promoname));
            new promoday = GetPVarInt(playerid,"PROMODAYS");
            new promolud = GetPVarInt(playerid,"PROMOLUD");
            new promovip = GetPVarInt(playerid,"PROMOVIP");
            new promomoney = GetPVarInt(playerid,"PROMOMONEY");
            if(response)
            {
                format(string,sizeof(string),"{FFFFFF}Вы хотите создать промокод '%s'?\nВыдача VIP на %d дней\nВыдача денег на %d$\nВыдача вод.прав: Да\n\nПромокод действует на %d дн. или %d чел.",promoname,promovip,promomoney,promoday,promolud);
                ShowPlayerDialog(playerid,2387,DIALOG_STYLE_MSGBOX,"{66CC00}Создание промокода",string,"Создать","Отмена"),SetPVarInt(playerid,"PROMOLIC",1);
            }
            else
            {
                format(string,sizeof(string),"{FFFFFF}Вы хотите создать промокод '%s'?\nВыдача VIP на %d дней\nВыдача денег на %d$\nВыдача вод.прав: Нет\n\nПромокод действует на %d дн. или %d чел.",promoname,promovip,promomoney,promoday,promolud);
                ShowPlayerDialog(playerid,2387,DIALOG_STYLE_MSGBOX,"{66CC00}Создание промокода",string,"Создать","Отмена"),SetPVarInt(playerid,"PROMOLIC",0);
            }
        }
        case 2387:
        {
            if(!response) return true;
            new qstring[128],promoname[16];
            GetPVarString(playerid, "PROMONAME", promoname, sizeof(promoname));
            format(qstring,sizeof(qstring), "SELECT * FROM `promo` WHERE `code`='%s'", promoname);
            mysql_function_query(dbHandle, qstring, true, "mysql_PromoCreate", "is", playerid,promoname);
        }
        case 2388:
        {
            new qstring[128];
            format(qstring,sizeof(qstring), "SELECT * FROM `promo` WHERE `code`='%s'", inputtext);
            mysql_function_query(dbHandle, qstring, true, "mysql_PromoCheck", "is", playerid,inputtext);
        }
    }  

              
              
//=========================================================[В КОНЕЦ МОДА] =====================================================================             
              
forward mysql_PromoCheck(playerid,code[]);
public mysql_PromoCheck(playerid,code[])
{
    new rows,fields;
    cache_get_data(rows, fields);
    if(!rows) return SendMes(playerid, -1, "Промокод '%s' не обнаружен",code);
    new string[128];
    new vipka = cache_get_field_content_int(0, "vip");
    new money = cache_get_field_content_int(0, "money");
    new license = cache_get_field_content_int(0, "lic");
    new ludi = cache_get_field_content_int(0, "ludi");
    
    SendMes(playerid,COLOR_GREEN,"Промокод '%s' содержит:",code);
    if(vipka >= 1) SendMes(playerid,COLOR_GREEN,"VIP на %d дн.",vipka),pData[playerid][pVIP] = vipka;
    if(license >= 1) SendMes(playerid,COLOR_GREEN,"Водительские права"),pData[playerid][pLicDrive] = 1;
    SendMes(playerid,COLOR_GREEN,"Деньги  %d$",money),pData[playerid][pMoney] += money;
    
    ludi --;
    format(string,sizeof(string),"UPDATE `promo` SET `ludi` = '%d' WHERE `code` = '%s'",ludi,code);
    mysql_function_query(dbHandle, string, false, "", "");
    if(ludi == 0)
    {
        format(string,sizeof(string), "DELETE FROM `promo` WHERE `code`='%s'", code);
        mysql_function_query(dbHandle, string, false, "", "");
    }
    if(gettime() >= cache_get_field_content_int(0, "data") && ludi == 0)
    {
         format(string,sizeof(string), "DELETE FROM `promo` WHERE `code`='%s'", code);
        mysql_function_query(dbHandle, string, false, "", "");
    }
    return 1;
}

forward mysql_PromoCreate(playerid,code[]);
public mysql_PromoCreate(playerid,code[])
{
    new rows,fields;
    cache_get_data(rows, fields);
    if(rows) return SendMes(playerid, COLOR_GRAD1, "[A] Промокод '%s' уже есть в списке",code);
    
    new licname[12],string[256];
    new promoday = GetPVarInt(playerid,"PROMODAYS");
    new promolud = GetPVarInt(playerid,"PROMOLUD");
    new promovip = GetPVarInt(playerid,"PROMOVIP");
    new promomoney = GetPVarInt(playerid,"PROMOMONEY");
    new promolic = GetPVarInt(playerid,"PROMOLIC");
            
    format(string,sizeof(string),"INSERT INTO `promo` (`code`,`vip`,`money`,`lic`,`days`,`ludi`,`data`) VALUES ('%s','%d','%d','%d','%d','%d','%d')",code,promovip,promomoney,promolic,promoday,promolud,gettime()+promoday);
    mysql_function_query(dbHandle, string, false, "", "");
    
    switch(promolic)
    {
        case 0: licname = "Нет";
        case 1: licname = "Да";
    }
    format(string,sizeof(string),"{FFFFFF}Промокод '%s' успешно создан\nВыдача VIP на %d дней\nВыдача денег на %d$\nВыдача вод.прав: %s\n\nПромокод действует на %d дн. или %d чел.",code,promovip,promomoney,licname,promoday,promolud);
    ShowPlayerDialog(playerid, 999999, DIALOG_STYLE_MSGBOX, "{66CC00}Создание промокода", string, "Закрыть", "");
    
    return DeletePVar(playerid,"PROMONAME"),DeletePVar(playerid,"PROMODAYS"),DeletePVar(playerid,"PROMOLUD"),DeletePVar(playerid,"PROMOVIP"),DeletePVar(playerid,"PROMOMONEY"),DeletePVar(playerid,"PROMOLIC");
}

forward mysql_PromoCodeShow(playerid);
public mysql_PromoCodeShow(playerid)
{
    new rows,fields;
    cache_get_data(rows, fields);
    if(!rows) return SendClientMessage(playerid, COLOR_GRAD1, "[A] Список промокодов отсутствует");
    new promolist[1256],code[32],licname[12];
    for(new i; i<rows; i++)
    {
        cache_get_field_content(i, "code", code, dbHandle);
        new vipka = cache_get_field_content_int(i, "vip");
        new money = cache_get_field_content_int(i, "money");
        new license = cache_get_field_content_int(i, "lic");
        new dayss = cache_get_field_content_int(i, "days");
        new ludi = cache_get_field_content_int(i, "ludi");
        switch(license)
        {
            case 0: licname = "Нет";
            case 1: licname = "Да";
        }
        format(promolist,sizeof(promolist),"%s%d. Название: %s | VIP: %d дн. | Деньги: %d$ | Лицензии: %s | %d дн. или %d люд\n", promolist, i+1,code,vipka,money,licname,dayss,ludi);
    }
    ShowPlayerDialog(playerid, 999999, DIALOG_STYLE_LIST,"{66CC00}Список промокодов", promolist, "Закрыть", "");
    return 1;
}  

 

 

Share this post


Link to post
Share on other sites

Как создать промокод? 

 

Share this post


Link to post
Share on other sites

Your content will need to be approved by a moderator

Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   You have pasted content with formatting.   Remove formatting

  Only 75 emoticons maximum are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

Loading...
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Антон Нолмадов
      By Антон Нолмадов


      Просмотр файла МОД ETERNITY CRMP 2021
      Игровой мод Eternity CRMP

      Делал копию мода для проекта после закрытие Етернити после чего отказались от моего мода из-за большой цены,
      потом решил продать за копейки, покупайте пользуйтесь
       
      ЗА ДОПОЛНИТЕЛЬНОЙ ИНФОЙ КОМНЕ В ЛС В ВК С ПОМЕТКОЙ #етернити (не реклама)
      ВК - vk.com/jakenolman
       
      Добавил Антон Нолмадов Добавлено 12.06.2021 Категория Моды Автор Anton Nolmadov  
    • king98
      By king98
      Продам мод Arizona Rp | Ultra + плагин на люкс машины
      Мод оптимизирован под 100+ онлайна
    • king98
      By king98


      Просмотр файла Мод Arizona Rp | Ultra + плагин на машины
      Продам мод Arizona Rp | Ultra + плагин на люкс машины
      Мод оптимизирован под 100+ онлайна
      Добавил king98 Добавлено 15.05.2021 Категория Моды Автор NoName  
    • Антон Нолмадов
      By Антон Нолмадов
      Игровой мод Eternity CRMP

      Делал копию мода для проекта после закрытие Етернити после чего отказались от моего мода из-за большой цены,
      потом решил продать за копейки, покупайте пользуйтесь
       
      ЗА ДОПОЛНИТЕЛЬНОЙ ИНФОЙ КОМНЕ В ЛС В ВК С ПОМЕТКОЙ #етернити (не реклама)
      ВК - vk.com/jakenolman
       
    • Nikita_Kuznetsov
      By Nikita_Kuznetsov
      У меня такая проблема.
      Я скачал чистую сборку и сделал в ней всё на 3д(почти всё)
      Потом взял мод перфект под основу, и решил залить его на самп а не на крмп.
      Потом захожу на сервер со своей сборкой, у меня всё как надо появляется надпись "ДОБРО ПОЖАЛОВАТЬ НА "НАЗВАНИЕ ПРОЕКТА""
      И потом тупо зависает игра и не развисает.
      Всё перепробовал, меню не открывается, чат не открывается. 
      Потом пробовал поменять все плагины и инклуды в моде.
      Но нечего не помогло.
      Потом скачал мод Sunrise RP (не реклама)
      Попробовать его залить на самп, на него на изи зашёл. 
      Потом попробовал его залить на крмп. Тоже на изи зашёл
      А На моде Perfect RP не могу зайти на сервер со своей сборкой от самп на карте крмп
       
      Помогите пожалуйста, а то я не разбираюсь в чём проблема.
      Может вы знаете в чём проблема!!!
       
       
      ИЗМЕНЕНО: Сейчас скачал ещё один мод чистая крмп, и я на него смог зайти со своей сборкой.
      А на Perfect RP не могу зайти. Почему так?