Доступ к готовым решениям

Переход в группу "Пользователь"

300.00
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Работа: Мусоровозчика

Saibot

Мастер
Professional
Пользователь
Регистрация
20 Сен 2013
Сообщения
2,643
Лучшие ответы
84
Репутация
1,405
Награды
4
Суть заключается в том, что вам нужно будет ездить по Los Santos и собирать мусор. Когда транспорт будет полностью загружен вам нужно будет отвести мусор на переработку где вы получите деньги! Устройство на работу находится на Мусорке возле СФ

Ко всем new
PHP:
new job_dustman_following_label[MAX_PLAYERS char],
    job_dustman_collected_garbage[MAX_VEHICLES char],
    job_dustman_clothes,
    job_dustman_vehicle[5 char],
    Text: job_dustman_TD[MAX_PLAYERS][3];

static const Float: job_dustman_checpoint [][] =
{
    {-39.99950, -1556.30786, 2.08210},
    {360.28171, -1805.40613, 4.41250},
    {656.99951, -1767.75562, 13.37430},
    {852.62347, -1620.03491, 13.32230},
    {1144.41541, -1839.33191, 13.33570},
    {1525.27258, -1849.93896, 13.33140},
    {1608.78210, -1609.49133, 13.46590},
    {1787.94800, -1591.48669, 13.27520},
    {2276.37329, -1677.78503, 14.66520},
    {2469.32935, -1542.00818, 24.00805},
    {2797.75977, -1818.46130, 9.63220},
    {2825.68750, -1191.71375, 24.86850},
    {2680.91821, -1099.67725, 69.10050},
    {2084.72119, -972.45074, 50.76890},
    {1854.97131, -1068.99866, 23.67190},
    {921.34790, -1203.25122, 16.77091},
    {-53.78070, -1153.66162, 0.86780},
    {-437.52338, -410.75882, 16.11880},
    {-915.46674, -487.21039, 25.77560},
    {-1049.20227, -690.92462, 32.14730},
    {-1880.9119, -1657.9731, 21.7500}
};
В public OnGameModeInit()
PHP:
job_dustman_clothes = CreatePickup(1275,2,-1854.9343,-1561.3815,21.7500,0);//Пикап для одежды
//---Транспорт
job_dustman_vehicle[0] = AddStaticVehicleEx(408, -1893.6250, -1702.1425, 22.2707, 185.0000, -1, -1, 60);
job_dustman_vehicle[1] = AddStaticVehicleEx(408, -1899.6464, -1702.1425, 22.2507, 185.0000, -1, -1, 60);
job_dustman_vehicle[2] = AddStaticVehicleEx(408, -1905.1716, -1702.3016, 22.2507, 185.0000, -1, -1, 60);
job_dustman_vehicle[3] = AddStaticVehicleEx(408, -1911.0874, -1702.6617, 22.2507, 185.0000, -1, -1, 60);
job_dustman_vehicle[4] = AddStaticVehicleEx(408, -1916.6383, -1702.9825, 22.2507, 185.0000, -1, -1, 60);
//---Объекты
CreateObject(1344, -39.99950, -1556.30786, 2.08210,   0.00000, 0.00000, 142.00000);
CreateObject(1344, 360.28171, -1805.40613, 4.41250,   0.00000, 0.00000, -90.00000);
CreateObject(1344, 656.99951, -1767.75562, 13.37430,   0.00000, 0.00000, -105.00000);
CreateObject(1344, 852.62347, -1620.03491, 13.32230,   0.00000, 0.00000, -90.00000);
CreateObject(1344, 1144.41541, -1839.33191, 13.33570,   0.00000, 0.00000, 90.00000);
CreateObject(1344, 1525.27258, -1849.93896, 13.33140,   0.00000, 0.00000, 180.00000);
CreateObject(1344, 1608.78210, -1609.49133, 13.46590,   0.00000, 0.00000, 90.00000);
CreateObject(1344, 1787.94800, -1591.48669, 13.27520,   0.00000, 0.00000, 40.00000);
CreateObject(1344, 2276.37329, -1677.78503, 14.66520,   0.00000, 0.00000, 98.00000);
CreateObject(1344, 2469.32935, -1542.00818, 24.00805,   0.00000, 0.00000, 0.00000);
CreateObject(1344, 2797.75977, -1818.46130, 9.63220,   0.00000, 0.00000, 40.00000);
CreateObject(1344, 2825.68750, -1191.71375, 24.86850,   0.00000, 0.00000, 90.00000);
CreateObject(1344, 2680.91821, -1099.67725, 69.10050,   0.00000, 0.00000, 90.00000);
CreateObject(1344, 2084.72119, -972.45074, 50.76890,   0.00000, 0.00000, -11.00000);
CreateObject(1344, 1854.97131, -1068.99866, 23.67190,   0.00000, 0.00000, 180.00000);
CreateObject(1344, 921.34790, -1203.25122, 16.77091,   0.00000, 0.00000, -90.00000);
CreateObject(1344, -53.78070, -1153.66162, 0.86780,   0.00000, 0.00000, 156.00000);
CreateObject(1344, -437.52338, -410.75882, 16.11880,   0.00000, 0.00000, 0.00000);
CreateObject(1344, -915.46674, -487.21039, 25.77560,   0.00000, 0.00000, 164.00000);
CreateObject(1344, -1049.20227, -690.92462, 32.14730,   0.00000, 0.00000, 90.00000);
В public OnPlayerExitVehicle(playerid, vehicleid)
PHP:
if(GetPVarInt(playerid, !"job_dustman_LS"))
{
    TextDrawHideForPlayer(playerid, job_dustman_TD[playerid][0]);
    TextDrawHideForPlayer(playerid, job_dustman_TD[playerid][1]);
    TextDrawHideForPlayer(playerid, job_dustman_TD[playerid][2]);
}
В public OnPlayerStateChange(playerid, newstate, oldstate)
PHP:
new vehicle = GetPlayerVehicleID(playerid);
if(vehicle >= job_dustman_vehicle[0] && vehicle <= job_dustman_vehicle[4])
{
    if(!GetPVarInt(playerid, !"job_dustman_clothes"))
    {
        SendClientMessage(playerid, -1, !"Ты не начал рабочий день!");
        RemovePlayerFromVehicle(playerid);
        return true;
    }
    if(!GetPVarInt(playerid, !"job_dustman_LS"))
    {
        SendClientMessage(playerid, -1, !"Подсказка: Езжай в Los Santos и собери там мусор.");
        SetPlayerRaceCheckpoint(playerid, 2, -39.99950, -1556.30786, 2.08210,0.0,0.0,0.0,2.0);

        SetPVarInt(playerid,!"job_dustman_LS",1);
        job_dustman_following_label{playerid} ++;
    }
    new val_str[5 char]
    for(new v = 5; v-- != 0;)
    {
        if(vehicle == job_dustman_vehicle[v])
        {
            valstr(val_str, job_dustman_collected_garbage{v});
            strcat(val_str, !"%");

            TextDrawSetString(job_dustman_TD[playerid][2], val_str);
        }
    }
    TextDrawShowForPlayer(playerid, job_dustman_TD[playerid][0]);
    TextDrawShowForPlayer(playerid, job_dustman_TD[playerid][1]);
    TextDrawShowForPlayer(playerid, job_dustman_TD[playerid][2]);
}
В public OnPlayerEnterRaceCheckpoint(playerid)
PHP:
if(GetPVarInt(playerid, !"job_dustman_LS"))
{
    switch(job_dustman_following_label{playerid})
    {
        case 1..20:
        {
            if(IsPlayerInAnyVehicle(playerid))
                return true;

            SendClientMessage(playerid, -1, !"Подсказка: Подойдите к транспорту и нажмите L.Alt!");

            job_dustman_following_label{playerid} ++;
            PlayerPlaySound(playerid, 5602, 0.0, 0.0, 0.0);
            SetPlayerAttachedObject(playerid,1,1264, 5, 0.01, 0.1, 0.2, -90, 0, 0);
            ApplyAnimation(playerid,!"CARRY",!"crry_prtial",4.1,0,1,1,1,1);
            SetPVarInt(playerid,!"take_trash",1);

            SetPlayerRaceCheckpoint(playerid,2,
                job_dustman_checpoint[job_dustman_following_label{playerid}-1][0],
                job_dustman_checpoint[job_dustman_following_label{playerid}-1][1],
                job_dustman_checpoint[job_dustman_following_label{playerid}-1][2],
                0.0,0.0,0.0,2.0
            );
        }
        case 21:
        {
            new salary = 8000 + random(6000),
                vehicleid = GetPlayerVehicleID(playerid);

            SendClientMessage(playerid, -1, !"Ты успешно сдал мусор на переработку.");
            job_dustman_following_label{playerid} = 0;
            DeletePVar(playerid,!"job_dustman_LS");
            DisablePlayerRaceCheckpoint(playerid);
            SetVehicleToRespawn(vehicleid);

            new string[29 + 5] = "~g~Добавлено к зарплате ~w~+$",
                val_str[5 char];

            valstr(val_str, salary);
            strcat(string, val_str);
            GameTextForPlayer(playerid, string, 5000, 6);

            PlayerInfo[playerid][pPayCheck] += salary;
            PlayerPlaySound(playerid, 4201, 0.0, 0.0, 0.0);

            for(new v = 5; v-- != 0;)
            {
                if(vehicleid == job_dustman_vehicle[v])
                {
                    job_dustman_collected_garbage{v} = 0;
                }
            }
            TextDrawHideForPlayer(playerid, job_dustman_TD[playerid][0]);
            TextDrawHideForPlayer(playerid, job_dustman_TD[playerid][1]);
            TextDrawHideForPlayer(playerid, job_dustman_TD[playerid][2]);
        }
    }
}
В public OnPlayerPickUpPickup(playerid, pickupid)
PHP:
if(pickupid == job_dustman_clothes)
{
    if(!GetPVarInt(playerid, !"job_dustman_clothes"))
    {
        SetPlayerSkin(playerid, (PlayerInfo[playerid][pSex] == 1) ? 16 : 157);
        SetPVarInt(playerid,!"job_dustman_clothes",1);
        return SendClientMessage(playerid, -1, !"Рабочий день начат!");
    }
    SendClientMessage(playerid, -1, !"Рабочий день закончен!");

    DeletePVar(playerid,!"job_dustman_LS");
    DeletePVar(playerid,!"job_dustman_clothes");
    DisablePlayerRaceCheckpoint(playerid);

    SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);//pModel Меняем на свое!
}
В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
PHP:
if(newkeys == KEY_WALK)
{
    if(GetPVarInt(playerid, !"take_trash") == 1)
    {
        new Float: vehicle_x,
            Float: vehicle_y,
            Float: vehicle_z;

        for(new v = 5; v-- != 0;)
        {
            GetVehiclePos(job_dustman_vehicle[v], vehicle_x, vehicle_y, vehicle_z);

            if(IsPlayerInRangeOfPoint(playerid, 5.0, vehicle_x, vehicle_y, vehicle_z))
            {
                job_dustman_collected_garbage{v} += 5;
                ApplyAnimation(playerid, !"CARRY", !"PUTDWN05", 4.1, 0, 0, 0, 0, 0, 0);
                DeletePVar(playerid,!"take_trash");
                RemovePlayerAttachedObject(playerid, 1);

                if(job_dustman_collected_garbage{v} == 100)
                {
                    job_dustman_following_label{playerid} = 21;

                    SetPlayerRaceCheckpoint(playerid, 2,
                        -1880.9119,-1657.9731,21.7500,0.0,0.0,0.0,6.0
                    );
                    SendClientMessage(playerid, 0xBFC0C2FF,
                        !"Мусоровоз заполнен, отвези мусор на переработку."
                    );
                    return true;
                }
                break;
            }
        }
    }
}
В public OnPlayerConnect(playerid)
PHP:
job_dustman_following_label{playerid} = 0;

job_dustman_TD[playerid][0] = TextDrawCreate(116.999984, 233.277786, "usebox");
TextDrawLetterSize(job_dustman_TD[playerid][0], 0.000000, 2.169960);
TextDrawTextSize(job_dustman_TD[playerid][0], 42.583343, 0.000000);
TextDrawUseBox(job_dustman_TD[playerid][0], true);
TextDrawBoxColor(job_dustman_TD[playerid][0], 102);

job_dustman_TD[playerid][1] = TextDrawCreate(-15.000007, 188.222152, "New Textdraw");
TextDrawLetterSize(job_dustman_TD[playerid][1], 0.449999, 1.600000);
TextDrawTextSize(job_dustman_TD[playerid][1], 105.416664, 100.592658);
TextDrawAlignment(job_dustman_TD[playerid][1], 1);
TextDrawColor(job_dustman_TD[playerid][1], -1);
TextDrawUseBox(job_dustman_TD[playerid][1], true);
TextDrawBoxColor(job_dustman_TD[playerid][1], 0);
TextDrawSetShadow(job_dustman_TD[playerid][1], 0);
TextDrawSetOutline(job_dustman_TD[playerid][1], 1);
TextDrawBackgroundColor(job_dustman_TD[playerid][1], 572661504);
TextDrawFont(job_dustman_TD[playerid][1], 5);
TextDrawSetProportional(job_dustman_TD[playerid][1], 1);
TextDrawSetPreviewModel(job_dustman_TD[playerid][1], 408);
TextDrawSetPreviewRot(job_dustman_TD[playerid][1], -15.000000, 0.000000, 25.000000, 1.000000);

job_dustman_TD[playerid][2] = TextDrawCreate(75.833335, 234.370376, "0%");
TextDrawLetterSize(job_dustman_TD[playerid][2], 0.416666, 1.677777);
TextDrawAlignment(job_dustman_TD[playerid][2], 1);
TextDrawColor(job_dustman_TD[playerid][2], -1);
TextDrawUseBox(job_dustman_TD[playerid][2], true);
TextDrawBoxColor(job_dustman_TD[playerid][2], 0);
TextDrawSetShadow(job_dustman_TD[playerid][2], 0);
TextDrawSetOutline(job_dustman_TD[playerid][2], 1);
TextDrawBackgroundColor(job_dustman_TD[playerid][2], 51);
TextDrawFont(job_dustman_TD[playerid][2], 3);
TextDrawSetProportional(job_dustman_TD[playerid][2], 1);
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!

Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!



Автор: Saibot
 
Сверху Снизу