Создание триггеров в Dragon Age Toolset

Триггеры — это нарисованные на земле, или вертикально плоские фигуры, которые выполняют опредилённые события. Это может быть переход в другую локацию, вход кат сцену, срабатывать как ловушка и т.д. Теперь создадим сам триггер. После создание нового триггера выскочит окно для редактирования основных параметров триггера. Среди них требуется отредактировать следующие параметры:

General

Comments — основная информация про триггер.

Group — группа, к которой принадлежит модуль.

Resource Name — уникальный индификатор.

Tag — не уникальный индификатор.

 Attributes

Script — скрипт, обрабатывающий события триггера.

Variable 2da — выбирает нужную таблицу переменных.

Variables — отображает поля выбранной таблицы переменных.

 Теперь сохраните сделанный триггер. Теперь нарисуйте его в окне локации. Начало работы сделано.

 Обработка событий триггера

 Создатели тулсета сделали специальный скрит для обработки событий скрипта. Он называется trigger_core.nss.Его и введите в поле Script. Если вы хотите, чтоб триггер запускался только один раз — добавьте в скрипт следующее (разумеется, без коментариев).

 

 if(IsPartyMember(oCreature)) {                // ПРОВЕРКА ЯВЛЯЕТСЯ ЛИ ВОШЕДШИЙ СУЩЕСТВОМ, ВХОДЯЩИМ В ПАРТИЮ ИГРОКА.
  resource rCutscene = R"mycutscene.cut";      // НАЗНАЧЕНИЕ РЕСУРСА РОЛИКА.
  LoadCutscene(rCutscene);                     // ЗАГРУЗКА РОЛИКА.
  PlayCutscene(oCreature);                     // ЗАПУСК РОЛИКА.
  DestroyObject(OBJECT_SELF, 0);               // УНИЧТОЖЕНИЕ ТРИГГЕРА ДЛЯ ПРЕДОТВРАЩЕНИЯ ЕГО ВТОРИЧНОГО ЗАПУСКА.
 }

 Триггеры перехода

Как их делать написано в статье «Двери и триггеры».

Триггеры диалога

 Триггеры диалога — это триггеры, запускающие определённый диалог. Создатели создали для них специальный скрипт и специальную таблицу переменных ("gen00tr_talk.nss" и "var_trigger_talk" ).

Триггеры поведения

Триггеры поведения — это триггеры, задающие определённое поведение существам, вошедшим в него. Для него также существуют специальный скрипт и специальная таблица переменных ("gentr_ambient.nss" и "var_trigger_ambient" ).

Триггеры, ведущие в кат-сцену

 Для этих триггеров существует специальный скрипт. Но его нету в списке готовых. Заготовка этого скрипта есть в статье «Заготовки скриптов».

Триггеры-ловушки

 Триггеры-ловушки — это триггеры, заменяющие ловушку. Для создания такого триггера надо просто правильно указать группу. 

Переменные, требующие изменения

 

TRIGGER_AT_DEST_AREA_TAG

Тэг флажка, куда игрок будет телепортирован.

TRIGGER_AT_DEST_TAG

Тэг локации, куда игрок будет телепортирован.

TRIGGER_DO_ONCE_A and B

Количество раз, сколько триггер будет работать.

Это переменные таблицы «var_trigger 2da». Далее приведены переменные таблицы «var_trigger 2da».

 

TRIG_TALK_ACTIVE_FOR_FLAG

Триггер срабатывает, только если указанный Plot-флаг активен.

TRIG_TALK_ACTIVE_FOR_PLOT

В переменной записывается Plot-файл, в котором находится Plot-флаг, указанный в предыдущей переменной.

TRIG_TALK_DIALOG_OVERRIDE

Ресурс диалога для подмены ассоциированного по умолчанию с целевым существом или размещаемым объектом. Указывается в формате "gen000_example.dlg" (без кавычек).

TRIG_TALK_INACTIVE_FOR_FLAG and FLAG2

Триггер срабатывает, только если указанный Plot-флаг не активен .

TRIG_TALK_INACTIVE_FOR_PLOT and PLOT2

В переменной записывается Plot-файл, в котором находится Plot-флаг, указанный в предыдущей переменной .

TRIG_TALK_LISTENER

Тэг Слушателя по диалогу. Используется для окружающих диалогов (НПС с НПС без загрузки оболочки диалога).

TRIG_TALK_REPEAT

Определяет возможность повторного срабатывания триггера. 1 - триггер срабатывает постоянно. 0 - триггер срабатывает один раз.

TRIG_TALK_SET_FLAG and FLAG2

В данной переменной можно указать Plot-флаг, значение которого будет установлено при срабатывании триггера.

TRIG_TALK_SET_PLOT and PLOT2

В переменной записывается Plot-файл, в котором находится Plot-флаг, указанный в предыдущей переменной.

TRIG_TALK_SPEAKER

Тэг Говоруна по диалогу. Единственная обязательная переменная.

Это была вторая таблица переменных. Третья таблица переменных называется"var_trigger_ambient 2da".

 

AMBIENT_ANIM_FREQ_OVERRIDE

Если значение не пустое, то данная переменная подменяет значение "AMBIENT_ANIM_FREQ" в таблице переменных существа. Тип переменной - flout (x.y). Переменная задаёт проигрываемые шаблоны поведения начиная с "x" и заканичвая "y". Например "-1.0" заставит существо проигрывать все шаблоны поведения по порядку в соответствии с ambient_ai.xls.

AMBIENT_ANIM_OVERRIDE_COUNT

Счётчик проигрываемых шаблонов поведения, после достижения которого восстанавливаются оригинальные значения переменных, подменённых триггером. По умолчанию значение равно -1, то есть без отсчёта (оригинальные значения не восстанавливаются).

AMBIENT_ANIM_PATTERN_OVERRIDE

ID шаблона анимации в ambient_ai.xls. Если значение не пустое, то данная переменная подменяет значение "AMBIENT_ANIM_PATTERN".

AMBIENT_TARGET_FILTER

Фильтр существ, вход которых в триггер или нахождение в нём, переопределяет их поведение. В данной переменной указываются тэги существ, поведение которых вы хотите подменить.

AMBIENT_TRIGGER_FILTER

Фильтр существ, чьё поведение переопределяется только при входе в триггер. Тэги существ также указываются через запятую. Используйте тэг "<hero>" для указания на игрока. Если данная переменная пустая, то используется переменная "AMBIENT_TARGET_FILTER".

Copiryght by games-mp.com. Все права защищены!