Всем привет,недавно лазил в моде Астера и нашёл там отличную работу которую решил выложить сюда
ко всем new
new hlebjob;
new hlebcar[3];
new autoh1 = 0;
new autoh2 = 0;
new autoh3 = 0;
new Text3D:VehPT[MAX_VEHICLES];
new VehPP[MAX_VEHICLES];
new TimerZag;
new TimerRaz;
new TimerPut;
в GameModeInit
hlebjob = CreatePickup(1239,23,1933.8519,2085.7693,16.1989,-1);
hlebcar [0] = AddStaticVehicle(499,1942.7360,2105.0347,15.4103,91.1173,109,32); // hleb1
hlebcar [1] = AddStaticVehicle(499,1947.7821,2093.9890,15.4050,359.5206,109,32); // hleb2
hlebcar [2] = AddStaticVehicle(499,1940.4862,2084.6211,15.4050,359.9776,109,32); // hleb3
в public OnPlayerDisconnect(playerid, reason)
if(GetPVarInt(playerid, "ExitAutoHleb") == 1 || GetPVarInt(playerid, "BeretHleb") == 1 || GetPVarInt(playerid, "NesetHleb") == 1)
{
new carid = GetPVarInt(playerid, "CarID");
SetVehicleToRespawn(carid);
DestroyPickup(VehPP[carid]);
Delete3DTextLabel(VehPT[carid]);
KillTimer(TimerZag);
}
if(GetPVarInt(playerid, "RazgruzHlebGo") == 1 || GetPVarInt(playerid, "ExitRazgruzHleb") == 1 || GetPVarInt(playerid, "RazgruzHleb") == 1)
{
new carid = GetPVarInt(playerid, "car");
SetVehicleToRespawn(carid);
DestroyPickup(VehPP[carid]);
Delete3DTextLabel(VehPT[carid]);
KillTimer(TimerRaz);
}
в public OnVehicleSpawn(vehicleid)
if(vehicleid == hlebcar[0]) autoh1 = 0;
if(vehicleid == hlebcar[1]) autoh2 = 0;
if(vehicleid == hlebcar[2]) autoh3 = 0;
в public OnPlayerCommandText(playerid, cmdtext[])
ко всем new
new hlebjob;
new hlebcar[3];
new autoh1 = 0;
new autoh2 = 0;
new autoh3 = 0;
new Text3D:VehPT[MAX_VEHICLES];
new VehPP[MAX_VEHICLES];
new TimerZag;
new TimerRaz;
new TimerPut;
в GameModeInit
hlebjob = CreatePickup(1239,23,1933.8519,2085.7693,16.1989,-1);
hlebcar [0] = AddStaticVehicle(499,1942.7360,2105.0347,15.4103,91.1173,109,32); // hleb1
hlebcar [1] = AddStaticVehicle(499,1947.7821,2093.9890,15.4050,359.5206,109,32); // hleb2
hlebcar [2] = AddStaticVehicle(499,1940.4862,2084.6211,15.4050,359.9776,109,32); // hleb3
в public OnPlayerDisconnect(playerid, reason)
if(GetPVarInt(playerid, "ExitAutoHleb") == 1 || GetPVarInt(playerid, "BeretHleb") == 1 || GetPVarInt(playerid, "NesetHleb") == 1)
{
new carid = GetPVarInt(playerid, "CarID");
SetVehicleToRespawn(carid);
DestroyPickup(VehPP[carid]);
Delete3DTextLabel(VehPT[carid]);
KillTimer(TimerZag);
}
if(GetPVarInt(playerid, "RazgruzHlebGo") == 1 || GetPVarInt(playerid, "ExitRazgruzHleb") == 1 || GetPVarInt(playerid, "RazgruzHleb") == 1)
{
new carid = GetPVarInt(playerid, "car");
SetVehicleToRespawn(carid);
DestroyPickup(VehPP[carid]);
Delete3DTextLabel(VehPT[carid]);
KillTimer(TimerRaz);
}
в public OnVehicleSpawn(vehicleid)
if(vehicleid == hlebcar[0]) autoh1 = 0;
if(vehicleid == hlebcar[1]) autoh2 = 0;
if(vehicleid == hlebcar[2]) autoh3 = 0;
в public OnPlayerCommandText(playerid, cmdtext[])
if(strcmp(cmd, "/hleb", true) == 0)
{
if(Player[playerid][pJob] != 4) return SCM(playerid, COLOR_GREY, "Вы не развозчик хлеба!");
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SCM(playerid, COLOR_GREY, "Вы должны быть за рулём транспортного средства!");
new carid = GetPlayerVehicleID(playerid);
new playerhlebcar = GetVehicleModel(carid);
if(!PlayerToPoint(10.0,playerid,1944.9983,2081.1301,16.1989)) return SCM(playerid, COLOR_LIGHTRED, "Вы должны подъехать к складу на пикап!");
if(playerhlebcar != 499) return SCM(playerid, COLOR_LIGHTRED, "Для работы нужна хлебная машина!");
if(carid == hlebcar[0] && autoh1 == 1) return SCM(playerid, -1, "Тачка занята!");
if(carid == hlebcar [1] && autoh2 == 1) return SCM(playerid, -1, "Тачка занята!");
if(carid == hlebcar [2]&& autoh3 == 1) return SCM(playerid, -1, "Тачка занята!");
SendClientMessage(playerid, -1, "Выйдите из машины и загрузите хлеб в машину.");
SetPlayerCheckpoint(playerid, 1944.9983,2081.1301,16.1989, 1.0);
SetPVarInt(playerid, "ExitAutoHleb", 1);
if(carid == hlebcar[0]) return autoh1 = 1;
if(carid == hlebcar[1]) return autoh2 = 1;
if(carid == hlebcar[2]) return autoh3 = 1;
return 1;
}
в public OnPlayerExitVehicle(playerid, vehicleid)
if(GetPVarInt(playerid, "ExitAutoHleb") == 1)
{
new Floatos[3];
new carid = GetPlayerVehicleID(playerid);
GetCoordBootVehicle(carid, pos[0], pos[1], pos[2]);
VehPT[vehicleid] = Create3DTextLabel("0/10",0xFFFFFFFF,pos[0], pos[1], pos[2]+0.5,40.0,0,1);
VehPP[vehicleid] = CreatePickup(19197,23,pos[0], pos[1], pos[2]+0.5);
SetPlayerCheckpoint(playerid,1944.9983,2081.1301,16.1989,1.0);
SendClientMessage(playerid, -1, "Берите хлеб на складе и грузите в машину.");
DeletePVar(playerid, "ExitAutoHleb");
SetPVarInt(playerid, "BeretHleb", 1);
SetPVarInt(playerid, "CarID", carid);
TimerZag = SetTimerEx("StartZagruzHleb",300000,false, "i", playerid);
}
if(GetPVarInt(playerid, "ExitRazgruzHleb") == 1)
{
new Floatos[3];
new carid = GetPlayerVehicleID(playerid);
GetCoordBootVehicle(carid, pos[0], pos[1], pos[2]);
VehPT[vehicleid] = Create3DTextLabel("0/10",0xFFFFFFFF,pos[0], pos[1], pos[2]+0.5,40.0,0,1);
VehPP[vehicleid] = CreatePickup(19197,23,pos[0], pos[1], pos[2]+0.5);
SetPVarInt(playerid, "RazgruzHleb", 1);
SetPVarInt(playerid, "car", carid);
TimerRaz = SetTimerEx("StartRazgruzHleb",300000,false, "i", playerid);
}
в public OnPlayerStateChange(playerid, newstate, oldstate)
if(tacha >= hlebcar[0] && tacha <= hlebcar[2]) //
{
if(Player[playerid][pJob] == 4)
{
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_WHITE, "У Вас нет ключей от этого транспорта и вы не развозчик хлеба!");
}
}
в public OnPlayerEnterCheckpoint(playerid)
if(GetPVarInt(playerid, "BeretHleb") == 1)
{
DeletePVar(playerid, "BeretHleb");
DisablePlayerCheckpoint(playerid);
ApplyAnimation(playerid,"CARRY","liftup",4.0,0,0,0,1,1,1);
SetTimerEx("BeretHlebTime",1000,false, "i", playerid);
SetPVarInt(playerid, "NesetHleb", 1);
}
if(GetPVarInt(playerid, "RazgruzHlebGo") == 1)
{
SendClientMessage(playerid, -1, "Выйдите из машины и разгружайте хлеб на склад.");
DeletePVar(playerid, "RazgruzHlebGo");
SetPVarInt(playerid, "ExitRazgruzHleb", 1);
}
if(GetPVarInt(playerid, "RazgruzBeretHleb") == 1)
{
DeletePVar(playerid, "RazgruzBeretHleb");
DisablePlayerCheckpoint(playerid);
ApplyAnimation(playerid,"CARRY","putdwn",4.0,0,0,0,1,1,1);
SetPVarInt(playerid, "RazgruzHleb", 1);
SetTimerEx("RazgruzHlebTime",700,false, "i", playerid);
}
в public OnPlayerPickUpPickup(playerid, pickupid)
if(pickupid == hlebjob)
{
ShowPlayerDialog(playerid,34,DIALOG_STYLE_MSGBOX,"Работа Развозчик хлеба","Вы уверены, что хотите стать [Развозчиком хлеба]?\n Если да - нажмите Принять","Принять","Отмена");
}
if(GetPVarInt(playerid, "NesetHleb") == 1)
{
new Floatos[3], str[10];
new CarIDAuto = GetPVarInt(playerid, "CarID");
GetCoordBootVehicle(CarIDAuto, pos[0], pos[1], pos[2]);
if(PlayerToPoint(3.0,playerid,pos[0], pos[1], pos[2]
{
DeletePVar(playerid, "NesetHleb");
SetPVarInt(playerid, "SkokaHleb", GetPVarInt(playerid, "SkokaHleb") +1);
RemovePlayerAttachedObject(playerid,5);
ApplyAnimation(playerid,"RAPPING","RAP_A_OUT",10.0, 0, 0, 0, 0, 0);
format(str, sizeof(str),"%d/10",GetPVarInt(playerid,"SkokaHleb"));
Update3DTextLabelText(VehPT[CarIDAuto],0xFFFFFFFF,str);
SetPlayerCheckpoint(playerid,1944.9983,2081.1301,16.1989,1.0);
SetPVarInt(playerid, "BeretHleb", 1);
if(GetPVarInt(playerid, "SkokaHleb") == 10)
{
SendClientMessage(playerid, -1, "Вы загрузили хлеб в машину. Садитесь и везите хлеб на тюремный остров.");
SendClientMessage(playerid, -1, "У вас есть 10 минут чтобы привести хлеб, иначе с вас снимут неустойку!");
SetPlayerCheckpoint(playerid,211.2333,865.7972,12.1045,4.0);
SetPVarInt(playerid, "RazgruzHlebGo", 1);
DeletePVar(playerid, "BeretHleb");
DeletePVar(playerid, "NesetHleb");
DeletePVar(playerid, "SkokaHleb");
DeletePVar(playerid, "ExitAutoHleb");
DestroyPickup(VehPP[CarIDAuto]);
Delete3DTextLabel(VehPT[CarIDAuto]);
KillTimer(TimerZag);
TimerPut = SetTimerEx("StartPutHleb",600000,false, "i", playerid);
//Сюда таймер
}
}
}
if(GetPVarInt(playerid, "RazgruzHleb") == 1)
{
new Floatos[3], str[10];
new CarIDAuto = GetPVarInt(playerid, "car");
GetCoordBootVehicle(CarIDAuto, pos[0], pos[1], pos[2]);
if(PlayerToPoint(3.0,playerid,pos[0], pos[1], pos[2]
{
ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1);
SetPlayerAttachedObject(playerid,5,1221,1,0.135011,0.463495,-0.024351,357.460632,87.350753,88.068374,0.434164,0.491270,0.368655);
DeletePVar(playerid, "RazgruzHleb");
SetPVarInt(playerid, "RazgruzSkokaHleb", GetPVarInt(playerid, "RazgruzSkokaHleb") +1);
format(str, sizeof(str),"%d/10",GetPVarInt(playerid,"RazgruzSkokaHleb"));
Update3DTextLabelText(VehPT[CarIDAuto],0xFFFFFFFF,str);
SetPlayerCheckpoint(playerid,216.6406,860.5789,13.3820,1.0);
SetPVarInt(playerid, "RazgruzBeretHleb", 1);
if(GetPVarInt(playerid, "RazgruzSkokaHleb") == 11)
{
ApplyAnimation(playerid,"RAPPING","RAP_A_OUT",10.0, 0, 0, 0, 0, 0);
SendClientMessage(playerid, -1, "Вы привезли и разгрузили хлеб и получили 3000р.");
DisablePlayerCheckpoint(playerid);
GivePlayerMoney(playerid, 3000);
RemovePlayerAttachedObject(playerid,5);
DisablePlayerCheckpoint(playerid);
DeletePVar(playerid, "RazgruzHlebGo");
DeletePVar(playerid, "RazgruzHleb");
DeletePVar(playerid, "RazgruzBeretHleb");
DeletePVar(playerid, "CarID");
DeletePVar(playerid, "car");
DeletePVar(playerid, "RazgruzSkokaHleb");
DeletePVar(playerid, "ExitRazgruzHleb");
DestroyPickup(VehPP[CarIDAuto]);
Delete3DTextLabel(VehPT[CarIDAuto]);
KillTimer(TimerZag);
KillTimer(TimerRaz);
KillTimer(TimerPut);
if(CarIDAuto == hlebcar[0] && autoh1 == 1) return autoh1 = 0;
if(CarIDAuto == hlebcar[1] && autoh2 == 1) return autoh2 = 0;
if(CarIDAuto == hlebcar[2] && autoh3 == 1) return autoh3 = 0;
}
}
}
в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
if(dialogid==34)
{
if(response)
{
if(Player[playerid][pJob] != 4)
{
if(Player[playerid][pJob] == 4) return SendClientMessage(playerid, COLOR_GRAD1, "Вы уже устроены на эту работу!");
if(Player[playerid][pLevel] < 2) return SendClientMessage(playerid, COLOR_GRAD1, "Вам требуется 3 уровень!");
Player[playerid][pJob] = 4;
SendClientMessage(playerid, COLOR_WHITE, "Поздравляем вы устроились на роботу Развозчик хлеба!");
SendClientMessage(playerid, COLOR_WHITE, "Все команды можно посмотрить в разделе /help[Роботы]!");
SavePlayer(playerid);
}
}
return 1;
}
дальше нужно будет добавить пару пабликов,и желательно чтобы у вас был паблик по типу тюрьмы чтобы вызывался каждую секунду,если такой есть то добавим туда
Hlebupdate(i);
и в конец мода добавим
forward StartZagruzHleb(playerid);
public StartZagruzHleb(playerid)
{
new carid = GetPVarInt(playerid, "CarID");
SendClientMessage(playerid, -1, "Вы не привезли хлеб! С вас снята неустойка 200р");
GivePlayerMoney(playerid, -200);
KillTimer(TimerZag);
DestroyPickup(VehPP[carid]);
Delete3DTextLabel(VehPT[carid]);
SetVehicleToRespawn(carid);
DisablePlayerCheckpoint(playerid);
DeletePVar(playerid, "ExitAutoHleb");
DeletePVar(playerid, "BeretHleb");
DeletePVar(playerid, "NesetHleb");
DeletePVar(playerid, "SkokaHleb");
DeletePVar(playerid, "RazgruzHlebGo");
DeletePVar(playerid, "ExitRazgruzHleb");
DeletePVar(playerid, "RazgruzHleb");
DeletePVar(playerid, "RazgruzSkokaHleb");
DeletePVar(playerid, "RazgruzBeretHleb");
DeletePVar(playerid, "car");
DeletePVar(playerid, "CarID");
return 1;
}
forward StartRazgruzHleb(playerid);
public StartRazgruzHleb(playerid)
{
new carid = GetPVarInt(playerid, "car");
SendClientMessage(playerid, -1, "Вы не привезли хлеб! С вас снята неустойка 200р");
GivePlayerMoney(playerid, -200);
KillTimer(TimerRaz);
DestroyPickup(VehPP[carid]);
Delete3DTextLabel(VehPT[carid]);
SetVehicleToRespawn(carid);
DisablePlayerCheckpoint(playerid);
DeletePVar(playerid, "ExitAutoHleb");
DeletePVar(playerid, "BeretHleb");
DeletePVar(playerid, "NesetHleb");
DeletePVar(playerid, "SkokaHleb");
DeletePVar(playerid, "RazgruzHlebGo");
DeletePVar(playerid, "ExitRazgruzHleb");
DeletePVar(playerid, "RazgruzHleb");
DeletePVar(playerid, "RazgruzSkokaHleb");
DeletePVar(playerid, "RazgruzBeretHleb");
DeletePVar(playerid, "car");
DeletePVar(playerid, "CarID");
return 1;
}
forward StartPutHleb(playerid);
public StartPutHleb(playerid)
{
new carid = GetPVarInt(playerid, "CarID");
SendClientMessage(playerid, -1, "Вы не привезли хлеб! С вас снята неустойка 200р");
GivePlayerMoney(playerid, -200);
KillTimer(TimerPut);
DestroyPickup(VehPP[carid]);
Delete3DTextLabel(VehPT[carid]);
SetVehicleToRespawn(carid);
DisablePlayerCheckpoint(playerid);
DeletePVar(playerid, "ExitAutoHleb");
DeletePVar(playerid, "BeretHleb");
DeletePVar(playerid, "NesetHleb");
DeletePVar(playerid, "SkokaHleb");
DeletePVar(playerid, "RazgruzHlebGo");
DeletePVar(playerid, "ExitRazgruzHleb");
DeletePVar(playerid, "RazgruzHleb");
DeletePVar(playerid, "RazgruzSkokaHleb");
DeletePVar(playerid, "RazgruzBeretHleb");
DeletePVar(playerid, "car");
DeletePVar(playerid, "CarID");
return 1;
}
forward RazgruzHlebTime(playerid);
public RazgruzHlebTime(playerid)
{
RemovePlayerAttachedObject(playerid,5);
ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,0,0,0,0,0,0);
return 1;
}
forward BeretHlebTime(playerid);
public BeretHlebTime(playerid)
{
ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1);
SetPlayerAttachedObject(playerid,5,1221,1,0.135011,0.463495,-0.024351,357.460632,87.350753,88.068374,0.434164,0.491270,0.368655);
return 1;
}
forward Hlebupdate(playerid);
public Hlebupdate(playerid)
{
if(GetPVarInt(playerid, "NesetHleb") == 1)
{
new Floatos[3], str[10];
new CarIDAuto = GetPVarInt(playerid, "CarID");
GetCoordBootVehicle(CarIDAuto, pos[0], pos[1], pos[2]);
DestroyPickup(VehPP[CarIDAuto]);
Delete3DTextLabel(VehPT[CarIDAuto]);
VehPP[CarIDAuto] = CreatePickup(19197,23,pos[0], pos[1], pos[2]+0.5);
format(str, sizeof(str),"%d/10",GetPVarInt(playerid,"SkokaHleb"));
VehPT[CarIDAuto] = Create3DTextLabel(str,0xFFFFFFFF,pos[0], pos[1], pos[2]+0.5,40.0,0,1);
}
if(GetPVarInt(playerid, "RazgruzHleb") == 1)
{
new Floatos[3], str[10];
new CarIDAuto = GetPVarInt(playerid, "car");
GetCoordBootVehicle(CarIDAuto, pos[0], pos[1], pos[2]);
DestroyPickup(VehPP[CarIDAuto]);
Delete3DTextLabel(VehPT[CarIDAuto]);
VehPP[CarIDAuto] = CreatePickup(19197,23,pos[0], pos[1], pos[2]+0.5);
format(str, sizeof(str),"%d/10",GetPVarInt(playerid,"RazgruzSkokaHleb"));
VehPT[CarIDAuto] = Create3DTextLabel(str,0xFFFFFFFF,pos[0], pos[1], pos[2]+0.5,40.0,0,1);
}
return 1;}
На этом всё
Автор: Amfy
Переделывал:я(Basis)
видео тест можете глянуть тут
координаты отличаются от этих что на видео
{
if(Player[playerid][pJob] != 4) return SCM(playerid, COLOR_GREY, "Вы не развозчик хлеба!");
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SCM(playerid, COLOR_GREY, "Вы должны быть за рулём транспортного средства!");
new carid = GetPlayerVehicleID(playerid);
new playerhlebcar = GetVehicleModel(carid);
if(!PlayerToPoint(10.0,playerid,1944.9983,2081.1301,16.1989)) return SCM(playerid, COLOR_LIGHTRED, "Вы должны подъехать к складу на пикап!");
if(playerhlebcar != 499) return SCM(playerid, COLOR_LIGHTRED, "Для работы нужна хлебная машина!");
if(carid == hlebcar[0] && autoh1 == 1) return SCM(playerid, -1, "Тачка занята!");
if(carid == hlebcar [1] && autoh2 == 1) return SCM(playerid, -1, "Тачка занята!");
if(carid == hlebcar [2]&& autoh3 == 1) return SCM(playerid, -1, "Тачка занята!");
SendClientMessage(playerid, -1, "Выйдите из машины и загрузите хлеб в машину.");
SetPlayerCheckpoint(playerid, 1944.9983,2081.1301,16.1989, 1.0);
SetPVarInt(playerid, "ExitAutoHleb", 1);
if(carid == hlebcar[0]) return autoh1 = 1;
if(carid == hlebcar[1]) return autoh2 = 1;
if(carid == hlebcar[2]) return autoh3 = 1;
return 1;
}
в public OnPlayerExitVehicle(playerid, vehicleid)
if(GetPVarInt(playerid, "ExitAutoHleb") == 1)
{
new Floatos[3];
new carid = GetPlayerVehicleID(playerid);
GetCoordBootVehicle(carid, pos[0], pos[1], pos[2]);
VehPT[vehicleid] = Create3DTextLabel("0/10",0xFFFFFFFF,pos[0], pos[1], pos[2]+0.5,40.0,0,1);
VehPP[vehicleid] = CreatePickup(19197,23,pos[0], pos[1], pos[2]+0.5);
SetPlayerCheckpoint(playerid,1944.9983,2081.1301,16.1989,1.0);
SendClientMessage(playerid, -1, "Берите хлеб на складе и грузите в машину.");
DeletePVar(playerid, "ExitAutoHleb");
SetPVarInt(playerid, "BeretHleb", 1);
SetPVarInt(playerid, "CarID", carid);
TimerZag = SetTimerEx("StartZagruzHleb",300000,false, "i", playerid);
}
if(GetPVarInt(playerid, "ExitRazgruzHleb") == 1)
{
new Floatos[3];
new carid = GetPlayerVehicleID(playerid);
GetCoordBootVehicle(carid, pos[0], pos[1], pos[2]);
VehPT[vehicleid] = Create3DTextLabel("0/10",0xFFFFFFFF,pos[0], pos[1], pos[2]+0.5,40.0,0,1);
VehPP[vehicleid] = CreatePickup(19197,23,pos[0], pos[1], pos[2]+0.5);
SetPVarInt(playerid, "RazgruzHleb", 1);
SetPVarInt(playerid, "car", carid);
TimerRaz = SetTimerEx("StartRazgruzHleb",300000,false, "i", playerid);
}
в public OnPlayerStateChange(playerid, newstate, oldstate)
if(tacha >= hlebcar[0] && tacha <= hlebcar[2]) //
{
if(Player[playerid][pJob] == 4)
{
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_WHITE, "У Вас нет ключей от этого транспорта и вы не развозчик хлеба!");
}
}
в public OnPlayerEnterCheckpoint(playerid)
if(GetPVarInt(playerid, "BeretHleb") == 1)
{
DeletePVar(playerid, "BeretHleb");
DisablePlayerCheckpoint(playerid);
ApplyAnimation(playerid,"CARRY","liftup",4.0,0,0,0,1,1,1);
SetTimerEx("BeretHlebTime",1000,false, "i", playerid);
SetPVarInt(playerid, "NesetHleb", 1);
}
if(GetPVarInt(playerid, "RazgruzHlebGo") == 1)
{
SendClientMessage(playerid, -1, "Выйдите из машины и разгружайте хлеб на склад.");
DeletePVar(playerid, "RazgruzHlebGo");
SetPVarInt(playerid, "ExitRazgruzHleb", 1);
}
if(GetPVarInt(playerid, "RazgruzBeretHleb") == 1)
{
DeletePVar(playerid, "RazgruzBeretHleb");
DisablePlayerCheckpoint(playerid);
ApplyAnimation(playerid,"CARRY","putdwn",4.0,0,0,0,1,1,1);
SetPVarInt(playerid, "RazgruzHleb", 1);
SetTimerEx("RazgruzHlebTime",700,false, "i", playerid);
}
в public OnPlayerPickUpPickup(playerid, pickupid)
if(pickupid == hlebjob)
{
ShowPlayerDialog(playerid,34,DIALOG_STYLE_MSGBOX,"Работа Развозчик хлеба","Вы уверены, что хотите стать [Развозчиком хлеба]?\n Если да - нажмите Принять","Принять","Отмена");
}
if(GetPVarInt(playerid, "NesetHleb") == 1)
{
new Floatos[3], str[10];
new CarIDAuto = GetPVarInt(playerid, "CarID");
GetCoordBootVehicle(CarIDAuto, pos[0], pos[1], pos[2]);
if(PlayerToPoint(3.0,playerid,pos[0], pos[1], pos[2]
{
DeletePVar(playerid, "NesetHleb");
SetPVarInt(playerid, "SkokaHleb", GetPVarInt(playerid, "SkokaHleb") +1);
RemovePlayerAttachedObject(playerid,5);
ApplyAnimation(playerid,"RAPPING","RAP_A_OUT",10.0, 0, 0, 0, 0, 0);
format(str, sizeof(str),"%d/10",GetPVarInt(playerid,"SkokaHleb"));
Update3DTextLabelText(VehPT[CarIDAuto],0xFFFFFFFF,str);
SetPlayerCheckpoint(playerid,1944.9983,2081.1301,16.1989,1.0);
SetPVarInt(playerid, "BeretHleb", 1);
if(GetPVarInt(playerid, "SkokaHleb") == 10)
{
SendClientMessage(playerid, -1, "Вы загрузили хлеб в машину. Садитесь и везите хлеб на тюремный остров.");
SendClientMessage(playerid, -1, "У вас есть 10 минут чтобы привести хлеб, иначе с вас снимут неустойку!");
SetPlayerCheckpoint(playerid,211.2333,865.7972,12.1045,4.0);
SetPVarInt(playerid, "RazgruzHlebGo", 1);
DeletePVar(playerid, "BeretHleb");
DeletePVar(playerid, "NesetHleb");
DeletePVar(playerid, "SkokaHleb");
DeletePVar(playerid, "ExitAutoHleb");
DestroyPickup(VehPP[CarIDAuto]);
Delete3DTextLabel(VehPT[CarIDAuto]);
KillTimer(TimerZag);
TimerPut = SetTimerEx("StartPutHleb",600000,false, "i", playerid);
//Сюда таймер
}
}
}
if(GetPVarInt(playerid, "RazgruzHleb") == 1)
{
new Floatos[3], str[10];
new CarIDAuto = GetPVarInt(playerid, "car");
GetCoordBootVehicle(CarIDAuto, pos[0], pos[1], pos[2]);
if(PlayerToPoint(3.0,playerid,pos[0], pos[1], pos[2]
{
ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1);
SetPlayerAttachedObject(playerid,5,1221,1,0.135011,0.463495,-0.024351,357.460632,87.350753,88.068374,0.434164,0.491270,0.368655);
DeletePVar(playerid, "RazgruzHleb");
SetPVarInt(playerid, "RazgruzSkokaHleb", GetPVarInt(playerid, "RazgruzSkokaHleb") +1);
format(str, sizeof(str),"%d/10",GetPVarInt(playerid,"RazgruzSkokaHleb"));
Update3DTextLabelText(VehPT[CarIDAuto],0xFFFFFFFF,str);
SetPlayerCheckpoint(playerid,216.6406,860.5789,13.3820,1.0);
SetPVarInt(playerid, "RazgruzBeretHleb", 1);
if(GetPVarInt(playerid, "RazgruzSkokaHleb") == 11)
{
ApplyAnimation(playerid,"RAPPING","RAP_A_OUT",10.0, 0, 0, 0, 0, 0);
SendClientMessage(playerid, -1, "Вы привезли и разгрузили хлеб и получили 3000р.");
DisablePlayerCheckpoint(playerid);
GivePlayerMoney(playerid, 3000);
RemovePlayerAttachedObject(playerid,5);
DisablePlayerCheckpoint(playerid);
DeletePVar(playerid, "RazgruzHlebGo");
DeletePVar(playerid, "RazgruzHleb");
DeletePVar(playerid, "RazgruzBeretHleb");
DeletePVar(playerid, "CarID");
DeletePVar(playerid, "car");
DeletePVar(playerid, "RazgruzSkokaHleb");
DeletePVar(playerid, "ExitRazgruzHleb");
DestroyPickup(VehPP[CarIDAuto]);
Delete3DTextLabel(VehPT[CarIDAuto]);
KillTimer(TimerZag);
KillTimer(TimerRaz);
KillTimer(TimerPut);
if(CarIDAuto == hlebcar[0] && autoh1 == 1) return autoh1 = 0;
if(CarIDAuto == hlebcar[1] && autoh2 == 1) return autoh2 = 0;
if(CarIDAuto == hlebcar[2] && autoh3 == 1) return autoh3 = 0;
}
}
}
в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
if(dialogid==34)
{
if(response)
{
if(Player[playerid][pJob] != 4)
{
if(Player[playerid][pJob] == 4) return SendClientMessage(playerid, COLOR_GRAD1, "Вы уже устроены на эту работу!");
if(Player[playerid][pLevel] < 2) return SendClientMessage(playerid, COLOR_GRAD1, "Вам требуется 3 уровень!");
Player[playerid][pJob] = 4;
SendClientMessage(playerid, COLOR_WHITE, "Поздравляем вы устроились на роботу Развозчик хлеба!");
SendClientMessage(playerid, COLOR_WHITE, "Все команды можно посмотрить в разделе /help[Роботы]!");
SavePlayer(playerid);
}
}
return 1;
}
дальше нужно будет добавить пару пабликов,и желательно чтобы у вас был паблик по типу тюрьмы чтобы вызывался каждую секунду,если такой есть то добавим туда
Hlebupdate(i);
и в конец мода добавим
forward StartZagruzHleb(playerid);
public StartZagruzHleb(playerid)
{
new carid = GetPVarInt(playerid, "CarID");
SendClientMessage(playerid, -1, "Вы не привезли хлеб! С вас снята неустойка 200р");
GivePlayerMoney(playerid, -200);
KillTimer(TimerZag);
DestroyPickup(VehPP[carid]);
Delete3DTextLabel(VehPT[carid]);
SetVehicleToRespawn(carid);
DisablePlayerCheckpoint(playerid);
DeletePVar(playerid, "ExitAutoHleb");
DeletePVar(playerid, "BeretHleb");
DeletePVar(playerid, "NesetHleb");
DeletePVar(playerid, "SkokaHleb");
DeletePVar(playerid, "RazgruzHlebGo");
DeletePVar(playerid, "ExitRazgruzHleb");
DeletePVar(playerid, "RazgruzHleb");
DeletePVar(playerid, "RazgruzSkokaHleb");
DeletePVar(playerid, "RazgruzBeretHleb");
DeletePVar(playerid, "car");
DeletePVar(playerid, "CarID");
return 1;
}
forward StartRazgruzHleb(playerid);
public StartRazgruzHleb(playerid)
{
new carid = GetPVarInt(playerid, "car");
SendClientMessage(playerid, -1, "Вы не привезли хлеб! С вас снята неустойка 200р");
GivePlayerMoney(playerid, -200);
KillTimer(TimerRaz);
DestroyPickup(VehPP[carid]);
Delete3DTextLabel(VehPT[carid]);
SetVehicleToRespawn(carid);
DisablePlayerCheckpoint(playerid);
DeletePVar(playerid, "ExitAutoHleb");
DeletePVar(playerid, "BeretHleb");
DeletePVar(playerid, "NesetHleb");
DeletePVar(playerid, "SkokaHleb");
DeletePVar(playerid, "RazgruzHlebGo");
DeletePVar(playerid, "ExitRazgruzHleb");
DeletePVar(playerid, "RazgruzHleb");
DeletePVar(playerid, "RazgruzSkokaHleb");
DeletePVar(playerid, "RazgruzBeretHleb");
DeletePVar(playerid, "car");
DeletePVar(playerid, "CarID");
return 1;
}
forward StartPutHleb(playerid);
public StartPutHleb(playerid)
{
new carid = GetPVarInt(playerid, "CarID");
SendClientMessage(playerid, -1, "Вы не привезли хлеб! С вас снята неустойка 200р");
GivePlayerMoney(playerid, -200);
KillTimer(TimerPut);
DestroyPickup(VehPP[carid]);
Delete3DTextLabel(VehPT[carid]);
SetVehicleToRespawn(carid);
DisablePlayerCheckpoint(playerid);
DeletePVar(playerid, "ExitAutoHleb");
DeletePVar(playerid, "BeretHleb");
DeletePVar(playerid, "NesetHleb");
DeletePVar(playerid, "SkokaHleb");
DeletePVar(playerid, "RazgruzHlebGo");
DeletePVar(playerid, "ExitRazgruzHleb");
DeletePVar(playerid, "RazgruzHleb");
DeletePVar(playerid, "RazgruzSkokaHleb");
DeletePVar(playerid, "RazgruzBeretHleb");
DeletePVar(playerid, "car");
DeletePVar(playerid, "CarID");
return 1;
}
forward RazgruzHlebTime(playerid);
public RazgruzHlebTime(playerid)
{
RemovePlayerAttachedObject(playerid,5);
ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,0,0,0,0,0,0);
return 1;
}
forward BeretHlebTime(playerid);
public BeretHlebTime(playerid)
{
ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1);
SetPlayerAttachedObject(playerid,5,1221,1,0.135011,0.463495,-0.024351,357.460632,87.350753,88.068374,0.434164,0.491270,0.368655);
return 1;
}
forward Hlebupdate(playerid);
public Hlebupdate(playerid)
{
if(GetPVarInt(playerid, "NesetHleb") == 1)
{
new Floatos[3], str[10];
new CarIDAuto = GetPVarInt(playerid, "CarID");
GetCoordBootVehicle(CarIDAuto, pos[0], pos[1], pos[2]);
DestroyPickup(VehPP[CarIDAuto]);
Delete3DTextLabel(VehPT[CarIDAuto]);
VehPP[CarIDAuto] = CreatePickup(19197,23,pos[0], pos[1], pos[2]+0.5);
format(str, sizeof(str),"%d/10",GetPVarInt(playerid,"SkokaHleb"));
VehPT[CarIDAuto] = Create3DTextLabel(str,0xFFFFFFFF,pos[0], pos[1], pos[2]+0.5,40.0,0,1);
}
if(GetPVarInt(playerid, "RazgruzHleb") == 1)
{
new Floatos[3], str[10];
new CarIDAuto = GetPVarInt(playerid, "car");
GetCoordBootVehicle(CarIDAuto, pos[0], pos[1], pos[2]);
DestroyPickup(VehPP[CarIDAuto]);
Delete3DTextLabel(VehPT[CarIDAuto]);
VehPP[CarIDAuto] = CreatePickup(19197,23,pos[0], pos[1], pos[2]+0.5);
format(str, sizeof(str),"%d/10",GetPVarInt(playerid,"RazgruzSkokaHleb"));
VehPT[CarIDAuto] = Create3DTextLabel(str,0xFFFFFFFF,pos[0], pos[1], pos[2]+0.5,40.0,0,1);
}
return 1;}
На этом всё
Автор: Amfy
Переделывал:я(Basis)
видео тест можете глянуть тут
координаты отличаются от этих что на видео
Последнее редактирование модератором: