1 Event AI (Способности для NPC) Вт 2 Дек 2014 - 17:52
RomaN
Гл Администратор
Всем доброго времени суток!
Хочу представить вам небольшой мануал по работе с Event AI
Итак, начнем
Хочу представить вам небольшой мануал по работе с Event AI
Итак, начнем
Что же такое Event AI?
EventAI - технология Trinity Database(YTDB) по осуществлению евентов* для NPC
*(применения способностей, эмоций, текстов, взаимодействия и т.п.)
[*]
Разумеется, EventAI не сравнится со скриптами в ядро (возможностей значительно меньше), но для большинства нужд технология вполне подойдет.
Главный + данной технологии в полной доступности и легкости освоения(в отличие от того же ядра)
Еще одной немаловажной особенностью является легчайшее исправление любых ошибок
(К примеру, вы установили НИП способность[спелл] и вам захотелось его поменять. Всего в несколько движений вы это сделаете!
А случись такое в ядре, вам бы пришлось его снова компилировать)
Итак, перейдем от описания возможностей к их реализации!
Вам потребуется:
Готовая настроенная сборка сервера (Trinity)
Quice Siege (Truice) + коннект к базам
Желание достичь успеха и терпение!
Начнем!
1)Открываем Truice, подключаемся к базе.
- Тык:
2)Заходим во вкладку Мобы(NPC)
3)Создаем любое существо (как создать смотрите здесь)
(В поле AIName вставляем EventAI)
4)Выполняем скрипт и заходим в подгруппу Event AI
- Тык:
5)Вставляем значения:
id - номер скрипта(ставим любой, главное чтоб не было шанса повторения номера)
creature_id - ID вашего НИП(моба), который будет выполнять скрипт
event_type - "тип" скрипта. условие, при котором будет выполняться желаемое действие.
Ниже приведены некоторые примеры значений:
- Тык:
0 - время до срабатывания в бою(милисекунды)
1 - время до срабатывания вне боя(милисекунды)
2 - при значении жизни
3 - при значении маны
4 - при агре(нападении)
5 - при убийстве цели
6 - при смерти
12 - при значении жизни цели
event_inverse_phase_mask - фаза (используется для наиболее сложных евентов, ставьте 0)
event_chance - шанс срабатывания евента
event_flags - флаги работы евента
1 - повторяемость
30 - работа в любых инстах
Если хотите, чтобы евент повторялся -- ставьте 31(30 + 1)
event_param(1-4) - параметры(зависят от event_type)
- Несколько примеров:
- При event_type=0 или 1:
event_param1 - минимальное время до евента
event_param2 - максимальное время до евента
event_param3 - минимальное время до повтора
event_param4 - максимальное время до повтора*(если стоит повторяемость в event_flags)
При event_type=4 все значения на 0
При event_type=2,3 или 12:
event_param1 - максимальное значение жизни(маны) *Обязательно в процентах
event_param2 - минимальное значение жизни(маны) *Обязательно в процентах
event_param3 - минимальное время до повтора
event_param4 - максимальное время до повтора*(если стоит повторяемость в event_flags)
Теперь собственно сам "евент"
action1(2,3)_type - тип 1го(2го или 3го) действия. вот также несколько примеров:
- Тык:
1 - текст
5 - эмоция
11 - чтение заклинания
12 - призыв другого существа
Остальные вам придется узнать самим
action1(2,3)_param1(2,3) - параметры действия (зависят от самого действия)
- несколько примеров:
При action1_type= 1
action1_param1(= АЙДИ ТЕКСТА(из таблицы 'creature_ai_texts')
action1_param2= 0
action1_param3= 0
При action1_type= 11
action1_param1(= Айди заклинания, которое будет кастовать НИП
action1_param2= Цель, на которую будет кастоваться заклинание
*( 0 - само существо, 1 - текущая цель, 4 - случайная цель)
action1_param3= тип каста(усолвие)
*( 0 - обычный каст по требованиям, 2 - моментально, без условий)
action2_type и action3_type все по аналогии
comment - комментарий (пишите, что хотите, только на английском; можно оставить пустым)
Вот и все по значениям
6)После того, как проставили все значения, нажимаете на зеленый +, затем Show FULL EventAI Script и выполняете скрипт!
- Тык:
Готово! Перезагружаете сервер, ставите своего моба и наблюдаете скрипт!