Skat | Дата: Понедельник, 07.04.2014, 20:20 | Сообщение # 1 |
Сообщений: 13
Статус:
| Авэ,господа. Вопрос №1 В миссии вертолет следует по вейпоинтам,мне нужно что бы он сел в конкретный вейпоинт и ожидал там около 60 секунд(или вообще ожидал какое-то время) Проблема в том,что я не могу заставить вертушку остановиться.Она садиться и через 2-5 сек уже взлетает на следующий вейпоинт. Что пробовал: В вейпоинте ставить ожидание : Мин 60 Сред 65 Макс 70 Вопрос №2 По включению фар.Ибо когда ночь бот ,который управляет вертуханом - ну никак не хочет включать потому,что...эм...зрение хорошее наверное.Но фишка в том,что при вкл.фар вертолет освещает отдельный участок земли.И мне очень важно,что бы данная функция была.Какую команду и куда нужно писать? Вопрос №3 Возможно ли дать одному боту ,много анимаций ? И способы их зацикливания.
Сообщение отредактировал 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пасибо Цитата 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 ( ) Потому что) Есть специальная скриптовая команда, которая проверяет, закончилась ли анимация. К примеру, сами Бисы пользуются именно ей, вместо того чтобы наивно считать задержку. Хорошо,но мне например полная анимация (Сидит вроде как курит) не нужна ибо в конце бот отдает честь.Я взял и обрезал паузой. В крайних случаях все же способ хорош.
|
|
| |