Jump to content

Разработка миссии на основе Simulator Scripting Engine


Recommended Posts

Еще такой вопрос, если в on_transport_hit я внесу строку "eventArgs.group:takeCover();" правильно ли я понимаю, что высадившаяся группа укроется за ближайшим укрытием?

 

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

 

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

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


Edited by BAntDit

Крайняя версия MSF 1.0.1 (для 1.2.6.): http://forums.eagle.ru/attachment.php?attachmentid=89817&d=1382379803

 

Новая версия MSF 1.0.2 beta: http://forums.eagle.ru/attachment.php?attachmentid=93422&d=1390584292

 

Миссия для тестирования возможностей MSF 1.0.2: http://forums.eagle.ru/attachment.php?attachmentid=91514&d=1386954362

----

Руководство по MSF (не полная версия для MSF 1.0.2): http://forums.eagle.ru/attachment.php?attachmentid=92959&d=1389558825

Link to comment
Share on other sites

  • Replies 543
  • Created
  • Last Reply

Top Posters In This Topic

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

Понял, в общем то строка от туда и выдернута.

Link to comment
Share on other sites

BAntDit Подскажи в чем проблема?...... [ATTACH]90125[/ATTACH]

 

Если надо логи с сервера могу прислать.

Спасибо

Link to comment
Share on other sites

BAntDit Подскажи в чем проблема?...... [ATTACH]90125[/ATTACH]

 

Если надо логи с сервера могу прислать.

Спасибо

 

У скрипта доступ не стало к одному из транспортных юнитов.

Может кто-то из транспортников неожиданно в зрители вышел или его выкинуло.

А часто такое появляется и какая у вас версия MSF - точно последняя?

Крайняя версия MSF 1.0.1 (для 1.2.6.): http://forums.eagle.ru/attachment.php?attachmentid=89817&d=1382379803

 

Новая версия MSF 1.0.2 beta: http://forums.eagle.ru/attachment.php?attachmentid=93422&d=1390584292

 

Миссия для тестирования возможностей MSF 1.0.2: http://forums.eagle.ru/attachment.php?attachmentid=91514&d=1386954362

----

Руководство по MSF (не полная версия для MSF 1.0.2): http://forums.eagle.ru/attachment.php?attachmentid=92959&d=1389558825

Link to comment
Share on other sites

У скрипта доступ не стало к одному из транспортных юнитов.

Может кто-то из транспортников неожиданно в зрители вышел или его выкинуло.

А часто такое появляется и какая у вас версия - точно последняя?

Все понял... я тоже на это грешил чел несколько раз отваливался и пере-заходил.

MSF 2-х недельной давности.

Спасибо.

Link to comment
Share on other sites

По просьбам трудящихся скрипт, создающий дополнительный урон при применении ПТАБ-ов.

ptab_hits.lua

cluster_bombs_hits.miz

Крайняя версия MSF 1.0.1 (для 1.2.6.): http://forums.eagle.ru/attachment.php?attachmentid=89817&d=1382379803

 

Новая версия MSF 1.0.2 beta: http://forums.eagle.ru/attachment.php?attachmentid=93422&d=1390584292

 

Миссия для тестирования возможностей MSF 1.0.2: http://forums.eagle.ru/attachment.php?attachmentid=91514&d=1386954362

----

Руководство по MSF (не полная версия для MSF 1.0.2): http://forums.eagle.ru/attachment.php?attachmentid=92959&d=1389558825

Link to comment
Share on other sites

BAntDit, я все про тот скрипт... вчера вышло так, что на скрипте для наземки и для вертикальных случайно выбрал погрузку с зоны и уже существующей группы на вертолет, скрипт отработал, подобрал обе, но ни одну группу высадить не удалось - в меню пунтк был, потом, при активации, пропал, и нечего не произошло. Ну и оказалось (может было много мест подбора (7, убрал до 3) или высота подбора - была 3 сделал 5) стали выгружаться все виды техники на всех каолициях. Странно все таки, 8-ка с одинковыми строками скрипта такое могла только крансная делать. Вообщем в копилку занний - тут видимо высота подбора груза отработала.

[sIGPIC][/sIGPIC]

АКА =TMS= Count _ Полеты на = T M S = dedicate server На точке работает РП (РП+РПП)

Набор вирпилов на вертикальную, штурмовую и истребительную авиацию со времен ВОВ и по настоящее время

Комсостав и инструкторы - летавшие в горячих точках (и не только) и действующие летчики.

Link to comment
Share on other sites

Что должно содержатся в table groupData

функции

Group function coalition.addGroup(enum country.id country, enum Group.Category groupCategory, table groupData)

?

В wiki расплывчатое:

groupData

table with group data. The table has the same format groups have in a mission file.

ASRock P67 Extreme4 Gen3/Intel Core i5 3570/16 Gb DDR3/GF 560Ti/Win7 64bit/CH FighterStick + CH Pro Throttle + Saitek Pro Flight Rudder Pedals/TrackiR4 Pro

Link to comment
Share on other sites

Можно ли организовать спасение катапультировавшихся пилотов скриптом следующим образом:

Ставим самолет, привязываем к нему триггерную зону т.е. зона всегда будет перемещаться с самолетом, при катапультировании пилота на координатах этой зоны генерируем бойца с акм (имя юнита: pilot_su27_1), в инит скрипте для МСФ прописываем этот юнит pilot_su27_1, чтобы его можно было подобрать вертолетом. Скрипт выводит сообщение, что в таком-то районе (координаты MGRS) катапультировался пилот. Координаты не Х,У, а по формуле переведенная в сетку мгрс.

Возможно ? Трудно ли реализовать ? Или уже есть подобное?

Link to comment
Share on other sites

Что должно содержатся в table groupData

функции

Group function coalition.addGroup(enum country.id country, enum Group.Category groupCategory, table groupData)

?

В wiki расплывчатое:

 

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

 

Если делать все руками:

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

 

Если хочешь получить таблицу с описанием программно:

можно через env.mission прочитать таблицу любой существующей в миссии группой, скопировать её и передать копию в функцию как аргумент (позже сделаю пример).

Крайняя версия MSF 1.0.1 (для 1.2.6.): http://forums.eagle.ru/attachment.php?attachmentid=89817&d=1382379803

 

Новая версия MSF 1.0.2 beta: http://forums.eagle.ru/attachment.php?attachmentid=93422&d=1390584292

 

Миссия для тестирования возможностей MSF 1.0.2: http://forums.eagle.ru/attachment.php?attachmentid=91514&d=1386954362

----

Руководство по MSF (не полная версия для MSF 1.0.2): http://forums.eagle.ru/attachment.php?attachmentid=92959&d=1389558825

Link to comment
Share on other sites

Бантдит, вот это, по просьбе трудящегося, пожалуйста http://forums.eagle.ru/showpost.php?...&postcount=270

 

Позже сделаю, пока другие задачи нужно закончить.

 

Можно ли организовать спасение катапультировавшихся пилотов скриптом следующим образом:

Ставим самолет, привязываем к нему триггерную зону т.е. зона всегда будет перемещаться с самолетом, при катапультировании пилота на координатах этой зоны генерируем бойца с акм (имя юнита: pilot_su27_1), в инит скрипте для МСФ прописываем этот юнит pilot_su27_1, чтобы его можно было подобрать вертолетом. Скрипт выводит сообщение, что в таком-то районе (координаты MGRS) катапультировался пилот. Координаты не Х,У, а по формуле переведенная в сетку мгрс.

Возможно ? Трудно ли реализовать ? Или уже есть подобное?

 

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

 

Описанный пример перевозки катапультированных пилотов уже обсуждался в этой теме выше, Hitryi его уже даже реализовал вроде: http://forums.eagle.ru/showpost.php?p=1897551&postcount=251


Edited by BAntDit

Крайняя версия MSF 1.0.1 (для 1.2.6.): http://forums.eagle.ru/attachment.php?attachmentid=89817&d=1382379803

 

Новая версия MSF 1.0.2 beta: http://forums.eagle.ru/attachment.php?attachmentid=93422&d=1390584292

 

Миссия для тестирования возможностей MSF 1.0.2: http://forums.eagle.ru/attachment.php?attachmentid=91514&d=1386954362

----

Руководство по MSF (не полная версия для MSF 1.0.2): http://forums.eagle.ru/attachment.php?attachmentid=92959&d=1389558825

Link to comment
Share on other sites

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

...

 

Спасиб.

Нашел пример Святого, подсмотрел у него структуру таблицы описания группы и юнита.

Думаю в mission.lua дополнительно узнаю еще много нового. :thumbup:

 

Остались маленькие вопросы по этим описаниям.

 

В описании группе есть элемент ["groupId"] = 2 (из примера Святого), если его убрать, группа не создается.

Это внутренний ID группы? Должен ли быть уникальным для каждой группы?

 

В описании юнита есть подобный элемент ["unitId"] = unitIndex + 5 (опять же из примера Святого), если его убрать, группа с юнитами создается без проблем. За что отвечает этот элемент?


Edited by Hitryi

ASRock P67 Extreme4 Gen3/Intel Core i5 3570/16 Gb DDR3/GF 560Ti/Win7 64bit/CH FighterStick + CH Pro Throttle + Saitek Pro Flight Rudder Pedals/TrackiR4 Pro

Link to comment
Share on other sites

В описании группе есть элемент ["groupId"] = 2 (из примера Святого), если его убрать, группа не создается.

Это внутренний ID группы? Должен ли быть уникальным для каждой группы?

 

В описании юнита есть подобный элемент ["unitId"] = unitIndex + 5 (опять же из примера Святого), если его убрать, группа с юнитами создается без проблем. За что отвечает этот элемент?

 

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

 

2. Идентификаторы групп и юнитов тоже должны быть уникальными, но об этом может позаботится сам движок. Группе можно смело присвоить ИД = 1, юнитам можно присвоить ИД от 1 до N по порядку. Если в момент создания группы произойдет колизия идентификаторов, то движок сам заменит повторяющиеся ИД-шники на уникальные (по факту в этом случае просто происходит замена ИД на имена).


Edited by BAntDit

Крайняя версия MSF 1.0.1 (для 1.2.6.): http://forums.eagle.ru/attachment.php?attachmentid=89817&d=1382379803

 

Новая версия MSF 1.0.2 beta: http://forums.eagle.ru/attachment.php?attachmentid=93422&d=1390584292

 

Миссия для тестирования возможностей MSF 1.0.2: http://forums.eagle.ru/attachment.php?attachmentid=91514&d=1386954362

----

Руководство по MSF (не полная версия для MSF 1.0.2): http://forums.eagle.ru/attachment.php?attachmentid=92959&d=1389558825

Link to comment
Share on other sites

Спасибо.

Полное просветление моих мозгов по этому вопросу достигнуто. =)

ASRock P67 Extreme4 Gen3/Intel Core i5 3570/16 Gb DDR3/GF 560Ti/Win7 64bit/CH FighterStick + CH Pro Throttle + Saitek Pro Flight Rudder Pedals/TrackiR4 Pro

Link to comment
Share on other sites

Небольшой пример автоматической генерации юнитов.

 

Демонстрационная миссия - миниигра: Оборона Ветки

 

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

При помощи имеющегося под управлением игрока вертолета Ка-50 нужно удерживать оборону на столько долго, насколько это возможно.

С течением времени юниты будут появляться чаще, ехать быстрее, и будут более "злыми"...

 

Миссия и скрипт с комментариями прилагается.

Vetka_defence.miz

Vetka_defence.lua

ASRock P67 Extreme4 Gen3/Intel Core i5 3570/16 Gb DDR3/GF 560Ti/Win7 64bit/CH FighterStick + CH Pro Throttle + Saitek Pro Flight Rudder Pedals/TrackiR4 Pro

Link to comment
Share on other sites

Хм, интересная вешь, глянул ЛУА, молодца! :) В сети проверялось? Просто как раз для части онлайн мисий такое очень интересно. Только ай наверное сделать не возрастающей, а скажем 2-3 типа и их по кргуну задавать, чтобы в группе был разный ии от среднего до максимума, минимум ИМХО не нужно. За счет такого менее на тир будет похоже.

[sIGPIC][/sIGPIC]

АКА =TMS= Count _ Полеты на = T M S = dedicate server На точке работает РП (РП+РПП)

Набор вирпилов на вертикальную, штурмовую и истребительную авиацию со времен ВОВ и по настоящее время

Комсостав и инструкторы - летавшие в горячих точках (и не только) и действующие летчики.

Link to comment
Share on other sites

В сети проверялось, но только со стороны сервера. Сегодня договаривались проверить и на клиенте.

АИ на данный момент фиксированный. Но можно и доработать. Сделать случайный или возрастающий с уровнем.

Под уровнем понимается количество техники появившейся в миссии, увеличивается каждые 10 юнитов.

С возрастанием уровня

- уменьшается время генерации очередного юнита

- увеличивается задаваемая скорость передвижения юнита

- увеличивается ассортимент юнитов (на 1-ом Хаммер, на втором Хаммер и Страйкер и тд)

ASRock P67 Extreme4 Gen3/Intel Core i5 3570/16 Gb DDR3/GF 560Ti/Win7 64bit/CH FighterStick + CH Pro Throttle + Saitek Pro Flight Rudder Pedals/TrackiR4 Pro

Link to comment
Share on other sites

Немножко видео, о том как идет работа над новой версией MSF.

 

Сегодня научил ПВО передавать голосом воздушную обстановку и целеуказания любым, каким потребуется, дружественным силам

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

(Сейчас пока использую стандартную озвучку, которая есть в игре для этого, но её не хватает - пока, конечно,

обойдусь тем что есть, потом может займусь переозвучкой.)

 

Получилось прикольно, вот записал немного видео для примера:

 

 

----

Фуф..., седне у меня был день впервые за долгое время по настоящему свободный, очень много получилось сделать,

если следующие пару выходных выдадутся таким же - выложу новую версию MSF,

по крайне мере тот минимум, который должен быть в новой версии, а потом просто буду допиливать постепенно :)

 

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

и изменениями старых и сделать миссию-демонстратор новых возможностей.

 

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


Edited by BAntDit

Крайняя версия MSF 1.0.1 (для 1.2.6.): http://forums.eagle.ru/attachment.php?attachmentid=89817&d=1382379803

 

Новая версия MSF 1.0.2 beta: http://forums.eagle.ru/attachment.php?attachmentid=93422&d=1390584292

 

Миссия для тестирования возможностей MSF 1.0.2: http://forums.eagle.ru/attachment.php?attachmentid=91514&d=1386954362

----

Руководство по MSF (не полная версия для MSF 1.0.2): http://forums.eagle.ru/attachment.php?attachmentid=92959&d=1389558825

Link to comment
Share on other sites

  • ED Team

Отлично!

Только сразу вопрос - нужна ли подобная точность указания высот и скоростей? Может стоит высоты до сотен метров округлить, а скорости до десятков километров в час?

Best Regards, Dmitry.

 

"Чтобы дойти до цели, надо прежде всего идти." © О. Бальзак


 
Link to comment
Share on other sites

Может стоит высоты до сотен метров округлить, а скорости до десятков километров в час?

 

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

Крайняя версия MSF 1.0.1 (для 1.2.6.): http://forums.eagle.ru/attachment.php?attachmentid=89817&d=1382379803

 

Новая версия MSF 1.0.2 beta: http://forums.eagle.ru/attachment.php?attachmentid=93422&d=1390584292

 

Миссия для тестирования возможностей MSF 1.0.2: http://forums.eagle.ru/attachment.php?attachmentid=91514&d=1386954362

----

Руководство по MSF (не полная версия для MSF 1.0.2): http://forums.eagle.ru/attachment.php?attachmentid=92959&d=1389558825

Link to comment
Share on other sites

А эту информацию слышно на определенной частоте? Если нет - будет ли возможность её задать?

 

Сейчас сообщения передаются группам используя trigger.action.outSoundForGroup().

 

Использовать радио эфир для передачи сообщений на нужной частоте тоже можно, но с

этим связаны некоторые проблемы:

 

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

 

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

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

 

3. Сообщение передаваемые будут слышны для всех - в том числе и для вражеской коалиции, им нужно будет только узнать на каких частотах общается противник и подслушивать :)


Edited by BAntDit

Крайняя версия MSF 1.0.1 (для 1.2.6.): http://forums.eagle.ru/attachment.php?attachmentid=89817&d=1382379803

 

Новая версия MSF 1.0.2 beta: http://forums.eagle.ru/attachment.php?attachmentid=93422&d=1390584292

 

Миссия для тестирования возможностей MSF 1.0.2: http://forums.eagle.ru/attachment.php?attachmentid=91514&d=1386954362

----

Руководство по MSF (не полная версия для MSF 1.0.2): http://forums.eagle.ru/attachment.php?attachmentid=92959&d=1389558825

Link to comment
Share on other sites

По радио.

Если правильно помню в ранних версиях ты транслировал сообщения через "СКП".

Вот если привязать к СКП передачу в радиоэфир( можно просто фоновый шум типа шифрование ). ТЕ выдача ЦУ так и остается через trigger.action.outSoundForGroup(). а СКП просто транслирует в радиоэфир шум обозначая радиопередачу.

То можно ставить задачу - поиск и уничтожение командного центра ПВО с использованием радиооборудования ЛА. Это может быть полезно если РЛС подвижна, работает с перерывами , то проще будет найти и уничтожить КП который постоянно выходит в эфир.

 

...

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

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

...

 

BAntDit, сообщения только для ЛА или можно транслировать и на определенные группы наземки?

 

Если пренести скрип на наземку можно получить вполне внятную систему ПВО. ТЕ если ЕД разродятся радаром в 1.2.7 получим .

1) Скрыть все ЛА на карте ф10.

2) Обзорную РЛС выдающую ЦУ для ЗРК.

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

 

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


Edited by димок

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

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

Link to comment
Share on other sites

BAntDit, сообщения только для ЛА или можно транслировать и на определенные группы наземки?

 

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

Крайняя версия MSF 1.0.1 (для 1.2.6.): http://forums.eagle.ru/attachment.php?attachmentid=89817&d=1382379803

 

Новая версия MSF 1.0.2 beta: http://forums.eagle.ru/attachment.php?attachmentid=93422&d=1390584292

 

Миссия для тестирования возможностей MSF 1.0.2: http://forums.eagle.ru/attachment.php?attachmentid=91514&d=1386954362

----

Руководство по MSF (не полная версия для MSF 1.0.2): http://forums.eagle.ru/attachment.php?attachmentid=92959&d=1389558825

Link to comment
Share on other sites

  • Recently Browsing   0 members

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