Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Создание Казны

Статус
В этой теме нельзя размещать новые ответы.

sasa50

Умник
Я выложил урок по созданию казны т.к не каждый сможет его сделать либо вырезать из мода и форум зачастую заполняется нуботемами по созданию казны для сервера ну начнем
Сначало ко всем NEW Добовляем
PHP:
new Tax = 0;
Вставляем в public OnPlayerCommandText
PHP:
new cmd[256];
и вот эти команды
PHP:
  if(strcmp(cmd, "/treasury", true) == 0)  
     {  
         if(IsPlayerConnected(playerid))  
         {  
             if(PlayerInfo[playerid][pLeader] == 7)  
             {  
                 ShowPlayerDialog(playerid, 2305,DIALOG_STYLE_LIST,"Операций с казной","Снять\nПоложить\nПосмотреть\nРаздать Закону(часть)\nРаздать всем(часть)","Делать","Отмена");  
             }  
         }  
     }
PHP:
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
PHP:
   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;  
     }
Если вылазиют вот такие ошибки:
HTML:
warning 219: local variable "string" shadows a variable at a preceding level
То на той строчке где это указано можете смело удалять
PHP:
new string[256];
Автор - НЕ ИЗВЕСТЕН СКРИПТ ВЫРЕЗАН ИЗ San Sity
Ставьте + если помог
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу