Пятница, 25.07.2025, 16:06:37


Главная страница
Регистрация
Вход
WAR3.3dn.ru Приветствую Вас Гость | RSS  
Меню сайта

Категории каталога
Основы [0]
Основы warcraft и worldeditor
Триггеры и объекты [1]
Ландшафт [2]
Моделлинг [1]
Всё, что связано с моделями
Работа с MPQ и импорт файлов [1]
Разное [6]
Статьи, не вошедшие в остальные разделы

Наш опрос
Какой тип карт вам нравится больше всего?

Результаты · Архив опросов

Всего ответов: 140

Начало » Статьи » Триггеры и объекты

Создание простейшего AI для карт типа Arena
Я хочу в этой статье представить способ создания простейшего AI, который будет управлять вражескими героями и\или героями ваших союзников.
Этот материал направлен на то, чтобы помочь новичкам создать свой первый AI.

----------

Для начала давайте разберёмся, за что будет отвечать каждый триггер по отдельности.
Триггер 1 – отвечает за патрулирование случайной точки карты.
Триггер 2 – отвечает за атаку противников, находящихся в небольшом радиусе от героя.
Триггер 3 – отвечает за движение героя к источнику жизни, если у него менее 100 здоровья.
И, наконец, триггер 4 – отвечает за воскрешение героя, в случае его внезапной смерти…
Хочу добавить, что если в вашей карте много героев, то процесс воскрешения можно делать не отдельно для каждого героя, а уместить в один общий триггер.

----------

Вы должны знать, что в своей статье я не привожу пример идеального AI, здесь предложены лишь только его основы. (Но ведь это лучше, чем ничего).
В своей статье я не описываю подробное создание карты и героев в ней. Я только лишь описываю создание триггерного AI.

----------

Итак, начнём-с!

Выберем на панели инструментов какого-нибудь героя (например, повелитель огня). Пусть он будет нашим врагом. Заходим в редактор триггеров. Создаём там отдельную категорию, в которой будет находиться AI для вражеского героя. Назовём её “PovelFireAI”. Внутри этой категории создаём четыре триггера: “Patrul”, “Attack”, “Life” и “Voskreshenie”. А также создадим переменную “Vrag” с типом “Боевая единица”, она нам понадобится чуть позже.

* Patrul * - пишем событие для первого триггера:
Время – Every 10 seconds of game time
Действие:
Боевая единица – Order <вражеский герой> to Патрулировать (Random point in (Playable map area))
//<вражеский герой> - герой, для которого вы пишете AI

* Attack *
Событие:
Боевая единица – A unit comes within 1700.00 of <вражеский герой>
Действие:
Set <переменная “vrag”> = (Entering unit)
Боевая единица – Order <вражеский герой> to Атаковать <переменная “vrag”>
//<переменная “vrag”> - переменная, которую вы создавали чуть ранее, не забыли про неё???
//<вражеский герой> - герой, для которого вы пишете AI

* Life *
Событие:
Время – Every 5 seconds of game time
Действие:
If
Здоровье <вражеского героя> меньше 100
Then
Триггер - Turn off Patrul
Триггер - Turn off Attack
Боевая единица – Order <вражеский герой> to Двигаться (Center of <созданная область возле источника>)
Wait 60.00 seconds
Триггер - Turn on Patrul
Триггер - Turn on Attack
Else
Триггер - Turn on Patrul
Триггер - Turn on Attack
//<созданная область возле источника> - небольшая область, которую нужно создать возле источника жизни

* Voskreshenie *
Событие:
Боевая единица – <вражеский герой> умирает
Действие:
Герой - Instantly revive <вражеский герой> at (Random point <созданная область возле источника>) Показать revival graphics

Категория: Триггеры и объекты | Добавил: Maroder (24.10.2006) | Автор: Maroder
Просмотров: 1313 | Комментарии: 3 | Рейтинг: 0.0

Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Поиск по каталогу

Друзья сайта

Статистика

Copyright MyCorp © 2007Хостинг от uCoz