димок Posted February 17, 2014 Posted February 17, 2014 Это не true-ёзно, ну раз так, пусть так. 6 км. вроде. ---- Вообщем пример: 1. Создаем скрипт unload_cargo_event_handlers.lua 2. В скрипте пишем обработчик на событие высадки. 3. Подключаем обработчик к транспортным юнитам см. приложенный файл скрипт. 4. Скрипт нужно подключить к миссии триггером ОДИН РАЗ по действию ВЫПОЛНИТЬ ФАЙЛ СКРИПТ с условием - время более(4). ---- Не тестировал (т.к. я сейчас не за домашним компом). ---- P.S.: скрипт ессесвено рассчитан на то, что все остальное для перевозки юнитов транспортом в миссии уже есть. Попытался использовать это скрипт , фигня получается. 1)в оффе после первой высадки миниметы довольно хорошо обрабатывают цели. Если группу забрать и перевезти то с 90% вероятностью огонь она уже не откроет . ЦУ идет но таймер(сау) сбрасывается недостигнув 180 сек. 2)в онлайне, группа получает ЦУ но для открытия огня необходимо подтвердить команду с ф10. Группа ведет огонь только по 1ой цели, остальные цели не атакует хотя ЦУ есть. БантДит такой вопрос как подключить ЦУ через определенные юниты? Второй вариант можно ли повесить ЦУ на транспортные вертолеты которые эти минометы высаживают? Третий вариант. Я высаживаю группу из 25 юнитов , потом обработчик разбивает большую группу на 5 маленьких . 4 мс отделения и минометы. Есть возможность повесить ЦУ на пехотинцев? Будьте осторожнее в своих желаниях. Прошу все мои сообщения считать случайным набором букв , цифр , и прочих знаков орфографии, не несущих смысловой нагрузки.
BAntDit Posted February 18, 2014 Author Posted February 18, 2014 ЦУ идет но таймер(сау) сбрасывается недостигнув 180 сек. Достигает, он не может не достигнуть 180 сек. Если группу забрать и перевезти то с 90% вероятностью огонь она уже не откроет Потому, что при каждой высадке заново назначается задача, при этом старую никто не отменял - результат: scheduled functions перекрывают друг друга. ---- в онлайне, группа получает ЦУ но для открытия огня необходимо подтвердить команду с ф10. 1. Этого принципиально не может быть. Задаче 'Fire At Point' фиолетово в онлайне она выполняется или нет. 2. Разрешать управление группой, которой управляет скрипт - это уже не правильное решение. -------- как подключить ЦУ через определенные юниты Используя функцию: function array DetectedTargets Controller.getDetectedTargets(Controller self, [Controller.Detection detection1, Controller.Detection detection2, ... Controller.Detection detectionN] or nil) Controller.Detection может иметь значения: Conroller.Detection = { VISUAL, OPTIC, RADAR, IRST, RWR, DLINK } DetectedTarget имеет следующую структуру: DetectedTarget = { object = Object, --the target visible = boolean, --the target is visible type = boolean, --the target type is known distance = Distance --distance to the target } Примечание: 1. distance содержит не текущую дистанцию до цели, а дистанцию, которая была до цели в момент контакта (в тот момент, когда visible принимает значение true). 2. Для ЛА-юнитов контроллер лучше получать через юнит (Controller function Unit.getController(Unit self)), для наземных юнитов хоть как: хоть через группу, хоть через юнит (Controller function Unit.getController(Unit self) или Controller function Group.getController(Unit self)). У наземных юнитов нет индивидуальных контроллеров - у них коллективный разум :) можно ли повесить ЦУ на транспортные вертолеты которые эти минометы высаживают Нет. Т.к. вертолет управляется игроком. (Возможность получения ЦУ от игрока скриптом есть в хотелках, но пока не известно будет ли эта хотелка реализована). Есть возможность повесить ЦУ на пехотинцев? MSF группы имеют метод addTask принимающий scheduled функцию, которая будет выполнятся с определенной периодичностью или однократно. Можно написать функцию целеуказания (используя SSE - то что описано выше) и использовать её как задачу. Крайняя версия 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 February 18, 2014 Posted February 18, 2014 БантДат гянь трек. Баг с посадкой. Каргоплейс-триг зоны . ППБ - просто для ориентира. http://forums.eagle.ru/showpost.php?p=1999114&postcount=204 Еще раз проверил для того, что бы минометы открыли огонь в онлайне нужно подтвердить цель с ф10 . Вечерком запишу трек. Будьте осторожнее в своих желаниях. Прошу все мои сообщения считать случайным набором букв , цифр , и прочих знаков орфографии, не несущих смысловой нагрузки.
Sinsir Posted March 8, 2014 Posted March 8, 2014 (edited) BAntDit подскажи как использовать Group.destroy() в окошке для скриптов? Мне нужно чтобы машинка при достижении определенной точки маршрута удалялась. Я вписал эту функцию в окошко "выполнить скрипт", но получаю ошибку #1 parameter missed Или если так нельзя то как в том же окошке сказать машинке ехать на другую точку маршрута, например в точку 1. Edited March 8, 2014 by Sinsir [sIGPIC][/sIGPIC] http://action-games.at.ua
Святой Posted March 8, 2014 Posted March 8, 2014 BAntDit подскажи как использовать Group.destroy() в окошке для скриптов? Мне нужно чтобы машинка при достижении определенной точки маршрута удалялась. Я вписал эту функцию в окошко "выполнить скрипт", но получаю ошибку #1 parameter missed Или если так нельзя то как в том же окошке сказать машинке ехать на другую точку маршрута, например в точку 1. Надо подставлять сам объект как параметр в ф-цию. _testg:destroy() или _testg.destroy(_testg)
Sinsir Posted March 8, 2014 Posted March 8, 2014 Но у меня почему-то в обоих случаях выходит краш программы. Может что-то пишу не так... [sIGPIC][/sIGPIC] http://action-games.at.ua
BAntDit Posted March 10, 2014 Author Posted March 10, 2014 Но у меня почему-то в обоих случаях выходит краш программы. Может что-то пишу не так... Сейчас проверил, все работает. Метод destroy нормально удаляет любые группы как динамически созданные, так и группы созданные в редакторе миссий. Миссию для примера приложил к посту: 1. Группа dynamic_group создает на 1-ой секунде миссии, удаляется на 10-ой. 2. Группа static_group создана в редакторе миссий, удаляется на 20-ой секунде. ----- P.S.: можешь выложить сюда свой пример миссии, которая вызывает crash? - только такой пример, чтобы crash легко воспроизводился и не нужно было ждать его два часа после старта миссии.destroy_test_2.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
Sinsir Posted March 10, 2014 Posted March 10, 2014 (edited) Миссию приложил. Скрипт прописан в КПМ машинки. Я не подключал библиотеку MSF. Стараюсь обойтись без подключения доп.библиотек, ведь мне для миссии нужно всего-то 5-6 функций. Если так нельзя, то может можно использовать ф-цию для управления машинкой на разные точки маршрута?test.miz Edited March 10, 2014 by Sinsir [sIGPIC][/sIGPIC] http://action-games.at.ua
BAntDit Posted March 10, 2014 Author Posted March 10, 2014 Миссию приложил. Скрипт прописан в КПМ машинки. Я не подключал библиотеку MSF. Стараюсь обойтись без подключения доп.библиотек, ведь мне для миссии нужно всего-то 5-6 функций. Если так нельзя, то может можно использовать ф-цию для управления машинкой на разные точки маршрута? Ты пытаешься удалить некоторую сущность (группу) из команды, которая собсно в этой сущности и хранится - это не хорошо :) Удаляй группу с задержкой и все будет нормально - исправленную версию твоей миссии приложил к посту. ----- Я не подключал библиотеку MSF MSF я использовал, только для более удобного создания динамической группы - он тут не причем. ---- P.S.: баг я все равно добавлю в баг репорты, пожалуй, если он воспроизведется на внутренней версии, так как не верные решения в пользовательских скриптах в любом случае не должны приводить к крешам. P.S.S: забавно, но не давно столкнулся с такой же ошибкой в другой игрушке, когда одна сущность зафигачивала тут в которой сама хранится :Dtest_fixed.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
Sinsir Posted March 10, 2014 Posted March 10, 2014 Спасибо BAntDit, помогло :) Если еще не сложно хотелось бы пример для направления машинки в другую точку маршрута. твой пример с БТР гонками не подходит, ведь там нету конкретных точек маршрута. Если не сложно [sIGPIC][/sIGPIC] http://action-games.at.ua
BAntDit Posted March 11, 2014 Author Posted March 11, 2014 Спасибо BAntDit, помогло :) Если еще не сложно хотелось бы пример для направления машинки в другую точку маршрута. твой пример с БТР гонками не подходит, ведь там нету конкретных точек маршрута. Если не сложно Если не использовать MSF, то как-то так: local _test_group = Group.getByName('test'); local _start_position = _test_group:getPoint(); local _destination_zone = trigger.misc.getZone('destination'); -- новая точка маршрута -- в центре триггерной зоны destination local _task = { id = 'Mission', params = { route = { points = { [1] = { action = AI.Task.VehicleFormation.OFF_ROAD, x = (_start_position.x + 0.2), y = (_start_position.z + 0.2), speed = 10, ETA = (timer.getTime() + 4), ETA_locked = true, speed_locked = false, name = 'start_point' }, [2] = { action = AI.Task.VehicleFormation.OFF_ROAD, x = _destination_zone.point.x, y = _destination_zone.point.z, speed = 15, ETA = (timer.getTime() + 20), ETA_locked = false, speed_locked = true, name = 'destination point' } } } } }; local _controller = _test_group:getController(); local _task_status, _task_error = pcall(function() _controller:setTask(_task); return 0; end); if not _task_status then env.error('task error: ' .. tostring(_task_error), false); end Крайняя версия 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
StarLey_Andrew Posted March 11, 2014 Posted March 11, 2014 Раз пошла такая пьянка вопрос: Есть триггерная зона. Делаем триггер "Один раз"-"Часть коалиции в зоне"-"Выполнить скрипт" И вот теперь самое интересное, как в выполняемом скрипте получит имя группы попавшую в триггерную зону?!!!! [sIGPIC]http://forums.eagle.ru/signaturepics/sigpic70217_5.gif[/sIGPIC] Актуальные скрипты от StarLey_Andrew Автоматизация процессов при создании миссий в обновляемом сообщении с набором миссий использования скриптов без навыка программирования
BAntDit Posted March 11, 2014 Author Posted March 11, 2014 И вот теперь самое интересное, как в выполняемом скрипте получит имя группы попавшую в триггерную зону?!!!! как вариант: local _tz = trigger.misc.getZone('zone_name'); local _volume = { id = world.VolumeType.SPHERE, params = { point = _tz.point, radius = _tz.radius }; } local _found_units = world.searchObjects(Object.Category.UNIT, _volume, function(_object, _data) return false; end, {}); if #found_units > 0 then local _group = _found_units[1]:getGroup(); trigger.action.outText('В зоне группа: ' .. _group:getName(), 15); end Так ты получаешь одну из группу, которая находится в зоне, но это не гарантирует, того, что ты получишь ту самую группу по которой сработал триггер . Крайняя версия 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
Sinsir Posted March 11, 2014 Posted March 11, 2014 BAntDit спасибо, что отвечаешь на вопросы. Однако с маршрутом непонятно вышло. Мне нужно реализовать такую ситуацию. Например, едет машинка по маршруту составленному из точек 1, 2 и 3. И по прибытию в точку 3 нужно сказать машинке ехать обратно в точку 2. То-есть не надо создавать никаких динамических точек или новых маршрутов в условных триггерных областях. Нужно чтобы машинка просто вернулась обратно по тому же маршруту. Это можно реализовать скриптом? Я понимаю, что уже закалупал своими вопросами :) но эта фишка нужна почти во всех миссиях, а самому разобраться не получилось. [sIGPIC][/sIGPIC] http://action-games.at.ua
BAntDit Posted March 11, 2014 Author Posted March 11, 2014 (edited) Мне нужно реализовать такую ситуацию. Например, едет машинка по маршруту составленному из точек 1, 2 и 3. И по прибытию в точку 3 нужно сказать машинке ехать обратно в точку 2. То-есть не надо создавать никаких динамических точек или новых маршрутов в условных триггерных областях. Нужно чтобы машинка просто вернулась обратно по тому же маршруту. Это можно реализовать скриптом? Для наземной техники без динамически созданных Waypoint-ов (WP) этого не сделать никак, в идеале лучше все движение группы задавать динамическими WP. (Триггерные зоны создавать для этого не обязательно, в примере я просто привязывался к координатам триггерной зоны). Edited March 11, 2014 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
Sinsir Posted March 11, 2014 Posted March 11, 2014 Для наземной техники без динамически созданных Waypoint-ов (WP) этого не сделать никак, в идеале лучше все движение группы задавать динамическими WP. (Триггерные зоны создавать для этого не обязательно, в примере я просто привязывался к координатам триггерной зоны). А нельзя получить координаты уже заданных WP и просто указывать их? [sIGPIC][/sIGPIC] http://action-games.at.ua
maugiroe Posted March 17, 2014 Posted March 17, 2014 Hi BantDit, Any chance to get a documentation in english ? Thanks
BAntDit Posted March 18, 2014 Author Posted March 18, 2014 А нельзя получить координаты уже заданных WP и просто указывать их? Можно. Все объекты созданные в редакторе (в т.ч. точки маршрутов) доступны в процессе миссии через таблицу env.mission. В частности точки маршрута группы Test в миссии, которая приводилась выше можно получить так: env.mission.coalition.red.country[2].vehicle.group[3].route.points 1. То что привел выше это только пример. По уму должна быть функция, которая по заданной коалиции, ИД страны и имени группы возвращает массив точек маршрута. 2. Проще, наверно сделать так: 1) создать группу в редакторе и нужные точки маршрута 2) Открыть файлик миссии в Notepad++ и списать из него координаты точек. 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
BAntDit Posted March 18, 2014 Author Posted March 18, 2014 Hi BantDit, Any chance to get a documentation in english ? Thanks Can't say exactly - even in russian language there is a lot of work to complete documentation. I think, on my nearest vacation (May 2014) i'll try to find somebody who can speak well enough in english and russian and who can help me to translate documentation and add subtitles for video guides. Крайняя версия 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
maugiroe Posted March 18, 2014 Posted March 18, 2014 Can't say exactly - even in russian language there is a lot of work to complete documentation. I think, on my nearest vacation (May 2014) i'll try to find somebody who can speak well enough in english and russian and who can help me to translate documentation and add subtitles for video guides. Ok, cool, thanks. Waiting...
Zart Arn Posted March 21, 2014 Posted March 21, 2014 Бантдит, по поводу твоего с Хитрым скрипта с катапультировавшимися пилотами. Скрипт работает отлично. После катапультирования создается юнит с названием eject_pilot_0 Как мне теперь сделать чтобы триггер Х увеличился на Y если eject_pilot_0 окажется внутри триггерной зоны Т, которую я создам в редакторе? Я хочу поставить триггерную зону куда должны доставляться катапультанты. Мне нужно чтобы когда ми8 или хью привез подбитого пилота в эту зону у меня изменился какой либо флаг. Это делается через обработчик события высадки onUnloadCargoEventHandler. Пример позже выложу. ---- Бантдит, все еще актуально
димок Posted March 26, 2014 Posted March 26, 2014 Вопрос а десант с кораблей можно организовать? Причем желательно с помощью радио меню ? Вообще тема интересная и с десантом вертолетов корабельного базирования, есть какие нароботки ? ПС. Пофиксили краш - задача огонь по точке для динамически создаваемых групп. Будьте осторожнее в своих желаниях. Прошу все мои сообщения считать случайным набором букв , цифр , и прочих знаков орфографии, не несущих смысловой нагрузки.
BAntDit Posted March 26, 2014 Author Posted March 26, 2014 Бантдит, все еще актуально я помню, просто пока не получается выделить время. Вопрос а десант с кораблей можно организовать? можно, когда буду более свободен - попробую сделать. Крайняя версия 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
BerryMORE Posted March 28, 2014 Posted March 28, 2014 Подскажите, возможно ли создание триггера который учитывает время полета самолета от начальной точки маршрута до конечной? Не лазить руками туда, куда не лезет голова © USSR_Rik
edwardpashkov Posted March 28, 2014 Posted March 28, 2014 • Added internal cargo trigger./// Это то , что я думаю? Интересно, оно в скриптах как нибудь отразится, типа теперь с массой груза будет возможность играться или как... [sIGPIC][/sIGPIC] АКА =TMS= Count _ Полеты на = T M S = dedicate server На точке работает РП (РП+РПП) Набор вирпилов на вертикальную, штурмовую и истребительную авиацию со времен ВОВ и по настоящее время Комсостав и инструкторы - летавшие в горячих точках (и не только) и действующие летчики.
Recommended Posts