Jump to content

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


Recommended Posts

Posted (edited)

Вот что у меня на данный момент получилось.

 

Описание в общих чертах.

При катапультировании через некоторое время создается пехотный юнит. Если коалиция ЛА - красная, создается Российский пехотинец, если синяя - пехотинец США.

При появлении пехотинец включает радиомаяк.

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

Если приближается дружественный юнит на расстояние 5 км, пехотинец пускает ракеты 1 раз в 20 сек.

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

 

Проблемы.

1) Россия должна быть в красной коалиции, США в синей. Из других стран, как я понял, пехота есть только у Грузии.

2) Время на "полет на парашюте" дается 3 минуты. Если кто-нибудь опишет как по времени происходит полет на парашюте, то можно будет вычислять по высоте. Например, если брать раскрытие парашюта сразу же, то полет с высоты 10000м со скоростью 15км/ч будет длится более получаса.

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

4) Если клиент зайдет в игру после момента катапультации, радиопередачу он не услышит.

5) Если катапультируется сам игрок (в офлайне), или сервер (в онлайне), то на момент выхода из миссии у меня выдается ошибка (во вложении). Как ее победить у меня нет идей.

6) Рядом с появившимся юнитом приземляется моделька пилота на парашюте и их становится двое. Это очень заметно.

 

Что можно сделать.

1) Вычислять время падения по высоте (см выше)

2) Каждому следующему катапультанту, давать другую частоту маяка. Например, увеличивать на 1. Чтобы можно было найти каждого.

 

В приложении тестовая миссия. Через несколько секунд после старта взрывается A-10C, пилот катапультируется. К нему можно подлететь на Ирокезе.

 

Далее нужно его спасать. Но для этого мне надо еще разобраться со скриптом перевозки Бандита... =)

Pilot_ejecting.miz

custom_ejecting.lua

Error.jpg.83504f3a86f490571783d3fa50d89cdd.jpg

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

  • Replies 544
  • Created
  • Last Reply

Top Posters In This Topic

Posted
Если катапультируется сам игрок (в офлайне), или сервер (в онлайне), то на момент выхода из миссии у меня выдается ошибка (во вложении). Как ее победить у меня нет идей.

 

А это кстати уже, скорее всего, баг самого DCS World-а, спасибо - я раньше не сталкивался.

Буду дома, сделаю отдельную миссию для воспроизведения и отрепортю, если воспроизведется.

Ошибка кстати из скрипта MSF вылетает, нужно прежде всего проверить есть такая, если отключить 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

Posted

Кстати почитал сейчас хотелки в других темах, многие из них реализуются на SSE...

 

Вот что планирую добавить в связи с этим:

1. Добавлю возможность для CargoPlaces загружаться минами.

2. Добавлю возможность минирования с воздуха (с наземки можно тоже сделать, только не знаю нужно или нет).

3. Добавлю саперов и возможность их перевозить.

--------------

 

Не знаю только когда все это успею с реализацией ПВО как-то застрял.

Крайняя версия 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

Posted

BAntDit, в перевозке пехоты, как я понял, загружать ее можно только в заранее обозначенных зонах погрузки.

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

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

Posted (edited)
BAntDit, в перевозке пехоты, как я понял, загружать ее можно только в заранее обозначенных зонах погрузки.

 

Нет, можно где угодно.

 

Можно ли производить забор пехотинца в произвольном месте

 

Да.

 

См. это сообщение: http://forums.eagle.ru/showpost.php?p=1825944&postcount=160 - пункт 3 и пункт 6 то, что для этого нужно.

Там написано для наземки, но это все работает и для вертушек.

 

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

 

Создать зону погрузки динамически тоже можно, но не нужно.

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

Posted
Кстати почитал сейчас хотелки в других темах, многие из них реализуются на SSE...

 

Вот что планирую добавить в связи с этим:

1. Добавлю возможность для CargoPlaces загружаться минами.

2. Добавлю возможность минирования с воздуха (с наземки можно тоже сделать, только не знаю нужно или нет).

3. Добавлю саперов и возможность их перевозить.

--------------

 

Не знаю только когда все это успею с реализацией ПВО как-то застрял.

 

Отлично! Для наземки думаю имеет смысл делать только для определенных юнитов. А как на счет выгрузки пехоты из наземных юнитов если группа перевозящая пехоту под огнем? Я уже как только не изголялся, да знаний не хватает

Posted
Кстати почитал сейчас хотелки в других темах, многие из них реализуются на SSE...

 

Вот что планирую добавить в связи с этим:

1. Добавлю возможность для CargoPlaces загружаться минами.

2. Добавлю возможность минирования с воздуха (с наземки можно тоже сделать, только не знаю нужно или нет).

3. Добавлю саперов и возможность их перевозить.

--------------

 

Не знаю только когда все это успею с реализацией ПВО как-то застрял.

 

п.1 и 2 - очень нада :) сделать скажем из млтб миноукладчик , только вопрос в кол-ве репевозимых мин , точне кол-ве мест где их можо поставить ( ты говорил что перевозимая группа может быть только одна). Может для наземки проще будет прописать возможность определенных юнитов генерить мины пожеланию ?

 

п.3 - Вот с саперами проблема может выйти .Человечки от первого лица не рулятся и вполне могут рватся на своих минах.

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

Но сама возможность включить в перевозимую группу саперов повысит ценность пехоты.

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

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

Posted (edited)
Если катапультируется сам игрок (в офлайне), или сервер (в онлайне), то на момент выхода из миссии у меня выдается ошибка (во вложении).

 

Локализовал.

 

А это кстати уже, скорее всего, баг самого DCS World-а

 

К счастью, это мой баг :) - не придется баг репорт писать ))

--------------------

 

Ошибка в MSF в обработчике S_EVENT_PILOT_DEAD.

 

Происходит следующее:

1. Фигурка пилота остается живой после катапультирования до тех пор пока ты не возьмешь новый Л\А.

 

2. В момент выхода с сервера эта фигурка дохнет и вызывается событие S_EVENT_PILOT_DEAD.

 

3. Обработчик события пытается получить ID инициатора события, но поскольку сам инициатор ушел с сервера он этого сделать не может - в результате ошибка.

 

Как ее победить у меня нет идей.

 

1. Перед тем как выйти из игры сядь в какой-нибудь Л\А.

 

2. Завтра постараюсь сделать fix для 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

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

 

пока не было времени - в следующие выходные сделаю пример.

 

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

 

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

Крайняя версия 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

Posted
Локализовал.

...

1. Перед тем как выйти из игры сядь в какой-нибудь Л\А.

 

2. Завтра постараюсь сделать hotfix для MSF, чтобы этой ошибки никогда не возникало, ато боюсь что она может вешать сервак и при выходе клиента тоже.

 

Только сейчас добрался до игры. Проверил на чистом SSE. Ошибка не возникает. Но вижу, что тест уже не нужен. =)

 

Проверяли с товарищем, вроде когда я выходил с его сервера, ошибка не возникала. Хотя, действительно, может быть я успевал занять свободный ЛА.

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

Posted

Еще немного поэкспериментировал.

Пример добавляет вертолетам при взлете пункт в радиоменю.

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

heli_smoke.lua

heli_smoke.miz

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

Posted
Только сейчас добрался до игры. Проверил на чистом SSE. Ошибка не возникает. Но вижу, что тест уже не нужен. =)

 

Проверяли с товарищем, вроде когда я выходил с его сервера, ошибка не возникала. Хотя, действительно, может быть я успевал занять свободный ЛА.

 

Потому что у вас не обрабатывалось событие S_EVENT_PILOT_DEAD, а в 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

Posted

 

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

 

Это хорошо.

Навскидку приходит на ум идеи с "надувной армией"

 

Останется тебе погрузку высадку мостов сделать , и можно стройбат для СА организовать :)

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

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

Posted (edited)

Небольшой fix.

Вот эта ошибка: http://forums.eagle.ru/showpost.php?p=1898518&postcount=258 исправлена.

 

Новая версия 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

Posted

О, хорошо :). ДА, Ми8 то не вкурсе, теперь оживился евентами? А то транспорт хоцца...

[sIGPIC][/sIGPIC]

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

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

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

Posted
Ми8 то не вкурсе, теперь оживился евентами? А то транспорт хоцца...

 

Я все тестировал на Хью, на Ми-8 тоже должно работать, но у меня нет возможности на нем проверять.

Крайняя версия 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

Posted (edited)

До крайнего патча создание пехоты как и транспорта с 8-ки не работало должным образом. Кроме деснтников с ак и рпг с ми8 сгенерить только за красных ничего не выходило. Но похоже сейчас так же пока, скрипт недавно правился и МСФ крайний - синяя сторона не генерится опять, с UH все нормально... будем дальше думать, но сейчас вроде взлет-посадка Ми8 уже индицируеся событием... Видимо, нужно начать с малого - вычистить скрипт и заного перебирать, что есть, а чего нет...

Edited by edwardpashkov

[sIGPIC][/sIGPIC]

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

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

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

Posted

Не серчайте. Снова я со своей телегой :)

Не работает у меня этот скрипт почему-то.

 

if (1 == trigger.misc.getUserFlag('1')) then
trigger.action.outText('флаг 1', 5);
end

 

Дайте плз пример миссии с этим скриптом.

[sIGPIC][/sIGPIC]

http://action-games.at.ua

Posted

Бантдит (или кто другой сведущий в скриптах), вот такую штуку пожалуйста:

 

1.

Есть триггерная зона r_trigZone_1.

Надо сгенерировать юнит r_unit1 (группу юнитов r_group1) в рандомном месте относительно центра этой триггерной зоны. Рандом от 0 до х и у. х, у в метрах задаются в скрипте.

 

В мсф почти это делается, как я понял, но надо добавить math.random ?

 

2.

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

 

Спасибо.

Posted (edited)

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

------ -----

На следующей неделе предположительно....

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

Posted (edited)

Очередной небольшой fix MSF: исправлена ошибка, из-за которой иногда могли не срабатывать обработчики событий onHit (попадания) и onShot (стрельба).

------------

См. пост: http://forums.eagle.ru/showpost.php?p=1911102&postcount=274

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

Posted
А как на счет выгрузки пехоты из наземных юнитов если группа перевозящая пехоту под огнем? Я уже как только не изголялся, да знаний не хватает

 

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

 

Пример, готов.

 

--------

Суть решения:

в MSF реализована функция msfUnit.getCargo(self), позволяющая получить ссылку на перевозимый юнитом груз. Условия высадки перевозимого груза хранятся вместе с самим грузом в отдельном свойстве conditions. Суть решения заключается в том, чтобы перехватить момент обстрела транспортного юнита, получить перевозимый им груз через метод getCargo и в это момент записать в conditions такие значения, как будто все условия высадки уже выполнены => группа автоматически начнет высадку.

 

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

on_transport_hit.lua

cargo_moving_example.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

Posted (edited)
Очередной небольшой fix MSF: исправлена ошибка, из-за которой иногда могли не срабатывать обработчики событий onHit (попадания) и onShot (стрельба).

------------

Ссылка для скачивания новой версии у меня в подписи.

 

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

-----------

 

Сейчас все исправил, перенес нужные исправления. Исправленная версия доступна для скачивания у меня в подписи. Тем кто уже успел скачать прошлую версию, рекомендую скачать заново.

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

Posted (edited)
Обещал сделать пример, реализации автоматической высадки юнитов через обработчики события.

Отлично, спасибо!

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

Edited by StarLey_Andrew
  • Recently Browsing   0 members

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