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

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

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

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

PIRU

The world on the edge of reality
Administrator
Регистрация
10 Ноя 2010
Сообщения
11,638
Лучшие ответы
39
Репутация
6,756
Награды
1
Работа дальнобойщика

Добавим 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 - отдать (продать) прицеп.

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