Главный редактор форума: Doc-John | Текущая дата: 30.11.2024, 06:39
  • Страница 1 из 1
  • 1
[Урок] Делаем работу дальнобойщика
Оффлайн
Суббота, 19.07.2014, 22:53 | Сообщение # 1
Сообщений:
12
2
Здравствуйте, уважаемые форумчане!
В этой теме я научу Вас, как сделать работу дальнобойщика.
Урок опубликован для SAMP-Портала:
 ISAMP.3DN.RU.
Автор темы: ARTEM_SKOROBAGACH.

Добавим forwards:


Код
forward LoadGas();     
forward SaveGas();

Переменные (new):

Код
new Systgas = 0;     
new maxgas = 50000; // макс кол-во литров на складе

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


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

Далее, добавляем паблики:

Код
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;     
}

Ищем кучу таких строк, они могут быть выставлены в другом порядке:

Код
LoadProperty();     
LoadBizz();     
LoadSBizz();     
LoadBoxer();     
LoadStuff();

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

Код
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
}

Добавляем прицепы:

Код
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); //
  • Страница 1 из 1
  • 1
Поиск: