События (иногда их называют "триггерами") позволяют вам настроить автоматическую реакцию на определенные строки текста, получаемые от сервера. Определены два типа событий: текстовые события и события состояния. Оба типа описываются ниже. Но прежде чем вы продолжите читать, обратите внимание на предупреждение, касающееся использования триггеров в игре.

ПРЕДУПРЕЖДЕНИЕ: Хотя триггеры – очень гибкий и полезный механизм, применяйте его осторожно. Когда вы не сидите за клавиатурой, а предоставляете управление персонажем триггерам, это может считаться применением "робота", или "бота". Во многих МПМ такие действия строго запрещены и караются удалением персонажа. Более полную информацию об этом вы можете получить, прочитав правила поведения в вашем МПМ. Возможные ключевые слова: programs, events, triggers, bots, robots.

События особенно эффективны, когда применяются вместе с переменными. Ниже этот механизм будет описан более подробно. Про использование переменных в Portalc также смотрите разделы справки Variable Maintenance и Using Variables. NB: События срабатывают даже в тех случаях, когда активным является другое окно Portalc или вообще другое приложение.

NB: Если необходимо, вы можете отключить ВСЕ триггеры, используя главное окно (main screen). Кроме того, события можно отключить, нажав на кнопку "Event Enabler" ("События вкл/выкл", подсвеченная "E") в строке состояния. Снова включить события можно, нажав на затененную "Е". Еще одним способом является использование "символа активации" ("activator character"). (Читайте справку по этой теме.)

События

Область выбора группы ("Group Selection Box")

Триггеры можно распределить на группы, в каждую из которых можно поместить до 25 событий. При выборе группы в этом списке Таблица событий заполняется триггерами группы. Перемещение по группам осуществляется при помощи голубых кнопок-стрелок.

Кнопка "Quick Event" ("Быстрое создание события")

С помощью этой кнопки можно быстро создать триггер со всеми необходимыми переменными. Мы настоятельно рекомендуем изучить справку по созданию событий и работе с переменными перед тем, как пользоваться этой кнопкой. Более подробно об использовании этой кнопки можно прочесть ниже.

Вкладка "Text Events" ("Текстовые события")

Таблица событий ("Events Grid")

Эта таблица содержит список событий текущей группы. Если вы выбрали свой цвет для текста событий, это будет учтено при выводе таблицы.

Колонка "C" показывает, чувствителен ли триггер к регистру

Колонка "F" показывает, фильтруется ли триггер

Колонка "R" показывает, сохраняется ли триггер при фильтрации

Колонка "T" показывает, является ли триггер terminal (завершающим? временным?)

NB: Щелкнув правой мышкой по триггеру в списке, его можно включить/выключить или переместить в другую группу. В новой группе он займет последнее место в списке событий. См. также раздел справки "Создание триггера".

Кнопка "Delete Event" ("Удалить событие")

Эта кнопка удаляет выделенный триггер из Таблицы Событий. Эту операцию невозможно отменить, так что будьте внимательны.

Кнопка "Disable/Enable Event" ("Включить/выключить событие")

Эта кнопка включает или выключает выделенное событие. Отключенные события не удаляются, а просто перестают срабатывать. Кнопки "Стрелка вверх/вниз" (зеленые треугольники вершинами вверх и вниз)

Перемещает выделенный триггер вверх/вниз по списку Порядка выполнения (см. также раздел справки "Создание триггера")

Кнопка "Add Event" ("Новое событие")

Нажатие на эту нопку вызовет окно "Создание/редактирование триггера", в котором можно будет создать новое событие.

Кнопка "Edit Event" ("Редактирование события")

Нажатие на эту нопку вызовет окно "Создание/редактирование триггера", в котором можно будет отредактировать выделенное событие.

Кнопка "Variables" ("Переменные")

Нажатие на эту нопку вызовет окно "Работа с переменными". Поле "Variables" ("Переменные")

В этом поле показывается список переменных выделенного события (если они там присутствуют).

Сценарий ("Script") события

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

Кнопки сценария "Undo" Откат Отменяет последнее изменение в сценарии A/M Алиас/Макрос Вставляет в сценарий алиас или макрос f(x) Функция Вставляет в сценарий функцию @ Переменная Вставляет в сценарий переменную Eraser Очистка Удаляет все команды из сценария

NB: В текст сценария можно вставлять комментарии. Такая строка должна начинаться словом "REM" (все символы заглавные) и будет полностью игнорирована при выполнении. Флажок "Enable Event Sounds" ("Включить звуки по событиям")

Если флажок установлен, то будут слышны звуки событий. Если у вас не установлена поддержка звуков, то этот флажок будет автоматически сброшен. Флажок "Automatically Lowercase Event Variables" ("Приводить значение переменной в событии к нижнему регистру")

Часто в тех случаях, когда значение переменной назначается в событиии, необходимо привести это значение к нижнему регистру. Например, в ответ на фразу "Bob smiles at you" получить в переменную значение "bob", а не "Bob". После установки этого флажка все значения переменных в событиях будут приводиться к нижнему регистру. Того же эффекта можно добиться, вызвав для переменной функцию lc().

Кнопка "Close" ("Закрыть")

Закрывает окно "События". Вкладка "Status Events" ("События состояния")

События состояния -- это события, происходящие, когда определенные показатели строки состояния ("status bar") попадают в область "низких" ("low") или "высоких" ("high") значений. Строки состояния можно настраивать, как описано в разделе "Program Options Screen" - "Status Bars Tab" (окно "Настройки программы" - вкладка "Строки состояния").

NB: События состояния происходят только в случае, когда значения переходят из одной области в другую. Например, из "средней" в "низкую" - в этом случае в момент перехода сработает событие "по низкому значению". Если же перехода нет, то и событие срабатывать не будет.

Область выбора группы ("Group Selection Box")

События состояния тоже распределяются по группам. При выборе группы в этом списке Таблица событий заполняется триггерами группы.

NB: События состояния срабатывают только для активной группы (в отличие от текстовых событий). Например, если у вас определены события "по низкому значению HP" в группах BASE и TEST, и активной является группа TEST, то срабатывать будут события именно этой группы.

Кнопка "Clear" ("Очистить"), иконка "ластик"

При нажатии на эту кнопку будут удалены все команды по текущему событию, включая команды на проигрывание звука.

Поле "Commands" ("Команды")

При возникновении события будут выполнены указанные команды.

Кнопки "Choose Sound" ("Выбрать звук"), иконка "динамик"

Полностью аналогичны описанным выше кнопкам "Attach a Sound to This Event" ("Добавить звук к событию").

Поля "Edit Sound" ("Настроить звук")

Полностью аналогичны описанным выше полям "Sound" ("Звук").

Кнопки "Play Sound" ("Проиграть звук"), иконка "нота"

Полностью аналогичны описанным выше кнопкам "Play Sound" ("Проиграть звук").

Кнопки "Clear Sound" ("Убрать звук"), иконка "динамик и ластик"

Полностью аналогичны описанным выше кнопкам "Clear Sound" ("Убрать звук").

Кнопка "Close" ("Закрыть")

Закрывает окно "События".

Быстрое создание события ("Quick Event")

Если вам нужно быстро задать пару событие/команда, то воспользуйтесь возможностью быстрого создания события. Например, если вы хотите, чтобы каждый раз в ответ на улыбку персонаж танцевал, нажмите кнопку "Quick Event", чтобы открыть окно "Быстрое сохдание события", введите "smile" в поле "Событие" ("Event") и "dance" в поле "Команда" ("Command"). Нажмите кнопку "Accept" ("Готово"), и триггер создан.

Окно "Quick Event" доступно из Главного окна ("Main Screen") и из окна Настройки событий ("Events screen").

При Быстром создании события будут автоматически создаваться необходимые переменные. Например:

Текст события: @a smiles at you

Команда: smile lc(@a)

Создастся триггер, который в ответ на улыбку вам будет давать команду улыбнуться в ответ. Если вам улыбнулся "Bob", то в созданную переменную @a запишется значение "Bob", а функция lc(@a) преобразует его к "bob". Таким образом, команда "smile lc(@a)" будет выглядеть как "smile bob". Неплохо?

Лучше всего при этом использовать временные системные переменные @AA, @BB, : @FF, чтобы не создавать новых переменных, занимающих память. Можно также использовать стандартные системные переменные, например:

Текст события: Your HP is now: @HP

Команда: <пусто>

Этот триггер просто обновляет значение переменной @HP. Команда здесь не нужна, хотя, конечно, вы можете и добавить ее, если необходимо.

 

Русский МАД-коннектор
The Russian MUD Connector
www.mudconnector.su

This site is powered by the TWiki collaboration platform Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.