Jump to content

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


Recommended Posts

ну чего там, не все поколечило патчем для MSF

 

все что покалечило я уже оперативно исправил :) - ссылка на обновленную версию MSF у меня в подписи, т.е. просто замените старый скрипт msf.lua на новый в своих миссиях и все будет работать

 

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

 

В смысле?

 

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

 

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

 

Вот как это закончу, посмотрю что дальше, может это будет и ПВО...

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

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

А МСФ крайний слайдшоу что то усраивает. Хотя скорее это трабла ДКС с их страннотсями.. Вообщем, новая версия скрипта устраивает слайдшоу, елсли его засунуть в готовую... Грусть и печаль.


Edited by edwardpashkov

[sIGPIC][/sIGPIC]

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

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

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

Link to comment
Share on other sites

А МСФ крайний слайдшоу что то усраивает. Хотя скорее это трабла ДКС с их страннотсями.. Вообщем, новая версия скрипта устраивает слайдшоу, елсли его засунуть в готовую... Грусть и печаль.

 

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

 

2. На моем хилом компьютере слайдшоу при тестировании не было. Число пользователей на производительность 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

На RAF-е уже перешли на новый MSF - ни у кого ничего не тормозит, только что зашел, полетал.

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

P.S.: завтра вечером я буду в ТС-е РАФ-а, если проблема будет ещё актуальна - заходите, попробую помочь.

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

Скажи куда тебе кинуть миссию, ты сам вставишь и посмотришь. Воможно, у меня слишком много всего в ней для него. Спецом бы не жаловался. А еще лучше в тс пересечься. Я тебя просто не поймал в эти дни. Ну давай сегодня половлю. Но на старом все ок, на новом миссия слайдшоу. Думал пока скрипт запускается подождать, так не помогло (что на своем компе пускал что на сервере). Возможно, еще чего так поймается из скрытых багов :)

[sIGPIC][/sIGPIC]

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

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

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

Link to comment
Share on other sites

Вчера разобрались с BAntDit по поводу скриптов. Там все нормально, ненормально в редакторе. До релиза 1.2.5 реадктор оказывается предупреждал о проблоемах при открытии миссии от 1.2.4, сейчас в 1.2.5 нет. Если миссии не открывать в 1.2.5 редакторе, а в ручную перепоковывать заменяя скрипт - то миссия работает на 1.2.5. Но стоит ее октрыть в 1.2.5 миссия перестают адекватно работать. Что там так глобально навернули, что даже в целом миссия без наворотов, без скриптов начинает работать в режиме слайдшоу, не понятно. Боюсь таки выхода 1.2.6, т.к. из таких вот глобальных поломок бестолку вообще чего либо начинать. А BAntDit огромное спасибо за его работу по расширению функций в миссиях при помощи МСФ, что по идее, часть изначально нужно было иметь :) в дкс штатно (может что и сделают).

[sIGPIC][/sIGPIC]

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

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

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

Link to comment
Share on other sites

тригера скорее всего виноваты. В миссиях с небольшим кол-вом тригеров проблем не заметил.

 

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

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

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

Link to comment
Share on other sites

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

[sIGPIC][/sIGPIC]

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

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

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

Link to comment
Share on other sites

попробуй сохранив исходную версию.

удалить все тригера. и запустить

интересно что именно вызывает слайд шоу.

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

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

Link to comment
Share on other sites

Перевозка юнитов на броне

 

Закончил работу над перевозкой юнитов на наземной технике - БТР-ах, БМП и т.п.

Новая версия MSF доступна для скачивания, пока как beta-версия (ссылка у меня в подписи).

 

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

следующая информация:

 

Информация для разработчиков миссий:

 

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

 

2. Транспортным юнитом может быть назначен любой юнит группы. Всего в каждой группе может быть до 4-ех транспортных юнитов.

 

3. Для назначения юнита группы транспортным используйте метод

function msfUnit.setTransportTask(self, boolean isTransport).

Пример:

 

-- lenta_transport_2 - имя юнита в редакторе

-- сделать этот юнит транспортным можно так:

mission.model:addUnit('lenta_transport_2');

mission.model.units.lenta_transport_2:setTransportTask(true);

 

4. Для возможности подбора групп юнитов в погрузочных зонах, для

транспортных юнитов нужно добавить шаблоны групп, точно также как это

делается для вертолетов. Пример:

 

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

-- _cargo_place_number_1 - номер это зоны

-- добавление шаблона подбираемой из этой зоны группы для БТР-80:

mission.model.cargoPlaces[_cargo_place_number_1]:addCargoTemplate(

'infantry_2_lite', -- уникальное имя шаблона

'BTR-80', -- тип юнита, для которого доступна погрузка

10, -- число доступных погрузок (столько групп можно будет забрать

_units_templates_1, -- юниты шаблона (задаются также как для вертолетов)

10, -- время посадки в секундах

12, -- время высадки в секундах

{ speedLessThen = 4, command = 0 }, -- условия высадки (высота ессесно не задается)

country.id.RUSSIA, -- гос. принадлежность перевозимых групп

'Взвод пехоты'); -- название отображаемое в радиоменю

 

5. После определения зон погрузки для групп с транспортными юнитами

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

(для вертушек это делалось автоматом при первом взлете).

Обновить список зон в радиоменю можно так:

-- lenta - имя группы в редакторе, в которой есть транспорт

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

mission.model:addGroup('lenta');

mission.model.groups.lenta:renewCargoPlacesList();

 

6. Для перевозки групп юнитов, определенных в редакторе заранее на

этапе создания миссии, возможность перевозки на заданном типе транспорта

задается методом function msfGroup.addAvalibleTransport(self, string unitType)

Пример:

-- alpha - имя группы, созданной в редакторе

-- сделать эту группу доступной для перевозки на БТР-80, можно так:

mission.model.groups.alpha:addAvalibleTransport('BTR-80');

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

 

Если что-то не понятно, см. пример в приложенной к посту миссии:

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

Link to comment
Share on other sites

Теперь информация для пользователей:

 

1. Радиокоманды в DCS World добавляются не конкретным юнитам, а группам, поэтому

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

у правления посадкойвысадкой для этой группы.

 

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

 

attachment.php?attachmentid=85496&stc=1&d=1375116774

 

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

 

Все типы доступных групп перечислены в подменю - Пункты подбора десанта - индивидуально для каждого транспортного юнита:

 

attachment.php?attachmentid=85497&stc=1&d=1375117157

 

3. Для повторной перевозки ранее высаженных групп или перевозки групп заранее определенных в редакторе, как доступных для перевозки групп, пользователю нужно сделать следующее:

 

3.1. Через радиоменю связаться с пехотными группами (для каждого юнита группы свой пункт радиоменю для связи с пехотой - выбирайте их в зависимости от того,в какой юнит собираетесь посадить группу):

 

attachment.php?attachmentid=85498&stc=1&d=1375117586

 

3.2. После выбора пункта Установить связь, радиоменю закроется и выполнится поиск групп доступных для перевозки в радиусе 500 метров - после чего в радиоменю появится команда для выбора группы на погрузку в соответствующий юнит:

 

attachment.php?attachmentid=85506&stc=1&d=1375117981

 

3.3. Если вы не хотите подбирать ни одну из найденных групп, в список доступных

групп также добавляется команда Конец связи для возврата меню установки связи.

 

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

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

 

И вот, видео ролик, пример, использования транспортных юнитов для перевозки пехоты:

(смотреть рекомендую в high resolution).

 

unit_names.thumb.png.2782dec67f0179758f528858ef3a02ce.png

cargo_places.thumb.png.7e11123746f33e14ca578267dc2a261b.png

link_inf.thumb.png.de3b2267020b3744f48cf8ffd1c91bfa.png

alpha.thumb.png.5e9bff034e26f549e13e1198514fad10.png


Edited by BAntDit
  • Like 1

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

ура

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

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

Link to comment
Share on other sites

БантДит. потестил твой скипрт с наземкой.

 

В принципе всё работает нормально.

 

Пожелания.

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

2)проблема выявилась с подбором минометного расчета. Связь с пехотой - подобрать группу -- если бтр слишком далеко подбора не происходит и в последствии пункт радиоменю (связь с группой) нет , остается только зоны подбора. Может сделать тайм аут 3 мин если подбор неудался "обнулить связь" ? Как вариант увеличить зону в которой подбирается группа которая не мобильна.

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

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

Link to comment
Share on other sites

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

 

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

 

На карте ф10 имена БТРов не отбражаются

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

 

если бтр слишком далеко подбора не происходит

 

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

 

и в последствии пункт радиоменю (связь с группой) нет

 

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

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

Еще одна хотелочка в разработку по возможности. Сейчас высаженной пехотой невозможно управлять с Ф10, есть возможность поправить этот момент?

Link to comment
Share on other sites

Еще одна хотелочка в разработку по возможности. Сейчас высаженной пехотой невозможно управлять с Ф10, есть возможность поправить этот момент?

 

смотри здесь плеер кен драйв true

table.insert(_units_templates_1, { unitType = 'Infantry AK', playerCanDrive = true, pointOffset = { x = 8, y = 8 } });

 

с уже существующими шруппами проблема.

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

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

Link to comment
Share on other sites

Я давно уже начал работать над руководством по использованию 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

Link to comment
Share on other sites

  • 3 weeks later...

Обновил руководство по MSF. В обновленной версии более подробно расписал класс msfUnit.

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

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

Покажи пожалуйста как в миссии родить какой-то юнит скриптом? Например по флагу родить бтр в такой-то позиции.

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

[sIGPIC][/sIGPIC]

http://action-games.at.ua

Link to comment
Share on other sites

BAntDit

Покажи пожалуйста как в миссии родить какой-то юнит скриптом? Например по флагу родить бтр в такой-то позиции.

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

 

Готов поклясться, что когда я первый раз читал это сообщение, БТР должен был просто динамически создаться, а самолет респауниться и лететь по маршруту :D

 

Такое возможно?

 

Возможно всё.

--------

Парочка примеров:

1. Пример на MSF, динамическое создание БТР:

1.1. Подключаем MSF

1.2. Выполняем init: mission.controller:start(); через действие DO SCRIPT с условие

время больше 1 сек.

1.3. Пишем скрипт динамического создания БТР (на территории авиабазы Сенаки

(для примера))

-- динамическое создание БТР:
local _spawn_place = Airbase.getByName('Senaki-Kolkhi');
local _spawn_point = _spawn_place:getPoint();
local _units = {};

table.insert(_units, { unitType = 'BTR-80', unitName = 'dynamic_apc_1',
playerCanDrive = true, point = { x = _spawn_point.x, y = _spawn_point.z } });

local _apc_group_desc = mission.utils.getGroupDescriptor('dynamic_apc', _spawn_point, _units);

local _status, _result = pcall(function() 
	local _apc_group = mission.model:createGroup(Group.Category.GROUND, country.id.RUSSIA, _apc_group_desc);
	return _apc_group;
end);

if _status then mission.controller.sendMessageForAll('БТР-80 создан на авиабазе Сенаки');
else mission.controller.sendMessageForAll('Не удалось создать БТР-80 по причине: ' .. assert(_result, 'unknown')); end

 

1.4. Подключаем написанный скрипт к миссии, через do script file с условие время больше 2 сек.

 

1.5. Запускаем миссию, смотрим результат БТР создастся через 2 сек. после начала миссии.

 

Пример миссии и файл скрипт приложил - dynamic_apc.miz и dynamic_apc.lua соответственно.

 

2. Пример на чистом SSE, динамическое создание самолетов с маршрутом.

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

один из самолетов будут сбивать - он будет респаунится, возвращаться на маршрут,

сходится противником и вести бой и так сколько угодно долго :)

 

2.1. Создаем в миссии по одному самолету для каждой стороны, задаем

для них маршруты, так чтобы они шли на встречу друг другу.

 

2.2. Создаем скрипт, который будет восстанавливать самолет на прежнем месте и с прежним маршрутом, если его сбили:

 

-- динамическое создание самолетега:
local _ru_country, _ru_plane_group, _ru_plane_name = nil, nil, 'dynamic_plane';
local _us_country, _us_plane_group, _us_plane_name = nil, nil, 'dynamic_us_plane';

for _country_index, _country in ipairs(env.mission.coalition.red.country) do
if _country.id == country.id.RUSSIA and _country.plane and _country.plane.group then 
	for _group_index, _group in ipairs(_country.plane.group) do
		if _group.name == 'dynamic_plane' and _group.units then
			_ru_plane_group = _group;
			break;
		end
	end
	_ru_country = _country;
	break;
end
end

for _country_index, _country in ipairs(env.mission.coalition.blue.country) do
if _country.id == country.id.USA and _country.plane and _country.plane.group then 
	for _group_index, _group in ipairs(_country.plane.group) do
		if _group.name == 'dynamic_us_plane' and _group.units then
			_us_plane_group = _group;
			break;
		end
	end
	_us_country = _country;
	break;
end
end

local function respawnPlane(_data)
local _status, _result = pcall(function() 
		local _new_group = coalition.addGroup(_data.country, _data.category, _data.descriptor);
		return _new_group;
	end);
if _status then trigger.action.outText('Группа ' .. _data.descriptor.name .. ' была создана вновь', 5);
else trigger.action.outText('Не удалось создать группу ' .. _data.descriptor.name .. ' повторно, выполнение сценария будет завершено', 15); end
return nil;
end;

local customEventHandler = {};

function customEventHandler:onEvent(event)
if (world.event.S_EVENT_CRASH == event.id or world.event.S_EVENT_LAND == event.id) then
	local _status, _name = pcall(function() local _result = event.initiator:getName(); return _result; end);
	if not _status then 
		env.info('Ошибка: Не удалось получить имя объекта-инициатора события методом getName(), по причине: ' .. assert(_name, 'unknown'), false);
		_name = '';
		local _ru_plane = Unit.getByName('dynamic_plane');
		local _us_plane = Unit.getByName('dynamic_us_plane');
		if not (_ru_plane and _ru_plane:isExist()) then _name = _ru_plane_name; end
		if not (_us_plane and _us_plane:isExist()) then _name = _us_plane_name; end
		if 0 == _name then 	
			env.error('Ошибка: Не удалось получить имя объекта-инициатора события, выполнение сценария будет завершено', false);
			trigger.action.outText('Ошибка: Не удалось получить имя объекта-инициатора события, выполнение сценария будет завершено', 20);
			return;
		end
	end
	env.info('Имя уничтоженного ЛА: ' .. _name .. ', имя dynamic_plane: ' .. _ru_plane_name .. ', имя dynamic_us_plane: ' .. _us_plane_name, false);
	if _name == _ru_plane_name then 
		trigger.action.outText('dynamic_plane будет вновь создан через 5 сек.', 5);
		timer.scheduleFunction(respawnPlane, { country = country.id.RUSSIA, category = Group.Category.AIRPLANE, descriptor = _ru_plane_group }, timer.getTime() + 5);
	end
	if _name == _us_plane_name then 
		trigger.action.outText('dynamic_us_plane будет вновь создан через 5 сек.', 5);
		timer.scheduleFunction(respawnPlane, { country = country.id.USA, category = Group.Category.AIRPLANE, descriptor = _us_plane_group }, timer.getTime() + 5);
	end
	if world.event.S_EVENT_LAND == event.id then event.initiator:destroy(); end
end
end;

world.addEventHandler(customEventHandler);

 

2.3. Подключаем написанный скрипт к миссии через действие do script file c условием

время больше 1 сек.

 

2.4. Запускаем миссию, смотрим на результат - будет бесконечный бой истребителей :) - я сейчас пару часов просидел тупо глядя как боты отчаянно воюют :D

 

Готовою миссию-пример и сам скрипт прилагаю - dynamic_plane.miz и dynamic_plane.lua

соответственно.

dynamic_apc.miz

dynamic_apc.lua

dynamic_plane.lua

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

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

capture_bases.miz

capture_heliports.lua

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

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

 

И как еще все это сделать но еще учитывая наличие флага. Нпаример флаг есть - скрипт работает, флага нет - скрипт не работает. Вообще проверку флагов.

dynamic_plane_my.lua

[sIGPIC][/sIGPIC]

http://action-games.at.ua

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

BAntDit, Большая просьба посмотри миссию . не могу понять почему скрипт загрузки десанта не работает для вертолетов, для наземки в той же зоне всё работает .

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

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

Link to comment
Share on other sites

  • Recently Browsing   0 members

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