Четверг, 25.02.2021, 04:56
Logo site
  • Главная
  • Форум
  • Мы в Контакте
  • Pwn-Zone.Ru
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » SA-MP » Wiki-The-Samp » [Tutorial] Создание казны
[Tutorial] Создание казны
НазарДата: Суббота, 12.11.2011, 15:27 | Сообщение # 1
Гл. Администратор
Группа: Пользователь
Сообщений: 125
Награды: 7
Замечания: 0%
Сначала ко всем NEW добавляем
Code
new Tax = 0;


Вставляем в public OnPlayerCommandText
Code
new cmd[256];


И вот эти команды
Code
if(strcmp(cmd, "/treasury", true) == 0)    
      {    
          if(IsPlayerConnected(playerid))    
          {    
              if(PlayerInfo[playerid][pLeader] == 7)    
              {    
                  ShowPlayerDialog(playerid, 2305,DIALOG_STYLE_LIST,"Операций с казной","Снять\nПоложить\nПосмотреть\nРаздать Закону(часть)\nРаздать всем(часть)","Делать","Отмена");    
              }    
          }    
      }

Code
if(strcmp(cmd,"/checktax",true)==0)    
      {    
          if(IsPlayerConnected(playerid))    
          {    
              if(PlayerInfo[playerid][pLeader] != 7)    
              {    
                  SendClientMessage(playerid, COLOR_GREY, " Вы не мэр!");    
                  return 1;    
              }    
              tmp = strtok(cmdtext, idx);    
              if(!strlen(tmp)) {    
                  SendClientMessage(playerid, COLOR_WHITE, " Используйте: /checktax [ammount]");    
                  return 1;    
              }    
              moneys = strval(tmp);    
              if(Tax < moneys)    
              {    
                  SendClientMessage(playerid,COLOR_GREY,"В казне нет столько денег");    
                  return 1;    
              }    
              Tax = Tax - moneys;    
              GivePlayerMoney(playerid,moneys);    
              format(string, sizeof(string), " Вы взяли %d$ из казны. Осталось в казне %d$", moneys, Tax);    
              SendClientMessage(playerid, COLOR_LIGHTBLUE, string);    
              SaveStuff();    
          }    
          return 1;    
      }


Далее в public OnDialogResponse
Code
new string[256];    
      if(dialogid == 2305)//Снять\nПоложить\nПосмотреть\nРаздать Закону(часть)\nРаздать всем(часть)"    
      {    
          if(response)    
          {    
              if(listitem == 0)    
              {    
                  ShowPlayerDialog(playerid, 2306,DIALOG_STYLE_INPUT,"Сколько?","Кол-во","OK","Отмена");    
                  return 1;    
              }    
              else if(listitem == 1)    
              {    
                  ShowPlayerDialog(playerid, 2307,DIALOG_STYLE_INPUT,"Сколько?","Кол-во","OK","Отмена");    
              }    
              else if(listitem == 2)    
              {    
                  format(string,20,"В казне %d",Tax);    
                  SendClientMessage(playerid,COLOR_LIGHTRED,string);    
              }    
              else if(listitem == 3)    
              {    
                  if(IsPlayerConnected(playerid))    
                  {    
                      if(PlayerInfo[playerid][pLeader] != 7)    
                      {    
                          SendClientMessage(playerid, COLOR_GREY, "Вы не Сенатор Штата.");    
                          return 1;    
                         }    
                         if(Tax < 1)    
                      {    
                          SendClientMessage(playerid, COLOR_GREY, "В казне нету денег!");    
                          return 1;    
                      }    
                      new Cops = 0;    
                      for(new i = 0; i < MAX_PLAYERS; i++)    
                      {    
                          if(IsPlayerConnected(i))    
                          {    
                    if(IsACop(i)||PlayerInfo[i][pMember]==11||PlayerInfo[i][pLeader]==11)    
                    {    
                     Cops += 1;    
                    }    
                          }    
                      }    
                      if(Cops >= 1)    
                      {    
                        new value = Tax / 4;    
                         new price = value / Cops;    
                      for(new i = 0; i < MAX_PLAYERS; i++)    
                      {    
                          if(IsPlayerConnected(i))    
                          {    
                     if(IsACop(i)||PlayerInfo[i][pMember]==11||PlayerInfo[i][pLeader]==11)    
                     {    
                     format(string, sizeof(string), "* Вы получили компенсацию в размере $%d от Государственной Думы.",price);    
                     SendClientMessage(i, COLOR_LIGHTBLUE, string);    
                     GivePlayerMoney(i, price);    
                     Tax -= price;    
                    }    
                          }    
                      }    
                      SaveStuff();    
                      }    
                      else    
                      {    
                           SendClientMessage(playerid, COLOR_GREY, "Сейчас нет ни одного полицейского!");    
                           return 1;    
                      }    
              }    
              }    
              else if(listitem == 4)    
              {    
                  if(IsPlayerConnected(playerid))    
                  {    
                         if(PlayerInfo[playerid][pLeader] != 7)    
                      {    
                          SendClientMessage(playerid, COLOR_GREY, "Вы не Сенатор Штата.");    
                          return 1;    
                      }    
                      new AllPlayers = 0;    
                      for(new i = 0; i < MAX_PLAYERS; i++)    
                      {    
                            if(IsPlayerConnected(i))    
                          {    
                     AllPlayers += 1;    
                          }    
                      }    
                      if(AllPlayers >= 1)    
                      {    
                          new value = Tax / 4;    
                          new price = value / AllPlayers;    
                          if(Tax < price)    
                          {    
                    SendClientMessage(playerid, COLOR_GREY, "В казне нету столько денег!");    
                    return 1;    
                          }    
                          for(new i = 0; i < MAX_PLAYERS; i++)    
                          {    
                    if(IsPlayerConnected(i))    
                    {    
                     format(string, sizeof(string), "* Вы получили денежное пособие в размере $%d от Государственной Думы.",price);    
                     SendClientMessage(i, COLOR_LIGHTBLUE, string);    
                     GivePlayerMoney(i, price);    
                     Tax -= price;    
                    }    
                          }    
                          SaveStuff();    
                      }    
                      else    
                      {    
                           SendClientMessage(playerid, COLOR_GREY, "Сейчас нет ни одного игрока!");    
                          return 1;    
                      }    
                  }    
              }    
          }    
          else    
          {    
              SendClientMessage(playerid,COLOR_ORANGE,"Ничего не было сделано с казною");    
          }    
          return 1;    
      }    
      if(dialogid == 2306)    
      {    
          if(response)    
          {    
              if(!strlen(inputtext))    
              {    
                  SendClientMessage(playerid,COLOR_ORANGE,"Пустое значение");    
                  return 1;    
              }    
              new zkx = strval(inputtext);    
              if(Tax > zkx)    
              {    
                  Tax -=zkx;    
                  GivePlayerMoney(playerid, zkx);    
                  format(string,sizeof(string),"Вы успешно сняли себе в карман %d",zkx);    
                  SendClientMessage(playerid,COLOR_ORANGE,string);    
                  return 1;    
              }    
              else    
              {    
                  SendClientMessage(playerid,COLOR_LIGHTRED,"В казне нету столько денег");    
                  return 1;    
              }    

          }    
          else    
          {    
              SendClientMessage(playerid,COLOR_ORANGE,"Ничего не было сделано с казною");    
          }    
          return 1;    
      }    
      if(dialogid == 2307)    
      {    
          if(response)    
          {    
              if(!strlen(inputtext))    
              {    
                  SendClientMessage(playerid,COLOR_ORANGE,"Пустое значение");    
                  return 1;    
              }    
              new zkx = strval(inputtext);    
              if(PlayerInfo[playerid][pCash] > zkx)    
              {    
                  Tax +=zkx;    
                  GivePlayerMoney(playerid, -zkx);    
                  format(string,sizeof(string),"Вы успешно положили в казну %d",zkx);    
                  SendClientMessage(playerid,COLOR_ORANGE,string);    
                  return 1;    
              }    
              else    
              {    
                  SendClientMessage(playerid,COLOR_LIGHTRED,"У вас в кармане нет столько денег");    
                  return 1;    
              }    

          }    
          else    
          {    
              SendClientMessage(playerid,COLOR_ORANGE,"Ничего не было сделано с казною");    
          }    
          return 1;    
      }


По всем вопросам обращайтесь на форум :)
 
Форум » SA-MP » Wiki-The-Samp » [Tutorial] Создание казны
  • Страница 1 из 1
  • 1
Поиск:

Лучшая рип студия!

Проследить за всеми новостями мы не можем, так как новости берутся из открытых источников. Если вы считаете, что новость нарушает ваши права на авторство или дизайн, то обратитесь к администрации данного ресурса. | Хостинг от uCoz