Суббота, 02.08.2025, 15:04:20


Главная страница
Регистрация
Вход
WAR3.3dn.ru Приветствую Вас Гость | RSS  
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Создание простейшего AI для карт типа Arena
MaroderDate: Понедельник, 19.06.2006, 12:00:08 | Message # 1
Админ №1
Group: Админы
Posts: 141
Reputation: 3
Status: Offline
Я хочу в этой статье представить способ создания простейшего 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


Администратор сайта и форума
 
minesDate: Понедельник, 19.04.2010, 19:49:23 | Message # 2
Уровень 1
Group: Не проверенные
Posts: 1
Reputation: 0
Status: Offline
Слыш можешь коментом написать как сделать чтоб бот через трригер выбрал героя???

Добавлено (19.04.2010, 19:49:23)
---------------------------------------------
Ты мне жестоко помог с трригерами и ботами!Напиши как это сделать ↕↕☺8↕↕1◘↕↕↕ cry

 
  • Страница 1 из 1
  • 1
Поиск:

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