Создание простой Dota-подобной карты
Содержание
Создание простой Dota-подобной карты
Давайте создадим самую базовую одно-лайновую Дота-подобную карту использующую гейплейные объекты которые могут быть использованы в классических Дота картах. К концу этого урока вы должны иметь карту напоминающую dota_pvp с именем simple_dota_map_example.vmap. Если вы еще не готовы, сделайте это.
Contents
- 1 Первый запуск Workshop Tools
- 2 Карта-шаблон
- 3 Создание Вашей карты
- 3.1 Basic Entities
- 3.2 Ancients
- 3.3 Towers
- 3.3.1 Radiant Tier 1 Tower
- 3.3.2 Radiant Tier 2 Tower
- 3.3.3 Dire Tier 1 Tower
- 3.3.4 Dire Tier 2 Tower
- 3.4 Entity I/O — Part 1
- 3.4.1 Radiant Tier 1 Tower Output
- 3.4.2 Dire Tier 1 Tower Output
- 3.5 Barracks
- 3.5.1 Radiant Middle Barracks
- 3.5.2 Dire Middle Barracks
- 3.6 Спавнеры крипов и Пути
- 3.6.1 Крипы сил Света
- 3.6.1.1 Спавнер крипов
- 3.6.1.2 Первая точка пути
- 3.6.1.3 Вторая точка пути
- 3.6.1.4 Промежуточные узлы
- 3.6.2 Крипы сил Тьмы
- 3.6.2.1 Спавнер
- 3.6.2.2 Первая точка пути
- 3.6.2.3 Вторая точка пути
- 3.6.2.4 Staging Node
- 3.6.1 Крипы сил Света
- 3.7 Entity I/O — Part 2
- 3.7.1 Radiant Tier 2 Tower Outputs
- 3.7.2 Dire Tier 2 Tower Outputs
- 3.8 Fountain
- 3.9 Магазин
- 3.10 Руны
- 3.11 Нейтральный лагерь
- 3.12 Рошан
- 3.12.1 Спавн Рошана
- 3.12.2 Make Roshan Attackable
- 3.12.3 Block Vision Around Roshan
- 3.12.4 Запрет установки Вардов
- 3.13 Компиляция и запуск
Первый запуск Workshop Tools
Первым делом запускаем Workshop Tools, жмём dota_pvp, далее выбираем Create New Addon From Existing Addon. Тем самым мы создаём копию экземпляра dota_pvp’s. Также аддон dota_pvp уже включает в себя файл со скриптом под названием addon_game_mode.lua находится он в . /[имя_вашего_аддона]/scripts/vscripts. Файл содержит строку кода, делающая башню неуязвимой, которая понадобится нам позже.
Спавнеры крипов и Пути
Переключитесь в режим Entity Tool комбинацией ⇧ Shift + E .
Крипы сил Света
Для начала мы сделаем крипов сил Света. Сделаем так, чтобы они после спавна следовали к First Waypoint, затем далее по линии к Second Waypoint, который мы расположим неподалеку от святыни сил Тьмы.
Расположите следующие энтити рядом с казармами мечников сил Света и назначьте им следующие параметры для настройки собственных мидовых крипов:
Спавнер крипов
Установите энтити npc_dota_spawner_good_mid. Именно он спавнит крипов. Заметьте, что имя, которые Вы указали в First Waypoint будет красным (что означает, что первая точка пути уже указана, но пока не существует). Как раз-таки следующим нашим шагом будет создание этой точки, First Waypoint.
- Name = «lane_mid_goodguys_melee_spawner»
- First Waypoint = «lane_mid_pathcorner_goodguys_1»
Первая точка пути
Установите path_corner. Данный тип энтити определяет путь, по которому проследуют крипы. Ваш спавнер уже знает, что крипов нужно послать именно сюда, так как ранее мы указали данное имя в поле First Waypoint.
- Name = «lane_mid_pathcorner_goodguys_1»
- Next stop target = «lane_mid_pathcorner_goodguys_2»
Вторая точка пути
Пользуясь Translate Tool T , создайте новый path_corner с помощью нажатия ⇧ Shift + . Расположите его неподалеку от святыни сил Тьмы. Сейчас мы создали достаточно простой путь для крипов, прямую среднюю линию, и эта вторая точка будет последней для Ваших крипов сил Света. Заметьте, что если Вы захотите сделать путь крипов с поворотами и разворотами, Вы должны соединить вместе больше path_corners.
В момент, когда вы скопировали path_corner, редактор сразу сменил свойство Name на «lane_mid_pathcorner_goodguys_2». Теперь крипы сил Света после спавна будут двигаться сразу к первому path_corner («lane_mid_pathcorner_goodguys_1»), и продолжат движение к Next stop target (следующая остановка), то есть к «lane_mid_pathcorner_goodguys_2».
Промежуточные узлы
Установите энтити info_target. Данная энтити располагается на карте с целью разрешения появления крипов в различное время для улучшения производительности. единственная цель этой энтити — уменьшение сцеплений крипов во время одновременного спавна (каждые :00 и :30 на таймере). Не стоит беспокоиться о том, где располагать данные промежуточные узлы, потому что крипы не могут взаимодействовать до тех пор, пока они не были вызваны объектом npc_dota_spawner_good_mid, упомянутым выше.
- Name = «npc_dota_spawner_good_mid_staging»
Крипы сил Тьмы
Теперь аналогично создадим крипов сил Тьмы: