15:02
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
        
[CLEO] HUDFIX (0)
MyxaChannel 30.11.2016 18:03
GM Car для SAMP (1)
MyxaChannel 30.11.2016 18:00
 





Рекомендуем:
Добавить IP: 88.212.220.148:22003





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
Скачать GTA SAMP 0.3.7 - Кл... 20.07.2015
Страница 1 из 11
Модератор форума: Dima-kun 
Форум SAMP о мультиплеерах для GTA. »   » Wiki-Samp-Rus » Система доната (MySQL)
Система доната (MySQL)
zEscДата: Воскресенье, 17.06.2012, 23:18 | Сообщение # 1
Global Elite
Группа: Ангел Хранитель
Сообщений: 894
Награды: 20
Репутация: 846
Замечания: 0%
Статус:
Написал простенький скриптик доната на мускуле, за кривой код сильно не бейте.
Скрипт рассчитан для тех у кого в моде уже есть мускул.
Инструкция в конце.


Ко всем командам:
Code
if(strcmp("/donate", cmdtext, true, 10) == 0)
{
  ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Донат система","Введите код","Oк","Отмена");
  return 1;
}

В public OnDialogResponse
Code
    if(dialogid == 1)
      {
       new donate,query[128];
         format(query, sizeof(query), "SELECT * FROM donate WHERE code = '%s'", inputtext);
   mysql_query(query);
    mysql_store_result();
      if(mysql_fetch_row(query) == 1)
      {
       BaseGetInt("work",donate);
             if(donate == 1)
             {
              SendClientMessage(playerid,-1,"VIP аккаунт активирован");
              format(query, sizeof(query), "DELETE FROM donate WHERE code = '%s'", inputtext,donate);
     mysql_query(query);
                 PlayerInfo[playerid][pVIP] = 1;
        return 1;
             }
             else if(donate == 2)
             {
                   SendClientMessage(playerid,-1,"Ваш уровень поднят на 1 единицу");
                format(query, sizeof(query), "DELETE FROM donate WHERE code = '%s'", inputtext,donate);
       mysql_query(query);
           PlayerInfo[playerid][pLevel] += 1;
                   return 1;
             }
             else if(donate == 3)
             {
                   SendClientMessage(playerid,-1,"Теперь ваш телефонный номер четырёхзначный");
                format(query, sizeof(query), "DELETE FROM donate WHERE code = '%s'", inputtext,donate);
       mysql_query(query);
       new randphone = 1000 + random(9999);
                   PlayerInfo[playerid][pPnumber] = randphone;
                   return 1;
             }
             else if(donate == 4)
             {
                   SendClientMessage(playerid,-1,"Вы получили 100.000!");
                format(query, sizeof(query), "DELETE FROM donate WHERE code = '%s'", inputtext,donate);
       mysql_query(query);
                   GivePlayerMoney(playerid, 100000);
                   return 1;
             }
             else if(donate == 5)
             {
                   SendClientMessage(playerid,-1,"Вы получили 500.000!");
                format(query, sizeof(query), "DELETE FROM donate WHERE code = '%s'", inputtext,donate);
       mysql_query(query);
                   GivePlayerMoney(playerid, 500000);
                   return 1;
             }
             else if(donate == 6)
             {
                   SendClientMessage(playerid,-1,"Вы получили 1.000.000!");
                format(query, sizeof(query), "DELETE FROM donate WHERE code = '%s'", inputtext,donate);
       mysql_query(query);
                   GivePlayerMoney(playerid, 1000000);
                   return 1;
             }
             else if(donate == 7)
             {
                   SendClientMessage(playerid,-1,"Вы получили 3.000.000!");
                format(query, sizeof(query), "DELETE FROM donate WHERE code = '%s'", inputtext,donate);
       mysql_query(query);
                   GivePlayerMoney(playerid, 3000000);
                   return 1;
             }
             format(query, sizeof(query), "DELETE FROM donate WHERE code = '%s'", inputtext,donate);
      mysql_query(query);
             SendClientMessage(playerid,-1,"Спасибо за пожертвование");
         }
         else
         {
             SendClientMessage(playerid,-1,"Неверный код");
         }
      }

В конец мода:
Code
BaseGetInt(fieldi[],&permi)
{
         new fetch[256];
         mysql_fetch_field_row(fetch,fieldi);
         permi = strval(fetch);
}



Итак, код добавляется через PhpMyAdmin.
Как добавлять?
В строку "code" записываем сам код.
В строку "work" записываем тип кода.
Типы кодов:
1 - Выдача V.I.P.
2 - +1 уровень.
3 - 4-ёх значный номер телефона
4 - +100.000 долларов.
5 - +500.000 долларов.
6 - +1.000.000 долларов.
7 - +3.000.000 долларов.
Размещение на других ресурсах без указания автора, и обратной ссылки СТРОГО ЗАПРЕЩЕНО!

Добавлено (17.06.2012, 22:56)
---------------------------------------------
Сильно не кусайтесь, пожалуйста.

Добавлено (17.06.2012, 23:18)
---------------------------------------------
Самое главное забыл, таблицы: http://rghost.ru/38723465


Вернулся в среду GTA SA:MP. Начал разработку новой модификации, всегда готов к сотрудничеству.
pesnike1Дата: Среда, 20.06.2012, 10:16 | Сообщение # 2
Новенький
Группа: Пользователи
Сообщений: 27
Награды: 0
Город: Ростов-На-Дону
Репутация: 5
Замечания: 20%
Статус:
Я может чего не понял. Но откуда в базе данных сами коды появляться будут? Допиши уж тогда урок для какой-нибудь системы оплаты a1pay например. Я б сделал, но у меня прав недостаточно.
zEscДата: Среда, 20.06.2012, 11:19 | Сообщение # 3
Global Elite
Группа: Ангел Хранитель
Сообщений: 894
Награды: 20
Репутация: 846
Замечания: 0%
Статус:
коды добавляет администратор через PhpMyAdmin. Могу сделать командой.


Вернулся в среду GTA SA:MP. Начал разработку новой модификации, всегда готов к сотрудничеству.
DesertДата: Среда, 20.06.2012, 12:32 | Сообщение # 4
Местный
Группа: I'm V.I.P.
Сообщений: 669
Награды: 57
Город: Москва
Репутация: 1082
Замечания: 0%
Статус:
DjCubex,
Сделай

pesnike1Дата: Среда, 20.06.2012, 12:56 | Сообщение # 5
Новенький
Группа: Пользователи
Сообщений: 27
Награды: 0
Город: Ростов-На-Дону
Репутация: 5
Замечания: 20%
Статус:
Ясно, я думал ты авто донат по принципу SAMP-RP имеешь в виду.
zEscДата: Среда, 20.06.2012, 13:24 | Сообщение # 6
Global Elite
Группа: Ангел Хранитель
Сообщений: 894
Награды: 20
Репутация: 846
Замечания: 0%
Статус:
Итак команда для добавления кода:
Ко всем командам:
Code
    if (strcmp("/addcode", cmdtext, true, 10) == 0)
      {
          if(IsPlayerAdmin(playerid))
        ShowPlayerDialog(playerid,237,DIALOG_STYLE_LIST,"Донат система","Код: Выдать V.I.P\nКод: Добавить 1 уровень\nКод: 4-ёх значный номер телефона\nКод: +100.000$\nКод: +500.000$\nКод: +1.000.000$\nКод: +3.000.000$","Oк","Отмена");
          return 1;
      }

В OnDialogResponse:
Code
    if(dialogid == 237)
       {
        new code[16],query[256];
        format(code,sizeof(code),"%s%d%s%d%s%d%s%d%s%d%s%d%s%d",RandBukva(),random(9),RandBukva(),random(9),RandBukva(),random(9),RandBukva() ,random (9),RandBukva(),random(9),RandBukva(),random(9),RandBukva(),random(9));
              if(listitem == 0)
              {
               SendClientMessage(playerid,-1,"Код V.I.P. аккаунта добавлен. Код:");
               SendClientMessage(playerid,-1,code);
               format(query, sizeof(query), "INSERT INTO ваша таблица (code,work) VALUES ('%s','1')", code);
      mysql_query(query);
                  return 1;
              }
              else if(listitem == 1)
              {
                 SendClientMessage(playerid,-1,"Код для поднятия уровня добавлен. Код:");
                 SendClientMessage(playerid,-1,code);
                 format(query, sizeof(query), "INSERT INTO ваша таблица (code,work) VALUES ('%s','2')", code);
        mysql_query(query);
                    return 1;
              }
              else if(listitem == 2)
              {
                 SendClientMessage(playerid,-1,"Код для смены номера телефона добавлен. Код:");
                 SendClientMessage(playerid,-1,code);
                 format(query, sizeof(query), "INSERT INTO ваша таблица (code,work) VALUES ('%s','3')", code);
        mysql_query(query);
                    return 1;
              }
              else if(listitem == 3)
              {
                 SendClientMessage(playerid,-1,"Код для выдачи 100.000 добавлен. Код:");
                 SendClientMessage(playerid,-1,code);
                 format(query, sizeof(query), "INSERT INTO ваша таблица (code,work) VALUES ('%s','4')", code);
        mysql_query(query);
                    return 1;
              }
              else if(listitem == 4)
              {
                    SendClientMessage(playerid,-1,"Код для выдачи 500.000 добавлен. Код:");
                 SendClientMessage(playerid,-1,code);
                 format(query, sizeof(query), "INSERT INTO ваша таблица (code,work) VALUES ('%s','5')", code);
        mysql_query(query);
                    return 1;
              }
              else if(listitem == 5)
              {
                    SendClientMessage(playerid,-1,"Код для выдачи 1.000.000 добавлен. Код:");
                 SendClientMessage(playerid,-1,code);
                 format(query, sizeof(query), "INSERT INTO ваша таблица (code,work) VALUES ('%s','6')", code);
        mysql_query(query);
                    return 1;
              }
              else if(listitem == 6)
              {
                    SendClientMessage(playerid,-1,"Код для выдачи 3.000.000 добавлен. Код:");
                 SendClientMessage(playerid,-1,code);
                 format(query, sizeof(query), "INSERT INTO ваша таблица (code,work) VALUES ('%s','7')", code);
        mysql_query(query);
                    return 1;
              }
       }

В конец мода:
Code
RandBukva()
{
   new rand = random(53);
   new bukva[2];
   switch(rand)
   {
       case 0: bukva = "A";
       case 1: bukva = "a";
       case 2: bukva = "B";
       case 3: bukva = "b";
       case 4: bukva = "C";
       case 5: bukva = "c";
       case 6: bukva = "D";
       case 7: bukva = "d";
       case 8: bukva = "E";
       case 9: bukva = "e";
       case 10: bukva = "F";
       case 11: bukva = "f";
       case 12: bukva = "G";
       case 13: bukva = "g";
       case 14: bukva = "H";
       case 15: bukva = "h";
       case 16: bukva = "I";
       case 17: bukva = "i";
       case 18: bukva = "J";
       case 19: bukva = "j";
       case 20: bukva = "K";
       case 21: bukva = "k";
       case 22: bukva = "L";
       case 23: bukva = "l";
       case 24: bukva = "M";
       case 25: bukva = "m";
       case 26: bukva = "N";
       case 27: bukva = "n";
       case 28: bukva = "O";
       case 29: bukva = "o";
       case 30: bukva = "P";
       case 31: bukva = "p";
       case 32: bukva = "Q";
       case 33: bukva = "q";
       case 34: bukva = "R";
       case 35: bukva = "r";
       case 36: bukva = "S";
       case 37: bukva = "s";
       case 38: bukva = "T";
       case 39: bukva = "t";
       case 40: bukva = "U";
       case 41: bukva = "u";
       case 42: bukva = "V";
       case 43: bukva = "v";
       case 44: bukva = "W";
       case 45: bukva = "w";
       case 46: bukva = "X";
       case 47: bukva = "x";
       case 48: bukva = "Y";
       case 49: bukva = "y";
       case 50: bukva = "Z";
       case 51: bukva = "z";
   }
   return bukva;
}



Вернулся в среду GTA SA:MP. Начал разработку новой модификации, всегда готов к сотрудничеству.


Сообщение отредактировал DjCubex - Среда, 20.06.2012, 13:26
DesertДата: Среда, 20.06.2012, 13:30 | Сообщение # 7
Местный
Группа: I'm V.I.P.
Сообщений: 669
Награды: 57
Город: Москва
Репутация: 1082
Замечания: 0%
Статус:
DjCubex,
Красавец :)

zEscДата: Среда, 20.06.2012, 13:31 | Сообщение # 8
Global Elite
Группа: Ангел Хранитель
Сообщений: 894
Награды: 20
Репутация: 846
Замечания: 0%
Статус:
Quote
Красавец

Спасибо :)



Вернулся в среду GTA SA:MP. Начал разработку новой модификации, всегда готов к сотрудничеству.
ZiGGiДата: Среда, 20.06.2012, 15:39 | Сообщение # 9
Мастер джэдай
Группа: Продвинутые
Сообщений: 2650
Награды: 34
Город: St. Petersburg
Репутация: 2102
Замечания: 20%
Статус:
Quote (DjCubex)
RandBukva()

абсолютно бессмысленная функция.

Добавлено (20.06.2012, 15:39)
---------------------------------------------
Ты хочешь вернуть букву, но возвращаешь строку, зачем?

Куда правильнее будет так:

Code
#define mathrandom(%0,%1) (random(%1 - %0 + 1) + %0)

stock random_letter()
{
         if (random(2) == 0) {
                 return mathrandom(65, 90);
         }
         else {
                 return mathrandom(97, 122);
         }
}


Использовать:
Code

format(code, sizeof(code), "%с%с%с", random_letter(), random_letter(), random_letter());  



Бложе
[indent]Мой блог
Уроки по Pawn
[/indent]

Open-GTO
[indent]Блог разработчиков
GitHub: https://github.com/Open-GTO/Open-GTO
Сборки мода с сервером тут
[/indent]
zEscДата: Среда, 20.06.2012, 15:43 | Сообщение # 10
Global Elite
Группа: Ангел Хранитель
Сообщений: 894
Награды: 20
Репутация: 846
Замечания: 0%
Статус:
ZiGGi, спасибо, буду знать.


Вернулся в среду GTA SA:MP. Начал разработку новой модификации, всегда готов к сотрудничеству.
ZiGGiДата: Среда, 20.06.2012, 15:46 | Сообщение # 11
Мастер джэдай
Группа: Продвинутые
Сообщений: 2650
Награды: 34
Город: St. Petersburg
Репутация: 2102
Замечания: 20%
Статус:
Хотя функцию можно немного упростить для понимания:
Code

#define mathrandom(%0,%1) (random(%1 - %0 + 1) + %0)  

stock random_letter()  
{  
          if (random(2) == 0) {  
                  return mathrandom('A', 'Z');  
          }  
          else {  
                  return mathrandom('a', 'z');  
          }  
}



Бложе
[indent]Мой блог
Уроки по Pawn
[/indent]

Open-GTO
[indent]Блог разработчиков
GitHub: https://github.com/Open-GTO/Open-GTO
Сборки мода с сервером тут
[/indent]
IInkvizitorДата: Суббота, 23.06.2012, 16:08 | Сообщение # 12
Советчик
Группа: I'm V.I.P.
Сообщений: 1177
Награды: 7
Город: Санкт-Петербург
Репутация: 493
Замечания: 0%
Статус:
Сделать в укп генератор с экспортом на plati.ru лол
ExzisДата: Воскресенье, 15.07.2012, 16:22 | Сообщение # 13
Новенький
Группа: Пользователи
Сообщений: 9
Награды: 0
Город: Климово
Репутация: 35
Замечания: 0%
Статус:
Сделай еще чтобы можно было этот код только 1 раз использовать :)
После портового ввода писало что код уже использован

zEscДата: Воскресенье, 15.07.2012, 19:23 | Сообщение # 14
Global Elite
Группа: Ангел Хранитель
Сообщений: 894
Награды: 20
Репутация: 846
Замечания: 0%
Статус:
Exzis, его итак можно 1 раз использовать


Вернулся в среду GTA SA:MP. Начал разработку новой модификации, всегда готов к сотрудничеству.
kineie25Дата: Вторник, 25.03.2014, 00:56 | Сообщение # 15
Новенький
Группа: Пользователи
Сообщений: 1
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Цитата zEsc ()
Самое главное забыл, таблицы: http://rghost.ru/38723465
у тебя осталась база данных доната?

Форум SAMP о мультиплеерах для GTA. »   » Wiki-Samp-Rus » Система доната (MySQL)
Страница 1 из 11
Поиск:





 


 


 
Хостинг от uCoz SAMP-RUS.COM