Перейти к содержимому

Сообщений в теме: 2
Фотография

FT: Заметки о редактировании Тактикса

TACTICS MOD DEV FT

#1 Plutonius

Plutonius

    Выживший

  • Desert Rangers
  • PipPip
  • 82 сообщений

Отправлено 07 Октябрь 2021 - 16:15

Хоттабыч-эффект

 

или общая теория тактической триггерологии

 

524.gif

 

 

 

Скриншоты: https://yapx.ru/v/OczTi

 

 

Прежде всего, надо сказать, как появилась идея данного писания, которое (я надеюсь) станет когда-нибудь Святым: от сообщества пришло такое пожелание, что нужен дескать мануал по триггерам для Тактикса. Ну вот, почему-то его так и не появилось за 20 с хвостом лет, как и способа делать в Тактиксе диалоги (хотя такой способ на самом деле всегда был).

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

 

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

Чтобы что-то делать с триггерами, нужен прежде всего редактор, а именно файл FT Tools. Найти его не проблема, ссылок в инете достаточно.

При входе в редактор вы увидите меню, похожее на меню самой игры. Сверху идут пункты: Кампании, Уровни, Объекты (см. скрин 1). Процентов 80 всей работы будет выполняться в разделе «Уровни», про него я и расскажу.

Нажав кнопку «Уровни», вы попадёте в главное окно редактора уровней (скриншот 2). Здесь можно делать все операции с объектами уровня и графическим оформлением карты (тайлами). Верхний ряд кнопок предоставляет набор функций, обычный для большинства программ:

- кнопка File скрывает подпункты save, open, close и т. д., то есть позволяет записать, открыть, закрыть файл миссии. Перед редактированием файлы миссий надо распаковать любым архиватором из архивов игры (они называются mis_core_A, mis_core_B и т. д.). Получатся папки, а в них файлы с расширением *.mis - вот их-то и надо открывать в редакторе уровней.

- кнопка Edit, опять же, открывает стандартный для большинства программ набор функций: copy, paste, delete, undo и прочее. Все эти функции позволяют копировать, удалять или вырезать объекты, а также и тайлы, предварительно выделенные с помощью курсора. Но при работе конечно пользуются не ими, а комбинациями клавиш ctrl+C, ctrl+V, ctrl+Z и т. д.

Примечание: если вдруг вы не знаете, что такое ctrl+C и ctrl+V и никогда с этим не сталкивались, то дальше вам лучше не читать, и в эту тему особо углубляться не нужно вообще.

- кнопка View тоже в общем-то стандартно открывает параметры отображения уровня редактором. Тут можно все настройки просто оставить по умолчанию.

- кнопка Tools, самая полезная в этой колонке, позволяет делать ряд полезных вещей. New occlusion data делает сортировку набора тайлов, после чего эффекты (прозрачность крыш например, что очень важно) будут применены к тем тайлам, которые были отредактированы. А без применения этой функции, эффекты действовать не будут (т. е. крыши останутся непрозрачными, даже если сохранить все изменения через меню File). Output Tile List - позволяет экспортировать список тайлов из редактируемой карты. Import Sounds File - подключает файл с описанием зон, в которых будут проигрываться определённые звуки. Очень полезно при добавлении своего звукового оформления уровня. Остальные функции используются не так уж часто, и в основном касаются импорта/экспорта объектов, звуковых зон, а также настройки эффектов, таких как тени.

 

Следующий набор элементов управления представляет собой чек-боксы, отмечая которые галочкой, мы открываем вкладки с наборами различных инструментов. Вкладки Select и Tile предназначены для работы с тайлами карты. О них я рассказывать не буду, так как мануал, в первую очередь, про триггеры. Вкладка Entity открывает доступ к дереву папок, в котором хранятся объекты, ранее созданные при помощи редактора объектов. Это могут быть NPC, игроки, рекруты, а также оружие, предметы и вообще любые игровые объекты, которые можно добавить на карту. Вкладка Entity edit позволяет редактировать объекты на карте. Для этого необходимо чекнуть эту вкладку, а затем выбрать курсором объект на карте. При этом откроется вкладка с характеристиками объекта, которые можно изменять. Вкладки Auto group и Man group предназначены для работы с группами тайлов карты. Вкладка Level открывает большой набор инструментов настройки уровня. Вкладка Zone позволяет создавать и редактировать зоны. Для этого надо просто чекнуть её, а затем, в открывшемся окне зон выбрать нужную зону для редактирования, или добавить новую кнопкой Add. При этом на карте появится небольшой жёлтый кубик, грани которого - это и есть границы зоны. Его можно растягивать и перемещать с помощью мыши. А поле Height задаст ему высоту в условных единицах высоты объектов карты.

 

Ну, а теперь о самом важном - о наборе инструментов Level, потому что именно в нём будут производиться все работы, связанные с настройкой поведения персонажей, объектами, диалогами и многим другим.

При выборе вкладки Level, в левой части окна появится вкладка с кнопками и полями (как на скриншоте 3). Camera Bounds определяет положение камеры, тут можно ничего не трогать. Start Hour задаёт время суток (при игре на одиночной карте) отображаемое при входе на карту.

Game Type задаёт тип игры (здесь, как правило, оставляем «Настроить»).

Nuke Triggers on Exit - флаг сброса триггеров после выхода игрока с карты.

Is Bunker - определяет, является ли локация бункером Братства.

Allow Vehicles - разрешает использование транспорта.

Кнопка Minimap открывает инструментарий для добавления комментариев и задач на миникарту.

Team - задаёт первоначальное отношение команд друг к другу. При нажатии откроется список команд (их может быть не больше восьми) и квадратик, похожий на шахматную доску. На этой доске собственно и задаются отношения - тут по вертикали идут названия команд, а по горизонтали - их номера. на клетках пересечения проставляются значения параметра «мир/война». Зелёные клетки нейтральные, красные враждебные, синие союзные. Значения параметра «мир/война» могут меняться от - 10 до 10. Отрицательные - враг, положительные - союзник, 0 - нейтральный. Все эти значения также можно изменять триггерами при различных игровых событиях.

 

Вкладка Player позволяет создавать игроков. При нажатии на кнопку Player откроется небольшое окно со списком игроков (если ещё ни одного игрока не создано, он будет пустым). Игроку при создании присваивается номер, от 1 и далее по порядку. Количество игроков ограничено только мощностью вашего компьютера (точнее, какое-то ограничение должно быть в самом языке, на котором написана прога, но это число обычно десятки или сотни тысяч), потому что при большом их количестве карта будет ощутимо подтормаживать. Кроме номера, который присваивается автоматически, у игрока есть ещё три параметра: Name (имя), Type (тип) и Team (команда). Имя вы задаёте, когда создаёте игрока, оно может быть любым (естественно, задаётся латиницей). Тип может иметь три значения: Human, Computer, Disabled. Первое означает, что игроком управляет человек, второе - управляет компьютер, третье - игрок отключён. Ещё здесь есть важная кнопка Setup AI, она задаёт поведение игрока, если им управляет компьютер. Поведение задаётся в поле Contoller type. Три его основные значения: Deactivate (деактивирован), Stationary (стационарная позиция), Waypoints (движение по маршруту). Соответственно, когда игрок деактивирован, это значит, что на карте он присутствует, но увидеть его нельзя и с окружением он не взаимодействует. С этой функцией связан баг атаки невидимок, встречавшийся ещё в ранней версии оригинального Тактикса: если разместить деактивированных игроков, входящих во враждебную вам команду и вы во время игры активируете режим боя, то они начнут стрелять по вам, хотя вы их и не увидите. Когда поведение игрока стационарное, он просто стоит в каком-то одном месте. А если задано движение, то игрок движется. Чтобы задать параметры этого движения либо waypointaми, либо зоной. Waypointы - это специальные невидимые объекты, добавляемые на карту при редактировании. Им задаётся имя (tag name) и порядковый номер. Затем этот tag name вписывается в поле Move target tag в настройках игрока, и в результате он начинает двигаться по заданному маршруту.

Кнопка Speech file, как следует из её названия, служит для привязки файла с текстом (файл *.txt). Этот файл содержит все реплики и диалоги, которые будут использованы персонажами редактируемой карты. В оригинальной игре эти файлы лежат в архивах loc-mis_A, loc-mis_B и т. д. Для редактирования их нужно распаковать.

Кнопка Speech служит для добавления реплик диалогов непосредственно в игру. При нажатии на неё открывается окно, в котором следует создать реплики (кнопкой Add) задать репликам имена, а затем подключить к ним соответствующие тексты из txt файла, присоединённого к карте. Эти тексты также представляют собой реплики, состоящие из имени и собственно текста. Как они выглядят, можно посмотреть, открыв любой loc-файл из оригинальной игры. У реплик есть свойства (отмечаются галкой): Floating и Windowed - первое означает «плавающий» текст, второе - показываемый в окне.

И наконец, самая последняя по порядку (но не по важности) кнопка - это Triggers. Нажв её, попадём в такое вот окошко (скриншот 5). В нём справа мы опять же видим стандартные кнопки (new, edit, copy, delete). Сами же триггеры представляют собой программный оператор, представляющий собой достаточно простое логическое выражение, состоящее из двух частей: условия и действия. Список условий, доступных в редакторе Тактикса, показан на скриншоте 6:

Always - всегда (т. е. триггер выполняется сразу после входа на локацию, независимо от условий);

Never - никогда (не выполняется при любых условиях);

Speech Occured - выполняется после открытия указанной реплики диалога;

Skill Use Occured - выполняется после использования определённым юнитом определённого умения;

Variable - переменная (выполняется при совпадении значения данной переменной с указанным в условии);

Timer - выполняется при достижении указанным таймером значения, указанного в условии;

Quantity - для этого оператора есть целых четыре подкласса - Team, Player, Unit, Player kills. Соответственно, в каждом из случаев условие задаётся либо для целой команды, либо для игрока, либо для юнита, или для случая, когда какой-то один игрок убил другого игрока. Оператор Quantity один из самых многофункциональных, там есть много подпунктов для задания условий. Например, можно задать условием достижение определённого количества хитпойнтов, или уровень стата, или скилла. Для скиллов, правда, функция работает в целом как-то глючно, иногда по каким-то причинам не срабатывает, а вот для статов срабатывание железное при любой сложности условий. Также можно задать условием наличие определённого предмета в инвентаре или в руках, и многое другое.

Object Script State - в этом операторе в качестве условия задаётся срабатывание объектного скрипта. У большинства объектов в Тактиксе есть поле, предназначенное для обработки события, связанного с этим объектом. Запускаются такие события через группу операторов Object Script State. Внутри самого этого оператора просто есть поле с флажком (галкой), который либо снят, либо поставлен и tag name, который надо прописать таким же, как и у объекта, на котором нам надо запустить объектный скрипт. Через Object Script State можно открыть ворота, запустить какой-то процесс (например работу пресса) или взорвать активированную бомбу.

All Alive at Exit Grid - условие выполняется, когда все живые из отряда игрока собрались на сетке выхода. Обычно используется при завершении миссии.

Can See - условие визуального контакта. Срабатывает, когда какой-то один игрок (заданный в операторе Can See) видит другого игрока (заданного там же).

Brain Extraction Complete - ну это оператор, практически не нужный в моддинге, сделанный разработчиками специально для того самого эпизода, где калькулятор предлагает игроку «взаимовыгодный обмен мозгами».

MP - Game Timed Out - я этим оператором не пользовался, вероятно он нужен для контроля, при игре на время.

Main Actor Alive - я не пользовался этим оператором, вероятно он тоже связан с окончанием миссии и выживанием основного юнита, которым управляет игрок.

 

 

 

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


  • Женя_Мальцев это нравится


#2 hmt

hmt

    Житель Убежища

  • Desert Rangers
  • PipPipPipPip
  • 1 336 сообщений

Отправлено 07 Октябрь 2021 - 18:06

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

http://jj86tutorials.stgfc.com/ - 20 лет никто ничего не делал, ага ... Серьезно ?

Особенно вкладки Editor Readme и Triggers.

Сcылки на 4 форума (включая этот) привести с ветками братства ?

 

как и способа делать в Тактиксе диалоги (хотя такой способ на самом деле всегда был).

© Шо ? Опять ? Покажите уже ... спать спокойно не могу :)

 

я вот тоже придумал еще одну диалоговую систему, но уже на основе кнопок интерфейса ... 


Сообщение отредактировал hmt: 07 Октябрь 2021 - 18:21

  • Pyran, Женя_Мальцев и Plutonius это нравится


#3 Plutonius

Plutonius

    Выживший

  • автор темы
  • Desert Rangers
  • PipPip
  • 82 сообщений

Отправлено 07 Октябрь 2021 - 20:03

Особенно вкладки Editor Readme и Triggers.

Ну, так мне написали фанаты Тактикса (либо существующие мануалы их чем-то не устроили). Возможно, кто-то из них объявится и прокомментирует?


© Шо ? Опять ? Покажите уже ... спать спокойно не могу

Да я не только Тактиксом сейчас занимаюсь, но и другим разным всяким, видеомонтажом и т. п. Так что всё это будет не очень быстро. А показывать один диалог (пока только один и есть) как-то несерьёзно. Всё-таки планировал миссию доделать, тем более, что диалогов в ней будет не очень много.

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


  • hmt, Pyran и Женя_Мальцев это нравится

Стр. 1 из 1
Авторизуйтесь для ответа в теме
Новых тем нет

Похожие темы


Количество пользователей, читающих эту тему: 0

0 members, 0 guests, 0 anonymous users