Нет эмоций; есть гармония.
Нет неведения; есть знание.
Нет страстей; есть покой.
Нет смерти; есть Великая Сила.
Кодекс джедаев
Майкл Ривз, "Тёмный мститель"





Сколько глобус ни крути, там Fess-Style не найти...
Сайт Fess'a » Посадка вертолета, включение фар, цикличные анимации - Форум
[ Новые сообщения · Участники · Правила форума · Поиск ]
  • Страница 1 из 1
  • 1
Форум » Форум Редакторов » Редактор ARMA » Посадка вертолета, включение фар, цикличные анимации
Посадка вертолета, включение фар, цикличные анимации
SkatДата: Понедельник, 07.04.2014, 20:20 | Сообщение # 1

Сообщений: 13
Статус:
Авэ,господа. wink
Вопрос №1
В миссии вертолет следует по вейпоинтам,мне нужно что бы он сел в конкретный вейпоинт и ожидал там около 60 секунд(или вообще ожидал какое-то время)
Проблема в том,что я не могу заставить вертушку остановиться.Она садиться и через 2-5 сек уже взлетает на следующий вейпоинт.
Что пробовал:
В вейпоинте ставить ожидание :  Мин 60 Сред 65 Макс 70
Вопрос №2
По включению фар.Ибо когда ночь бот ,который управляет вертуханом - ну никак не хочет включать потому,что...эм...зрение хорошее наверное.Но фишка в том,что при вкл.фар вертолет освещает отдельный участок земли.И мне очень важно,что бы данная функция была.Какую команду и куда нужно писать?
Вопрос №3
Возможно ли дать одному боту ,много анимаций ? И способы их зацикливания. smile


Сообщение отредактировал Skat - Понедельник, 07.04.2014, 20:21
 
FessДата: Вторник, 08.04.2014, 21:24 | Сообщение # 2

Добрый админ
Сообщений: 2339
Статус:
Цитата Skat ()
Проблема в том,что я не могу заставить вертушку остановиться.Она садиться и через 2-5 сек уже взлетает на следующий вейпоинт.

Заставить вертолет сесть можно командой < heli flyinheight 0 >.
Чтобы потом разрешить ему подняться, используй 50 или 100.
Чтобы вертолет ждал, используй задержку WP, как ты и хотел.
Если же писать sqs скрипт, то там вообще все хорошо и понятно :

Код
hely flyinheight 0
~60
hely flayinheight 100
exit


Цитата Skat ()
По включению фар.Ибо когда ночь бот ,который управляет вертуханом - ну никак не хочет включать потому,что...эм...зрение хорошее наверное

Отбери у пилотов ПНВ < driver hely unassignItem "NVGoggles_OPFOR"; driver hely removeItem "NVGoggles_OPFOR"; >
Попробуй прописать < player action ["LightsOn", hely]; >, но есть вероятность, что боты погасят огни в случае опасности (ставь беспечный режим, например).

А вот эта команда заставляет использовать фонари на оружии < ManORGroup enableGunLights "forceon"; >

Цитата Skat ()
Возможно ли дать одному боту ,много анимаций ? И способы их зацикливания.

Функции есть специальные bis_fnc_ambientanim, bis_fnc_ambientanimcombat . Первая добавляет сет анимаций, которые будет проигрывать бот. Но в случае нападения он не среагирует на угрозу, а будет продолжать ковыряться в носу. Вторая функция используется как раз тогда, когда нужно, чтобы бот мог прерывать анимацию в случае опасности.

Код
/*
  Author: Jiri Wainar

  Description:
  Play set of ambient animations on given unit.

  Remarks:
  * Can handle several different anims and auto-switching between them.
  * Detects nearby units with the same animation set and tries to select different animations.
  * A game logic is created on units position and animated unit is then attached to it, to prevent possible problems, like player pushing units around.
  * The unit can be snapped to a set snappoint to prevent game from repositioning the unit.
   * The snappoint is automatically detected, snap distance is 2 meters (in top-down view, ignoring vertical info).
   * To position unit vertically, move its snappoint up/down.
   * A snappoint is a (cyan colored) helper "Sign_Pointer_Cyan_F".
   * This is extremely handy if the unit needs to be placed near object(s) - like on chair near a table.

  Parameter(s):
  0: OBJECT - unit the anim & gear changes are going to be applied to
  1: STRING - animation set id, describing what the unit's action looks like.
     > "STAND"  - standing still, slightly turning to the sides, with rifle weapon
     > "STAND_IA"  - standing still, slightly turning to the sides, with rifle weapon
     > "STAND_U1-3"    - standing still, slightly turning to the sides, no weapon
     > "WATCH1-2"  - standing and turning around, with rifle weapon
     > "GUARD"  - standing still, like on guard with hands behing the body
     > "LISTEN_BRIEFING"  - standing still, hands behind back, recieving briefing / commands, no rifle.
     > "LEAN_ON_TABLE"    - standing while leaning on the table
     > "LEAN"  - standing while leaning (on wall)
     > "BRIEFING"  - standing, playing ambient briefing loop with occasional random moves
     > "BRIEFING_POINT_LEFT"    - contains 1 extra pointing animation, pointing left & high
     > "BRIEFING_POINT_RIGHT"    - contains 1 extra pointing animation, pointing right & high
     > "BRIEFING_POINT_TABLE"    - contains 1 extra pointing animation, pointing front & low, like at table
     > "SIT1-3"  - sitting on chair or bench, with rifle weapon
     > "SIT_U1-3"  - sitting on chair or bench, without weapon
     > "SIT_AT_TABLE"    - sitting @ table, hands on table
     > "SIT_HIGH1-2"  - sitting on taller objects like a table or wall, legs not touching the ground. Needs a rifle!
     > "SIT_LOW"  - sitting on the ground, with weapon.
     > "SIT_LOW_U"    - sitting on the ground, without weapon.
     > "SIT_SAD1-2"    - sitting on a chair, looking very sad.
     > "KNEEL"  - kneeling, with weapon.
     > "PRONE_INJURED_U1-2" - laying wounded, back on the ground, wothout weapon
     > "PRONE_INJURED"    - laying wounded & still, back on the ground, with or without weapon
     > "KNEEL_TREAT"    - kneeling while treating the wounded
     > "REPAIR_VEH_PRONE"    - repairing vehicle while laying on the ground (under the vehicle)
     > "REPAIR_VEH_KNEEL"    - repairing vehicle while kneeling (like changing a wheel)
     > "REPAIR_VEH_STAND"    - repairing/cleaning a vehicle while standing

  2: STRING - equipment level id, describing how heavily is the unit equipped.
     > "NONE"    - no goggles, headgear, vest, weapon
     > "LIGHT"    - no goggles, headgear, vest
     > "MEDIUM"   - no goggles, headgear
     > "FULL"    - no goggles
     > "ASIS"    - no touches to the gear
     > "RANDOM" (default)    - gear is randomized according to the animation set

  3: OBJECT  - object unit to snap to; function won't try to search for the closest snappoint and will use this snappoint instead
  4: BOOL  - function will try to interpolate into the ambient animation, if the interpolateTo link exists
    - it is not officialy supported, so it's disabled by default
    - works only for transitions from (some) default A3 stances to sets "STAND", "SIT_LOW" and "KNEEL"

  Returns:
  -

  Example:
  [this,"SIT_HIGH2"] call BIS_fnc_ambientAnim;
*/
Код
/*
  Author: Jiri Wainar

  Description:
  Play set of ambient animations on given unit AND allows the unit to leave the ambient state and engage enemy or move away.

  Remarks:
  * Function controls BIS_fnc_ambientAnim; check that function [Remarks] section for more info of how to use it.
  * Unit automatically leaves the animation loop if there is an enemy in 300m he knows about.

  Parameter(s):
  0: OBJECT - unit the anim & gear changes are going to be applied to
  1: STRING (optional, default "STAND") - animation set id, describing what the unit's action looks like.
     > "STAND"   - standing still, slightly turning to the sides. Needs a rifle!
     > "STAND_IA"  - default a3 animations for standing, rifle lowered
     > "GUARD"  - standing still, like on guard with hands behing the body.
     > "SIT_LOW"  - sitting on the ground, with weapon.
     > "KNEEL"  - kneeling, with weapon.
     > "LEAN"  - standing while leaning (on wall)

  2: STRING (optional, default "RANDOM") - equipment level id, describing how heavily is the unit equipped.
     > "NONE"    - no goggles, headgear, vest, weapon
     > "LIGHT"    - no goggles, headgear, vest
     > "MEDIUM"   - no goggles, headgear
     > "FULL"    - no goggles
     > "ASIS" (default)    - no touches to the gear
     > "RANDOM"   - gear is randomized according to the animation set

  3: CODE or STRING (optional, default {false}) - condition that if true frees the unit from the animation loop

  4: STRING (optional, default "COMBAT") - behaviour the unit should go to, when freed.

  Returns:
  -

  Example:
  [this,"STAND","FULL",{(player distance _this) < 5}] call BIS_fnc_ambientAnimCombat;
*/
 
MisterДата: Четверг, 10.04.2014, 05:54 | Сообщение # 3

Сообщений: 3
Статус:
Помогите пожалуйста,как заставить выпрыгнуть из самолёта весь отряд,а не по отдельности?
 
FessДата: Четверг, 10.04.2014, 15:10 | Сообщение # 4

Добрый админ
Сообщений: 2339
Статус:
Цитата Mister ()
Помогите пожалуйста,как заставить выпрыгнуть из самолёта весь отряд,а не по отдельности?

Привет. Это легко можно сделать простым циклом < {unassignVehicle _x; _x action ["EJECT", vehicle _x]} forEach units group teamleader >
Не забудь дать имя офицеру группы teamleader.
 
MisterДата: Четверг, 10.04.2014, 17:00 | Сообщение # 5

Сообщений: 3
Статус:
Cпасибо большое!)
 
SkatДата: Четверг, 10.04.2014, 19:17 | Сообщение # 6

Сообщений: 13
Статус:
Уважаемый Fess,Cпасибо smile
Цитата Mister ()
Помогите пожалуйста,как заставить выпрыгнуть из самолёта весь отряд,а не по отдельности?
Кстати по прыжкам еще скрипт есть он заставляет выпрыгнуть всех в определенной точке.Буду дома - скину сюда эе
 
MisterДата: Четверг, 10.04.2014, 20:38 | Сообщение # 7

Сообщений: 3
Статус:
Ещё один вопрос возник.Как заставить нпц  постоянно выполнять анимацию?(к примеру "armstrong_c0start")
 
FessДата: Пятница, 11.04.2014, 23:10 | Сообщение # 8

Добрый админ
Сообщений: 2339
Статус:
Цитата Mister ()
Ещё один вопрос возник.Как заставить нпц  постоянно выполнять анимацию?(к примеру "armstrong_c0start")

Наивное решение: посчитать , сколько времени длится анимация. Написать скрипт

Код
unit playmove "animname"
~timeinseconds
exec "name_of_this_script.sqs"; перезапускает скрипт
 
FessДата: Суббота, 12.04.2014, 19:42 | Сообщение # 9

Добрый админ
Сообщений: 2339
Статус:
Уважаемый Skat
Цитата Fess ()
Заставить вертолет сесть можно командой < heli flyinheight 0 >.
Чтобы потом разрешить ему подняться, используй 50 или 100.

Вот еще можно попробовать

< heli land "LAND"; > - полная посадка и отключение двигателя
< heli land "GET IN"; > - посадка для принятия людей
 
SkatДата: Понедельник, 14.04.2014, 15:20 | Сообщение # 10

Сообщений: 13
Статус:
Цитата Fess ()
Наивное решение: посчитать , сколько времени длится анимация. Написать скрипт

Уважаемый Fess,почему же наивное? Я совсем с этим не вижу проблем,а считать секунды напротив - даже надо. Тогда можно подловить идеальный момент ,когда снова должна сыграть анимация. Точная настройка так сказать.Кстати,есть второй скрипт зацикливания  sqf. Этот скрипт позволяет работать с несколькими юнитами и у каждого из них своя пауза.
 
FessДата: Понедельник, 14.04.2014, 18:11 | Сообщение # 11

Добрый админ
Сообщений: 2339
Статус:
Цитата Skat ()
Уважаемый Fess,почему же наивное?

Потому что) Есть специальная скриптовая команда, которая проверяет, закончилась ли анимация.
К примеру, сами Бисы пользуются именно ей, вместо того чтобы наивно считать задержку.
Посмотреть как это сделано у бисов можно в библиотеке функций в редакторе.

Вообще у привязки к времени есть многие минусы. Например, если компьютер игрока находится под сильной нагрузкой, проигрывание анимации может начаться позже. А еще в сингле можно ускорять время кнопками +\-, про это тоже забывать нельзя. Так что подсчёт времени - это очень ненадежный метод. Зато самый простой в плане реализации.
 
SkatДата: Вторник, 15.04.2014, 04:26 | Сообщение # 12

Сообщений: 13
Статус:
Цитата Fess ()
Потому что) Есть специальная скриптовая команда, которая проверяет, закончилась ли анимация. К примеру, сами Бисы пользуются именно ей, вместо того чтобы наивно считать задержку.
Хорошо,но мне например полная анимация (Сидит вроде как курит) не нужна ибо в конце бот отдает честь.Я взял и обрезал паузой. В крайних случаях все же способ хорош.
 
Форум » Форум Редакторов » Редактор ARMA » Посадка вертолета, включение фар, цикличные анимации
  • Страница 1 из 1
  • 1
Поиск: