shape1
shape2
shape3
shape4
shape7
shape8

Работа [Развозчик хлеба]


Basis

chto tut doljno bit`!?
Пользователь
24.06.2014
824
1
271
0
25
Всем привет,недавно лазил в моде Астера и нашёл там отличную работу которую решил выложить сюда
ко всем 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 Float:pos[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 Float:pos[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 Float:pos[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 Float:pos[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 Float:pos[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 Float:pos[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)
видео тест можете глянуть тут

 
координаты отличаются от этих что на видео
 
Последнее редактирование модератором:

MotoSport

Pawno-Crmp.Ru || Живи вечно!
Пользователь
08.03.2015
921
168
0
23
Amfy как всегда на высоте. И ты молодец что выложил. + твой

 

LHTTD

Темная сторона Форума
Пользователь
08.10.2014
325
43
0
Хорошая Работа+

 
Последнее редактирование модератором:

Basis

chto tut doljno bit`!?
Пользователь
24.06.2014
824
1
271
0
25
Прошу администрацию отредактировать тему,а точнее
в public OnPlayerEnterCheckpoint(playerid)
и удалить от туда код


Код:
if(GetPVarInt(playerid,"Otnesti") == 1)
{
    Dobivat[playerid] = 1;
    DisablePlayerCheckpoint(playerid);
    RemovePlayerAttachedObject(playerid,4);
    ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 0, 1);
    SendClientMessage(playerid,0xFFFFFFFF,"Вы донесли руду на ковеер оно было отправленно на переработку.");
    MoveObject(RudokopAnim[playerid],-391.0000000000,-1097.1149902344,708.34600830078,2.00);
    SetPlayerAttachedObject(playerid, 3, 18634, 6, 0.078222, 0.000000, 0.110844, 298.897308, 264.126861, 193.350555, 1.000000, 1.000000, 1.000000);
    RudaTimer = SetTimerEx("RudaTimer1",6000, false, "i", playerid);
    SetPVarInt(playerid,"Otnesti",0);
    SetPVarInt(playerid,"Ruda",1);
    return true;
}
прошу администрацию,так как сам почему-то не могу редактировать тему