[NEW] Делаем систему выборов президента - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Phoenixxx_Czar, Getbackthere, [CM]OlegEhtler  
[NEW] Делаем систему выборов президента
POLOVINKO Дата: Четверг, 15.01.2015, 17:21 | Сообщение # 1
Новичок
Сообщений: 28
Статус: Offline
И так, это мой первый урок по pawno специально для cheat-master


Ко всем new
Код
new Kandidat1[50] = "Нет кандидата";
new Kandidat2[50] = "Нет кандидата";
new Kandidat3[50] = "Нет кандидата";
new KandidatsGolosa[3], Text3D:gVibMarKan[2],Text3D:gVibMarKantwo[2];
new bool:StartVibori = false, svt = 0;


Ко всем командам
Код
if(!strcmp(cmd,"/mv",true))
  {
      if(pData[playerid][pAdmin] < 8) return SendErr(playerid, " Не доступно");
      ShowPlayerDialog(playerid, dVibMar, DIALOG_STYLE_LIST,"{30C3F0}Система выборов", "Начать выборы\nИзменить кандидатов\nЗавершить выборы", "Выбрать", "Выйти");
     return true;
  }
  if(!strcmp(cmd,"/edcand",true))
  {
      new string[400];
   if(pData[playerid][pAdmin] < 8) return SendErr(playerid, " Не доступно");
   format(string, sizeof(string), "1. Проголосовать за - %s {2380FA}( Голосов: %i )\n2. Проголосовать за - %s {2380FA}( Голосов: %i )\n3. Проголосовать за - %s {2380FA}( Голосов: %i )\n",Kandidat1,KandidatsGolosa[0],Kandidat2,KandidatsGolosa[1],Kandidat3,KandidatsGolosa[2]);
   ShowPlayerDialog(playerid, dVibMarEdit, DIALOG_STYLE_LIST,"{30C3F0}Редактор кандидатов:", string, "Edit", "Выход");
   return true;
  }
  if(!strcmp(cmd,"/candidates",true))
  {
      new string[400];
   if(pData[playerid][pLevel] < 2) return    SendErr(playerid, "Вам необходим 2 уровень");
   if(pData[playerid][pVoted] == 1) return SendErr(playerid, "Вы уже голосовали!");
   format(string, sizeof(string), "1. Проголосовать за - %s {2380FA}( Голосов: %i )\n2. Проголосовать за - %s {2380FA}( Голосов: %i )\n3. Проголосовать за - %s {2380FA}( Голосов: %i )\n",Kandidat1,KandidatsGolosa[0],Kandidat2,KandidatsGolosa[1],Kandidat3,KandidatsGolosa[2]);
   ShowPlayerDialog(playerid, dVibGolos, DIALOG_STYLE_LIST,"{30C3F0}Кандидаты:", string, "Голос", "Отмена");
   return true;
  }

в public OnDialogResponse
Код
    case dVibMar:
   {
    if(!response) return true;
    switch(listitem) {
     case 0: {
      if(StartVibori == true) return    SendClientMessage(playerid, CRED, "Выборы уже начаты");
      //if(hour >=0 && minute >=10) return    SendMe(playerid, CGRADD, "Начать выборы можно в начале следующего часа.");
      StartVibori = true;
      SendClientMessageToAll(0xD0E324AA, " Внимание! Начались выборы нового мэра штата. Проголосовать можно командой /candidates.");
      svt = gettime()+10800;
       for(new h = 0; h < sizeof(KandidatsGolosa); h++)
        {
            KandidatsGolosa[h] = 0;
          gVibMarKan[h] = Create3DTextLabel("{5DE01B}Проголосовать\n{FFFFFF}нажмите: 'F'",0xFFFFFFAA,-1843.96,-275.82,1036.12,20.0,h);
          gVibMarKantwo[h] = Create3DTextLabel("{5DE01B}Проголосовать\n{FFFFFF}нажмите: 'F'",0xFFFFFFAA,-1843.92,-279.16,1036.12,20.0,h);
         }
     }
     case 1:  OnPlayerCommandText(playerid,"/edcand");
     case 2:
     {
      if(StartVibori == false) return    SendClientMessage(playerid, CRED, "Выборы не проводятся.");
      StartVibori = false;
      SendClientMessage(playerid, CRED, "Выборы окончены.");
          for(new h; h < sizeof(KandidatsGolosa); h++)
         {
             Delete3DTextLabel(gVibMarKan[h]);
             Delete3DTextLabel(gVibMarKantwo[h]);
            }
     }
    }
    return true;
   }
   case dVibMarEdit:
   {
    if(!response) return true;
    switch(listitem)
    {
     case 0: ShowPlayerDialog(playerid, dVibMarEditC1, DIALOG_STYLE_INPUT,"{30C3F0}Кандидат #1","Введите имя кандидата, или оставьте строчку пустой для удаления", "Done/Del", "Выйти");
     case 1: ShowPlayerDialog(playerid, dVibMarEditC2, DIALOG_STYLE_INPUT,"{30C3F0}Кандидат #2","Введите имя кандидата, или оставьте строчку пустой для удаления", "Done/Del", "Выйти");
     case 2: ShowPlayerDialog(playerid, dVibMarEditC3, DIALOG_STYLE_INPUT,"{30C3F0}Кандидат #3","Введите имя кандидата, или оставьте строчку пустой для удаления", "Done/Del", "Выйти");
    }
    return true;
   }
   case dVibMarEditC1:
   {
    if(!response) return OnPlayerCommandText(playerid,"/edcand");
    new ucs = strlen(inputtext);
    if(ucs <=0)
    {
     format(Kandidat1,40,"Нет кандидата");
     SendClientMessage(playerid,-1,"Кандидат удалён");
     KandidatsGolosa[0] = 0;
     return OnPlayerCommandText(playerid,"/edcand");
    }
    strmid(Kandidat1, inputtext, 0, strlen(inputtext), 255);
    SendMes(playerid,CRED,"Кандидат #1: %s ",Kandidat1);
    KandidatsGolosa[0] = 0;
    return OnPlayerCommandText(playerid,"/edcand");
   }
   case dVibMarEditC2:
   {
    if(!response) return OnPlayerCommandText(playerid,"/edcand");
    new ucs = strlen(inputtext);
    if(ucs <=0)
    {
     format(Kandidat2,40,"Нет кандидата");
     SendClientMessage(playerid,-1,"Кандидат удалён");
     KandidatsGolosa[1] = 0;
     return OnPlayerCommandText(playerid,"/edcand");
    }
    strmid(Kandidat2, inputtext, 0, strlen(inputtext), 255);
    SendMes(playerid,CRED,"Кандидат #1: %s ",Kandidat2);
    KandidatsGolosa[1] = 0;
    return OnPlayerCommandText(playerid,"/edcand");
   }
   case dVibMarEditC3:
   {
    if(!response) return OnPlayerCommandText(playerid,"/edcand");
    new ucs = strlen(inputtext);
    if(ucs <=0)
    {
     format(Kandidat3,40,"Нет кандидата");
     SendClientMessage(playerid,-1,"Кандидат удалён");
     KandidatsGolosa[2] = 0;
     return OnPlayerCommandText(playerid,"/edcand");
    }
    strmid(Kandidat3, inputtext, 0, strlen(inputtext), 255);
    SendMes(playerid,CRED,"Кандидат #1: %s ",Kandidat3);
    KandidatsGolosa[2] = 0;
    return OnPlayerCommandText(playerid,"/edcand");
   }
   case dVibGolos:
   {
    if(!response) return true;
    switch(listitem)
    {
     case 0:
      {
       if(!strcmp(Kandidat1, "Нет кандидата")) return SendClientMessage(playerid,CRED,"Кандидат не указан. Голосование невозможно");
       KandidatsGolosa[0] += 1;
       SendMes(playerid, CBLUE, "Вы отдали свой голос за {FFFFFF}%s", Kandidat1);
       pData[playerid][pGolos] = 1;
       SendClientMessage(playerid, 0xFF7837AA,"Ваш голос учтён, спасибо, что пришли на выборы.");
       pData[playerid][pVoted] = 1;
       new query[70];
       format(query,sizeof(query),"UPDATE `accountsdata` SET `voted`='1' WHERE `id`='%d'", pData[playerid][pMysqlID]);
       mysql_query(query);
       return true;
      }
     case 1:
      {
       if(!strcmp(Kandidat2, "Нет кандидата")) return SendClientMessage(playerid,CRED,"Кандидат не указан. Голосование невозможно");
       KandidatsGolosa[1] += 1;
       SendMes(playerid, CBLUE, "Вы отдали свой голос за {FFFFFF}%s", Kandidat2);
       pData[playerid][pGolos] = 1;
       SendClientMessage(playerid, 0xFF7837AA,"Ваш голос учтён, спасибо, что пришли на выборы.");
       return true;
      }
     case 2:
      {
       if(!strcmp(Kandidat3, "Нет кандидата")) return SendClientMessage(playerid,CRED,"Кандидат не указан. Голосование невозможно");
       KandidatsGolosa[2] += 1;
       SendMes(playerid, CBLUE, "Вы отдали свой голос за {FFFFFF}%s", Kandidat3);
       pData[playerid][pGolos] = 1;
       SendClientMessage(playerid, 0xFF7837AA,"Ваш голос учтён, спасибо, что пришли на выборы.");
       return true;
      }
    }
    return true;
   }

В ваш таймер
Цитата
if(svt < gettime() && StartVibori == true)
{
StartVibori = false;
for(new hs; hs < sizeof(KandidatsGolosa); hs++)
{
Delete3DTextLabel(gVibMarKan[hs]);
Delete3DTextLabel(gVibMarKantwo[hs]);
}
SendClientMessageToAll(0xD0E324AA, " Внимание! Выборы окончены. Посмотреть результаты голосования можно в мэрии");
if(pData[i][pVoted] == 1) { pData[i][pVoted] = 0; }
mysql_query("UPDATE `accountsdata` SET `voted`='0'");
}


Урок подготовил POLOVINKO специально для cheat master


pawno скриптер
skiez Дата: Воскресенье, 18.01.2015, 13:38 | Сообщение # 2
Боец
Сообщений: 66
Статус: Offline
Неплохо бы оптимизировать,а так +


[CM]Velasquez Дата: Воскресенье, 18.01.2015, 17:34 | Сообщение # 3
Любитель
Сообщений: 32
Статус: Offline
Ну полезно,чтож сказать stick
HOCO4EK Дата: Понедельник, 08.06.2015, 21:16 | Сообщение # 4
Новичок
Сообщений: 5
Статус: Offline
Можете сделать видео-урок на счёт этого? Просто не очень разбираюсь в PAWNO..
AlvarezKing Дата: Суббота, 13.06.2015, 13:19 | Сообщение # 5
Новичок
Сообщений: 11
Статус: Offline
Вырезал с мода Рустами Рича.. angry

AlvarezKingJe
[CM]VolleyBall Дата: Вторник, 16.06.2015, 15:46 | Сообщение # 6
This is AHK
Сообщений: 92
Статус: Offline
Говнокод, но за урок для новичков лови +

SAMPCRACKS Project | Скрипт для добычи аккаунтов
http://sampcracks.ru
CM[Magister] Дата: Вторник, 16.06.2015, 16:08 | Сообщение # 7
Советник
Сообщений: 669
Статус: Offline
А по мне всё нормально, поставлю +

ПО ПОВОДУ МОИХ ФЕЙКОВ!
Я не Василий или кто-то другой!
НИЧЕГО НЕ ПРОДАЮ И НЕ ПОКУПАЮ! ВООБЩЕ!!!
ВСЕ КТО ЧТО-ТО ПРОДАЁТ И ПОКУПАЕТ ОТ МОЕГО ИМЕНИ — МОШЕННИКИ!!!
[CM]Delgado Дата: Пятница, 19.06.2015, 09:29 | Сообщение # 8
Новичок
Сообщений: 3
Статус: Offline
табуляция? не, не слышал
[Cheat]Shoter Дата: Вторник, 30.06.2015, 03:15 | Сообщение # 9
Новичок
Сообщений: 27
Статус: Offline
Все норм лови +сик

Добавлено (30.06.2015, 03:15)
---------------------------------------------
Все норм лови +сик


Ivan
Jamiraque[t0wer] Дата: Вторник, 14.07.2015, 10:29 | Сообщение # 10
Советник
Сообщений: 603
Статус: Offline
Цитата [CM]Delgado ()
табуляция? не, не слышал

здесь некорректное отображение
dima-223 Дата: Суббота, 19.12.2015, 22:57 | Сообщение # 11
Боец
Сообщений: 150
Статус: Offline
Очень крутой урок, спасибо, воспользуюсь

Вы здесь 1870 дней
oldfag
Ничего не покупаю, ничего не продаю.
«Бесплатная графика cheat-master.ru/forum/134-529519-1»
Примеры работ предоставляю по желанию.
[CM]BrainSanchez Дата: Четверг, 24.12.2015, 20:58 | Сообщение # 12
Боец
Сообщений: 123
Статус: Offline
Спасибо,попробую

Делаю качественую графику [cheat-master.ru/forum/134-533307-1 ]
[СМ]Boss Дата: Воскресенье, 04.09.2016, 22:35 | Сообщение # 13
Новичок
Сообщений: 22
Статус: Offline
Все норм,спс.

Blazzer тащит

Сообщение отредактировал [СМ]Boss - Воскресенье, 04.09.2016, 22:36
  • Страница 1 из 1
  • 1
Поиск: