Работа дальнобойщика
Добавим forwards
А также переменные:
Ищем паблик public Fillup(), в нем ищем строчку Gas[VID] += FillUp;
и перед этой строчкой вставляем код:
Далее, добавляем паблики:
Ищем кучу таких строк, они могут быть выставлены в другом порядке.
и ниже добавляем LoadGas();
Вставляем команды в OnPlayerCommandText
Добавляем прицепы:
Настройка: узнайте id грузовиков и замените их в newcar (команда /getpetrol), замените ид профессии дальнобойщика, если она у Вас под другим ид. Цвета сообщение тоже настройте сами под свой вкус.
/getpetrol - взяться за работу
/givepetrol - отдать (продать) прицеп.
by FiLE
Добавим forwards
PHP:
forward LoadGas();
forward SaveGas();
PHP:
new Systgas = 0;
new maxgas = 50000; // макс кол-во литров на складе
и перед этой строчкой вставляем код:
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();
Вставляем команды в 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); //
/getpetrol - взяться за работу
/givepetrol - отдать (продать) прицеп.
by FiLE