Jump to content

Помощь разработчику миссий


StarLey_Andrew

Recommended Posts

  • ED Team
33 минуты назад, ASW сказал:

Я пробовал просто повторяющийся. не подходит. Он "зацикливается".

Чтобы повторяющийся не зацикливался, нужно в его действиях поднимать флаг, ложность которого проверяется в его условиях. Но нужно понимать что этот триггер не сработает больше, пока другой триггер не удалит тот ограничивающий флаг.

Link to comment
Share on other sites

  • ED Team

Вам же правильно написали - повторяющийся необходимо отключать после сработки, для этого в действиях поднимается некий флаг, который должен быть ложным для сработки триггера. Потом этот флаг убирается в другом триггере, когда юнит покинул зону.

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

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

тгз.jpg

GreyCat_SPb

Link to comment
Share on other sites

18 часов назад, SL PAK сказал:

Если не срабатывает граничный тип триггера, то используйте повторяющийся. Но при его срабатывания нужно поднимать флаг ограничивающие его работу (прописана ложность этого флага в условии срабатывания) и убирать этот ограничивающий флаг другим повторяющимся триггером когда игрок вылетает из зоны юнита. И этому триггеру тоже поднимать ограничивающий флаг, который снимается при срабатывания первого триггера.

Если не сложно, когда будет время, сделайте пример. Просто кусок миссии. Вертолет влетает в зону и любой звук.

GreyCat_SPb

Link to comment
Share on other sites

  • ED Team
7 часов назад, ASW сказал:

Если не сложно, когда будет время, сделайте пример. Просто кусок миссии. Вертолет влетает в зону и любой звук.

Боту-вертолету поставлена задача сопровождать колонну на марше. Поэтому он периодически пролетает над ней и вызывает срабатывание триггера (условие "дистанция до головы колонны менее 200м"). Два триггера, один флаг.

mi24_follow_convoy_triggers.miz

  • Like 1
Link to comment
Share on other sites

Голова перевернулась. Получается можно одну зону прикреплять к разным юнитам. Тогда зачем флажок ПРИКР К ЮНИТУ?

прикр к юниту.jpg

GreyCat_SPb

Link to comment
Share on other sites

22 hours ago, SL PAK said:

Чтобы повторяющийся не зацикливался, нужно в его действиях поднимать флаг, ложность которого проверяется в его условиях. Но нужно понимать что этот триггер не сработает больше, пока другой триггер не удалит тот ограничивающий флаг.

Вот моя миссия, там два флага 1 и 2 создают две радио-команды "Дым включить" и "Дым выключить".

А на Точке маршрута, для бота, добавлены команды дымы, которые включаются пользовательским флагом 3 и выключаются пользовательским флагом 4. 

Я могу только один раз скомандовать боту дым включить, и один раз дым выключить. Как мне надо триггеры исправить, чтобы можно было включать и выключать дым множество раз?

Yak-52 Smoke.miz


Edited by Coljo

Flying is for droids.

Полёты - это для дроидов.

Link to comment
Share on other sites

  • ED Team
1 час назад, ASW сказал:

Тогда зачем флажок ПРИКР К ЮНИТУ?

Это какой-то новый функционал с каким-то параметром. Не знаю зачем это нужно, никогда не пользовался. Зона к юниту крепится в условии. Этого достаточно для вашей задачи.

 

Link to comment
Share on other sites

  • ED Team
1 час назад, Coljo сказал:

Как мне надо триггеры исправить, чтобы можно было включать и выключать дым множество раз?

Для радиокоманд команды в расширенных действиях ППМ не нужны, используются команды прописанные в третьей вкладке юнита и активируются они действием "ДОБАВИТЬ ЗАДАЧУ ИИ".

Вот рабочая миссия: Yak-52 Smoke ok.miz

Обнаружился интересный нюанс. У вас юнит сразу со старта получает команду занимать зону и если ему давать радиокоманду, то он каждый раз при её выполнении сообщает что занимает зону. Поэтому в расширенных действиях ППМ перед командой ожидания добавил команду на радиомолчание. И если нужно чтобы бот снова заговорил после завершения ожидания, то добавляется еще команда на прекращение радиомолчания. Команды прописанные в расширенных действиях ППМ выполняются по очереди и если там есть команда на ожидание (атаку, дозаправку и т.п.), то все команды ниже в списке будут выполнятся только после завершения выполнения команды типа ожидания.

  • Thanks 1
Link to comment
Share on other sites

  • ED Team
1 час назад, ASW сказал:

Тогда зачем флажок ПРИКР К ЮНИТУ?

Порылся в баг-трекере и выяснилось, что галочка крепит зону к юниту и даже запоминается положение зоны относительно юнита. Т.е. может проверятся пространства например за юнитом или спереди/сбоку от него. Подробностей не знаю, тестируйте методом научного тыка ))

Скорей всего это будет работать в условии юнит в зоне, но не будет работать в условии юнит в подвижной зоне юнита (так как зона уже прикреплена).

  • Thanks 1
Link to comment
Share on other sites

  • ED Team

Попытался использовать это прикрепление зоны галочкой - и оно не работает. Непонятный функционал. Возможно сырой еще.

--

Разобрался. Работает пока только у нас во внутренней сборке. Пользователям опенбеты починят в ближайшем или через один патч.

  • Thanks 1
Link to comment
Share on other sites

4 hours ago, SL PAK said:

Вот рабочая миссия:

Изучил, всё работает, именно это и нужно было. Большое спасибо!

Добавил в эту миссию BF-109, чтоб можно было выбирать на чём лететь. И назначил триггеры на срабатывание дымов у бота при включении 99го аргумента в кабине.

У Як-52 это тумблер обогрева пито, а у Мессера это рычажок вентиляции кабины справа сбоку. Я на прикреплённой картинке обвёл места где они находятся.

И у меня такой вопрос: можно ли где в условиях к триггеру прописать, чтоб 99ый аргумент командовал боту "включить дымы" только когда летишь на Як-52? А когда летишь на Мессере - нет. Или так не сделать?

Миссию прикрепил внизу под картинкой.

Bf.jpg

Yak-52 Smoke ok Bf-109.miz


Edited by Coljo

Flying is for droids.

Полёты - это для дроидов.

Link to comment
Share on other sites

  • ED Team
18 минут назад, Coljo сказал:

И у меня такой вопрос: можно ли где в условиях к триггеру прописать, чтоб 99ый аргумент срабатывал только у Як-52? А на Мессере - нет. Или так не сделать?

По идее можно в стартовом ППМ самолета игрока прописать команду на поднятие флага (например 5): ВЫПОЛНИТЬ КОМАНДУ - ВЫПОЛНИТЬ СКРИПТ - trigger.action.setUserFlag(5, true). И поднимая разные флаги для разных самолетов использовать это в триггерных условиях.

В вашей миссии получается, при старте Яка поднимать флаг 5, а в триггерных граничных условиях кроме аргумента проверять еще что флаг 5 истинен.

  • Thanks 1
Link to comment
Share on other sites

10 minutes ago, SL PAK said:

По идее можно в стартовом ППМ самолета игрока прописать команду на поднятие флага (например 5): ВЫПОЛНИТЬ КОМАНДУ - ВЫПОЛНИТЬ СКРИПТ - trigger.action.setUserFlag(5, true). И поднимая разные флаги для разных самолетов использовать это в триггерных условиях.

Кажись сработало! :notworthy:

Flying is for droids.

Полёты - это для дроидов.

Link to comment
Share on other sites

On 12/2/2023 at 10:22 PM, Coljo said:

Кажись сработало! :notworthy:

Рано я возрадовался. Так работает только если не лететь первым на том у кого прописано флаг 5, если на нём пролететь первым, а потом сменить самолёт, то дым от аргумента будет срабатывать, т.к. флаг уже был поднят первым полётом. Вообщем тема не рабочая. Пока вышел из положения назначив в условиях Unit alive. Для одиночной игры работает, но если миссию по сети запустить, то если на обоих самолётах будут игроки, то от обоих будет срабатывать дым от аргумента. 

Чтоб работало нормально, нужно именно то, что я указал в этой хотелки:

 


Edited by Coljo

Flying is for droids.

Полёты - это для дроидов.

Link to comment
Share on other sites

  • ED Team
2 часа назад, Coljo сказал:

Рано я возрадовался

Можно у каждого клиентского самолета в ИПМ поднимать разные значения флага 5:

trigger.action.setUserFlag(5,1)

trigger.action.setUserFlag(5,2)

trigger.action.setUserFlag(5,3)

И в условиях триггеров прописывать ЗНАЧЕНИЕ ФЛАГА РАВНО.

При выборе любого самолета флагу 5 будет присваиваться значение соответствующее текущему выбору.

При сетевой игре аргументы кабины вроде бы проверяются только для игрока летающего как сервер. Так как в этом триггерном условии не указывается у какого борта проверять аргумент.

Идея указывать для какого борта идет проверка будет работать только если передача всех клиентов серверу всех своих аргументов не поставит сетевой протокол на колени.

 

  • Thanks 1
Link to comment
Share on other sites

1 hour ago, SL PAK said:

Можно у каждого клиентского самолета в ИПМ поднимать разные значения флага 5:

trigger.action.setUserFlag(5,1)

trigger.action.setUserFlag(5,2)

trigger.action.setUserFlag(5,3)

И в условиях триггеров прописывать ЗНАЧЕНИЕ ФЛАГА РАВНО.

Но это с аргументами по сети не будет работать? Ведь:

1 hour ago, SL PAK said:

При сетевой игре аргументы кабины вроде бы проверяются только для игрока летающего как сервер.

Радио команды тоже не понятно будут работать или нет в сети. В руководстве написано: "РАДИОМЕНЮ, ДОБАВИТЬ ПУНКТ. (Только для синглплеера)"

Чем ещё можно скомандовать ботам включать дымы по желанию? Я придумал только радио командой или аргументом. Ни то ни другое в сети видимо не сработает.

 


Edited by Coljo

Flying is for droids.

Полёты - это для дроидов.

Link to comment
Share on other sites

  • ED Team
32 минуты назад, Coljo сказал:

Чем ещё можно скомандовать ботам включать дымы по желанию? Я придумал только радио командой или аргументом. Ни то ни другое в сети видимо не сработает.

Еще можно дать команду приблизившись к юниту. Когда в патче починят галку привязки триггерной зоны к юниту, то привязать небольшую зону к боту и сделать триггер с одним условием "часть коалиции в зоне (самолеты)". Или уже сейчас проверять через ИЛИ все клиентские самолеты, что они в зоне юнита бот (уже без галочки привязки зоны).

Выключать дымы ... тут надо подумать.. наверно проще сделать включать дымы влетев в маленькую зону у правого крыла бота, а выключать влетев в маленькую зону у левого крыла. Это когда в бете починят галку привязки зоны.

Есть еще условие ВСЕ ОБЪЕКТЫ КОАЛИЦИИ ВНЕ ЗОНЫ. Когда все игроки окажутся далеко от бота, то он выключает дым. Тут тоже желательно привязать эту зону галкой к боту (ждать патч).

  • Thanks 1
Link to comment
Share on other sites

  • 2 weeks later...

Подскажите пожалуйста когда будет добавлена возможность в DCS World автозагрузки недостающих модов с сервера (серверного клиента) для обычных пользователей? Это должно облегчить разработчикам миссий и серверов создание интересных сценариев и пользователи не будут мучатся и искать куда и как мод ставить. Он будет сам загружаться в нужную папку, а также игра могла бы предложить перезапуск после загрузки для включения мода.

  • Like 1
Link to comment
Share on other sites

  • ED Team
4 hours ago, RobTX said:

Подскажите пожалуйста когда будет добавлена возможность в DCS World автозагрузки недостающих модов с сервера (серверного клиента) для обычных пользователей? 

Пока этого не будет. Мы не можем гарантировать корректную работу DCS c многочисленными пользовательскими модами.

Единственный урок, который можно извлечь из истории, состоит в том, что люди не извлекают из истории никаких уроков. (С) Джордж Бернард Шоу

Link to comment
Share on other sites

  • ED Team

А уж как обрадуются остальные игроки, когда сервер начнёт отправлять лично Вам сотни мегабайт / гигабайты мода... Как-то лично мне такая фича не нравится, хотя желание дружелюбно получить серверные моды я понимаю вполне.

  • Like 2

Men may keep a sort of level of good, but no man has ever been able to keep on one level of evil. That road goes down and down.  
Можно держаться на одном уровне добра, но никому и никогда не удавалось удержаться на одном уровне зла. Эта дорога ведёт вниз и вниз.

G.K. Chesterton

DCS World 2.5: Часто задаваемые вопросы

Link to comment
Share on other sites

On 12/16/2023 at 4:15 AM, RobTX said:

Подскажите пожалуйста когда будет добавлена возможность в DCS World автозагрузки недостающих модов с сервера (серверного клиента) для обычных пользователей? Это должно облегчить разработчикам миссий и серверов создание интересных сценариев и пользователи не будут мучатся и искать куда и как мод ставить. Он будет сам загружаться в нужную папку, а также игра могла бы предложить перезапуск после загрузки для включения мода.

В этой игре слишком много ошибок и с каждым новым обновлением их всё больше и больше, даже в "стабильной" версии, причём, что самое обидное, ломаются те функции, что раньше долго и исправно работали. Например, сейчас в версии 2.9.1.48335 радиостанция  SCR-522 A VHF на самолёте TF-51D перестала работать. И в редакторе пропала возможность настраивать каналы её работы. Как следствие все триггеры радиопередача теперь бесполезны. О данной ошибке я уже написал. Но шансов на исправление, думаю не много.

Несколько месяцев я не без помощи участников этого форума делал задание "Кислотный дождь" для самолёта TF-51D. И вот результат, теперь вместо, того, чтобы доделать это задание, убрать несколько шероховатостей, приходится при помощи LUA скрипта обходить ошибку с неработающей радиостанцией. Фактически приходится с нуля реализовывать работу диспетчера, угадывая намерение игрока по положению самолёта относительно ВПП, анализировать положение тумблеров в кабине, скорость и направление ветра относительно полосы.

Никогда все эти моды работать корректно не будут, из-за некоторых пограммистов из ED. Извините, но накипело!


Edited by Riddick
  • Thanks 1
Link to comment
Share on other sites

  • 2 weeks later...

а куда делись у MQ-1 и MQ-9 задачи ПАН? 
и еще не могу найти где поставить галочку неузвимости определенного юнита

I7-13700k RTX4070Ti 32GB DDR5
Logitech X-56 
Track IR 5

Link to comment
Share on other sites

23 часа назад, Vital061270 сказал:

пан.jpg

"Выполнить команду"  ->  "Неуязвимость"

 

Аааа, понял где собака зарыта, по умолчанию у них разведка и там нет пан

  • Like 1

I7-13700k RTX4070Ti 32GB DDR5
Logitech X-56 
Track IR 5

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...