• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Баг с машинами на работе для новичков

zazais

Специалист
Привет.
Нашел работу грузчика, суть работы: Подходишь к пикапу устраиваешься на работу, надо взять машину (ID 530 маленький подемник) Тебе ставится пикап, подезжаешь к пикапу берешь Ящик, отвезишь ящик и тебе дает 50$ за каждый ящик

Вот какие баги нашел:

Сама работа не багнутая, ящик берется, в машину садится, Но! Я через /veh создал такую же машину и на ней тоже можно работать, не важно устроился ты на работу, или нет. При уволнении пикап не пропадает, работа продолжается.


вот сама работа
Код:
//работа
new
    rabota
    PickupLoader[MAX_PLAYERS],
    PickupUnLoader[MAX_PLAYERS],
    rabotj[MAX_PLAYERS],
    Autopere[2],
    AutoCash[MAX_PLAYERS]
;

new Float:Loader[][3]={
{2179.6121,-2337.2349,16.5987},
{2171.1440,-2318.9844,14.7854},
{2164.0432,-2311.8845,14.7054},
{2157.9058,-2303.1006,14.9447},
{2194.5405,-2286.4634,16.9598}
};
//-------------------------------
// в enum pInfo
pJob

//в onplayerconnect
RemoveBuildingForPlayer(playerid, 3578, 2165.0703, -2288.9688, 13.2578, 0.25);//Удалённый объект
AutoCash[playerid] = 0;
//-------------------------------
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == PLAYER_STATE_DRIVER)
    {
        if(carid >= Autopere[0] && carid <= Autopere[1])
        {
            if(PlayerInfo[playerid][pJob] == 1)
            {
                if(GetPVarInt(playerid,"AutoProver") == 1)
                {
                    new rand = random(sizeof(Loader));
                    PickupLoader[playerid] = CreateDynamicPickup(1559,14,Loader[rand][0], Loader[rand][1], Loader[rand][2],0,0,0,500.0);
                    SCM(playerid,COLOR_WHITE,"Езжай за ящиками.Чтобы взять ящик,езжай на белый пикап!");
                }
                else
                {
                    SCM(playerid,COLOR_Copy,"Вы не начали рабочий день!");
                    RemovePlayerFromVehicle(playerid);
                    return 1;
                }
            }
            else
            {
                SCM(playerid,COLOR_Copy,"У вас нет ключей от 'Водителя погрузчика'");
                RemovePlayerFromVehicle(playerid);
                return 1;
            }
        }
        return 1;
    }
    else if(newstate == PLAYER_STATE_ONFOOT)
    {
        if(PickupLoader[playerid]) DestroyDynamicPickup(PickupLoader[playerid]);
        if(PickupUnLoader[playerid]) DestroyDynamicPickup(PickupUnLoader[playerid]);
        DestroyDynamicObject(rabotj[playerid]);
    }
    return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
    if(pickupid == rabota)
    {
        if(IsPlayerInRangeOfPoint(playerid,1.5,2182.8296,-2253.2031,14.7748))//пикап рб
        {
            new string[269];
            format(string,sizeof(string),"{FFFFFF}Привет,ты пришёл на работу 'Водитель погрузчика'.\nЧтобы начать работу,сядь в один из автомобилей перевозчика и ты начнёшь свою работу.\nЧем больше,ты перевезешь ящиков,тем больше заработаешь.\nЦена перевозки ящика стоит {1E90FF}$50.{00EE76}Удачи...");
            SPD(playerid,18,DSM,"Водитель погрузчика ",string,"Начать","Закончить");
        }
    }
    return 1;
}
public OnPlayerPickUpDynamicPickup(playerid, pickupid)
{
    if(pickupid == PickupLoader[playerid])
    {
        rabotj[playerid] = CreateDynamicObject(1224, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
        AttachDynamicObjectToVehicle(rabotj[playerid], GetPlayerVehicleID(playerid), 0.0, 0.6, 0.6, 0.0, 0.0, 0.0);
        PickupUnLoader[playerid] = CreateDynamicPickup(1559,14,2215.1641,-2285.1313,16.2650,0,0,0,500.0);
        DestroyDynamicPickup(PickupLoader[playerid]);
        SCM(playerid,COLOR_WHITE,"Отвези на склад ящик!");
    }
    if(pickupid == PickupUnLoader[playerid])
    {
        new string[80];
        AutoCash[playerid] += 50;
        GameTextForPlayer(playerid,"~g~+50",3000,4);
        SCM(playerid,COLOR_WHITE,"Возьми новый ящик!");
        format(string,sizeof(string),"Вы отвезли ящик на склад,теперь вы заработали {1E90FF}$%d",AutoCash[playerid]);
        SCM(playerid,COLOR_WHITE,string);
         new rand = random(sizeof(Loader));
        PickupLoader[playerid] = CreateDynamicPickup(1559,14,Loader[rand][0], Loader[rand][1], Loader[rand][2],0,0,0,500.0);
        DestroyDynamicPickup(PickupUnLoader[playerid]);
        DestroyDynamicObject(rabotj[playerid]);
    }
    return 1;
}
public OnPlayerDisconnect(playerid, reason) //от участника форума faraday*
{
    if(PickupLoader[playerid])
    {
        DestroyDynamicPickup(PickupLoader[playerid]);
        DestroyDynamicPickup(PickupUnLoader[playerid]);
        DestroyDynamicObject(rabotj[playerid]);
     }
    return 1;
}
//-------------------------------
rabota = CreatePickup(1275,23,2182.8296,-2253.2031,14.7748);//пикап работы
//-------------------------------
//-------------------------------
Autopere[0] = AddStaticVehicleEx(530, 2173.7205, -2262.3252, 12.8375, 225.0000, 6, 6, 120);
AddStaticVehicleEx(530, 2172.2095, -2263.7607, 12.8375, 225.0000, 6, 6, 120);
Autopere[1] = AddStaticVehicleEx(530, 2170.6035, -2265.2971, 12.8375, 225.0000, 6, 6, 120);
//-------------------------------
case 18100:
        {
            if(response)
            {
                PlayerInfo[playerid][pJob] = 1;
                SetPlayerSkin(playerid,8);
                SetPVarInt(playerid,"AutoProver",1);
            }
            else
            {
                PlayerInfo[playerid][pMoney] += AutoCash[playerid];
                AutoCash[playerid] = 0;
                SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);
                SetPVarInt(playerid,"AutoProver",0);
            }
        }
-------------------------------
коннкет SetPVarInt(playerid,"AutoProver",0);
//-------------------------------

с сохранением разобрался ее вообще не надо сохранять простой создать pJob


Помогите пожалуйста как сделать чтобы только на машине [Autopere] можно было работать а на других машинах нельзя было
 
Сверху Снизу