Mikeyfry Posted January 16 Posted January 16 (edited) 58 минут назад, SL PAK сказал: Попробуйте после ППМ1 сделать еще один - когда у бота заканчиваются ППМ, то он может начать задумываться, а нам это не нужно. Попробовал, пока только в редакторе - бот вроде бы начинает агриться, врубает форсаж, следит за мной, а затем возвращается к патрулированию. 58 минут назад, SL PAK сказал: В ППМ1 у вас первая в списке команда на ожидание - пока она не будет завершена по условию окончания, остальные команды ниже нее выполнены не будут. В данной миссии это не влияет, но вам будет полезно это знать. Насчёт очередности задач. А если я добавлю 2 задачи в подряд атаковать разные группы Группа1, Группа2... Но, допустим, Группа1 оффлайн, а Группа2 онлайн. Если Группа1 первая в очереди, то бот будет игнорировать Группа2, пока не дождётся, когда кто-то зайдет под Группа1? Затем если бот уничтожит Группа1, только тогда переключится на Группа2. Выходит так? Получается, придётся на каждую группу выделять по боту? Либо динамически создавать бота через lua под активируемую группу игрока? 58 минут назад, SL PAK сказал: В вашей миссии цели не отсутствуют, но как бот себя поведет если их не будет (игроки не пришли) я не знаю. Но в lua коде обычно если команда ссылается на отсутствующий объект, то такая команда не срабатывает. Если ваш прогноз верен. Будет ли возможен такой вариант: после задачи "атаковать группу", добавить еще 1 задачу "открывать огонь в ответ"? Получается, если первая задача будет проигнорирована из-за отсутствия игрока, то бот просто переключится на "открывать огонь в ответ" Сейчас попробовал на выделенном сервере. Действительно, когда на бота заходить стал, тот начал нападать и атаковать. Затем добавил в задачи бота после атаки группы "не открывать огонь". Снова запустил сервер, теперь бот полностью игнорирует меня, даже когда я пытался сбивать его из пушки - он продолжал патрулировать. Выходит, чтобы создать идеальные условия, надо динамически создавать бота под группу истребителей, которые онлайн с описанием его задач (что для меня пока тёмный лес), либо появилась еще 1 идея. Через триггеры добавлять задачи боту. Допустим, истребителей нет на сервере, бот уходит в задачу "не открывать огонь", затем игрок заходит за истребитель, если истребитель(игрок) пролетает триггерную зону, значит "поставить задачу ИИ -> атаковать группу". Опять же, если такая реализация будет работать. Это лишь мои догадки. Edited January 16 by Mikeyfry
ED Team SL PAK Posted January 17 ED Team Posted January 17 2 часа назад, Mikeyfry сказал: Насчёт очередности задач. А если я добавлю 2 задачи в подряд атаковать разные группы Группа1, Группа2... Но, допустим, Группа1 оффлайн, а Группа2 онлайн. Если Группа1 первая в очереди, то бот будет игнорировать Группа2, пока не дождётся, когда кто-то зайдет под Группа1? Затем если бот уничтожит Группа1, только тогда переключится на Группа2. Выходит так? Если в момент создания задачи в какой либо из них будет отсутствовать цель, то такую задачу бот не воспримет (задача сгорит, забагуется). Если это прямой приказ, который выполняется ботом в порядке очереди. Но есть же так называемые фоновые задачи (тип "фоновая" написан в первой строке задачи) и такие задачи висят в фоне и бот их помнит. И если там будет атаковать группу при обнаружении, то бот будет ждать обнаружения. Но тут уже надо проверять как будет работать правило "только назначенные", так как цель назначена, но при отсутствии цели поведение бота нужно протестировать. Такие сложные хитросплетения задач могут работать не так как ожидается - важен доскональный тест. Заставить ИИ исполнять как надо автору - самое сложное в создании миссий. 2 часа назад, Mikeyfry сказал: Будет ли возможен такой вариант: после задачи "атаковать группу", добавить еще 1 задачу "открывать огонь в ответ"? Получается, если первая задача будет проигнорирована из-за отсутствия игрока, то бот просто переключится на "открывать огонь в ответ" "открывать огонь в ответ" - это не задача, а настройка поведения, которой бот будет придерживаться пока ему не сменят её на другую настройку из того же списка.
ED Team SL PAK Posted January 17 ED Team Posted January 17 2 часа назад, Mikeyfry сказал: Допустим, истребителей нет на сервере, бот уходит в задачу "не открывать огонь", затем игрок заходит за истребитель, если истребитель(игрок) пролетает триггерную зону, значит "поставить задачу ИИ -> атаковать группу". Опять же, если такая реализация будет работать. Это лишь мои догадки. Да, бот должен исполнять задуманное тут. Особенно если у него бесконечное топливо установлено. Может летать по кругу на месте и ждать появления игрока. Можно командовать боту не задачей, а командой "следовать на ППМ" заставить его повторно пролететь через ППМ, где прописаны задачи на смену поведения и указаны цели. Если бот кружит в ожидании, то нужно еще выполнять условие указанное в параметрах окончания ожидания (например поднятие флага). Сняли бота с ожидания и следующая в списке задача после ожидания "следовать на ППМ" со всеми задачами. Получается для начала движухи достаточно просто поднять флаг.
Mikeyfry Posted January 18 Posted January 18 В 17.01.2025 в 03:43, SL PAK сказал: Да, бот должен исполнять задуманное тут. Особенно если у него бесконечное топливо установлено. Может летать по кругу на месте и ждать появления игрока. Можно командовать боту не задачей, а командой "следовать на ППМ" заставить его повторно пролететь через ППМ, где прописаны задачи на смену поведения и указаны цели. Если бот кружит в ожидании, то нужно еще выполнять условие указанное в параметрах окончания ожидания (например поднятие флага). Сняли бота с ожидания и следующая в списке задача после ожидания "следовать на ППМ" со всеми задачами. Получается для начала движухи достаточно просто поднять флаг. Продолжаю тестировать. Появилась другая проблема. У бота ведь может закончиться вооружение, а он продолжает патрулировать от точки до точки. Можно ли как-то отследить остаток БП?
ED Team SL PAK Posted January 18 ED Team Posted January 18 3 минуты назад, Mikeyfry сказал: Продолжаю тестировать. Появилась другая проблема. У бота ведь может закончиться вооружение, а он продолжает патрулировать от точки до точки. Можно ли как-то отследить остаток БП? Ему можно задать при растрате какого вооружения выполнять возврат на базу. Если вышел из зоны, то значит растратил.
Mikeyfry Posted January 18 Posted January 18 (edited) 30 минут назад, SL PAK сказал: Ему можно задать при растрате какого вооружения выполнять возврат на базу. Если вышел из зоны, то значит растратил. Нашёл, в ППМ было, я думал это в триггерах где-то. Спасибо. И в руководстве не нашёл информации по флагам. Флаги это глобальная переменная? Или индивидуальная для каждого игрока на сервере? Пример, ставим флаг 1 в значение "5" при старте миссии. При пролёте игроком триггерной зоны ставим флаг 1 в значение "3". Флаг 1 будет тот же флаг, который мы установили при старте миссии? Edited January 18 by Mikeyfry
ED Team SL PAK Posted January 18 ED Team Posted January 18 16 минут назад, Mikeyfry сказал: Это только через lua? Я не нашёл в триггерах что-то про вооружение, только "параметр объекта в диапазоне" - оно? Нет, настроить поведение бота можно в расширенных действиях ППМ, если настройку надо задавать при старте миссии, то прописывать настройку в стартовом ППМ (ИПМ). Очень много геймплея можно прописывать в расширенных действиях стартового ППМ и динамично менять геймплей при пролете ботом остальных ППМ. Флаг глобален и никак не относится к игрокам на сервере. Поднятый флаг имеет значение 1 и смена этого значения применится именно к этому флагу. -- В расширенных действиях ППМ можно задать выполнение скрипта. Полезные скрипты: trigger.action.setUserFlag(1,1) trigger.action.setUserFlag(1, true) trigger.action.setUserFlag(1, false) trigger.action.activateGroup(Group.getByName('имя группы')) trigger.action.deactivateGroup(Group.getByName('имя группы')) Пролетая ППМ бот может изменять флаги и активировать/деактивировать других ботов. Если в списке команд есть команда на атаку цели, а следующая в списке команда поднимает флаг, то когда бот закончит атаку (уничтожит цель или растратит оружие), то он поднимет флаг следующей командой в списке расширенных действий ППМ.
Mikeyfry Posted January 18 Posted January 18 15 минут назад, SL PAK сказал: Нет, настроить поведение бота можно в расширенных действиях ППМ, если настройку надо задавать при старте миссии, то прописывать настройку в стартовом ППМ (ИПМ). Очень много геймплея можно прописывать в расширенных действиях стартового ППМ и динамично менять геймплей при пролете ботом остальных ППМ. Флаг глобален и никак не относится к игрокам на сервере. Поднятый флаг имеет значение 1 и смена этого значения применится именно к этому флагу. -- В расширенных действиях ППМ можно задать выполнение скрипта. Полезные скрипты с флагами: trigger.action.setUserFlag(1,1) trigger.action.setUserFlag(1, true) trigger.action.setUserFlag(1, false) trigger.action.activateGroup(Group.getByName('101')) trigger.action.deactivateGroup(Group.getByName('101')) Как я понял, бот повторно не взлетит по возврату на точку при расходе БП. На ИПМ (0 точка) указал эту опцию. Когда он отстрелялся - сразу полетел на аэродром. Сел, вылез из кабины, исчез пилот, исчез самолёт. По флагам полезная информация, записал себе. Я в одном из ППМ прописал в условиях выводить текст при пролете данного ППМ при условии, что флаг False. Пока он летал по кругу и пролетал данный ППМ все было нормально - при пролете текст выводило. Затем, когда он начал атаковать истребители, успешно уничтожил и вернулся в зону замкнутого полёта по ППМ, пролетев текстовый ППМ, начался бесконечный вывод сообщения, где-то раз в секунду. А так же бот стал летать по ППМ в противоположную сторону. Летал по часовой стрелке, а теперь против.
ED Team SL PAK Posted January 18 ED Team Posted January 18 4 минуты назад, Mikeyfry сказал: Как я понял, бот повторно не взлетит по возврату на точку при расходе БП. Взлетит, если крайний ППМ будет не "посадка", а "перевооружение".
ED Team SL PAK Posted January 18 ED Team Posted January 18 12 минут назад, Mikeyfry сказал: Я в одном из ППМ прописал в условиях выводить текст при пролете данного ППМ при условии, что флаг False. Пока он летал по кругу и пролетал данный ППМ все было нормально - при пролете текст выводило. Затем, когда он начал атаковать истребители, успешно уничтожил и вернулся в зону замкнутого полёта по ППМ, пролетев текстовый ППМ, начался бесконечный вывод сообщения, где-то раз в секунду. А так же бот стал летать по ППМ в противоположную сторону. Летал по часовой стрелке, а теперь против. Либо баг либо вы сами там так намудрили. Если не получится настроить, то просто создайте повторяющийся триггер выводящий сообщение по поднятому флагу и убирающий этот флаг для прекращения повторения. А в ППМ просто поднимайте этот флаг, когда нужно сообщение.
Mikeyfry Posted January 18 Posted January 18 (edited) 1 час назад, SL PAK сказал: Взлетит, если крайний ППМ будет не "посадка", а "перевооружение". У меня стояло оказывается "посадка с дозаправкой и перевооружением", только после этого идёт ещё 1 ППМ, который перенаправляет на ППМ патрулирования. В такой комбинации не взлетает. Если сделать, как вы говорите. Не получится ли, что он перевооружится, взлетит, и сразу пойдёт на посадку? Или он помнит, что надо на ППМ патруля вернуться? 1 час назад, SL PAK сказал: Либо баг либо вы сами там так намудрили. Если не получится настроить, то просто создайте повторяющийся триггер выводящий сообщение по поднятому флагу и убирающий этот флаг для прекращения повторения. А в ППМ просто поднимайте этот флаг, когда нужно сообщение. Надо будет не торопясь, еще раз проверить. Edited January 18 by Mikeyfry
Mikeyfry Posted January 18 Posted January 18 2 часа назад, SL PAK сказал: Взлетит, если крайний ППМ будет не "посадка", а "перевооружение". Не хочет почему-то. Когда первый из списка ролей красный пролетает маркер, бот атакует его единственной ракетой. Затем возвращается на аэродром. Встает на стоянку и спустя некоторое время исчезает. TEST_BOTOV.miz
ED Team SL PAK Posted January 18 ED Team Posted January 18 2 часа назад, Mikeyfry сказал: Не хочет почему-то. Сейчас не могу проверить, но допускаю что возврат бота по поведению "закончилось оружие" всегда завершает его миссию. Тогда нужно либо определять что бот потянулся домой и активировать другого бота либо запрещать боту возврат по оружию и снимать его с задачи ожидания по времени ожидания или по флагу. Флаг можно поднимать по отсутствию игроков, по триггерам определяющим что бот применял оружие (бомба/ракета в зоне) и еще чему угодно. Бот вернувшийся на перевооружения по маршруту должен взлетать снова и начинать новый маршрут с ППМ1. Я бы делал два звена ботов сменяющих друг друга. Когда первое звена прибываеь в зону ожидания, то второе начинает руление на взлет и прилетев в зону ожидания поднимает флаг снимающий первое звено с ожидания. Первое звено уходит на заправку/перевооружение и также вернувшись снимает второе звено с ожидания. Думаю проще и надежнее всего ботам поднимать/снимать флаги окончания ожидания в ППМ предшествующем ППМ ожидания. Чужой флаг подняли, свой опустили.
Mikeyfry Posted January 18 Posted January 18 (edited) 50 минут назад, SL PAK сказал: Сейчас не могу проверить, но допускаю что возврат бота по поведению "закончилось оружие" всегда завершает его миссию. Тогда нужно либо определять что бот потянулся домой и активировать другого бота либо запрещать боту возврат по оружию и снимать его с задачи ожидания по времени ожидания или по флагу. Флаг можно поднимать по отсутствию игроков, по триггерам определяющим что бот применял оружие (бомба/ракета в зоне) и еще чему угодно. Бот вернувшийся на перевооружения по маршруту должен взлетать снова и начинать новый маршрут с ППМ1. А id бота после его удаления/смерти подчищается или остается до конца жизни сервера занят? Просто понимать, если динамически вызывать, можно ли занятые id повторно использовать или новые создавать. Edited January 18 by Mikeyfry
ED Team SL PAK Posted January 19 ED Team Posted January 19 3 часа назад, Mikeyfry сказал: А id бота после его удаления/смерти подчищается или остается до конца жизни сервера занят? Не могу знать, так как занимаюсь исключительно однопользовательскими миссиями и мне не требуется создавать бесконечные движухи. Протестируйте..
ASW Posted February 15 Posted February 15 Подскажите условия возникновения тумана в режиме авто? Насколько я помню, в реале туман возникает, когда температура воздуха и точка росы одинаковые. Как это в данный момент реализовано в DCS? 3
Mikeyfry Posted February 22 Posted February 22 (edited) Как можно синхронизировать старт ботов после дозаправки и перевооружения? Какой-то бардак с этими ботами. Думал динамически создавать статический объект или юнит позади первого бота, после заезда на стоянку. А затем, когда второй бот заезжает, заправляется и готов к вылету, объект бы удалялся у первого бота и тот стартовал. Но на деле, запертый бот стартует, игнорируя объект, проезжает насквозь и улетает ни на секунду не задержавшись. Я даже пробовал сам занимать борт и подпирать бота своим самолётом - этот идиот задним ходом меня таранит и катапультируется... Совет, ставить ботам разное время для перезарядки и дозаправки (например, первому 20мин, а второму 10мин) не предлагать. Потому что, могут быть разные ситуации в миссии, по которым боты за свой вылет могут приземляться с разным интервалом времени, и в какой-то момент этот совет перестанет выполнять необходимое условие. Сюда бы идеально зашла функция "Выключить ИИ", но она работает только для наземных юнитов. Так же пробовал, через "повторяющийся триггер" ставить боту скорость (SetSpeed) в "0", это тоже игнорируется ботом на земле. Edited February 22 by Mikeyfry
ED Team SL PAK Posted February 22 ED Team Posted February 22 25 минут назад, Mikeyfry сказал: Как можно синхронизировать старт ботов после дозаправки и перевооружения? Единственным видится вариант, по прибытии бота на стоянку деактивировать его и на этом месте (или рядом, если невозможно на этом) активировать другого бота ожидающего команду на запуск. Когда все нужные боты так обновятся, давать им команду на запуск. Но работать это будет только с отдельными ботами. Групповые деактивируются вместе.
Granica Posted March 3 Posted March 3 Вопрос к знающим, если часть техники стоит с отложенным стартом или отключением ИИ, снижает нагрузку на миссию? Отложенный старт даёт фриз при появлении, включение ИИ неизвестно как влияет. Вопрос как снизить нагрузки на миссии? =БК= Наши сервера и статистика: https://aviabk.ru/
ASW Posted March 3 Posted March 3 8 минут назад, Granica сказал: Вопрос к знающим, если часть техники стоит с отложенным стартом или отключением ИИ, снижает нагрузку на миссию? Отложенный старт даёт фриз при появлении, включение ИИ неизвестно как влияет. Вопрос как снизить нагрузки на миссии? Все проверяется опытным путем. Поставь и посмотри, как будет. Зависит от того, какая техника. Сейчас компы мощные, я не замечал.
Granica Posted March 3 Posted March 3 (edited) 29 минут назад, ASW сказал: Все проверяется опытным путем. Поставь и посмотри, как будет. Зависит от того, какая техника. Сейчас компы мощные, я не замечал. Тут вопрос где сервер и количество техники в районе 1000 единиц. У кого-то фризит у кого-то все нормально. Вот и не понять. Если техника с отложенным стартом, сервер постоянно перепроверяет их существование? Идёт нагрузка или ему пофиг пока не появятся Edited March 3 by Granica 1 =БК= Наши сервера и статистика: https://aviabk.ru/
Granica Posted March 3 Posted March 3 Ещё вопрос, ставли аудио сигнал на определённой частоте, все кликабы могут услышать настроив нужную частоту. А вот не кликабы будут её слышать постоянно! Как сделать чтоб не кликабы не слышали все частоты 1 =БК= Наши сервера и статистика: https://aviabk.ru/
ASW Posted March 4 Posted March 4 (edited) В 03.03.2025 в 10:31, Granica сказал: Тут вопрос где сервер и количество техники в районе 1000 единиц. У кого-то фризит у кого-то все нормально. Вот и не понять. Если техника с отложенным стартом, сервер постоянно перепроверяет их существование? Идёт нагрузка или ему пофиг пока не появятся Может фризить даже из-за одного стороннего мода. На взгляд мелкой ерунды. Я перестал ими пользоваться. Но если у одних фризит, а у других нет, дело не в миссии. Edited March 4 by ASW
MTYGRA Posted March 9 Posted March 9 Комрады, подскажите, где найти свежую версию HeliMines? http://forums.eagle.ru/signaturepics/sigpic57103_8.gif
Mikeyfry Posted March 14 Posted March 14 (edited) Находил в этой теме разговор о возможности ботами перевозить грузы на тросу. Сейчас попробовал это сделать, когда появляется сцепка с грузом и бот начинает подниматься, а груз всё еще находится на земле, то трос пропадает. А бот улетает на следующий ППМ. Трос даже не натянулся и груз не сдвинулся ни на миллиметр. Пробовал ставить груз на ровном поле, на стоянке на аэродроме - разницы в поведении нет. Вертолеты пробовал Чинук и Ми-8 Я что-то не так сделал? Или очередной баг? Дополнение: Разобрался, триггерная зона указывается для места выгрузки. Я думал, что в радиусе этой зоны погрузка происходит, а выгружать надо через доп задачу "разгрузка". Но теперь другая проблема, как зациклить бота на поочередной погрузке (в отсеке) и выгрузке груза? Например я хочу сделать для него 3 ходки. Edited March 14 by Mikeyfry
Recommended Posts