Вопросы и ответы по созданию миссий в редакторе игр серии "В тылу врага"
Задавать вопросы в теме «Общий FAQ по оф. редактору карт „В тылу врага 2“» не рекомендуется во избежание ее засорения. Она предназначена только для ответов на самые часто-задаваемые вопросы. При ее засорении сотнями вопросов и ответов искать в ней что-либо новичкам будет очень трудно.
Ожидая ответа на свой вопрос помните, что на него отвечают по желанию. Наиболее опытные граждане, понимающие в редакторе, бывают на форуме только время от времени. Поэтому ответ на вопрос может появиться не сразу.
Формулируйте вопрос как можно понятнее — так вам ответят быстрее.
Цитата: Brydude
… я не могу найти некоторые предметы. Например: траншею, брустфер(в таком виде, в каком его устанавливают солдаты). Где их искать?
Окопы — в landscape > cut entity > trench_ (ландшафт > «сущности, делающие при размещении вырез в полигонах поверхности земли» > траншеи).
Мешки с песком — в construction > social > fortification > sanbag.... Почему в «social»? А вот хрен его знает!
Цитата: Brydude
Так же мучает ситуация — есть три текстуры(трава, песчаная дорога, камень), два набора: трава-песч.дорога, трава-камень. У травы-дороги переход нормальный(плавный), у травы-камня тоже. Но когда соприкасаются дорога и камень получается очень некрасиво
Я так понимаю, изначально имелось 3-и текстуры: «трава + дорога», «трава + камень» и «камень + дорога».
Сформировать в редакторе новую текстуру — «камень + камень» (1) и использовать ее на стыке текстур (как посредника перехода) между текстурами «камень + дорога» (2) и «трава + камень» (3) (смотри рис.1). Поиграть с прозрачностью текстур при закрашивании земли в месте самого сложного перехода текстур.
Рис. 1.
В особо трудных случаях и местах, — например, в месте стыка сразу 3-х текстур, — чтобы минимизировать зону перехода текстур и сделать неизбежные искажения минимальными, можно локально, в определенном месте уменьшать размеры полигонов поверхности земли (см. Рис.2). Например по краю дороги, где текстура «трава + дорога» должна плавно перейти в текстуры «трава + камень» и «камень + дорога».
При уменьшении полигонов в каком-либо месте, количество полигонов поверхности земли в этом месте увеличивается. Надо всегда помнить о том, что увеличение количества полигонов земли в больших дозах приводит к «утяжелению» карты и приводит к бОльшей нагрузке на компьютер во время игры. Поэтому использовать этот прием лучше только там, где без него вообще никак не обойтись (возможно лучше будет использовать штампы о которых написано ниже, особенно для «прокладки» дорог на карте).
Галочка wireframe служит для включения\отключения отображения полигонов земли. Уровень уменьшения\увеличения размеров полигонов задается в поле Level. По-умолчанию, при создании новой карты, уровень размера полигонов земли равен 0.
Кнопочку level up ни в коем случае не трогать (!) — можно безвозвратно испортить карту!
После выбора уровня в поле Level следует просто водить мышью в тех местах поверхности земли, где нужно изменить размеры полигонов. Таким же способом, установив значение «0» в поле Level, можно вернуться к исходному размеру полигонов в этих местах.
Рис. 2.
Также в местах особо трудных переходов текстур можно использовать еще и штампы, чтобы прикрыть «листиком» такое вот безобразие с некрасивыми переходами текстур (см. в редакторе landscape > stamp). Например, если дорога заканчивается там, где начинается текстура «камень + дорога» — можно положить штамп «конец дороги» или штамп земли, раздолбанной колесами и гусеницами техники или штамп дороги или штамп обрыва, прикрывая обочины по обеим сторонам дороги (если дорога проходит в распадке между двух гор). Тут уж как фантазия подскажет.
Рис. 3.
При наложении штампов на землю каждый последующий штамп размещается поверх предыдущего. Для задания или изменения положения уже размещенных штампов по слоям — изменения порядка перекрытия штампов друг другом, — для выбранных штампов можно явным образом задать уровень слоя в поле order («порядок следования \ иерархия \ уровень слоя») в настройках (см. Рис.3). По-умолчанию все штампы размещаются на слое уровня 0. Если какой-либо штамп нужно разместить выше всех штампов уровня 0, в поле order нужно указать число больше 0. Чем выше это число, тем выше штамп находится по отношению к штампам с меньшими числами в поле order.
Еще:
Не помню, нажимал ли я че-то, но у меня на технике появились зелёные полосы(подозреваю, что полигоны). Я ХЗ как отключить, попробовал удалить editor_desktop.txt- не помогло. Как они отключаются?
Цитата: Brydude
Спасибо!
Еще:
Не помню, нажимал ли я че-то, но у меня на технике появились зелёные полосы(подозреваю, что полигоны). Я ХЗ как отключить, попробовал удалить editor_desktop.txt- не помогло. Как они отключаются?
Скорее всего нажал Alt + C. Для отключения нажми Alt + C еще раз. О горячих клавишах можно посмотреть информацию в теме «Общий FAQ по оф. редактору карт „В тылу врага 2“. Также создал специальную тему FAQ по сочетаниям клавиш редактора. Там информация будет с картинками.
Хочу сделать сценарий с захватом «языка»разведчиками. Сам процесс захвата вражескского офицера мне сделать удалось через тэг player и condition near. То есть когда разведчики подходят в плотную то офицер переходит под твое управление.
Подскажите как можно (и возможно ли вообще) настроить триггер таким образом чтоб если захваченный юнит отходил на определенную дистанцию от твоих бойцов (или с их поля зрения), игрок терял управление над ним?
Цитата: victork71
Добрый день!
Хочу сделать сценарий с захватом «языка»разведчиками. Сам процесс захвата вражескского офицера мне сделать удалось через тэг player и condition near. То есть когда разведчики подходят в плотную то офицер переходит под твое управление.
Подскажите как можно (и возможно ли вообще) настроить триггер таким образом чтоб если захваченный юнит отходил на определенную дистанцию от твоих бойцов (или с их поля зрения), игрок терял управление над ним?
(в скриптовке я не оч)
Нашел 2 варианта: условие near и условие camera.
1. Near — создаём триггер, делаем условие near. Units — тэг разведчика, near_to — тэг офицера(назову так языка). Distance — сам решай
Делаем команду для передачи офицера под свой контроль и всё.
НО! Один БОЛЬШООООООЙ минус — эта фигня не действует в движении. То есть когда бежите, и офицер отстал, переше отметку в distance — не сработает. А если стоят и офицер, и разведчик, и меджу ними 5 метров, то всё ок.
2. Camera — делаешь зону, ставишь на офицера. Делаешь триггер, условие camera: zone — название зоны, apperiance(вроде так) — invisible. Дальше создаёшь ту же команду на передачу и всё. Таким образом, когда зона попадает в КАМЕРУ(не в поле зрения солдата) — срабатывает команда. Что бы когда в камеру попадает зона офицер передавался обратно, надо вместо invisible поставить visible, и поменять команду.
Оба эти способа не решают проблему 100%, поэтому надеюсь, что придёт Джон Ду и просвятит нас.
Т.е есть некий флаг. Когда русские захватывают его, они должны отбиться от N-ого кол-ва волн фрицев с возможностью потери флага.
Цитата: CaTBaT
А как сделать так, чтобы при достижении определенного вейпоинта, машина останавливалась (в моём случае бтр), Высаживался отряд и машина уезжала?
1). Выделить вейпоинт и в его свойствах добавить команду высадки emit (actor > emit).
Для добавления команды в вейпоинте — щелкнуть правой клавишей в поле «Commands» в свойствах вейпоинта, а затем выбрать в появившемся меню «Add...» («Добавить»).
2). В свойствах команды emit указать юниты, сидящие в машине, которые необходимо высадить.
При этом можно указать в поле crew идентификаторы MID или теги конкретных юнитов, которые нужно высадить, или указать в поле emit > mode только категорию высаживаемых юнитов — passangers, crew или all — если MID и теги юнитов, находящихся в машине, заранее не известны.
Если указать passangers — из машины высадяться только пассажиры или десант на броне, если crew — только водитель или члены экипажа (водитель, стрелок, заряжающий, командир). Если указать all — вылезут все, и пассажиры и экипаж.
Также в поле waypoint команды emit можно указать (это не обязательно) и номер вейпоинта, в который должны следовать все юниты, вылезшие из машины по команде emit.
Кроме того, в поле count («количество») можно указать количество юнитов определенной категории, которое должно покинуть машину. Если в поле count установлено значение -1, то машину покинут все юниты указанной категории.
На скриншоте, для примера, показано 2 варианта задания параметров команды emit. В случае A. из машины вылезут юниты с MID 45, 47, 48, имеющие тег «pehota». В случае Б. из машины вылезут все пассажиры.
Команда, добавленная в вейпоинт, будет неограниченное количество раз действовать на любые юниты, которые прибудут в вейпоинт по команде триггера. Например, по команде waypoint или actor_to_waypoint. На другие юниты, просто оказавшиеся возле вейпоинта, команда, добавленная в вейпоинт, не действует.
В вейпоинт вообще можно добавить не одну команду. Они будут исполняться последовательно друг за другом. Кстати, если в вейпоинт имеются добавленные команды, он меняет цвет на красный.
Если необходимо, чтобы машина, двигаясь в вейпоинт, просто останавливалась при попадании в место вейпоинта на некоторое время, а затем продолжала движение — нужно добавит в вейпоинт команду wait («ждать») (см. команды actor) и указать время ожидания в ее параметрах. Команда wait предназначена для использования только в вейпоинтах. При использовании ее в триггерах она не работает.
Например, если нужно, чтобы после прибытия в вейпоинт по цепочке связанных друг с другом вейпоинтов из машины высаживались юниты, затем машина ожидала некоторое определенное время и двигалась дальше по цепочке вейпоинтов, в вейпоинт высадки нужно добавит сначала команду emit, а затем wait.
Цитата: CaTBaT
И еще как сделать волновую атаку?
Т.е есть некий флаг. Когда русские захватывают его, они должны отбиться от N-ого кол-ва волн фрицев с возможностью потери флага.
Тут может быть несколько способов. ) Вот, например, один из самых простых:
Для начала нужно создать вражеские юниты, которые будут клонироваться\копироваться и отправляться в атаку для наступления волнами, добавить каждому из них (обязательно) тег hidden.
В месте обороны создадим зону и назовем ее, например, zona_flaga. Внутри нее будет находится обороняемый игроком объект, флаг.
Также нужно создать цепочки последовательно связанных друг за другом вейпоинтов — пути, по которым должны наступать эти вражеские юниты. Эти цепочки должны проходить через обороняемую зону или рядом с ней.
Затем создадим триггер клонирования волн наступающего врага. Назовем его ataka. В этом триггере можно добавить сначала команду loop («цикл», «повторение», «петля») (см. команды generic). В параметрах команды loop нужно указать количество повторений цикла — это будет количество волн атакующего врага.
Теперь внутри самой команды loop создадим команды цикла. Сначала добавим несколько команд waypoint. Они будут повторятся при исполнении цикла нашей команды loop. Количество этих команд waypoint должно быть равно количеству цепочек вейпоинтов, по которым будут двигаться юниты наступающего врага.
В параметрах каждой команды waypoint нужно указать номер вейпоинта, находящегося в начале определенной цепочки, а затем, например, MIDы или теги юнитов врага, которые должны клонироваться в месте расположения этого вейпоинта и двигаться от него вдоль цепочки связанных с ним вейпоинтов. Затем в параметрах команды waypoint обязательно необходимо поставить галочку clone («клонировать»), а в поле approach задать значение «teleport & rotate» («телепортировать с поворотом»).
В конце списка всех команд waypoint требуется добавить команду delay («задержка»), в параметрах которой нужно указать время, равное задержке между волнами атаки.
В результате выполнения каждого из циклов, заданных командой loop, в начальных точках каждой из цепочек вейпоинтов будут клонироваться\появляться указанные копии скрытых юнитов врага (но уже видимые, активные) и бежать по цепочке вейпоинтов в сторону обороняющихся юнитов игрока.
Как только заданное количество циклов будет завершено, клонирование врагов и их атака прекратиться.
Условие срабатывания триггера атаки из нескольких волн можно придумать по-вкусу. Если условия вообще не будет — атака начнется сразу после запуска миссии.
После команды loop в триггере атаки можно добавить команду event («событие»). Эта команда будет добавлять значение «состоялось» (set) для созданного и придуманного нами события окончания атаки. Можно назвать это событие, например, ataka_end (название произвольное, можно придумать свое).
Триггер атаки будет выглядет примерно так:
После триггера атаки создаем триггер победы и триггер поражения.
Для срабатывания триггера победы можно задать 2 условия:
1). Условие entity — условие наличия живых юнитов игрока в обороняемой зоне zona_flaga.
2). Условие event — условие произошедшего события ataka_end (атака закончилась).
В результате триггер победы будет срабатывать если состоялось событие ataka_end и в обороняемой зоне есть еще живые юниты игрока.
В качестве команды в триггере победы можно добавить команду gameover («завершение миссии») с параметром win («победа»). При срабатывании триггера победы миссия будет завершаться с выигрышем.
Триггер поражения создается аналогично триггеру победы. Только в качестве условий срабатывания триггера поражения можно добавить условие отсутствия живых юнитов игрока в обороняемой зоне zona_flaga. И условие event — условие произошедшего события ataka_end (атака закончилась). А в качестве команды триггера поражения — также команду gameover («завершение миссии»), но с параметром loose («проигрыш»).
Но могут ли НПС захватывать флаг автоматически? Или же нужно что то прописать в триггере?
Цитата: CaTBaT
Спасибо большое, вы очень помогли)
Но могут ли НПС захватывать флаг автоматически? Или же нужно что то прописать в триггере?
НПС? Как расшифровывается эта аббревиатура? Это юниты-враги под управлением АИ (искусственного интеллекта, противника игрока)?
Что именно понимается под захватом флага? В сингловых миссия (скирмиш) «Штурма» и «Штурма 2» при захвате флага флаг игрока опускается (физически, с помощью анимации), а флаг противника — поднимается. 8 юнитов-солдат игрока бегут и занимают укрытия в зоне флага. На экране появляется текстовое сообщение о захвате флага, дополненное звуковым оповещением о захвате. У игрока отключаются соответсвующие флагу подкрепления.
Если имеется в виду это — то да, нужные еще триггеры (замены флагов, занятия юнитами врага укрытий в его зоне, появления сообщений о захвате). В принципе, все это можно запихнуть в рамки одно триггера с несколькими командами. И конечно же — поставить сами флаги в центре зоны и разместить там укрытия\окопы\мешки\места, которые должны занимать враги при захвате зоны флага (укрытия, например, мешки с песком, могут появлятся после захвата, а до захвата быть невидимыми). )
Цитата: John DoeЦитата: CaTBaT
Спасибо большое, вы очень помогли)
Но могут ли НПС захватывать флаг автоматически? Или же нужно что то прописать в триггере?
НПС? Как расшифровывается эта аббревиатура? Это юниты-враги под управлением АИ (искусственного интеллекта, противника игрока)?
Что именно понимается под захватом флага? В сингловых миссия (скирмиш) «Штурма» и «Штурма 2» при захвате флага флаг игрока опускается (физически, с помощью анимации), а флаг противника — поднимается. 8 юнитов-солдат игрока бегут и занимают укрытия в зоне флага. На экране появляется текстовое сообщение о захвате флага, дополненное звуковым оповещением о захвате. У игрока отключаются соответсвующие флагу подкрепления.
Если имеется в виду это — то да, нужные еще триггеры (замены флагов, занятия юнитами врага укрытий в его зоне, появления сообщений о захвате). В принципе, все это можно запихнуть в рамки одно триггера с несколькими командами. И конечно же — поставить сами флаги в центре зоны и разместить там укрытия\окопы\мешки\места, которые должны занимать враги при захвате зоны флага (укрытия, например, мешки с песком, могут появлятся после захвата, а до захвата быть невидимыми). )
НПС- да AI т.е враги)) Это те солдаты которыми игрок не может управлять и они живут своей жизнью)))
Невидимые мешки с песком, пулеметы и так далее естественно для этого нужен тег Hidden? А после скажем захвата триггером удалять этот тег и всё в таком духе, да?)
И если можно, то хотелось бы узнать как вызывать подкрепления..)) Пересмотрел кучу миссий и ничего не понял))
И еще… Как можно сделать арт.удар? Вот этого я точно не понимаю(
Цитата: ппаппапапапапапа
у меня пропала мини карта в редакторе как вернуть какая кнопка?
И что, даже кнопка включения\выключения миникарты на панели не помогает? Панель, где должна быть миникарта вообще появляется? Мод никакой не подключен при этом?
В некоторых модах миникарта может специально отключаться автором в настройках мода. Если какой-то мод подключен — может быть дело именно в этом. Отключи его.
Если дело не в подключенном моде, то можно найти файл editor_desktop.set с настройками редактора и удалить его, если после этого запустить редактор — редактор окроется с настройками по умолчанию, при которых миникарта доступна.
О том как найти этот файл с настройками редактора можно прочитать в этом сообщении (было в этой же ветке, но ранее):
http://xn--b1aa1c.xn----8sbbemc3a7aecex.xn--p1ai/forum/findpost/1704
Цитата: Dmitry Petrenko
У меня проблема: каждый раз, когда я перезапускаю редактор пропадает всё кроме карты и расставленных мною юнитов. Самое обидное, что команды пропадают тоже. Что делать? Скажите пожалуйста. Причём это у меня во всех частях серии (Я проверял.)
Проблема может быть в том, что при редактировании отредактированный или созданный тобой файл миссии (файл с расширением .mi) сохраняется не в папке твоего мода.
Тогда при закрытии миссии или редактора и при следующем открытии изменения в миссии, как бы, не сохраняются. Чтобы исправить это, нужно найти место куда сохраняется файл и перетащить его в папку своей миссии.
Вот посмотри в этом сообщении и 2 следующих за ним сообщениях, как решается эта проблема:
http://xn--b1aa1c.xn----8sbbemc3a7aecex.xn--p1ai/forum/findpost/1696
Свои и чужие юниты-люди и основная техника расставляются только при редактировании миссии (клавиша F3). При редактировании карты (клавиша F2) расставляются только второстепенные неживые объекты (дома, деревья, ящики, заборы, предметы антуража и т.д.). Можно еще животных расставить и технику, которая будет играть роль декораций. Но не более. Иначе будет очень неудобно и будут, как бы не сохраняться теги юнитов, если будешь забывать, что после присваивания тегов предметам и сущностям, поставленным на карту в режиме редактирования карты, нужно обязательно сохранять файл миссии (информация о сущностях на карте сохраняется в файле карты, а теги — только в файле миссии).
Цитата: Dmitry Petrenko
Папку я не нашёл( У меня игра установлена на D а не на C, поэтому не знаю где искать( Но в папке с игрой почему-то находится две папки map
Да это не важно — на С:\ или на D:\. У меня вообще на H:\)) Можно же поиском Windows искать файлы по названию или расширению (типу файлов). если по расширению — достаточно указать в поле поиска файлов это расширение, например, вот так: *.mi
Тогда компьютер будет искать все файлы с этим расширением. И еще задать в качестве места поиска диски С:\ и D:\ (и еще какие есть на компьютере), а также поставить галочку «искать в скрытых и системных папках». )
В одной папке не может быть двух папок с одинаковым названием. Покажи хотя бы картинку с содержанием файлов в папке с игрой. Сложно «лечить по телефону». )
Вот как у меня:
Корневая папка с файлами игры:
Папка map, в которую по умолчанию сохраняются файлы всех вновь созданных карт:
Папка с файлами карты:
1. Можно ли изменить прозрачность и размер «штампов», и если да, то как?
2. Как быть с водой? В тех же штампах нашёл «Water», но после теста понял, что это лишь «видимость» воды. Можно ли как-нибудь задать глобальный уровень воды, или необходимо как-либо привязывать физику к данным штампам?!
Заранее спасибо!
1. Можно ли изменить прозрачность и размер «штампов», и если да, то как?
Прозрачность альфой меняй, больше — черней а меньше — белей, ну а размер там в файлике от штампа прописан, по памяти ща не вспомню в каком именно.
Пройдись по ним, откроешь нужный файл — увидишь.
2. Как быть с водой? В тех же штампах нашёл «Water», но после теста понял, что это лишь «видимость» воды. Можно ли как-нибудь задать глобальный уровень воды, или необходимо как-либо привязывать физику к данным штампам?!
Это поверхность воды, а в игре воды как бы и нет таковой.
Уровень задаётся в меню редактора, там глобальный уровень воды идёт, но он только для понимания где водная поверхность работает.
Его можно менять.
Ничего там менять не нужно для штампов, штампы ложатся на эту высоту автоматом, на ту высоту которую укажешь.
Лучше всего оставить ноль (он идёт по умолчанию), в Штурме первом например у меня были проблемы с отрывом от нуля больше 20-ти метров что выше нуля, что ниже.