Syntax:
#action {входная строка} {действия} {приоритет}

Эта команда позволяет запрограммировать действие (или несколько), которое должно быть выполнено при поступлении из MUD’а какого-либо текста. Подобные макрокоманды называют триггерами. Отдельные слова входной строки могут быть заменены на переменные %0-%9, которые можно затем использовать в ключе “действия”.

Все триггеры сохраняются единым списком. Любая строка, поступающая из игры, проверяется на соответствие условиям триггера. Если она соответствует нескольким сразу - триггеры выполняются в очередности согласно установленному приоритету. Т.е., если вы хотите указать, какой триггер более важен - назначьте ему более высокую приоритетность выполнения. Самая высокая степень приоритета - “0”, самая низкая - “9”.

Если входная строка начинается с символа ^, то поступившая из игры строка будет считаться соответствующей триггеру только в том случае, если совпадение происходит с самого начала строки.

Если команду #action отдать без всяких аргументов, будет выведен полный список заданных триггеров.

Ели команда #action задана только с одним аргументом, будет выведен список всех триггеров, в составе входной строки которых содержится данное слово или сочетание слов. Допустимо использование символа * . См. примеры.

Примеры:
#action {You are hungry.} {eat bread} {2}
Когда игра сообщает, что вы голодны, вы будете есть хлеб автоматически.

#action {^%0 arrived from the %1} {kill %0} {0}
Когда кто-либо входит в локацию, в которой вы находитесь, вы автоматически будете атаковать его.

#action {^Nice white fountain is here} {drink water from fountain} {5}
Если из игры поступает строка, начинающаяся со слов “Nice white fountain is here”, вы автоматически будете пить воду из фонтана. Таким образом предупреждается недобросовестное поведение других игроков, которые могут, например, сказать вам такую фразу возле ядовитого источника - в этом случае поступит строка “NAME tell you: Nice white fountain is here”, и триггер не сработает.

#action
Вывод всех заданных триггеров:

{The momentum of your kick}={sta} @ {5}
{You try to bash}={sta} @ {5}
{are hungry}={get $food $chest;eat $food} @ {5}
{are thirsty}={drink water} @ {5}
{crashes into you}={sta} @ {5}
{disarms your weapon}={get axe} @ {5}

#action *you*
Вывод всех триггеров, содержащих во входной строке слово “you”:

{The momentum of your kick}={sta} @ {5}
{You try to bash}={sta} @ {5}
{crashes into you}={sta} @ {5}
{disarms your weapon}={get axe} @ {5}

Вы можете временно запретить исполнение триггеров с помощью команды #ignore. Повторная отдача этой команды включит триггера снова.

Вы можете включить показ команд, выполняемых в триггере, командой #echo. Повторная отдача #echo выключит показ.

Для удаления триггеров используйте команду #unaction.

См. также: #unaction, #ignore, #multiaction


blog comments powered by Disqus