Респ в технике

Тема в разделе "Мастерская", создана пользователем mexan, 28 окт 2017.

  1. mexan

    mexan Администратор

    Сообщения:
    288
    Симпатии:
    13
    Пол:
    Мужской
    Описание:
    В данном примере продемонстрировано 4 вида респа в транспорте и пример посадки всего экипажа в транспортное средство:
    1. На месте пассажира
    2. На месте водителя
    3. На месте командира
    4. На месте стрелка

    Установка:
    На месте пассажира
    • ставим бойца
    • даем имя бойцу, например man
    • ставим транспорт
    • даем имя машине, например car
    • в инициализации бойца прописываем
      Код:
      man moveInCargo car
      где как вы уже поняли:
      man - имя нашего бойца
      car - имя нашей машины

    На месте водителя
    • ставим бойца
    • даем имя бойцу, например man1
    • ставим транспорт
    • даем имя машине, например car1
    • в инициализации бойца прописываем
      Код:
      man1 moveInDriver car1
      где как вы уже поняли:
      man1 - имя нашего бойца
      car1 - имя нашей машины

    На месте командира
    • ставим бойца
    • даем имя бойцу, например man3
    • ставим транспорт
    • даем имя машине, например car3
    • в инициализации бойца прописываем
      Код:
      man3 moveinCommander car3
      где как вы уже поняли:
      man3 - имя нашего бойца
      car3 - имя нашей машины
      Не забываем, что командир есть в танке, БТР, но не в машине.

    На месте стрелка
    • ставим бойца
    • даем имя бойцу, например man2
    • ставим транспорт
    • даем имя машине, например car2
    • в инициализации бойца прописываем
      Код:
      man2 moveinGunner car2
      где как вы уже поняли:
      man2 - имя нашего бойца
      car2 - имя нашей машины

    Посадка экипажа
    • ставим 4 бойцов
    • даем каждому имя и прописываем в строке инициализации каждого
      - manC - командир
      Код:
      manC moveInCommander car4
      - manD - водитель
      Код:
      manD moveInDriver car4
      - manG - стрелок
      Код:
      manG moveinGunner car4
      - manCar - пассажир
      Код:
      manCar moveinCargo car4
    • ставим транспорт
    • даем имя машине, например car4
     

    Вложения:

    • war.Altis.zip
      Размер файла:
      76,8 КБ
      Просмотров:
      0
  2. BETEP3526

    BETEP3526

    Сообщения:
    2
    Симпатии:
    2
    Пол:
    Мужской
    Если хотим заспаунить одну группу в машине, но что бы один из них был водителем, то пишем вот так:
    Код:
    private _truck = "O_Truck_03_transport_F" createVehicle ([26308.8,22054.3,0]);   
    private _suppGroup = [[26308.8,22054.3,0], east, (configfile >> "CfgGroups" >> "East" >> "OPF_F" >> "Infantry" >> "OIA_InfAssault")] call BIS_fnc_spawnGroup;
       
    private _leader = leader _suppGroup;
    private _unitsCargo = units _suppGroup - [_leader];
     
    _leader moveInDriver _truck;
    {_x moveInCargo _truck} forEach _unitsCargo;
    
    Тогда, водителем грузовика станет лидер группы. А остальные расположатся на пассажирских местах.
     
    mexan нравится это.
  3. mexan

    mexan Администратор

    Сообщения:
    288
    Симпатии:
    13
    Пол:
    Мужской
    Этот скрипт будет работать, например после респа транспортного средства?
     
  4. BETEP3526

    BETEP3526

    Сообщения:
    2
    Симпатии:
    2
    Пол:
    Мужской
    В моём случае они спаунятся следом за грузовиком, и сразу же залезают в него.
    Можно заспаунить сначала грузовик, а потом, хоть через день, заспаунить в него группу. Но надо помнить об использовании переменных. То есть о глобальных, и о локальных переменных. Что бы ты не использовал ту же переменную для спауна другой единицы, иначе группу заспаунит в последнюю.

    Если у тебя будет грузовик (любая техника), на котором будет переменная (в данном случае _truck) то ты без проблем заспаунишь группу, которая в него сразу же залезет.
    Только вместо [26308.8,22054.3,0] - надо указать GetPos нужного тебе объекта, для твоего же удобства. Хотя, можешь и координатами обойтись не заменяя на GetPos.

    Если тебе надо что бы они бежали и залезали в технику, то лучше посмотри приказы OrderGetIn , moveInDriver (и то что рядом с ним).
    Таким же образом "откалывая" лидера группы, что бы посадить именно его за руль транспорта.
    Если тебе нужно, что бы группа появилась в транспорте, но именно его экипаж, то посмотри команду createVehicleCrew.

    У меня он вообще просто используется:
    Код:
    createVehicleCrew _truck;
    
    То есть в технике с переменной _truck появится экипаж.
    Ну а группе мы можем сказать moveInAny (сесть на любое свободное место) или moveInCargo (сесть десантом, на места десанта соответственно). В случае с moveInAny они могут как сесть за руль, если он свободен, как и не сесть за него.

    На всякий случай оставлю ссылочку на тему у себя на форуме, там есть уже написанные примеры, которые я у себя в миссии использовал.

    Кстати, если ты будешь ставить технику заранее, то переменные лучше глобальные, на сколько я помню. Хотя можешь и локальные попробовать.
    _truck - локальная.
    truck - глобальная.
    Но глобальная может быть использована один раз до её удаления. И получится truck, truck1,truck2, truck3 и т.д.

    В общем методы зависят от того что именно ты хочешь получить.
    Сформулируй поточнее, что именно ты хочешь сделать.
     
    mexan нравится это.

Поделиться этой страницей