Jump to content

Работа с редактором миссий


Recommended Posts

  • ED Team
Вот обрати внимание на группу ботов-вертолётов на северо-востоке Неллиса, в районе места G33 http://dropmefiles.com/XzO9t Советую сесть в заведённый вертолёт из группы hot start и побыстрому прилететь туда пока они не уехали.

Спасибо работает. У меня на Кавказе было что изменение этих процентов роняло симулятор.

Link to comment
Share on other sites

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

 

Эта возможность давно была.

Лично я этим не пользовался потому что годится такой рандом не для каждого случая.

Т.е. это вероятность того что появится танк или нет, или сработает триггер или нет.

Для простой миссии вполне сносно, можно накидать много групп и у каждой выставить вероятность появления. В результате вылетая ты не знаешь где и сколько техники.

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

Вобщем вероятность в процентах это интересная тема но не для всех случаев.

Без разрыва шаблонов — нет прогресса.

Link to comment
Share on other sites

Эта возможность давно была.

Лично я этим не пользовался потому что годится такой рандом не для каждого случая.

Т.е. это вероятность того что появится танк или нет, или сработает триггер или нет.

Для простой миссии вполне сносно, можно накидать много групп и у каждой выставить вероятность появления. В результате вылетая ты не знаешь где и сколько техники.

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

Вобщем вероятность в процентах это интересная тема но не для всех случаев.

 

Так чтож ты раньше мне не сказал, когда мне мозг компостировали:doh:? https://forums.eagle.ru/showpost.php?p=3013360&postcount=2696 Это и есть труъ песочница.

i5-4670/3,4Ghz/16GB DDR3/64xWin7/GTX1070/2xHDD RAID-0/1080p/Своп на отдельном харде

Link to comment
Share on other sites

Так чтож ты раньше мне не сказал, когда мне мозг компостировали:doh:? https://forums.eagle.ru/showpost.php?p=3013360&postcount=2696 Это и есть труъ песочница.

 

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

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

Без разрыва шаблонов — нет прогресса.

Link to comment
Share on other sites

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

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

 

Не совсем так.

Няп . Ставим время более 10--- случайный 5 %-- тескт всем . Текст будет появляться через небольшие промежутки времени.

Будьте осторожнее в своих желаниях.

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

Link to comment
Share on other sites

  • 2 weeks later...

Поставил в редакторе миссий ситуацию "МиГ-23 против Харриера". У обоих только ракеты В-В и ПТБ. У Харриера задачи нет, у МиГ-а задача "Завоевание превосходства" или "Перехват". И собственно вопросы:

 

1. Если ставить МиГ-у задачу "Перехват", то он на Харриера не реагирует. Это баг или особенности реализации?

 

2. С задачей "Завоевание превосходства" МиГ начинает обстрел Харриера ракетами с РЛ-наведением. Тут всё логично. А когда сближаются до дистанции 3-4 км и начинают крутиться, то МиГ, не доворачивая нормально до Харриера, выпускает все ракеты с тепловым наведением, и те просто улетают в молоко. У МиГ-а и Харриера поставлен уровень "Превосходный". Это баг?

— Так за что будем пить, господа?
— Я предлагаю вообще последний тост. Выпьем за отмену русских традиций произносить тосты, речи по всякому поводу и без всякого повода. Мы в России привыкли много болтать. На дела у нас не хватает времени и сил. Мы исходим словами. И в результате мы имеем то, что имеем. Я буду пить молча, господа.

Link to comment
Share on other sites

  • ED Team
Поставил в редакторе миссий ситуацию "МиГ-23 против Харриера". У обоих только ракеты В-В и ПТБ. У Харриера задачи нет, у МиГ-а задача "Завоевание превосходства" или "Перехват". И собственно вопросы:

 

1. Если ставить МиГ-у задачу "Перехват", то он на Харриера не реагирует. Это баг или особенности реализации?

При задаче перехват нужно в редакторе указывать кого перехватывать.

 

Если нужно чтобы истребитель атаковал все подряд выбери завоевание превосходства или патрулирование.

 

то МиГ, не доворачивая нормально до Харриера, выпускает все ракеты с тепловым наведением, и те просто улетают в молоко. У МиГ-а и Харриера поставлен уровень "Превосходный". Это баг?

Это баг. Который уже пофиксен в новой версии.

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

Link to comment
Share on other sites

  • 2 weeks later...
  • ED Team
Парни а подскажите, в "Расширенных действиях" в вкладке "выполнить команду" команда "EPLRS (вкл)-а" что обозначает?

это сеть обмена данными между подключенными к ней юнитами

Link to comment
Share on other sites

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

Link to comment
Share on other sites

  • ED Team
Здравствуйте. Подскажите, пожалуйста, как сделать в миссии, в частности в онлайн, так чтобы группа после уничтожения возрождалась. Например, на пилотажном сервере, самолет для отработки строевого полета возрождается в случае уничтожения. Заранее спасибо.

 

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

Link to comment
Share on other sites

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

 

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

Link to comment
Share on other sites

  • ED Team
Большое спасибо. Такой способ я и использовал, но думал есть более простой и логичный способ с использованием 1 группы)) Просто если предполагается частый респ группы, то выставлять "дублеров" можно очень долго.

возможно можно с помощью скриптов использовать одну группу. но эта тема сильно сложнее и информацтю по ней скорей всего придётся самому рыть

Link to comment
Share on other sites

В 2.5 заметил такую особенность.

Если на л/а, из модуля который у меня не активирован или его нет, но он присутствует в миссии, и на него "повесить" триггер /сообщения, активации/ , то при старте миссии этот триггер срабатывает.

 

Проверьте, плиззс.. это глюки моей беты? или баг?

Manual_RU по модулям Мираж(без обновления 2019),Газель, Скайхок; F -14 (кабина оператора),И16 ("горячие" клавиши), Christen Eagle II, BuddySpike, DDCS, Kaukasus Offensive (Сервера-как играть)

https://drive.google.com/open?id=1S_x0Z8sOcZwWTH73fKpjOIIVKeXzlZz3

 

F-16C Viper - https://drive.google.com/open?id=1YKz5p_WR1Sgz97mwYCXY7jDLxr_bYCJq

OH-58 Kiowa - https://drive.google.com/open?id=1LBiAJ68hghW4I4WnkO3rp8S_fpScHyBw

Link to comment
Share on other sites

  • ED Team
В 2.5 заметил такую особенность.

Если на л/а, из модуля который у меня не активирован или его нет, но он присутствует в миссии, и на него "повесить" триггер /сообщения, активации/ , то при старте миссии этот триггер срабатывает.

 

Проверьте, плиззс.. это глюки моей беты? или баг?

 

Можно миссию?

Link to comment
Share on other sites

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

 

По триггерам.

Изначально, когда только начал знакомиться с редактором миссий, использовал небольшое количество триггеров и флагов и все держал в памяти. Со временем, когда сложность создаваемых миссий стала расти, начал использовать примитивные классификаторы в названии триггеров. Если работал над такой миссией, затем случался перерыв в 2-4 недели, при повторном возвращении к созданию данной миссии, вначале приходилось вспоминать все связи между триггерами, флагами, какой из них за что отвечает, от чего зависит, с какими событиями, триггерами или флагами он связан. Со временем начал вести реестр флагов в отдельном документе, где прописывал их связи и краткое их описание. Хорошо помогает. В самой же миссии, события классифицировал по порядку их происхождения. Допустим, взять миссию с 5-ю заданиями:

1. Уничтожить колонну бронетехники;

2. После выполнения задачи №1, нужно уничтожить укреп. район;

3. После выполнения задачи №2, появляется ветвление с вероятностью возникновения первой либо второй ветки равной 50%:

3.1 К условной точке подходит колонна с севера и ее нужно уничтожить;

3.2 К условной точке подходит колонна с юга и ее нужно уничтожить;

4. После выполнения задачи 3.1, либо 3.2, появляется задача 4.1, либо 4.2 соответственно:

4.1 В северной части от условной точки обнаружена позиция артиллерии и ее нужно уничтожить;

4.2 В южной части от условной точки обнаружена позиция артиллерии и ее нужно уничтожить;

5. После выполнения задачи 4.1, либо 4.2, появляется задача 5 (ветки сходятся), в которой нужно прикрыть отступление нашей колонны.

 

В каждом триггере, который относится к задаче №1, прописывал в начале наименования цифру "1". Переходные триггеры между задачами, допустим между №1 и №2, прописывал как "1_2" (если они были нужны). Относящиеся к следующим заданиям, соответственно "2", "3" и т. д. Триггеры с ветвлениями обозначал как "3.1", "3.2" и т. д. После цифр шло краткое описание триггера, т.к. видимое поле наименования довольно короткое.

 

По флагам.

Флаги у нас нумеруются цифрами. Из примера с триггерами выше - на каждую задачу выделял по 10 флагов, независимо от того, сколько будет использовано в итоге. Для задачи №1, занимал номера флагов 10-19, для задачи №2 - 20-29 и т. д. Дабы в случае чего, можно было оперативно понять, к какой задаче в общем этот флаг относится.

 

Допустим, открывая некоторые миссии, видел флаги "9000" или "3500". При том, что в самой миссии флагов штук 10 будет и, теоретически, можно было ограничиться этими флагами. Делают для удобства или какой-то скрытый смысл?,

 

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

 

Помимо прочего, было бы интересно услышать некоторые советы по использованию редактора миссий. Допустим, в свое время узнал, что DCS проверяет список событий у триггера сверху-вниз и проверка происходит каждую секунду. И если начиная с первого события, какое-либо событие ложно, то проверка начинается снова. И по этой причине, первым событием для проверки целесообразно ставить менее ресурсоемкое событие. Т.е., допустим, есть событие №5, которое произойдет, если флаг 10 будет истинен. Чтобы флаг 10 был истинен, нужно пройти всю миссию (3 часа по времени). В событии №55 так же важно проверить, жива ли некая группа с 20-ю юнитами, которая у нас есть с самого начала миссии или нет и есть ли в триггерной зоне хотя бы часть коалиции противника или нет.

Расставив в следующем порядке условия для выполнения триггера:

1. Часть коалиции в зоне (коалиция, зона)

2. Группа жива (группа)

3. Флаг истинен (10)

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

Расставив же в следующем порядке:

1. Флаг истинен (10)

2. Часть коалиции в зоне (коалиция, зона)

3. Группа жива (группа)

Мы заставляем игру сначала проверить, истинен ли флаг 10 или нет (да или нет). И т.к. он не истинен, то проверка дальше не идет и через секунду начнется снова. Т.е., есть разница - обсчитывать каждую секунду координаты всех юнитов определенной коалиции и проверять на то, жива ли группа или нет и затем проверять истинность флага, гораздо более ресурсозатратно (при большом количестве таких триггеров), чем каждую секунду проверять состояние флага (да или нет) и т.к. он ложен, не заставлять проверять остальные условия, ибо смысла в этом нет. И тем самым, 3 часа игры будет проверяться только истинность этого флага. Затем случится событие, когда этот флаг станет истинным и следом будут проверены остальные 2 условия. И если они истинны, то ресурсоемкие проверки пройдут всего 1 раз и затем триггер выполнится и канет в небытие.

 

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

Link to comment
Share on other sites

 

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

 

По триггерам.

Изначально, когда только начал знакомиться с редактором миссий, использовал небольшое количество триггеров и флагов и все держал в памяти. Со временем, когда сложность создаваемых миссий стала расти, начал использовать примитивные классификаторы в названии триггеров. Если работал над такой миссией, затем случался перерыв в 2-4 недели, при повторном возвращении к созданию данной миссии, вначале приходилось вспоминать все связи между триггерами, флагами, какой из них за что отвечает, от чего зависит, с какими событиями, триггерами или флагами он связан. Со временем начал вести реестр флагов в отдельном документе, где прописывал их связи и краткое их описание. Хорошо помогает. В самой же миссии, события классифицировал по порядку их происхождения. Допустим, взять миссию с 5-ю заданиями:

1. Уничтожить колонну бронетехники;

2. После выполнения задачи №1, нужно уничтожить укреп. район;

3. После выполнения задачи №2, появляется ветвление с вероятностью возникновения первой либо второй ветки равной 50%:

3.1 К условной точке подходит колонна с севера и ее нужно уничтожить;

3.2 К условной точке подходит колонна с юга и ее нужно уничтожить;

4. После выполнения задачи 3.1, либо 3.2, появляется задача 4.1, либо 4.2 соответственно:

4.1 В северной части от условной точки обнаружена позиция артиллерии и ее нужно уничтожить;

4.2 В южной части от условной точки обнаружена позиция артиллерии и ее нужно уничтожить;

5. После выполнения задачи 4.1, либо 4.2, появляется задача 5 (ветки сходятся), в которой нужно прикрыть отступление нашей колонны.

 

В каждом триггере, который относится к задаче №1, прописывал в начале наименования цифру "1". Переходные триггеры между задачами, допустим между №1 и №2, прописывал как "1_2" (если они были нужны). Относящиеся к следующим заданиям, соответственно "2", "3" и т. д. Триггеры с ветвлениями обозначал как "3.1", "3.2" и т. д. После цифр шло краткое описание триггера, т.к. видимое поле наименования довольно короткое.

 

По флагам.

Флаги у нас нумеруются цифрами. Из примера с триггерами выше - на каждую задачу выделял по 10 флагов, независимо от того, сколько будет использовано в итоге. Для задачи №1, занимал номера флагов 10-19, для задачи №2 - 20-29 и т. д. Дабы в случае чего, можно было оперативно понять, к какой задаче в общем этот флаг относится.

 

Допустим, открывая некоторые миссии, видел флаги "9000" или "3500". При том, что в самой миссии флагов штук 10 будет и, теоретически, можно было ограничиться этими флагами. Делают для удобства или какой-то скрытый смысл?,

 

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

 

Помимо прочего, было бы интересно услышать некоторые советы по использованию редактора миссий. Допустим, в свое время узнал, что DCS проверяет список событий у триггера сверху-вниз и проверка происходит каждую секунду. И если начиная с первого события, какое-либо событие ложно, то проверка начинается снова. И по этой причине, первым событием для проверки целесообразно ставить менее ресурсоемкое событие. Т.е., допустим, есть событие №5, которое произойдет, если флаг 10 будет истинен. Чтобы флаг 10 был истинен, нужно пройти всю миссию (3 часа по времени). В событии №55 так же важно проверить, жива ли некая группа с 20-ю юнитами, которая у нас есть с самого начала миссии или нет и есть ли в триггерной зоне хотя бы часть коалиции противника или нет.

Расставив в следующем порядке условия для выполнения триггера:

1. Часть коалиции в зоне (коалиция, зона)

2. Группа жива (группа)

3. Флаг истинен (10)

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

Расставив же в следующем порядке:

1. Флаг истинен (10)

2. Часть коалиции в зоне (коалиция, зона)

3. Группа жива (группа)

Мы заставляем игру сначала проверить, истинен ли флаг 10 или нет (да или нет). И т.к. он не истинен, то проверка дальше не идет и через секунду начнется снова. Т.е., есть разница - обсчитывать каждую секунду координаты всех юнитов определенной коалиции и проверять на то, жива ли группа или нет и затем проверять истинность флага, гораздо более ресурсозатратно (при большом количестве таких триггеров), чем каждую секунду проверять состояние флага (да или нет) и т.к. он ложен, не заставлять проверять остальные условия, ибо смысла в этом нет. И тем самым, 3 часа игры будет проверяться только истинность этого флага. Затем случится событие, когда этот флаг станет истинным и следом будут проверены остальные 2 условия. И если они истинны, то ресурсоемкие проверки пройдут всего 1 раз и затем триггер выполнится и канет в небытие.

 

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

 

 

Поделюсь своей кухней и опытом.

В своё время мне очень помогли другие игроки.

Однажды мне SL PAK подсказал в названиях триггерных строк указывать флаги, а ещё раньше Димок посоветовал вообще впринципе подписывать триггеры иначе говорит будет швах. Я тогда даже не мог понять что вообще такое флаг, и как так получается ими вычислить допустим время нахождение игрока в зоне и подсчитывать очки за это дело )

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

 

По триггерам.

Вопервых желательно указывать в названии номера флагов которые там поднимаются.

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

Я для себя сделал систему как на картинке которую прикрепил к этому сообщению.

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

За номером я ставлю значок, например @ означает что этот триггер выводит какое то сообщение, не важно текстовое или звуковое. Значок смайлика означает что это имеет отношение к боту. Кроме того я разграничил все логические блоки, например группа триггеров связанных с одним заданием начинается с этих █████контрастных знаков, это помогает при пролистывании визуально находить начало триггеров связанных в один логический блок. █████ 13 █████ — это начало 13й миссии.

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

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

А надпись "НЕТ СОБЫТИЯ" я прятал за границей окна чтоб её небыло видно иначе она загромождает и мешает искать нужную строчку, а теперь окно стало шире и эти надписи опять стали видны )

 

По флагам

Там я придумал простую систему, номер флага это по сути название этого флага, а точней имя переменной.

Вцелом до 100 это флаги допустим которые общие и в целом нужны для общего функционирования миссии.

Флаги типа 777, 222, 111 являются важными флагами, 222 поднимается в любом подзадании если "что-то пошло не так".

Флаги "10000" имеют отношение к началу одного из подзаданий, они участвует в системе RND и нужны для выбора конкретной миссии, т.е 10001 это первая миссия, 10002 это вторая миссия и т.д.

Флаги "1000" тоже имеют имеют отношение к началу подзаданий, если "1000" истинен то стартует миссия для игрока, логика в названии таже 1001 первое задание, 1013 тринадцатое задание и т.д.

Флаги "500" тоже самое но для ботов, так как у меня в миссии предполагалось что одно задание может выполнять либо бот либо игрок. 501 первое задание, 505 пятое задание.

Флаги "3000" поднимаются по окончанию задания, 3013 — 13 задание закончено.

Ещё у меня дюжина ботов, для них флаги начинаются с их позывных 24601 — бот "246" докладывает "На первом...", 24602 — бот "246" докладывает "Кама..."

Ну и т.д.

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

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

 

По проверке списка событий.

Это важная штука особенно для миссий с большим количеством триггеров.

Тут нужно понимать что есть разница между онлайн и офлайн — в онлайн надо больше проверок делать.

А вот офлайн миссию можно разрулить и оптимизировать, ведь можно выключить из проверок более 80% всех триггеров!

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

Тут нужно уяснить один важный принцип — проверить есть-ли флаг или его нет это самая быстрая операция из всех возможных.

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

Второй важный момент — если одно из множества условий не сработало то остальные проверятся не будут. Это тоже поможет оптимизировать большую миссию.

 

Например вот триггер который начинает танковую атаку на НП, в нем множество условий:

Флаг истинен 1102 — У меня если подняты флаги 1100 то значит задание в процессе. 1102 значит что миссия 02 взята игроком и ещё не закончена.

Флаг ложен 313 — Если этот флаг истинен то Волкодав 2 начинает атаку. Тут на самом деле два варианта, один триггер старует танки если 313 ложен, а другой триггер стартует если 313 истинен. Это разные случаи для бота и для игрока, а также на случай "Если что-то пошло не так", например это задание выполнялось ботом и его сбили, или он разбился недолетев до точки, тогда эта миссия закончится без участии авиации.

Флаг ложен 1 — Если флаг 1 ложен то можно выводить звуковое сообщение.

Флаг равен числу 312,1 — Тут я выясняю где Волкодав 2, если 312,1 то танки стоят на позициях.

Время после флага 312,12 — Отсчитываю время (я не люблю когда сообщения вылетают моментально, поэтому делаю отстрочку по времени, на мой взгляд это добавляет реалистичности )

 

Итак, из примера получается вот что:

Если флаг 1102 ложен то дальнейшая проверка условий прекращается. Вообще таким образом я обрезаю много проверок, например если 1002 ложен то все триггеры которые имеют отношение к миссии 02 не будут проверены, а это колоссально экономит процессорное время. Ведь миссий в общей совокупности 23 штуки, я таким образом делаю проверку триггеров только в актуальной миссии которая сейчас выполняется игнорируя все остальные.

Флаг 312,1, это проверка местоположения юнитов, обычно в таких случаях проверяют триггерную зону, а это дороже. Я же просто выяснил значение флага.

 

 

доп.

Забыл написать про "реестр" флагов.

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

Рекомендую забыть про "неохота заморачиваться" и сделать себе такую штуку )

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

Trig.thumb.png.126c9a47e0b1b9b573e8e099516b1585.png

R.thumb.png.5f08c2e6daee58c70934cc0c32a956d1.png


Edited by B3OP

Без разрыва шаблонов — нет прогресса.

Link to comment
Share on other sites

Интересно! Спасибо за большой и развернутый ответ!

Один момент не до конца ясен "Например, у меня в миссии я проверяю местоположение всех ботов с помощью флагов, а не триггерных зон.". Это как?

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

плюсик форум не дает поставить

Link to comment
Share on other sites

Один момент не до конца ясен "Например, у меня в миссии я проверяю местоположение всех ботов с помощью флагов, а не триггерных зон.". Это как?

С помощью скрипта который подсказал Старлей.

Очень рекомендую!

Бот наступил на ППМ — флаг поднялся.

Sk.thumb.jpg.c017f78d5f000dbbca6bea258f7f2eb3.jpg


Edited by B3OP

Без разрыва шаблонов — нет прогресса.

Link to comment
Share on other sites

Ага тоесть в этой ППМ поднимается флаг 312, если в следующей поставить 0 - убирается. Правильно понял?

i7-4790k, 32ggb, 2070, 2560x1440, TrackIR5, Win10, всё в синей изоленте, и чуток SSD.

Link to comment
Share on other sites

  • ED Team
Ага тоесть в этой ППМ поднимается флаг 312, если в следующей поставить 0 - убирается. Правильно понял?

да, присвоится ноль. флаг утратит истинность. а зачем? ))

Link to comment
Share on other sites

Может этот вопрос уже был, не смотрел. Если поставить вертолет вдали от аэродрома с функцией стоянки "Старт с грунта", то при выборе подвесов разделы бомбы, пакеты и и т.д пустые. Можно ли это как-нибудь исправить без установки ППБ.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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