Oblivion CS:Conditions

Материал из Tiarum
Перейти к: навигация, поиск
Conditions
45px-Scroll.png

перевод: Garin
редактирование: Garin
ccылка на оригинал: Conditions
ссылка на сайт: The Elder Scrolls Construction Set Wiki


Условия (Conditions)

Краткое описание

Условия (Conditions) необходимы для того, чтобы в процессе игры проконтролировать некоторые события, на которые игра должна соответствующим образом отреагировать. Условия (Conditions) используются в ряде мест редактора и представляют собой редактируемое окно, в котором содержится список одной или нескольких скриптовых функций, которые конкретизируют некоторые обстоятельства в игре и в соответствии с которыми отдельные элементы списка в редакторе могут становиться истинными.

Условия используются в следующих секциях редактора:

Эти секции представляют собой закладки в диалоговых окнах.


Окно редактирования "The Condition List" с перечнем условий (The Condition List)

В этом окне отображается полный перечень всех отдельных индивидуальных условий. Щелчок правой кнопкой мыши отображает на экране ниспадающее меню, в котором вы можете:

  • создать новое условие (New);
  • дублировать (Duplicate) существующие условия;
  • удалить (Delete) существующие условия,
  • скопировать (Copy Condition) одно условие из перечня;
  • скопировать несколько условий (Copy All Conditions) из перечня;
  • вставить (Paste Conditions) скопированные в каком нибудь другом месте условия.


IdleManager04.jpg


  • Кнопки "<<" и ">>" используются для перемещения вверх или вниз по списку условий, а кнопка "New", соответственно, для создания нового элемента списка.
  • Чтобы отредактировать элементы какого-нибудь условия, выделите его в списке и все данные этого элемента отобразятся в элементах контроля в нижней части окна, где эти данные можно изменить.
  • Всплывающий список "Condition Function" (Функция условия) - это функция для выполнения и проверки условий. Для данного элемента из списка скриптовых функций вы можете просмотреть все функции, которые в данном случае могут использоваться в качестве условий.
  • Переключатель "Run on Target" (Выполнить на цели). Поставив галочку в этом переключателе, вы тем самым укажете, что данная функция условия должна быть применена не на самом актере, а на его текущей цели.
  • Кнопка "Function Parameters" (Параметры функции) открывает другое диалоговое окно, в котором могут быть установлены параметры текущей выбранной функции. Это может понадобиться, например, для установки Reference в функции GetDistance или Faction (фракции) в функции GetFactionRank.
  • Всплывающий список "Comparison" (Сравнение) определяет тип оператора сравнения (">", "<" и т.п.), т.е., каким образом будут сравниваться два параметра - возвращаемое функцией значение и заданное в поле "Value". Результат сравнения будет истинным, если условие выполняется.
  • Поле "Comparison Value" (Сравниваемое значение) - это обычное текстовое поле, в котором значение сравниваемой величины вводится вручную.
  • Однако, если в переключателе "Use Global" установлена "галочка", для сравнения вместо значения в поле "Value" будет использоваться значение глобальной переменной, которую можно выбрать из списка во всплывающем окне.


Логические выражения

  • Все элементы списка условий в окне объединяются с логическое выражение с помощью булевых операторов "AND" (логическое И) и "OR" (логическое ИЛИ). Для этого в последнем столбце списка отображаются соответствующие операторы.
  • Установка галочки в переключателе "OR" (логическое ИЛИ) в нижней части окна определяет, что в выражении будет использоваться логическое "ИЛИ". Операция "ИЛИ" имеет более высокий приоритет по сравнению с оператором "И".
  • Рассмотрим это на примере. Допустим, у нас имеется четыре условия сравнения (четыре строки в списке) - A, B, C и D и отображаются они в окне следующим образом:
 "Условие A" AND 
 "Условие B" OR 
 "Условие C" AND 
 "Условие D" AND 
  • Это выражение можно записать в виде (A AND B OR C AND D). Поскольку скобки в редакторе не предполагаются, а оператор "ИЛИ" имеет более высокий приоритет по сравнению с "И", то это выражение реально будет соответствовать следующему:
(A AND (B OR C) AND D) 
но никак не
( ( A AND B ) OR ( C AND D ) )
как это обычно принято считать!



Прим. Garin:

Дословный перевод последнего абзаца все путает. Я позволил себе его несколько изменить, чтобы была понятна логика выполнения булевых функций для элементов списка.