Найти тему

Советы картостроителям в HOMM IV (6). Случайная генерация сокровищ, объектов и отрядов на карте.

Желаю Вам не хворать, любители фэнтезийных богатств! Вот и настало время для 6-го урока из цикла по картостроению, где мы углубленно и со смыслом копаемся в тёмных уголках нашего любимого редактора!

Думаю, каждый из нас хотя бы раз в своей жизни хотел привнести немного разнообразия в свою карту, особенно, если это разнообразие отдано на волю божью компьютерного рандома. Увы, редактор «Героев 4» изначально содержит в себе слишком мало инструментов для данной возможности, поэтому мы, будучи безумными изобретателями, просто создадим для нашей задумки рабочие костыли.

И первой реализованной нами идеей станет сегодня случайное расположение груд сокровищ (под грудами подразумеваются «мешки» с определенным набором артефактов). Их случайность может проявляться как и в различии артефактов, так и их местоположении (в радиусе нескольких клеток).

Инструкция по созданию груды сокровищ с необходимыми артефактами по своей сути очень проста, но оттого не менее гениальна:

  1. Создаем героя-пустышку Вора и даем ему навык Скрытности 5 уровня. Вор — на то и вор — никто не должен заметить его присутствия.
  2. В свойствах отряда изменяем параметр «Дозор» на «Блуждающий» в радиусе n клеток. Их количество можете настраивать так, как будет удобно Вам. Например, если поставить радиус в 3 клетки, герой может сделать в любом из направлении от своего изначального положения максимум 3 шага. Стоит помнить, что пути ИИ неисповедимы, и он вовсе может остаться на месте, забив на «приказ» мешков с костями.
  3. Драгоценному во всех смыслах слова Вору мы выдаем нужные нам артефакты. Причем это может быть фиксированный список: тогда мы во вкладке «Артефакты» просто суём ему в рюкзак всё необходимое. Если же артефакты нужны случайные из определенного списка, то мы создаём календарное событие, которое в первый же день рандомит число от 1 до n, и в соответствии с ним передаем ходячей копилке нужный список артефактов.
  4. Далее создаем «триггерное событие» внутри армии, которое прикончит нашего золотого бедолагу. В данном примере решено было уйти от канона, и вместо чёрных драконов покарать мерзкого хаосита ангелами (во имя Высшего Суда). Важно! Вор должен быть нейтралом, иначе, скорее всего, с позором бежит с поля боя.
  5. Создаем «Календарное событие» с активацией на 2-й день, в котором запустим «Триггерное событие» из пункта 4. Тем самым на второй день мы убиваем этого героя и с него упадет груда сокровищ. Количество героев можно копировать и вставлять сколько угодно вам, триггерные события будут запускаться последовательно.
  6. Наслаждаемся результатом.

Следом за грудами сокровищ мы попробуем сделать случайной генерацию различных объектов на карте.

1. Первым делом создаем бомбы с указанными ниже именами (для удобства) и размещаем их поверх объектов. Объекты, соответственно, мы размещаем в максимальной близости друг от друга.

-4

2. Далее сложнее. Создаем «Календарное событие» на 1-й день с действиями, что указаны внизу.

Присваиваем численной переменной случайное число в диапазоне от 1 до 2. Если выпадет 1, то удаляем бомбу «Random½», если будет 2, то удалим бомбу под названием «Random2/2».
Присваиваем численной переменной случайное число в диапазоне от 1 до 2. Если выпадет 1, то удаляем бомбу «Random½», если будет 2, то удалим бомбу под названием «Random2/2».

3. Если объектов планируется не 2, а 3, то нужно оставить, соответственно, одну бомбу из трех случайных. В таком случае делаем как на приложенном скриншоте.

Задаем случайное число от 1 до 3. Если выпало «1», то бомбу под названием «Random1/3» мы не трогаем. А остальные удаляем. Думаю принцип понятен.
Задаем случайное число от 1 до 3. Если выпало «1», то бомбу под названием «Random1/3» мы не трогаем. А остальные удаляем. Думаю принцип понятен.

4. Поздравляем! Вы профессиональный подрывник!

Последним лайфхаком на сегодня станет генерация случайных стартовых отрядов для двух и более замков (разных рас).

В игре нельзя выбрать две расы, из которых можно создать случайный отряд. Он будет либо «Жизнь», либо «Порядок», либо каким-то иным, но лишь конкретным. Это можно исправить.
В игре нельзя выбрать две расы, из которых можно создать случайный отряд. Он будет либо «Жизнь», либо «Порядок», либо каким-то иным, но лишь конкретным. Это можно исправить.

1. Создаем два (или более) отрядов случайных существ, допустим, 3 уровня. Каждому из них создаем триггерное событие «Random_neutral½_L3», «Random_neutral2/2_L3» и т.д.

Вот так будет выглядеть случайный отряд с триггерным событием внутри.
Вот так будет выглядеть случайный отряд с триггерным событием внутри.

2. В каждом из триггерных событий выставляем действие «Бой», уничтожая отряд, если случайное число выпало не на него.

3. В том же скрипте, где у нас находятся случайные объекты, можно добавить выброс числа и для отрядов. Также, как и в случае объектов, существовать на карте выпадет честь лишь одному монстру. Но, в отличие от объектов, удобно, что их можно ставить друг на друга.

Nota bene: Минутка бесполезной (или нет?) информации. На месте тех отрядов, что были уничтожены «Боем» (через скрипт) не будут появляться существа, которые рождаются каждый месяц. Вы можете использовать это знание на своё усмотрение, ага.

В заключение хочу сказать, что мне весьма симпатизирует философия в «Героях 4». Прямо как в реальной жизни, тебе должно очень повезти, чтобы родиться на свет, в противном случае тебя ждёт ГИБЕЛЬ ПУТЁМ БОЯ. Но это всего лишь лирика.

А я рад, что сегодня Вы стали немного более продвинутыми картостроителями и готовы наполнять свою карту новыми уникальными фишками. Творите, радуйте этот мир своими бомбезными картами и не забывайте делиться нашими уроками! Всех ждём на огонёк в нашей Геройской Мастерской! Чаво-какаво.

Если хочешь и дальше узнавать об интересных проектах во вселенной "Героев Меча и Магии 4" - подпишись на нашу группу ВК!
https://vk.com/homm_creator