Jump to content

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


Recommended Posts

Приветствую,

 

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

 

http://forums.eagle.ru/showpost.php?p=1591824&postcount=295

 

На данный момент у меня две новости - хорошая и плохая.

 

Начну с хорошей: демо-миссию по динамическим брифингам я сделал! протестил, вроде даже не плохо всё работает. Миссия приатачена в конце поста.

 

А теперь плохая: в процессе создания миссии вскрылось много багов в Simulator Scripting Engine и поэтому реализовать мне её пришлось не совсем так как планировал заранее, а именно:

1. Как оказалось не работает trigger.action.outTextForGroup

обсуждение:

http://forums.eagle.ru/showpost.php?p=1594199&postcount=498

http://forums.eagle.ru/showpost.php?p=1594386&postcount=502

http://forums.eagle.ru/showpost.php?p=1594410&postcount=503

 

Для решения этой проблемы мне пришлось воспользоваться возможностями

Slmod - т.е. чтобы миссия работала, надо чтобы на сервере на котором она запущена был установлен Slmod v6.1.

 

2. Вторая проблема это перехват событий S_EVENT_PLAYER_ENETER_UNIT, S_EVENT_PLAYER_LEAVE_UNIT - как оказалась DCS World пока не умеет генерить события подобного типа.

http://forums.eagle.ru/showpost.php?p=1594277&postcount=500

 

Эту проблему пока никак не обойти, поэтому мне пришлось пока отказаться от идеи

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

 

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

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

 

Теперь собственно о самой миссии:

 

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

 

Для формирования динамических брифингов я разделил миссию на фазы. Каждая фаза

может быть в трех состояниях - не начата, активная и завершена.

 

Фазы связываются с бортами и при взлете пилот получает информацию - по не начатым, что ожидается, по активным, что происходит,а по завершенным, что уже выполнено.

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

 

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

 

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

 

Например: есть наземная группа hitman - она движется со стороны Бабушары в сторну Очамчиры. Всё движение является фазой с именем Hitman movement.

 

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

 

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

 

На Гадауте есть пара А-10 их брифинг зависит движения группы Papa Bear.

Есть Су-25 у него брифинг зависит от того живо или нет ПВО.

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

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

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

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

 

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

 

Исключение составляет скрипт mission.lua - вот его описание:

 

-- mission.lua

--

-- этот скрипт создает оболочку для Simulator Scripting Engine с целью более удобного использования возможностей Scripting Engine

-- некторые возможности котрые дает данный скрипт:

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

-- 2. возможность привязки обработчиков событий непосредственно к юнитам

-- 3. возможность быстрого управления поведением групп:

-- UnitsGroup.holdOn(self) - приказать остановиться

-- UnitsGroup.holdOnForAWhile(self) - приказать остановиться на указаное время

-- UnitsGroup.moveOn(self) - приказать выдвигаться

-- UnitsGroup.atEase(self), UnitsGroup.stayAlert(self) - переключать походные, боевые режимы

-- UnitsGroup.shootBack(self), UnitsGroup.fireAtWill(self) - управлять огнем групп

-- и т.д.

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

-- 5. возможность назначать фазы миссии (содержащие описание этапов миссии, задачи для игроков)

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

-- и другое...

-- это пока не финальная версия (собственно как и у самого Simulator Scripting Engine ещё далеко не финальная версия

-- как говорят разработчики)

-- придется ещё и свои баги тут править и подстраиваться под будущие изменения Simulator Scripting Engine

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

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

-- скрипт необходимо выполнить через триггерное действие do script file c первых секунд миссии.

 

т.е. его вы просто можете себе копировать в миссию, не вдаваясь в подробности его работы.

----

 

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

 

Ещё некоторые особенности:

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

2. У меня в английском DCS World-е сообщения на русском (кирилицей) выводятся в виде кракозябров, поэтому у меня был выбор либо использовать транслит, либо писать

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

3. Миссии именно сетевая - не пытайтесь запустить как одиночную или запустить через редактор.

4. Миссия требует Slmod - об этом я писал выше, надеюсь требование временное.

 

-----

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

 

-----

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

dynamic_briefing.miz

msf.lua

textToVoice.lua

sound_map.lua

msf_mission_developers_guide.pdf

msf_beta_1.0.2.lua


Edited by BAntDit
  • Like 2

Крайняя версия 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 538
  • Created
  • Last Reply

Top Posters In This Topic

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


Edited by edwardpashkov

[sIGPIC][/sIGPIC]

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

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

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

Link to comment
Share on other sites

У меня готов очередной пример, что можно сотворить, если использовать

Scripting Engine для написания миссий.

 

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

 

Как и в прошлый раз это миссия только пример, показывающий способ реализации, но если вы хотите в своей миссии реализовать такую же работу ПВО этот

пример вполне может быть взят за основу.

 

Если вам этот пример покажется интересным, но будет не понятно как его перенести в

ваши миссии - я могу ответить на любые вопросы или помочь перенести этот механизм в ваши миссии.

 

основные особенности демо-миссии:

 

1. Обзор обеспечивает РЛС находящаяся глубоко в тылу.

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

от обзорной РЛС и не используя собственные РЛС для поиска целей.

Зоны дежурства заданны триггерными зонами.

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

3. РЛС дежурных расчетов НЕ пытаются светить на расстояния, с которых они не достанут противника и НЕ пытаются облучать зоны, которые не относятся к их зоне дежурства.

Тем самым дежурные расчеты не обнаруживают себя без нужды.

4. Собственные РЛС расчеты используют только для атаки целей.

5. При уничтожении обзорной РЛС расчеты переходят на поиск целей собственными

РЛС

6. При уничтожении машины связи

в дежурном расчете - расчет начинает работать так как будто обзорной РЛС нет

(в качестве машин связи у меня Buk CC - но вообще можно было поставить любой юнит).

7. При входе противника в зону дежурства, дружественные войска получают от ПВО

информацию о ЛА вошедшем в зону, о его типе, скорости и высоте.).

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

 

Предложенная реализация пригодна для использования как в сетевых так и в одиночных миссиях.

Никаких особых требований нет.

Демо-миссия протестирована мной на DCS World 1.2.2.

 

Ниже приложил два варианта миссии: sam_ambush - с A-10C и sam_ambush_su25 с Su-25T (т.к. пока русский world не вышел, модули есть ещё не у всех.)

 

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

миссия содержит всего три скрипта:

 

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

init.lua - содержит функции-обработчики событий вхождения в зоны ПВО и выхождения из зон ПВО, связывает обработчики с конкретными юнитами и объектами.

on_kill.lua - содержит код, выполняемый при уничтожении некоторых элементов системы ПВО.

 

Будут вопросы спрашивайте.

 

P.S.: жду предложений какие ещё фичи было бы полезно реализовать. :)

sam_ambush.miz

sam_ambush_su25.miz


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

Посмотрим... Типа Ранжир еще применяется :) так что как раз можно будет вставлять. Нужно будет пересечься опять, поговорить - судя по всему документацию катать :)

[sIGPIC][/sIGPIC]

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

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

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

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

  • 1 month later...

Я правильно понял, что все возможности SSE изложены на этих страницах:

http://en.wiki.eagle.ru/wiki/Simulator_Scripting_Engine/DCS:_World_1.2.1/Part_1

http://en.wiki.eagle.ru/wiki/Simulator_Scripting_Engine/DCS:_World_1.2.1/Part_2

?

А то задался вопросом ремонта зданий и не нашел как это можно осуществить.

Intel Core i3-530 2,93 ГГц, NVIDIA GTX660, Corsair XMS3 DDR-III DIMM 8 Gb KIT 4*2Gb, LCD 1920x1080

Link to comment
Share on other sites

Я правильно понял, что все возможности SSE изложены на этих страницах

 

Да. (Singleton class env описан не полностью. Есть ошибки в описании некоторых других классов, но в целом да - это пока всё, что есть)

 

А то задался вопросом ремонта зданий и не нашел как это можно осуществить.

 

Это нельзя осуществить.


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

Бандит , вопрос такой-

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

Те

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

отвлечённый вопросы

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

2) если есть а10 протести следущий вопрос - делаем юнит ПАНОм - берем под управление игроком - подьезжаем к группе противника - связываемся А10 с ПАН. Те будет ли ИИ юнита несмотря на то, что он управляется игроком работать в качестве ПАН? а при взятии цели в захват?

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

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

Link to comment
Share on other sites

Полетал , почитал в меру способностей .

 

mission.model.units.dog_ear_1:enableDetectionIntersectionOfZones(false);

mission.model.units.sam_ambush_1_4:enableDetectionIntersectionOfZones(false);

mission.model.units.sam_ambush_2_4:enableDetectionIntersectionOfZones(false);

 

Если правильно понял - это аналог юнит в зоне, хотя не, не понял:) у меня выходит , что отслеживается пересечение тригерных зон , а зона "сборка" где?

 

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

Хитрее надо делать дотестю поделюсь:)

 

Достаточно дописать по побдобию mission.model:addUnit('thunder_1'); другие самолеты и работать будет для всех них.

 

Давится Бук на раз , время от вкл излучения до пуска слишком большое , первый на дальности 18 км , У ЕД не работают опции поведения боевая готовность авто/тревога.

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

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

Link to comment
Share on other sites

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

 

по этому невидимость нужно снять при выстреле этим юнитом.

 

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

 

1. Скачай скрипт:

http://bantdit.ru/Handlers/Downloader.ashx?fileId=94 - это скрипт msf.lua в нем реализована событийная модель в привязке к объектам миссии и некоторые другие удобные вещи (это тестированная более менее нормально работающая версия).

2. Подключи этот скрипт к своей миссии (лучше триггером MISSION START с действием по триггеру DO SCRIPT FILE

 

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

 


mission.model:addUnit('unitName1');
mission.model:addUnit('unitName2');
mission.model:addUnit('unitName3');
-- unitName1, unitName2 и т.д. - это имена юнитов из редактора, для
-- которых нужно определять факт обстрела кого-либо (чего-либо)

-- функция-обработчик обстрела:
-- отключает невидимость стреляющему юниту
function onHitting_EventHandler(sender, eventArgs)
   sender:setInvisible(false);
end;

mission.model.units.unitName1:addOnHittingEventHandler(onHitting_EventHandler);
mission.model.units.unitName2:addOnHittingEventHandler(onHitting_EventHandler);
mission.model.units.unitName3:addOnHittingEventHandler(onHitting_EventHandler);

mission.controller:start();

 

4. Добавить выше приведенный скрипт через триггер (желательно

использовать для этого триггер 1 ONCE с условием запуска со второй секунды миссии

(TIME MORE(2))).

 

Вот примерно так, вроде ничего не забыл.


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.model.units.dog_ear_1:enableDetectionInter sectionOfZones(false);

...

Если правильно понял - это аналог юнит в зоне

 

mission.model.units.dog_ear_1:enableDetectionIntersectionOfZones(false) - это отключение для юнита проверки пересечения зон (нам нужно детектировать пересечение зон тока самолетами, на остальные юниты отключаем, чтобы не тратить производительность в пустую).

 

а зона "сборка" где

 

а её не надо - там созданы зоны только для Бук-ов -типа зоны засады.

 

скорее всего баг у ЕД , но может и у тебя.

 

скорее всего у меня. Там вся логика как и писал выше запихнута в файл mission.lua

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

 

Достаточно дописать по побдобию mission.model:addUnit('thunder_1'); другие самолеты

 

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

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

 

Вечером ещё седне пример постараюсь выложить с подсчетом числа пилотов. Чтобы пилоты были как ресурс коалиции.


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

В соседней ветке недавно задавался вопрос:

 

http://forums.eagle.ru/showpost.php?p=1625534&postcount=878

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

 

Можно.

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

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

Вообщем-то всё готово:

 

Выкладываю:

(миссия приатачена к посту)

 

Миссия-пример реализации счетчика пилотов.

Счетчики пилотов заданы на кажды тип ЛА

для каждой коалиции.

 

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

 

Число доступных пилотов в этой миссии:

 

Для красных:

 

число пилотов на P-51D для красных: 20

число пилотов на A-10C для красных: 15

число пилотов на Su-25T для красных: 50

число пилотов на Ка-50 для красных: 10

 

Для синих:

 

число пилотов на P-51D для синих: 25

число пилотов на A-10C для синих: 50

число пилотов на Su-25T для синих: 15

число пилотов на Ка-50 для синих: 5

 

(если хотите, можете открыть миссию и в файле init.lua установить то число,

которое считаете нужным. Строки когда, задающие число пилотов там отмечены комментариями.)

 

 

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

 

Если приземляетесь или катапультируетесь (т.е. если пилот остался жив), то счетчик не уменьшается.

 

Протестировал локально (т.е. заходил с самого сервера), вроде глюков нет.

Надо бы потестить ещё и с клиентов, но у меня нет возможности.

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

 

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

 

Как вам идея?

pilot_counter.miz


Edited by BAntDit
  • Like 2

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

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

Ага... и жди потом пилотов-камикадзе с вылетов в один конец. А так идея имеет место быть.

Intel Core i3-530 2,93 ГГц, NVIDIA GTX660, Corsair XMS3 DDR-III DIMM 8 Gb KIT 4*2Gb, LCD 1920x1080

Link to comment
Share on other sites

Ещё есть идея, связанная со скорым выходом UH-1H Huey - можно динамически выдавать задание на спасение пилота, если кто-то катапультировался, координаты места катапультирования и крушения я получить могу. Динамически WP добавить, вроде, тоже.

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

Бандит, респект за твои труды.

 

Проверили подсчет пилотов. Ситуевина следующая.

 

Изменили кол-во пилотов на 1 (что б долго самоли не бить). Подняли сервер, зашел клиент, взлетел, разбился. Появилось сообщение что осталось 0 пилотов, т.е. все, каюк, летать некому. Но. При попытке взять тот же самоль ничего не происходит. Клиент взлетает и летит по своим делам...

 

Так же не происходит подрыва если со стороны сервера прокрутить тот же сценарий.

 

:helpsmilie:

Форум DCS Aviasibir Server

 

Канал DCS Aviasibir Server в Telegram

 

MSI P67A-C45 (B3) /Intel Core i5-2500K 3.3 (4.5) ГГц / SSD Plextor M5 Pro 128Gb / 32 Gb CORSAIR Vengeance / ASUS HD 7970 DirectCU II TOP 3Gb / БП Chieftec 750W // DELL U2410 / TrackIR 5 + TrackClip PRO / Saitek X-52Pro (мех-ка BRD-X) + педали BRD-M2 :joystick: :pilotfly:

Link to comment
Share on other sites

Ещё есть идея, связанная со скорым выходом UH-1H Huey - можно динамически выдавать задание на спасение пилота, если кто-то катапультировался, координаты места катапультирования и крушения я получить могу. Динамически WP добавить, вроде, тоже.

Почитай http://forums.eagle.ru/showthread.php?t=98705

Там по этому поводу я мыслишек накидал. Может пригодится.

Intel Core i3-530 2,93 ГГц, NVIDIA GTX660, Corsair XMS3 DDR-III DIMM 8 Gb KIT 4*2Gb, LCD 1920x1080

Link to comment
Share on other sites

Сдается мне, что не стоит этим заморачиваться. Лучше довести до ума более простые и нужные постоянно вещи. Спасение пилота - это все хорошо и здорово, но в он-лайне этим заниматься будет число людей, стремящееся к нулю. Да и смысла в этом нет особо. Иная миссия быстрее кончится, чем вы одного сбитого пилота домой дотащите. Ирокеза можно будет использовать для "спецопераций": к примеру, закинул "в тыл" врага группу спецназа, или диверсантов/разведчиков - у врага списалось пять-десять единиц бронетехники. С учетом навигационных приборов Хьюи, даже простой полет по сложному маршруту и выход в заданную точку - уже дело не простое. А маньякам - в самый раз, пусть развлекаются.

[sIGPIC][/sIGPIC]

 

В гробу отоспимся ;)

Link to comment
Share on other sites

Изменили кол-во пилотов на 1 (что б долго самоли не бить). Подняли сервер, зашел клиент, взлетел, разбился. Появилось сообщение что осталось 0 пилотов, т.е. все, каюк, летать некому. Но. При попытке взять тот же самоль ничего не происходит. Клиент взлетает и летит по своим делам...

 

Так же не происходит подрыва если со стороны сервера прокрутить тот же сценарий.

 

Интересно. А до изменения количества пилотов работало?

Я у себя тестил на Ка-50 - вертушка нормально взрывалась.

 

Может просто силы взрыва не хватает? - я поставил там 4 кг ВВ - у вертушки при таком

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

самолеты не цеплять.

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

 

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

 

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

dcs.log. Файл лога нужен с самого сервера.

И измененную миссию тоже лучше прислать.


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

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

 

Так же не происходит подрыва если со стороны сервера прокрутить тот же сценарий.

 

Нашел причину.

Причин было две:

1. Я случайно вложил в миссию не последний,а предпоследний вариант скрипта - там была опечатка в имени функции (ouText вместо outText). - по этой причине не работало со стороны сервера.

 

2. А вот вторая причина более серьёзная, из-за которой скрипт не срабатывает для клиентов. Это баг ED, а не мой - описание бага выложил сюда: http://forums.eagle.ru/showpost.php?p=1628974&postcount=728

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

 

Для того, чтобы обойти этот косяк я заменю использование события S_EVENT_BIRTH на событие

S_EVENT_ENGINE_STARTUP - т.е. при исчерпании доступного количества пилотов

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

Крайняя версия 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.12 был мод, который среди всего прочего запрещал взлет по рулежке. Тогда это было ой как актуально :) Выглядело это так, пока самолет на рулежке - макс скорость ~50 км/ч, дальше РУДы сбрасывались в 0. После выезда на ВПП все ок, можно взлетать.

 

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

Форум DCS Aviasibir Server

 

Канал DCS Aviasibir Server в Telegram

 

MSI P67A-C45 (B3) /Intel Core i5-2500K 3.3 (4.5) ГГц / SSD Plextor M5 Pro 128Gb / 32 Gb CORSAIR Vengeance / ASUS HD 7970 DirectCU II TOP 3Gb / БП Chieftec 750W // DELL U2410 / TrackIR 5 + TrackClip PRO / Saitek X-52Pro (мех-ка BRD-X) + педали BRD-M2 :joystick: :pilotfly:

Link to comment
Share on other sites

  • 4 weeks later...

Bantdit, можно ли этими скриптами реализовать вывод текстового сообщения с переменной?

Если конкретно, то нужно выводить сообщение: "Миссия выполнена на X%", где Х - MISSION SCORE для красных или для синих.

Link to comment
Share on other sites

Bantdit, можно ли этими скриптами реализовать вывод текстового сообщения с переменной?

Если конкретно, то нужно выводить сообщение: "Миссия выполнена на X%", где Х - MISSION SCORE для красных или для синих.

 

Да, без проблем.

Только я не знаю как именно подсчитываются у вас очки, но

допустим они у вас хранятся в переменной _mission_score,

тогда вывод текста будет таким:

 

local _message = 'Миссия выполнена на: ' .. _mission_score;

trigger.action.outText(_message, 20);

 

Скрипт можете запускать триггером с действием doscript.

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

 

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

 

1. Не очень понял, что за "нулевые самолеты"

2. И как я уже говорил запретить кому-то что-то я могу только взорвав его, выдав текстовое предупреждение :)

(может в будущем сделают нормальную систему отказов)

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

 

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

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

с нормальной миссией-примером.

 

Просто по ПВО работа идет очень медленно :(

Сейчас только начали тестировать и всплыл баг, причину которого я пока не могу найти...

(вчера вроде даже условие нашли при котором баг проявляется, но пока не поняьно почему он проявляется).

P.S.: сегодня скорее всего сервер на тестирование запущу в 22:00 по Москве.

 

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

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


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

Бандит вот трек

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

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

Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

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