HLDM Форум https://forum.hldm.org/ |
|
Цели для NPC в Sven Co-op https://forum.hldm.org/viewtopic.php?f=26&t=804 |
Страница 1 из 1 |
Автор: | Nikita [ 13 окт 2014, 17:30 ] |
Заголовок сообщения: | Цели для NPC в Sven Co-op |
Здесь я расскажу как сделать монстров на карте Sven Co-op и дать им задание на атаку объекта. Сразу скажу, что мой пример является далеко не единственным решением, возможно есть более рациональные решения. Основная часть действий NPC уже написана разработчиками Sven Co-op, это AI. Нам, по сути, остается создать объекты на карте и указать им цели, дальше они будут действовать сами. Термины: Монстры, NPC - контролируемые компьютером игроки. 1. Создание карты Для начала нам нужно создать карту, в примере это будет обычная коробка. Создаем такие объекты как свет и место появление игрока. Более подробно этот пункт, думаю, рассматривать не стоит. 2. Создание необходимых объектов Теперь нам нужно создать необходимые энтити, где будут появляться NPC и объекты-цели к которым NPC будут двигаться. Создаем на карте следующие объекты: squadmaker - это группа монстров, которые появятся на карте, цель которых будет атака объекта. func_breakable - объект, который монстры будут атаковать. info_monster_goal - цель монстров, сразу после респавна они направятся в эту точку. Разместить ее надо рядом с func_breakable. info_node - узлы, необходимые для правильного передвижения монстров по карте. 3. Установка необходимых параметров объектам Теперь нужно связать все созданные нами объекты, чтобы добиться желаемого результата. info_monster_goal Это цель для NPC, при появлении они будут двигаться к этому объекту. Name - имя объекта. К этому объекту будет ссылаться squadmaker, чтобы монстры двигались к нему. Указываем например "goal01" Priority - приоритет для монстров. Указываем наивысший "Stop only if can attack", NPC будут остановлены только если на них нападут, иначе они будут двигаться к этому объекту. Movement Type - тип движения. Walk - ходьба, Run - бег. Указываем бег. squadmaker Здесь нам нужно задать тип монстров, их количество и цель, для этого переходим в параметры entity и выставляем слудующие значения: Name - имя объекта, если не задать, то монстры появятся сразу после загрузки карты. Если имя задано, то они появятся после активации другим объектом, например нажатием кнопки. Monster Type - тип монстров. В данном примере указываем monster_robogrunt. Список монстров можно посмотреть на wiki - Monster-объекты (Sven Co-op) Goal Entity - цель. Указываем имя объекта info_monster_goal, т.е. "goal01" func_breakable Name - имя объекта. Задайте любое, например "break01". Strength - прочность. Указываем 100 или любое другое значение. Material type - тип материала. Classification - классификация. Указываем "Player". info_node Здесь ничего указывать не нужно. Просто раскидайте узлы по карте, чтобы NPC могли нормально перемещаться. Без этих объектов монстры двигаться не будут. 4. Готовые примеры В качестве примера, приложу исходник следующей карты. На примере карты можно увидеть, как из создания простых объектов можно сделать неплохой сценарий. Здесь есть две кнопки, при активации первой кнопки будет создан отряд из 5 дружественных роботов, которые прибегут к игроку. При активации второй будет создан отряд из 5 вражеских роботов, которые будут стрелять в стену, пока не сломают ее. Если активировать две кнопки одновременно, то развернется бой между роботами. Вложение: |
Страница 1 из 1 | Часовой пояс: UTC + 4 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |