Разработка миссии на основе Simulator Scripting Engine - Page 2 - ED Forums
 


Notices

Reply
 
Thread Tools Display Modes
Old 12-13-2012, 05:11 AM   #11
BAntDit
Member
 
BAntDit's Avatar
 
Join Date: Aug 2010
Location: Cyprus, Limassol
Posts: 975
Send a message via ICQ to BAntDit
Default

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

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

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

Code:
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))).

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

Last edited by BAntDit; 12-13-2012 at 05:37 AM.
BAntDit is offline   Reply With Quote
Old 12-13-2012, 05:25 AM   #12
BAntDit
Member
 
BAntDit's Avatar
 
Join Date: Aug 2010
Location: Cyprus, Limassol
Posts: 975
Send a message via ICQ to BAntDit
Default

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

Quote:
а зона "сборка" где
а её не надо - там созданы зоны только для Бук-ов -типа зоны засады.

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

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

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

Last edited by BAntDit; 12-13-2012 at 05:30 AM.
BAntDit is offline   Reply With Quote
Old 12-13-2012, 06:20 PM   #13
BAntDit
Member
 
BAntDit's Avatar
 
Join Date: Aug 2010
Location: Cyprus, Limassol
Posts: 975
Send a message via ICQ to BAntDit
Default

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

http://forums.eagle.ru/showpost.php?...&postcount=878
Quote:
Кто-нибудь в курсе можно ли учитывать кол-во пилотов в качестве ресурсов? А то не оставляет мысль - зачем катапультироваться, если подбили?
Quote:
Можно.
Ещё не пробовал такое реализовывать, но если получится, то пример могу выложить в течение недели.
-----------------------------------------------------------------------------
Вообщем-то всё готово:

Выкладываю:
(миссия приатачена к посту)

Quote:
Миссия-пример реализации счетчика пилотов.
Счетчики пилотов заданы на кажды тип ЛА
для каждой коалиции.

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

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

Для красных:

число пилотов на 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.: Кстати, пока делал эту миссию у меня родилась идея - может рядом с филдами ставить несколько домиков, и если вражеской коалиции удалось их грохнуть, то доступное число пилотов для коалиции с разбомбленным филдом резко сокращалось.

Как вам идея?
Attached Files
File Type: miz pilot_counter.miz (15.5 KB, 150 views)

Last edited by BAntDit; 12-13-2012 at 06:24 PM.
BAntDit is offline   Reply With Quote
Old 12-13-2012, 11:52 PM   #14
Bambr
Member
 
Join Date: Dec 2012
Posts: 346
Default

Quote:
P.S.: Кстати, пока делал эту миссию у меня родилась идея - может рядом с филдами ставить несколько домиков, и если вражеской коалиции удалось их грохнуть, то доступное число пилотов для коалиции с разбомбленным филдом резко сокращалось.
Ага... и жди потом пилотов-камикадзе с вылетов в один конец. А так идея имеет место быть.
__________________
Intel Core i3-530 2,93 ГГц, NVIDIA GTX660, Corsair XMS3 DDR-III DIMM 8 Gb KIT 4*2Gb, LCD 1920x1080
Bambr is offline   Reply With Quote
Old 12-14-2012, 04:15 AM   #15
BAntDit
Member
 
BAntDit's Avatar
 
Join Date: Aug 2010
Location: Cyprus, Limassol
Posts: 975
Send a message via ICQ to BAntDit
Default

Ещё есть идея, связанная со скорым выходом UH-1H Huey - можно динамически выдавать задание на спасение пилота, если кто-то катапультировался, координаты места катапультирования и крушения я получить могу. Динамически WP добавить, вроде, тоже.
BAntDit is offline   Reply With Quote
Old 12-14-2012, 07:05 AM   #16
edwardpashkov
Senior Member
 
edwardpashkov's Avatar
 
Join Date: Nov 2008
Location: Йошкар-Ола
Posts: 2,921
Default

ОДнако хорошо. Но т.к. мир на сервер не ставил не испытаю. А мысли - очень даже правильные. Камикадже можно с сервера банить
__________________

АКА =TMS= Count _ Полеты на = T M S = dedicate server На точке работает РП (РП+РПП)
Набор вирпилов на вертикальную, штурмовую и истребительную авиацию со времен ВОВ и по настоящее время
Комсостав и инструкторы - летавшие в горячих точках (и не только) и действующие летчики.
edwardpashkov is offline   Reply With Quote
Old 12-14-2012, 09:13 AM   #17
Alex_Po
Member
 
Alex_Po's Avatar
 
Join Date: Nov 2009
Location: Хабаровск
Posts: 949
Send a message via ICQ to Alex_Po
Default

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

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

Изменили кол-во пилотов на 1 (что б долго самоли не бить). Подняли сервер, зашел клиент, взлетел, разбился. Появилось сообщение что осталось 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
Alex_Po is offline   Reply With Quote
Old 12-14-2012, 09:21 AM   #18
Bambr
Member
 
Join Date: Dec 2012
Posts: 346
Default

Quote:
Ещё есть идея, связанная со скорым выходом 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
Bambr is offline   Reply With Quote
Old 12-14-2012, 09:44 AM   #19
Falcon =SB=
Member
 
Falcon =SB='s Avatar
 
Join Date: Jul 2006
Location: Siberia
Posts: 806
Default

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


В гробу отоспимся
Falcon =SB= is offline   Reply With Quote
Old 12-14-2012, 11:17 AM   #20
BAntDit
Member
 
BAntDit's Avatar
 
Join Date: Aug 2010
Location: Cyprus, Limassol
Posts: 975
Send a message via ICQ to BAntDit
Default

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

Так же не происходит подрыва если со стороны сервера прокрутить тот же сценарий.
Интересно. А до изменения количества пилотов работало?
Я у себя тестил на Ка-50 - вертушка нормально взрывалась.

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

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

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

Last edited by BAntDit; 12-14-2012 at 11:29 AM.
BAntDit is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT. The time now is 09:16 AM. vBulletin Skin by ForumMonkeys. Powered by vBulletin®.
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.