Здавалка
Главная | Обратная связь

Знакомство с настройками пакета

Немного о пакетах AI (AI Package) V.0.1

 

Содержание:

Знакомство с настройками пакета

Разбираем на примерах создание некоторых видов пакетов

А) пакет приема пищи

Б) пакет сна

В) пакет прогулки

 

Знакомство с настройками пакета

Итак, попробуем вдохнуть немного жизни в NPC. Для этого разберем такое понятие как пакеты AI. Для этого в окне редактирования NPCнаходим кнопкуAI. Нажимаем и попадаем сюда (рис 1):

рис 1

В этом окне видим следующие пункты:

Aggression –уровень агрессии. При низких показателях будет нападать только при прямой атаке либо вообще не будет нападать. При высоких будет бросаться на всех подряд.

Confidence– как будет вести себя персонаж в бою. При низких показателях убежит если увидит более сильного противника. При высоких будет сражаться до конца.

Energy Level –определяет частотупередвижения персонажа.

Responsibility –ответственность. Определяет может ли совершить преступление персонаж (если значение менее 30) или же наоборот увидев совершаемое преступление сдаст вас патрульным.

 

Внизу мы можем увидеть список пакетов AI (AI Package List) которые использует данный персонаж. Кнопки << и >> служат для перемещения пакетов в списке (вверх и вниз). Это необходимо для нормальной работы пакетов. Они обрабатываются сверху вниз. То есть игра берет список пакетов и смотрит, начиная с верхнего, выполнены ли условия для пакета. Если выполнены, игра запускает пакет, если нет – переходит к следующему. Поэтому важно, чтобы пакеты, например, с четко выставленным временем действия (еда, сон) шли первыми, а пакеты общего действия (без лимита времени, например, прогулки по окрестностям) шли в конце. В противном случае игра будет постоянно проигрывать пакет прогулки, так как его условия всегда будут выполнятся.

 

Теперь перейдем к пакетам. Для этого идем в главном меню Character > Package…

Появится окно со списком пакетов AI уже существующих в игре. Те которые начинаются с aaa (например, aaaDefaultExploreEditorLoc3000), являются общими. Мы можем выбирать пакеты из уже существующих или создать свои. Для этого нужно где-нибудь на поле пакетов кликаем правой клавишей мыши и в появившемся меню выбираем New(Новый). Появляется следующее окошко (рис 2):

рис 2

ID:вписываем название пакета (для удобства желательно в названии указать характер пакета, например, сон – aaaIgorRaSleep22x10, прием пищи – aaaIgorRaEat8x2).

Дальше идет Тип пакетов (Package Type):

1)Accompany – сопровождение;

2) Ambush – засада;

3) Cast Magic – использование магии;

4)Eat – прием пищи;

5)Escort – эскорт (охрана)

6)Find – поиск;

7) Flee not Combat – бегство без боя;

8)Follow – следование;

9)Sleep – сон;

10)Travel – путешествие;

11)Use Item At – использование предмета;

12)Wander – бродить.

Далее идут Флаги (Flags), через них задаются некоторые особенности поведения NPC при выполнении пакета.

Continue if PC near– пакет будет продолжаться, если игрок находится рядом

Must Reach Location– пакетбудет продолжаться, пока не будет достигнутанужная локация

Offers Services –предложение сервиса. То есть если например NPC – торговец, он будет с вами торговать. Если этот пункт не отметить, то даже если вы создадите непися-торговца, он торговать не будет.

Must Complete– пакет будет выполнятся, пока не будут выполнены все его условия

Once per day– пакет будет выполняться только один раз в день

Skip Fallout Behavior– персонаж не будет вступать в диалоги или заниматься другими действиями, не относящимися к пакету. Он будет вступать в бой для самозащиты, но не по другим причинам

Use Horse– отмечаем, чтобы разрешить персонажу использование лошади

No Idle Anim – отмечаем, чтобы персонаж не использовал анимацию бездействия

Always Run– если отмечено, персонаж при выполнении пакета будет все время бежать

Always Sneak – если отмечено, персонаж при выполнении пакета будет все время красться

Allow Swimming– нужно отметить, если мы хотим, чтобы персонаж плавал при необходимости

Allow Falls – разрешить падение с высоты

Armor Unequipped– снятие брони. Полезно устанавливать в пакетах сна. Чтобы персонажи спали без доспехов

Weapons Unequipped– то же, но для оружия

Defensive Combat –если отметить, персонаж будет сражаться только когда на него нападут

 

Далее идут Флаги дверей (Door Flags):

At package start – когда пакет начинается…

Unlock Doorsперсонаж откроет двери в ячейке в которой он находится

Lock Doorsперсонаж закроет двери в ячейке в которой он находится

When at location – когда персонаж находится в ячейке…

Unlock Doorsон открывает все двери

Lock Doorsон закрывает все двери

At package end – когда пакет завершается…

Unlock Doorsперсонаж откроет двери в ячейке в которой он находится

Lock Doorsперсонаж закроет двери в ячейке в которой он находится

 

Теперь переходим к последней части настройки пакета. Это четыре закладки внизу Schedule, Conditions, LocationиTarget.

Schedule (расписание).Здесь мы можем выбирать время, когда будет работать пакет. Можно выбрать Day of week (день недели), Month (месяц), Date (дата). Также можно выбрать время (Time)когда начнет выполняться пакет и его продолжительность (Duration).

Conditions (условия).Набор условий,которые должны быть выполнены для выполнения пакета.

Location (местоположение).Место, где выполняется пакет.

Near Reference.Ближайшая ссылка.

Cell –выбираем из выпадающего списка ячейку.

Ref –выбираем в этой ячейке какой-нибудь объект, на который будет направленно действие NPC.

In Cell (В ячейке). Не рекомендуется использовать, так как может привести к неожиданным последствиям (информация с Wiki)

Any Object. Выбор какого-либо объекта (Object ID)или типа объектов (Object Type)

Near Current Location. Пакет выполняется рядом с текущим местом NPC.

Near Editor Location Пакет выполняется рядом с местом где выставлен NPC в редакторе.

Для последних двух характеристик используется настройка Радиус (Radius) – расстояние от центра пакета, на котором он будет выполняться.

Target (Цель).Используется в некоторых типах пакетов.

 

2) Разбираем на примерах создание некоторых видов пакетов

 

Итак, теперь попробуем создать несколько пакетов. Мы разберем создание пакетов приема пищи, сна и прогулки. Этого уже будет достаточно, чтобы наш персонаж стал жить полноценной жизнью. Естественно сам персонаж уже должен быть создан.

 

Сначала нам нужно создать новый пакет. Сделать это можно двумя способами: 1) заходим в окно редактирования NPC и нажимаем на кнопку AI внизу. В появившемся окне видим список пакетов (если вы создаете персонажа с нуля, а не дублируете существующего, то список будет пустой) AI Package List.Кликаем правой клавишей мышигде-нибудь в этом списке и в появившемся меню выбираем New(Новый); 2) идем в главном меню Character > Package…Откроется окно AI packages,где мы увидим список всех существующих в игре пакетов АИ. Опять же кликаем правой клавишей мышигде-нибудь в этом списке и в появившемся меню выбираем New(Новый). В этом случае, когда мы создадим пакет, его надо будет еще перетащить в список пакетов персонажа AI Package List.

а) пакет приема пищи

 

Теперь займемся настройкой пакета. Начнем с пакета приема пищи.

1) ID пишем произвольно, например aaaIgorRaEat8x2 (удобнее, чтобы название «говорило», что это за пакет: aaa – базовый (общий) пакет, IgorRa – автор, Eat – собственно тип пакета, 8x2 – время действия).

2) Тип пакета (Package Type).ВыбираемEat(еда).

3) Schedule (расписание).Выставляем время начала работы пакета Time и продолжительность (Duration).Я сначала делал пакет завтрака, поэтому выставил начало в 8, а продолжительность 2 часа (это обычная продолжительность пакетов приема пищи). Для своего персонажа я сделал два пакета приема пищи: завтрак и ужин. В настройках разница была лишь в Расписании.Ужин начинался в 20 и длился тоже 2 часа (рис 3).

рис 3

4) Conditions (условия) –не трогаем.

5) Location (местоположение).А вот теперь зададим место (таверну, например),где будет есть наш персонаж. Отмечаем Location. Затем Near Reference. В выпадающем списке Cell выбираем нужную нам ячейку таверны (или если мы например хотим, чтобы персонаж ел у себя дома, в собственной столовой, выбираем соответственно ячейку интерьера столовой). Refоставляем по умолчанию, если хотим, чтобы персонаж пришел в таверну и побродил там, пообщался с людьми, поел. Или же можем в выпадающем списке определить ему собственный стул, куда он будет садится, когда придет в таверну (рис 4). Только старайтесь не выставлять ячейку, которая находится очень далеко от персонажа. Думаю, ему неудобно будет ходить кушать в соседний город… Хотя возможно ваш персонаж будет жить в деревне неподалеку от города и раз в день будет ходить есть в город, в таверну. В таком случае отметьте Флаг (Flag) Must Reach Location. То есть пакет будет продолжаться пока персонаж не доберется до локации (таверны), это важно если эта локация находится далеко.

Также в Флагах можете отметить Weapons Unequipped,если ваш NPC ходит с оружием в руках. Пусть себе кушает, убрав оружие…

рис 4

6) Target (Цель)– панель не активна.

 

 

Б) пакет сна

 

Далее разбираем настройки пакета сна.

1) ID пишем произвольно.

2) Тип пакета (Package Type).Выбираем Sleep (Сон).

3) Schedule (расписание).Выбираем начало работы пакета (Time) и продолжительность сна (Duration). Смотрите, чтобы пакеты не перекрывали друг друга по времени (например, еда и сон).

4) Conditions (условия) –не трогаем.

5) Location (местоположение).Отмечаем Location. Затем Near Reference. В выпадающем списке Cell выбираем ячейку, в которой будет спать наш NPC. Но! Мало выбрать ячейку. Нужно еще выбрать кровать. В выпадающем списке Refищемссылку кровати,которую будет использовать NPC для сна. Естественно если такая кровать есть в ячейке. А если ее нет, или она занята другим персонажем, тогда перед выбором Refсоздайте кровать (в настройках кровати обязательно задайте ей Reference Editor ID и отметьте Persistent Reference)

6) Target (Цель)– панель не активна.

7) Флаги (Flags).ОтметьтеArmor UnequippedиWeapons Unequipped, чтобы на время сна персонаж снимал с себя доспехи и оружие.

 

 

в) пакет прогулки

 

Следующий пакет – прогулка.

1) ID пишем произвольно.

2) Тип пакета (Package Type).Выбираем Wander (Бродить).

3) Schedule (расписание).У меняNPCбродит все свободное (от других пакетов) время,поэтому я не выставлял время в этом пакете. Но вы можете по аналогии с предыдущими пакетами выставить время действия пакета. Например, с 10 часов, на протяжении 8 часов.

4) Conditions (условия) –не трогаем.

5) Location (местоположение).ОтмечаемNear Editor Location.То естьNPC будет бродить в районе того места, где он выставлен в редакторе. И выставляем Радиус (Radius),то есть насколько далеко он будет отходить отначальной точки.

6) Target (Цель)– панель не активна.

7) Флаги (Flags). Мой NPC занимается торговлей, поэтому я отмечаю флаг Offers Services.То есть разрешаю ему торговать во время выполнения этого пакета. Это очень важно для торговцев. Торговец будет торговать только тогда, когда в пакете будет выставлен этот флаг.

 

 

Итак, наш NPC теперь спит, питается дважды в день в ближайшей (или не очень) таверне, а в свободное от всего этого время ходит по улице и торгует. Это уже первые признаки живого персонажа, а не деревянного истукана. В дальнейшем мы разберем и другие варианты пакетов, чтобы сделать персонажей действительно жывими…

 

 

Автор IgorLutiy (Igor_Ra). В планах добавить детальное описание других вариантов пакетов и более детальное описание приведенных выше настроек. Как говорится, следите за обновлениями.

Меня можно найти по мылу ZIV123@bigmir.net или на форуме www.modder.3bb.ru (под ником Igor_Ra). Если вы желаете разместить этот материал где-либо, свяжитесь, пожалуйста, со мной.

 

 





©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.