Вступление. Эта статья объяснит вам, как сделать таверну, в которой можно заказывать героев. Такие таверны популярны в картах а-ля DotA и Survival. Когда у вас много героев, лучше использовать таверну, она займёт у вас на карте намного меньше места, чем арена. Здесь будут раскрыты методы создания таверн, героев и триггеров, которые объединят их.
Мы будем использовать игровые константы и древо улучшений, чтобы установить лимит героев в 1. Поэтому вы теперь можете не использовать золото, дерево и пищу. Это позволит вам использовать ресурсы по другому, делая карту более оригинальной.
Рис. 1 - таверны используют иконки для продажи героев. Подготовка героев. Прежде всего нужно подготовить героев, которые будут в таверне. Также нужно изменить цены, требования технологии и позиции кнопок каждому герою. Таверна сортирует героев автоматически, но, когда героя выбирают, оставшиеся герои меняют свою позицию. Это неприятно, согласитесь. Поэтому нам надо установить позиции иконок, чтобы зафиксировать положение героя. Одна таверна может включать в себя до 12 героев.
Рис.2 - позиции иконок героев (х,y) Теперь нужно изменить ваших героев, чтобы они были совместимы с таверной. Запомните, по умолчанию игроки начинают с нулевыми ресурсами. Поэтому, если не давать игроку ресурсов, герой не должен ничего стоить. Чтобы запретить игрокам нанимать более одного героя, мы изменим требования к технологиям. Ниже я даю список полей, которые мы будем менять, и их короткое описание.
Можно заметить, что некоторые опции оставлены по умолчанию. Однако они на всех героев не распространяются, только на того героя, у которого они прописаны.
Графика - Положение кнопки (Х) Положение иконки по оси Х.
Графика - Положение кнопки (Y) Положение иконки по оси Y.
Характеристики - Требуется золота Определяет, сколько золота будет стоить герой.
Характеристики - Требуется древесины Определяет, сколько древесины будет стоить герой.
Характеристики - Требуется пищи Определяет еду, которая требуется для покупки героя. Здесь лучше поставить 0.
Характеристики - Макс. количество Измените это на "1".
Характеристики - Задержка перед первым пополнением Будем использовать 15 секунд.
Характеристики - Требования Любой Алтарь.
Характеристики - Требования: класс 2 Любое поселение уровня 2, любой Алтарь.
Характеристики - Требования: класс 3 Любое поселение уровня 3, любой Алтарь.
Создание таверны. Теперь нам нужна таверна для продажи героев. Я начну с боевой единицы "Таверна", которая уже продаёт героев. Это хороший шаблон. Это здание можно найти в Редакторе объектов у Нейтрально-пассивных войск. Щёлкните на ней правой кнопкой мыши и создайте нестандартную боевую единицу.
В первую очередь давайте изменим способности таверны. Я уберу "Моментально воскресить героя", т.к. таверна нужна нам не для того, чтобы воскрешать героев. Способности таверны будут следующими:
Способности - Возможные способности: Выбор воина, Неуязвимый (нейтральный)
Теперь добавим героев в нашу таверну. Поле в таверне, которое для этого надо поменять, называется "Технологии - Войск продано". Дважды щёлкните на нём для его изменения, уберите стандартных героев и вставьте туда всех своих. Опять же, вставляйте не более 12 героев, т.к. таверна не может продать больше.
Размещение таверны на карте. Теперь наша таверна готова, нужно разместить её на карте. Она должна быть в огороженной зоне, лучше подальше от основного геймплея. Вам также понадобится регион, в котором будут появляться герои при выборе их игроком.
Для того, чтобы выбрать героя, вам понадобится какая-нибудь боевая единица рядом с таверной. Самая популярная - Магический круг. Поставьте магических кругов по числу игроков (8 игроков - 8 кругов). Смените им владельца на определённого игрока. В результате каждый игрок должен владеть одним кругом. Я люблю делать свои магические круги очень маленькими, такими, что их почти не видно. Можете изменить для магического круга поле "Графика - Масштабирование" на "0.10" и спрятать круги сзади здания.
Рис. 3 - Разместите магические круги рядом с таверной. Я предпочитаю их прятать. Изменение игровой константы алтаря. Теперь нам нужно изменить игровые константы так, чтобы игроку не давалось больше одного героя. Процесс описываю пошагово:
- В меню вверху выберите "Дополнительно -> Игровые константы".
- Поставьте галочку напротив "Использовать нестандартные игровые константы".
- Найдите константу "Технологии - Зависимости (эквиваленты) - Алтарь". Добавьте туда магический круг, который мы ставили возле таверны. Теперь у вас в карте алтарём будет считаться и наш магический круг. Это позволит нам заказывать героев.
- Найдите константу "Технологии - Зависимости (эквиваленты) - Герой". Очистите список и занесите в него всех своих героев. Это запретит игрокам брать более одного героя.
- Теперь, когда вы всё сделали, нажмите "ОК".
Создание триггеров. Первый триггер, который необходимо создать, это триггер, который даст каждому игроку начальные ресурсы. Очень важен тот факт, что триггер ДОБАВЛЯЕТ ВСЕХ ГЕРОЕВ в переменную-массив.
- Total_Heroes будет определять, сколько у вас героев. У меня их 8.
- Random_Count будет определять, сколько случайных выборов надо сделать. Должна быть РАВНА переменной Total_Heroes.
- Hero_Array содержит ВСЕХ ваших героев.
- Random_Data служит для того, чтобы выбрать случайного, уникального героя. Должна быть РАВНА переменной Total_Heroes.
Теперь нам понадобится несколько триггеров. Моя карта получилась продвинутее, поэтому я напишу, какие нам нужны триггеры. Вы можете и не использовать это всё в вашей карте, но сейчас популярно иметь в карте команды -random и -repick.
Времена и методы, которые я использовал, базированы на популярных картах. Можно изменить всё, что вам не нравится, как вы захотите. Но всё же, в статье я опишу все триггеры:
- Триггер, определяющий, что делать после выбора героя в таверне.
- Триггер для команды -random.
- Триггер для команды - repick.
- Триггер для команды -ar (All Random).
- Триггер, который включает команды -repick и -random и отключает команду -ar.
- Триггер, который отключает команды -repick и -random после 45 секунд.
Когда герой был выбран каким-либо способом, он удаляется из массива математическим путём. Так что нам уже не надо беспокоиться об уникальности героев, так как после выбора он удаляется из массива.
Выбор героя вручную. Изначально ВКЛЮЧЁН.
Команда -random. Изначально ВЫКЛЮЧЕН.
Команда -repick. Изначально ВЫКЛЮЧЕН.
Команда -ar Изначально ВКЛЮЧЁН.
Прошло 15 секунд. Изначально ВКЛЮЧЁН.
Прошло 45 секунд. Изначально ВКЛЮЧЁН.