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

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

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

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

Работа дальнобойщика

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

Tixon

Умник
Добавим forwards

PHP:
forward LoadGas();  
forward SaveGas();
А также переменные:

PHP:
new Systgas = 0;  
new maxgas = 50000; // макс кол-во литров на складе
Ищем паблик public Fillup(), в нем ищем строчку Gas[VID] += FillUp;
и перед этой строчкой вставляем код:

PHP:
if (Systgas < FillUp)  
          {  
          format(string,sizeof(string),"* Бензин закончился",FillUp);  
          SendClientMessage(i,COLOR_LIGHTBLUE,string);  
       return 1;  
          }  
       Systgas -= FillUp;  
       SaveGas();
Далее, добавляем паблики:

PHP:
public LoadGas()  
{  
   new arrCoords[2][64];  
   new strFromFile2[256];  
   new File: file = fopen("gas.ini", io_read);  
   if (file)  
   {  
    fread(file, strFromFile2);  
    split(strFromFile2, arrCoords, '|');  

    Systgas = strval(arrCoords[0]);  
       

    fclose(file);  
   }  
   return 1;  
}  

public SaveGas()  
{  
   new coordsstring[256];  
   format(coordsstring, sizeof(coordsstring), "%d|0", Systgas);  
   new File: file2 = fopen("gas.ini", io_write);  
   fwrite(file2, coordsstring);  
   fclose(file2);  
   return 1;  
}
Ищем кучу таких строк, они могут быть выставлены в другом порядке.

PHP:
LoadProperty();  
   LoadBizz();  
   LoadSBizz();  
   LoadBoxer();  
   LoadStuff();
и ниже добавляем LoadGas();

Вставляем команды в OnPlayerCommandText

PHP:
if(strcmp(cmd, "/getpetrol", true) == 0)  
      {  
    if(IsPlayerConnected(playerid))  
       {  
     if(PlayerInfo[playerid][pJob] != 16) // где 16 это ид работы дальнобойщика  
     {  
      SendClientMessage(playerid, COLOR_GREY, "Вы не работаете Дальнобойщиком!");  
      return 1;  
     }  
     if(GetVehicleTrailer(GetPlayerVehicleID(playerid)))  
     {  
     SendClientMessage(playerid, 0xFFFFFFAA, "Грузовик готов к работе!");  
     SetPlayerCheckpoint(playerid, -1055.921020, -713.372985, 32.007812  , 5.0);  
     SendClientMessage(playerid, 0xFFFFFFAA, "Следуйте к красной точке на радаре, чтобы отвезти бензин на склад!");  
     }  
     else  
     {  
         new newcar = GetPlayerVehicleID(playerid);  
      if(newcar == 135 || newcar == 134 || newcar == 133 || newcar == 275 || newcar == 274 || newcar == 273)  
      {  
      SendClientMessage(playerid, 0xFFFFFFAA, "На грузовике нет прицепа с бензином!");  
      SetPlayerCheckpoint(playerid, 291.202270, 1410.547607, 10.208814 , 5.0);  
               SendClientMessage(playerid, 0xFFFFFFAA, "Следуйте к красной точке на радаре, чтобы взять прицеп!");  
      }  
      else  
      {  
      SendClientMessage(playerid, COLOR_RED, "Сядьте сначала в грузовик!");  
      return 1;  
      }  
     }  
    }  
      return 1;  
   }  
      if(strcmp(cmd, "/givepetrol", true) == 0)  
      {  
    if(IsPlayerConnected(playerid))  
       {  
     if(PlayerInfo[playerid][pJob] != 16)  // где 16 это ид работы дальнобойщика  
     {  
      SendClientMessage(playerid, COLOR_GREY, "Вы не работаете Дальнобойщиком!");  
      return 1;  
     }  
     if(GetVehicleTrailer(GetPlayerVehicleID(playerid)))  
     {  
         
      if (PlayerToPoint(8.0, playerid,-1055.921020, -713.372985, 32.007812))  
      {  
         
      if (Systgas >= maxgas)  
      {  
       SendClientMessage(playerid, 0xFFFFFFAA, "Склад Gas Company полон. Приедьте позже!");  
       return 1;  
      }  
      new sellmoney = 5000;  
      if(SBizzInfo[3][sbTill] < sellmoney)  
      {  
       SendClientMessage(playerid, 0xFFFFFFAA, "Извените, денег у Gas Company нету. Приедьте позже!");  
       return 1;  
      }  
      SBizzInfo[3][sbTill] -= sellmoney;  
      //ExtortionSBiz(3, sellmoney); // чето не работает  
      OnPropUpdate();  
         GivePlayerMoney(playerid, sellmoney);  
         DisablePlayerCheckpoint(playerid);  
      Systgas +=1000;  
      SaveGas();  
      SetVehicleToRespawn(GetVehicleTrailer(GetPlayerVehicleID(playerid)));  
      SendClientMessage(playerid, 0xFFFFFFAA, "Бензин успешно доставлен!");  
      SendClientMessage(playerid, 0xFFFFFFAA, "За доставку вы получили гонорар в размере $5000!");  
      }  
      else  
      {  
      SendClientMessage(playerid, 0xFFFFFFAA, "Вы не на месте доставки бензина!");  
      return 1;  
      }  
     }  
     else  
     {  
     SendClientMessage(playerid, 0xFFFFFFAA, "На грузовике нет прицепа с бензином!");  
     SetPlayerCheckpoint(playerid, 291.202270, 1410.547607, 10.208814 , 5.0);  
              SendClientMessage(playerid, 0xFFFFFFAA, "Следуйте к красной точке на радаре, чтобы взять прицеп!"); 
     }  
    }  
      return 1;  
   }
Добавляем прицепы:

PHP:
AddStaticVehicleEx(584,285.88708496,1346.71325684,11.33633232,0.00000000,-1,-1,15); //  
AddStaticVehicleEx(584,282.59869385,1346.81933594,11.33633232,0.00000000,-1,-1,15); //  
AddStaticVehicleEx(584,279.00360107,1346.81140137,11.33633232,0.00000000,-1,-1,15); //  
AddStaticVehicleEx(584,275.66162109,1346.85388184,11.33633232,0.00000000,-1,-1,15); //  
AddStaticVehicleEx(584,272.35064697,1346.97631836,11.33633232,0.00000000,-1,-1,15); //  
AddStaticVehicleEx(584,269.11825562,1347.16479492,11.33633232,0.00000000,-1,-1,15); //
Настройка: узнайте id грузовиков и замените их в newcar (команда /getpetrol), замените ид профессии дальнобойщика, если она у Вас под другим ид. Цвета сообщение тоже настройте сами под свой вкус.

/getpetrol - взяться за работу
/givepetrol - отдать (продать) прицеп.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу