Показано с 1 по 10 из 10

Тема: Скрипт основы работы дальнобойщика или развозчика.

  1. #1
    Джентльмен лжец Аватар для Fallen A.
    Регистрация
    03.09.2011
    Адрес
    Минск, БССР
    Возраст
    29
    Сообщений
    2,409
    Репутация: 337

    Звание: как роза среди колючек

    Скрипт основы работы дальнобойщика или развозчика.

    Человек просил основу для работы дальнобойщиков, так вот я решил ее "сделать" и выложить, как с ним и договаривались.
    Скрипт очень грубый и для НАЧАЛА или за ОСНОВУ пойдет.
    Использовал плагин Владокса http://pawno.su/showthread.php?t=109432
    и плагина Стример от Инкогнито.
    PHP код:
    #include <a_samp>
    #include <streamer>
    #include <var> // PVar от Владокс'а

    new PickUp[10]; // Количество пикапов на карте
    new boolpDialog[MAX_PLAYERS];
    #if defined ShowPlayerDialog SPD
    stock SPD(playeriddialogidstylecaption[], info[], button1[], button2[])
    {
        
    ShowPlayerDialog(playeriddialogidstylecaptioninfobutton1button2);
        
    SetPVarInt(playerid"USEDIALOGID"dialogid);
        
    pDialog[playerid] = true;
        return 
    true;
    }
    #endif
    // Создаем массив, где будем хранить все данные о точках развозки продуктов или чего-то еще. Короче хз. Развозите все, что угодно душе.
    #define MAX_POINTSDELIVERY       3 // Количество точек
    enum sDelivery
    {
        
    pointId// id точки ( хз, как обозвать )
        
    pointName[50], // Название точки, т.е. как будем обзывать именно этот выбор
        
    Float:costProd// цена за единицу продукции при загрузке
        
    pointCars[3], // id машины, которые разрешены для определенной из разгрузок
        
    Float:pointLocationLoad[50], // координаты точки загрузки. для каждого из продуктов они разные
        
    ToLocationsDP[50// координаты точек разгрузки
    }
    new 
    sADelivery[MAX_POINTSDELIVERY][sDelivery] =
    {
        {
    0,"Развозка продуктов 1"10.00, {403514515}, {1958.37831343.157215.3746}}, // {403, 514, 515} - id грузовых трейлеров, как пример автомобиля
        
    {1,"Развозка продуктов 2"10.00, {403514515}, {1958.37831343.157215.3746}},
        {
    2,"Развозка продуктов 3"10.00, {403514515}, {1958.37831343.157215.3746}}
    };
    enum sDeliveryPoint
    {
        
    pointId// id точки ( хз, как обозвать )
        
    Float:pointLocationUnloadOne[50],
        
    Float:pointLocationUnloadTwo[50],
        
    Float:pointLocationUnloadThree[50],
        
    Float:pointLocationUnloadFour[50],
        
    Float:pointLocationUnloadFive[50]
    }
    new 
    sDeliveryPoints[MAX_POINTSDELIVERY][sDeliveryPoint] = {
        {
    0, {1958.37831343.157215.3746}, {1958.37831343.157215.3746}, {1958.37831343.157215.3746}, {1958.37831343.157215.3746}, {1958.37831343.157215.3746}},
        {
    1, {1958.37831343.157215.3746}, {1958.37831343.157215.3746}, {1958.37831343.157215.3746}, {1958.37831343.157215.3746}, {1958.37831343.157215.3746}},
        {
    2, {1958.37831343.157215.3746}, {1958.37831343.157215.3746}, {1958.37831343.157215.3746}, {1958.37831343.157215.3746}, {1958.37831343.157215.3746}}
    };
    // Конец массива с данными о точках

    public OnPlayerConnect(playerid)
    {
        
    ResetPlayerVars(playerid);
        return 
    1;
    }

    public 
    OnPlayerRequestClass(playeridclassid)
    {
        
    SetPlayerPos(playerid1958.37831343.157215.3746);
        
    SetPlayerCameraPos(playerid1958.37831343.157215.3746);
        
    SetPlayerCameraLookAt(playerid1958.37831343.157215.3746);
        return 
    1;
    }

    public 
    OnPlayerDisconnect(playeridreason)
    {
        
    ResetPlayerVars(playerid);
        return 
    1;
    }

    public 
    OnPlayerSpawn(playerid)
    {
        return 
    1;
    }

    public 
    OnGameModeInit()
    {
        new 
    sStr[256];
        
    format(sStrsizeof(sStr), "ID точки [%d]. Название точки [%s]. Координаты загрузки: [%f, %f, %f]."sADelivery[2][pointId], sADelivery[2][pointName], sADelivery[2][pointLocationLoad][0], sADelivery[2][pointLocationLoad][1], sADelivery[2][pointLocationLoad][2]);
        
    format(sStrsizeof(sStr), "%s Вторая точка разгрузки для точки с этим ID [%f, %f, %f]."sStrsDeliveryPoints[2][pointLocationUnloadTwo][0], sDeliveryPoints[2][pointLocationUnloadTwo][1], sDeliveryPoints[2][pointLocationUnloadTwo][2]);
        
    printf(sStr);
        
    PickUp[0] = CreateDynamicPickup(153123126.7697,-77.7008,1.5781, -1); // Создаем пикап, где будем выбирать точку для развоза груза ( этот как пример )
        
    return 1;
    }

    public 
    OnGameModeExit()
    {
        return 
    1;
    }

    public 
    OnPlayerPickUpDynamicPickup(playeridpickupid)
    {
        if(
    pickupid == PickUp[0]) // Встаем на пипап и получаем меню с выбором точки
        
    {
            new 
    sDeliverySize[600];
            for(new 
    0MAX_POINTSDELIVERYi++)
            {
                
    format(sDeliverySizesizeof(sDeliverySize),"{FFFFFF}%s {00D900}%d{FFFFFF} \t [{00D900}%s{FFFFFF}]\n"sDeliverySizesADelivery[i][pointId], sADelivery[i][pointName]);
              }
              
    SPD(playerid0,DIALOG_STYLE_LIST"{FFFFFF}Выбор точки:"sDeliverySize"Выбрать","Отмена");
        }
        return 
    true;
    }

    public 
    OnDialogResponse(playeriddialogidresponselistiteminputtext[])
    {
        switch ( 
    dialogid )
        {
            if(
    dialogid == && response)
    {
     for(new 
    i3++)
     {
      if(
    listitem == iSetPVarArrInt(playerid"useDeliveryID"sADelivery[i][pointId] + 10);
     }
     
    SendClientMessage(playerid0x88AA88AA"Сядьте в машину.");
    }
        }
        return 
    1;
    }

    public 
    OnPlayerDeath(playeridkilleridreason)
    {
        return 
    1;
    }

    public 
    OnVehicleSpawn(vehicleid)
    {
        return 
    1;
    }

    public 
    OnPlayerEnterVehicle(playeridvehicleidispassenger)
    {
        
    #define vehID  GetPlayerVehicleID(playerid)
         #define delID  GetPVarArrInt(playerid, "useDeliveryID", 0)
        
    if(delID >= && (vehID == sADelivery[delID-1][pointCars][0] || vehID == sADelivery[delID-1][pointCars][1] || vehID == sADelivery[delID-1][pointCars][2]))
        {
            
    SendClientMessage(playerid,0x88AA88AA,"Cледуйте на точке загрузки.");
            
    SetPlayerCheckpoint(playerid,sADelivery[delID-1][pointLocationLoad][0], sADelivery[delID-1][pointLocationLoad][1], sADelivery[delID-1][pointLocationLoad][2],5);
        }
        
    #undef vehID
        #undef delID
        
    return 1;
    }

    public 
    OnPlayerExitVehicle(playeridvehicleid)
    {
        return 
    1;
    }

    public 
    OnPlayerStateChange(playeridnewstateoldstate)
    {
        return 
    1;
    }

    public 
    OnPlayerEnterCheckpoint(playerid)
    {
        
    DisablePlayerCheckpoint(playerid);
        
    #define vehID  GetPlayerVehicleID(playerid)
         #define delID  GetPVarArrInt(playerid, "useDeliveryID", 0)
        
    if(delID >= && (vehID == sADelivery[delID-1][pointCars][0] || vehID == sADelivery[delID-1][pointCars][1] || vehID == sADelivery[delID-1][pointCars][2]))
        {
            
    #define delPoint  GetPVarArrInt(playerid, "useDeliveryPoint", 0)
            
    if(delID == && delPoint == 0)
            {
                
    SendClientMessage(playerid, -1"{FFFFFF}Машина успешно загружена. Отвезте товар по месту назначения.");
                
    SetPlayerCheckpoint(playeridsDeliveryPoints[delID-1][pointLocationUnloadOne][0], sDeliveryPoints[delID-1][pointLocationUnloadOne][1], sDeliveryPoints[delID-1][pointLocationUnloadOne][2], 5);
                
    SetPVarArrInt(playerid"useDeliveryPoint"20);
            }
              if(
    delPoint == 2)
              {
                  
    SendClientMessage(playerid, -1"{FFFFFF}Отвезте товар по месту назначения.");
                
    SetPlayerCheckpoint(playeridsDeliveryPoints[delID-1][pointLocationUnloadTwo][0], sDeliveryPoints[delID-1][pointLocationUnloadTwo][1], sDeliveryPoints[delID-1][pointLocationUnloadTwo][2], 5);
                
    SetPVarArrInt(playerid"useDeliveryPoint"30);
            }
            if(
    delPoint == 3)
              {
                
    SendClientMessage(playerid, -1"{FFFFFF}Отвезте товар по месту назначения.");
                
    SetPlayerCheckpoint(playeridsDeliveryPoints[delID-1][pointLocationUnloadThree][0], sDeliveryPoints[delID-1][pointLocationUnloadThree][1], sDeliveryPoints[delID-1][pointLocationUnloadThree][2], 5);
                
    SetPVarArrInt(playerid"useDeliveryPoint"40);
            }
            if(
    delPoint == 4)
              {
                
    SendClientMessage(playerid, -1"{FFFFFF}Отвезте товар по месту назначения.");
                
    SetPlayerCheckpoint(playeridsDeliveryPoints[delID-1][pointLocationUnloadFour][0], sDeliveryPoints[delID-1][pointLocationUnloadFour][1], sDeliveryPoints[delID-1][pointLocationUnloadFour][2], 5);
                
    SetPVarArrInt(playerid"useDeliveryPoint"50);
            }
            if(
    delPoint == 5)
              {
                
    SendClientMessage(playerid, -1"{FFFFFF}Отвезите товар по месту назначения.");
                
    SetPlayerCheckpoint(playeridsDeliveryPoints[delID-1][pointLocationUnloadFive][0], sDeliveryPoints[delID-1][pointLocationUnloadFive][1], sDeliveryPoints[delID-1][pointLocationUnloadFive][2], 5);
                
    SetPVarArrInt(playerid"useDeliveryPoint"60);
            }
            if(
    delPoint == 6)
              {
                
    SendClientMessage(playerid, -1"{FFFFFF}Машина успешно разгружена.");
                    
    SetPVarArrInt(playerid"useDeliveryID"00);
                
    SetPVarArrInt(playerid"useDeliveryPoint"00);
            }
            
    #undef delPoint
        
    }
        
    #undef vehID
        #undef delID
        
    return 1;
    }

    public 
    OnPlayerUpdate(playerid)
    {
        return 
    1;


  2. 2 пользователей сказали cпасибо Fallen A. за это полезное сообщение:

    retyrner (02.03.2015), [UA]_Yarik_[UA] (28.02.2015)

  3. #2
    Активный пользователь Аватар для Mr.Stron
    Регистрация
    22.03.2012
    Адрес
    Беларусь
    Возраст
    28
    Сообщений
    1,052
    Репутация: 94

    Звание: скоро придёт к известности

    Re: Скрипт основы работы дальнобойщика или развозчика.

    Бред
    Без обид

  4. #3
    Джентльмен лжец Аватар для Fallen A.
    Регистрация
    03.09.2011
    Адрес
    Минск, БССР
    Возраст
    29
    Сообщений
    2,409
    Репутация: 337

    Звание: как роза среди колючек

    Re: Скрипт основы работы дальнобойщика или развозчика.

    Цитата Сообщение от Mr.Stron Посмотреть сообщение
    Бред
    Без обид
    Ну как умел может кому-то и нужно будет.

  5. #4
    Джентльмен лжец Аватар для Fallen A.
    Регистрация
    03.09.2011
    Адрес
    Минск, БССР
    Возраст
    29
    Сообщений
    2,409
    Репутация: 337

    Звание: как роза среди колючек

    Re: Скрипт основы работы дальнобойщика или развозчика.

    Up. Подправил код.

  6. #5
    Активный пользователь Аватар для retyrner
    Регистрация
    01.08.2011
    Адрес
    Россия, Тюмень
    Возраст
    27
    Сообщений
    432
    Репутация: 33

    Звание: на пути к лучшему

    Re: Скрипт основы работы дальнобойщика или развозчика.

    Все отлично, только зачем намакросил
    Мои работы:

    [MAP] Интерьер спортзала

    [Решение] Резервный слот

  7. #6
    Активный пользователь Аватар для Nikifor
    Регистрация
    21.02.2012
    Возраст
    27
    Сообщений
    696
    Репутация: 100

    Звание: скоро придёт к известности

    Re: Скрипт основы работы дальнобойщика или развозчика.

    Цитата Сообщение от NordPrise Посмотреть сообщение
    Все отлично, только зачем намакросил
    Глазам приятно (имхо), да и удобно.

  8. #7
    Джентльмен лжец Аватар для Fallen A.
    Регистрация
    03.09.2011
    Адрес
    Минск, БССР
    Возраст
    29
    Сообщений
    2,409
    Репутация: 337

    Звание: как роза среди колючек

    Re: Скрипт основы работы дальнобойщика или развозчика.

    Цитата Сообщение от NordPrise Посмотреть сообщение
    Все отлично, только зачем намакросил
    Код можно сделать ещё лучше, если постараться.

  9. #8
    Активный пользователь Аватар для Nikifor
    Регистрация
    21.02.2012
    Возраст
    27
    Сообщений
    696
    Репутация: 100

    Звание: скоро придёт к известности

    Re: Скрипт основы работы дальнобойщика или развозчика.

    Цитата Сообщение от Fallen A. Посмотреть сообщение
    Код можно сделать ещё лучше, если постараться.
    поправлю, красивее

  10. #9
    Джентльмен лжец Аватар для Fallen A.
    Регистрация
    03.09.2011
    Адрес
    Минск, БССР
    Возраст
    29
    Сообщений
    2,409
    Репутация: 337

    Звание: как роза среди колючек

    Re: Скрипт основы работы дальнобойщика или развозчика.

    Цитата Сообщение от Nikifor Посмотреть сообщение
    поправлю, красивее
    И лучше тоже ))

  11. #10
    Пользователь Аватар для ReDDy
    Регистрация
    28.10.2011
    Адрес
    Crimea
    Возраст
    28
    Сообщений
    53
    Репутация: 1

    Звание: пока не определено

    Re: Скрипт основы работы дальнобойщика или развозчика.

    Хуже ничего не видал еще. Бред.

Похожие темы

  1. Проблема с работой развозчика
    от sergeismd в разделе Вопросы по скриптингу
    Ответов: 1
    Последнее сообщение: 08.09.2014, 13:25
  2. Простая работа дальнобойщика
    от Rock and Roll в разделе Скрипты для любого мода
    Ответов: 6
    Последнее сообщение: 17.07.2013, 22:18
  3. [Tutorial] Основы работы в MC (aka Map Construction)
    от Arios Jentu в разделе Вопросы по маппингу
    Ответов: 27
    Последнее сообщение: 28.06.2013, 10:15

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •