|
Оффлайн
Суббота, 19.07.2014, 22:53 | Сообщение # 1
|
|
Здравствуйте, уважаемые форумчане! В этой теме я научу Вас, как сделать работу дальнобойщика. Урок опубликован для 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); // |
|