Русский HELP для JMC v.3.27 (Jaba Mud Client version 3.27)

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

В данном разделе рассматривается использование возможностей JMC также будут приведены некоторые примеры настройки.

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

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

Если вы написали какой-либо макрос, который облегчает вам жизнь в MUD'е и хотите им поделиться с другими — выкладывайте их на форуме и они будут добавлены. Для какого MUD'а будут макросы - не имеет значения. Поняв идею, легко переделать нужный триггер/алиас/хоткей и т.п. под требования и возможности любого мира.

НАСТРОЙКА КЛИЕНТА JMC

Зачем нужен клиент, если зайти на мир можно телнетом? В клиенте есть такие жизненно необходимые вещи как горячие клавиши (HotKeys) и Триггеры (triggers). Нажимая горячие клавиши мы вводим самые частые команды / последовательности команд, а триггеры помогают автоматически реагировать на события в мире. Итак, начнем.

Вот неполный перечень возможностей JMC:

В отличие от других популярных MUD-клиентов, JMC обладает довольно бедным пользовательским интерфейсом. Это не означает, что JMC - это программа, работающая только с командной строкой. Это означает, что JMC не позволяет себе самостоятельно принимать решения и предоставляет вам полную свободу действий. JMC никак не ограничивает количество ваших конфигурационных файлов для одного или нескольких персонажей. JMC не заставляет вас держать все макрокоманды в одном файле. Это позволяет вам создавать удобное окружение для различных MUD'ов и для различных персонажей. Вы можете настроить большинство параметров интерфейса по своему выбору - цвета ANSI, размер буфера команд, символы разделителя команд и т.д.

КРАТКИЙ ОБЗОР ВОЗМОЖНОСТЕЙ JMC

Поддержка протокола Telnet.

 

JMC поддерживает протокол telnet. Это полезно, когда вы хотите запустить MUD под UNIX-хостом. Обычным путем вы должны соединиться с сервером UNIX, пройти процедуру входа, затем произвести telnet-подключение к MUD-серверу. Вы можете cделать это с помощью JMC намного быстрее и проще. Все, что нужно - указать адрес UNUX-хоста в команде #connect (стандартный порт telnet - 23).

 

Поддержка цветов ANSI.

 

Вы можете устанавливать все 16 ANSI цветов в опции "Colors". Если вы не любите яркие цвета (некоторые MUDы злоупотребляют ими), вы можете заменить их первыми 8-ю цветами ANSI. Включение опции "Use only dark colors" выполнит эту процедуру автоматически, причем строки, выделенные с помощью команды #highlight, также будут показываться в темной гамме.

 

Буфер команд.

 

Каждый раз, когда вы печатаете какую-либо строку в окне ввода, эта строка добавляется в буфер команд. Вы можете просматривать строки в буфере с помощью курсорных клавиш ВВЕРХ\ВНИЗ. На самом деле, в буфер попадают не все строки, а только те, длина которых больше или равна некоторому значению. Это ограничение установлено для того, чтобы не забивать буфер командами движения, которые обычно имеют размер в один символ. Вы можете установить это ограничение и размер буфера команд в диалоге "Options".

 

Макроязык.

 

Макроязык JMC совместим с популярным языком сценариев TinTin++. Если Вы незнакомы с этим макроязыком, изучите список команд. Вы можете создавать макросы (алиасы), действия (триггеры), быстрые клавиши. Также вы можете использовать переменные, вычислять математические выражения, сохранять пройденные в MUD'е пути, и многое другое. Новая возможность - способность использовать несколько триггеров по отношению к одной строке из MUD одновременно. Это полезно для синтаксического анализа информации из строки состояния (уровень жизни, количество магической энергии и т.д) или для обработки строк с множественной информацией. (См. описание команды #multiaction).

 

Быстрые клавиши.

 

JMC обеспечивает пользователю систему быстрых клавиш. Вы можете назначать быстрые клавиши из командной строки, из ваших триггеров и алиасов, и т.д. Также, вы можете сделать это из диалога "Hotkeys". Быстрые клавиши могут быть сгруппированы в набор "hotset" - группу быстрых клавиш. Вы можете переключаться между наборами с помощью команды #hotset и из диалога "Hotkeys".

 

Конфигурации.

 

Пользователь может создавать конфигурационные файлы - профили. Профиль - набор опций, макрокоманд и быстрых клавиш отдельного пользователя или персонажа. Полезно разделить операционные среды между MUD'ами или между персонажами. Например, если вы играете сразу двумя персонажами - магом и воином, вы можете создать две различных конфигурации и переключаться между ними, когда возникает такая необходимость.

 

Логи и RMA.

 

Вы можете записывать все входящие и введенные пользователем строки в лог-файл. Для этого используется команда #log. Вы можете добавлять новый лог к существующему файлу или записывать поверх его. Инсталляционный пакет JMC содержит утилиту RMA. Эта утилита позволяет вам просматривать ваши логи в в реальном масштабе времени. Чтобы сделать это, Вы должны использовать две добавочных опции ведения лога: "ANSI log" и "RMA extension". Когда эти две опции включены, JMC будет записывать в лог ANSI команды, исходящие из MUD'а. Также это включит добавление команд ANSI перед каждой строкой, содержащих информацию о задержке между строками. RMA-проигрыватель использует эти данные для корректного показа ваших логов.

 

Замена символов.

 

Замена символов - способность JMC заменять символы в строке, исходящей из MUD'а. Для чего это необходимо? На то имеются две причины. Первая причина состоит в том, чтобы заменить какие-либо символы, которые вам не нравятся. Например, ваш любимый MUD использует '#' символ как префикс строки состояния. Если вы хотите, чтобы строка состояния начиналась с символа '@', вы должны заменить '#' на '@' символ. Теперь строка состояния будет начинаться с '@'.

Вторая причина состоит в том, чтобы избежать проблем с символом 255. Некоторые национальные языки используют символ 255 как букву. Этот символ является специальной команда в протоколе telnet. Поэтому обычно национальные MUDы используют другой символ вместо 255. Например - 'z' символ. Если вам не нравится видеть 'z' вместо естественного символа, вы должны заменить 'z' на символ 255.

 

Организация ваших макрокоманд.

 

JMC позволяет вам загружать макрокоманды из файла в любое время, когда это вам нужно. Например, вы можете организовать ваши макрокоманды в группы и хранить в отдельных файлах, загружая их при необходимости командой #read. Также вы можете сохранить текущее состояние JMC в файл командой #write.

RMA ПРОИГРЫВАТЕЛЬ

Что такое RMA?

Вкратце, это обычный ANSI проигрыватель, в который добавлен один новый код: [ESC]p:[millisecs]m , где [ESC] - escape коде, [millisecs] - длительность паузы.

RMA предоставляет возможность просмотра MUD-логов (сражений, зонинга и т.п.) в реальном виде, с поддержкой цветов и паузы. Попробуйте - вам наверняка понравится :).

RMA является бесплатно распространяемой программой. Вы можете использовать и распространять RMA по своему усмотрению при условии целостности пакета - (исполняемый файл (rma.exe) не должен распространяться без файла-описания (rma_doc.txt).

Данная версия RMA распространяется в составе пакета клиента JMC MUD, автором которого является Сергей Ильин. Она может быть использована как для просмотра логов, сгенерированных MUD-сервером, так и для любых других логов, полученных с помощью JMC. Для просмотра лог-файла наберите: rma.exe [filename]. Вы можете запустить rma.exe без параметров для просмотра справки.

См. также: ПАРАМЕТРЫ/LOGGING

ПРОФИЛИ И УСТАНОВКИ

ЧТО ТАКОЕ ПРОФИЛЬ?

Профиль - это набор заданных опций JMC и быстрых клавиш. Существует две разновидности опций - общие (common) и локальные (private). Общие опции устанавливаются для всех профилей сразу и не изменяются при подгрузке нового профиля. Локальные опции действуют в пределах одного профиля.

ЗАЧЕМ НУЖНЫ ПРОФИЛИ?

Профили используются, когда вы хотите сменить игрового персонажа или пойти на другой MUD-сервер. Например, вы используете символ ";" в качестве разделителя команд в макросах, а один из ваших любимых MUD'ов использует этот же символ в своих внутренних командах. В таком случае, вы можете создать для этого MUD'а новый профиль и установить другой символ в качестве разделителя команд. Тогда вам не нужно будет изменять разделитель при переходе в этот MUD, а нужно только подгрузить соответствующий профиль. Другая причина, по которой вам может понадобится несколько профилей - независимые наборы быстрых клавиш, которые специфичны для каждого отдельного профиля. Если вы играете несколькими разными персонажами, например, магом и воином, то вам потребуются разные быстрые клавиши для каждого из персонажей. Для мага - "cast 'cone of cold'", "cast 'shield'", и т.д. Для воина - "rescue Lesath", "kick $target" и т.п. Простое переключение профиля намного удобнее повторного задания всех быстрых клавиш при смене персонажа.

 

Перечень общих опций:

Показ элементов JMC, установка цветов, размер буфера скроллинга и буфера команд, символ начала команды (по умолчанию - "#").

 

Перечень локальных опций:

Символ разделителя команд, установки замены символов, автозагрузка профиля, автосохранение профиля, автосохранение при выходе, установки журнала (лога).

См. также: Параметры - Profile

МЕНЮ "FILE"

1. NEW PROFILE (СОЗДАТЬ НОВЫЙ ПРОФИЛЬ)

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

File -> New Profile

Здесь, в поле Profile name, пишем имя профиля в котором будут храниться все настроки (по умолчанию Default). Следующие 2 поля заполняются автоматически. И в последнем поле (Do command on exit) можно ничего не писать, а можно поставить команду которая будет исполнятся при выходе (Бесполезная штука на мой взляд). Аналог 1-я кнопочка с белым листом.

2. LOAD PROFILE (ЗАГРУЗИТЬ ПРОФИЛЬ)

Данная опция предназначена для подгрузки нового профиля. Вам будет выдан список всех созданных профилей. При выборе нового профиля, команды и макросы старого будут сохранены в файл по умолчанию (если он задан), затем JMC очистит установки (макросы, подсветки, алиасы и т.п.) старого профиля и загрузит выбранный вами.

File -> Load Profile

Очень удобно когда у тебя несколько чаров и на каждый из них свои триггеры, хайлайты хоткеи и т.д. Аналог 2-я кнопочка с открытой папкой.

3. SAVE PROFILE (СОХРАНИТЬ ПРОФИЛЬ)

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

File -> Save Profile

(после внесения изменений в настройки не забывайте их сохранять). Аналог 3-я кнопочка с дискеткой.

4. PAUSE (ПАУЗА)

Останавливает JMC без отключения от игрового сервера (Блокирует вывод в основное окно).

5. EXIT (ВЫХОД)

Выход из программы. При этом происходит экстренное отключение от игрового сервера, после чего сохраняются используемые профили (если указано имя файла для сохранения при выходе и для исполнения задана команда #write ИМЯ) и затем выполняется выход из JMC.

См. также: Профили и установки, Параметры — Profile

МЕНЮ "EDIT"

JMC objects

Вызов окна управления «Aliases», «Actions», «HighLights», «Goups», «Hotkeys».

МЕНЮ "VIEW"

TOOLBAR (ПАНЕЛЬ ИНСТРУМЕНТОВ)

STATUSBAR (СТРОКА СОСТОЯНИЯ)

OUTPUT (ДОП. ОКНО ВЫВОДА)

MUD emulator... (что за зверь еще не понял :) )

Установка флажка напротив опции включает показ соответствующего элемента программы.

МЕНЮ "OPTIONS"

1. SCROLL BUFFER... (БУФЕР КОМАНД)

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

2. FONT... (ШРИФТ)

Стандартный диалог Windows выбора шрифта, используемого для вывода текста в основном и дополнительном окнах JMC.

3. HOTKEYS... (БЫСТРЫЕ КЛАВИШИ)

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

Диалоговое окно состоит из двух частей - HOTSETS (наборы) и HOTKEYS (быстрые клавиши). В части HOTSETS имеются список доступных наборов и кнопки "Add set" (Добавить набор), "Remove set" (Удалить набор), "Copy set" (Скопировать набор). Используя их, вы можете выбрать новый набор из имеющихся или создать заново, а также удалить набор или создать новый с копированием всей информации из существующего набора.

Во второй части показан перечень всех быстрых клавиш и закрепленных за ними команд. Для создания новой клавиши используйте кнопку "Add key" (Добавить клавишу), при этом не забывайте привесить на эту клавишу что-нибудь. Все изменения вступят в силу после нажатия клавиши OK или смены текущего набора.

 

Press key

Этот диалог появляется при задании быстрой клавиши в диалоге "Hotkeys".

 

New hotset name

Этот диалог появляется при создании нового набора быстрых клавиш. Для создания введите имя нового набора.

4. COLORS... (ЦВЕТА)

Данная опция позволяет настроить ANSI цвета. Как правило, MUD-сервер позволяет "раскрашивать" выводимый текст. Это осуществляется при помощи ANSI-команд с заданием цвета текста и фона. Команды ANSI позволяют задать 8 цветов фона и 8 цветов текста и установить/снять атрибут яркости. То бишь, всего, учитывая яркие, цветов 16.

Все 16 цветов могут быть отдельно настроены. Некоторые игроки (я в том числе) недолюбливают яркие цвета. Специально для них сделана опция "Use only dark colors" (Использовать только темные цвета). При ее задействовании JMC будет использовать только 8 обычных цветов. Яркие цвета будут показываться так же, как темные (т.е., игнорируется атрибут яркости в ANSI командах).

См.: #highlight

5. OPTIONS... (ПАРАМЕТРЫ)

См.: ПАРАМЕТРЫ

6. Keywords... (КЛЮЧЕВЫЕ СЛОВА)

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

МЕНЮ "SCRIPTING"

RELOAD SCRIPT

Перегрузить все загруженные скипты.

ADD SCRIPTLET...

Вывод окна с скриптами. Здесь можно посмотреть уже существующие скрипты, а также ввести еще несколько для тестирования.

BREAK

LAUNCH DEBUGER

МЕНЮ "HELP"

CONTENTS

Вывод файл справки.

ABOUT JMC...

Вывод окна с информацией об авторе программы и версии используемого JMC.

ПАРАМЕТРЫ

Вызов данного раздела осуществляется из меню "OPTIONS" в строке "Options...".

"COMMON" (ОБЩИЕ)

Это первая страница диалога "Options". Здесь вы можете задать общие параметры.

"SUBSTITUTION" (ЗАМЕНА)

На этой странице диалога "Options" задаются параметры замены символов. Вы можете разрешить/запретить замену и отметить символы, подлежащие замене, задав исходную и результирующую строки. Кнопка "Add" добавляет новую последовательность для замены, "Remove" - удаляет текущую последовательность из списка.

См.: #substitute

"PROFILE" (ПРОФИЛЬ)

Данная страница позволяет установить параметры текущего профиля. Доступны следующие опции:

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

См. также: ПРОФИЛИ И УСТАНОВКИ

"LOGGING" (ЖУРНАЛ)

Здесь задаются параметры ведения журнала (лог-файла), в котором сохраняется текст, поступающий из MUD'а и введенные вами строки. Вы можете включить/выключить ведение лога командой #log. На данной странице задаются опции ведения журнала, действующие по умолчанию.

Наиболее важная опция - Overwrite/Append (Перезаписывать/Присоединять). При значении по умолчанию "Append" и запуске нового журнала вся новая информация будет дописываться в существующий файл (при его наличии). При значении "Overwrite" существующий файл будет очищен. Эти режимы также могут быть заданы в команде #log.

Опции "Write ANSI commands" (Записывать ANSI команды) и "RMA extension" (RMA расширение) используются для корректного показа лога с помощью RMA проигрывателя. При этом в журнал будут записываться данные о цвете и времени вывода текста. Опция "HTML format" указывает на то, что лог будет записываться в виде HTML для последующего просмотра в броузере.

См. также:RMA Проигрыватель, #log

"SCRIPTING" (НАПИСАНИЕ СКРИПТОВ)

JMC objects

"ALIASES" (Псевдонимы)

Макрос (алиас/псевдоним) позволяет задать новую команду, составив ее из последовательности более простых. При отдаче команды с именем существующего алиаса JMC заменит его на последовательность команд, заданную в данном алиасе. В командах могут использовать специальные переменные: %0...%9, предназначенные для косвенного указания слов строки, на которую применяется алиас. Переменная %0 обозначает последние слова в команде с использованием алиаса, переменные %1-%9 содержат слова строки.

Кнопка ADD — добавляет алиас. В поле (Name) вводим нашу команду, в поле Group — выбираем принадлежность к группе и в поле Text введем последовательность комманд.

Кнопка REMOVE — соответственно удаляет выбранный алиас.

Очень удобная штука, на одну фразу можно повесить несколько команд :)

См. также: Примеры ALIASES

 

"ACTIONS" (Настройка триггеров)

В JMC триггера называются "Actions". Это автоматическая реакция клиента на то, что вам передает сервер.

Например каждый раз при коннекте сервер спрашивает :

Please, select your Russian codepage:

здесь надо ответить - 3 (или какая у Вас там кодировка).

С помощью триггеров можно сделать. чтобы клиент сам отвечал. Нажмите кнопку ADD, в первом поле (Pattern) введите то, что пишет сервер, во втором (Command) - то, что ему на это отвечает клиент. И теперь каждый раз при коннекте кодовая страница будет выбираться автоматически. Priority — соответственно приоритет данного триггера и Group — к какой группе триггеров он относится (удобно).

Вверху еще есть выпадающее меню для фильтрации триггеров по группам, то есть показывать триггера той или иной группы ну или сразу все :).

Далее, если вы играете только одним персонажем, можно так же запрограммировать триггер на автоматический ввод имени и пароля.

Кнопка REMOVE — соответственно удаляет выбранный триггер.

См. также: Примеры ACTIONS

 

"HIGHLIGHT" (Выделение цветом)

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

Нажмите кнопку ADD, в первом поле (Pattern) введите то, что пишет сервер, в поле (Group) выберите к какой группе будет принадлежать, в поле (Foregroung) цвет которым нужно выделить фразу/слово и последнее поле (Background) — можно выбрать цвет фона вокруг фразы/слова.

Кнопка REMOVE — соответственно удаляет выбранный хайлайт.

 

"GROUPS" (Управление группами)

Здесь можно добавить (ADD) или удалить (REMOVE) группу. Группы очень полезны тем, что можно сортировать всякие триггеры алиасы, так сказать по полочкам.

- Enabled — данная группа включена.

- Global — все что будет в группе — будет доступно везде.

 

"HOTKEYS" (Настройка горячих клавиш)

Большинство команд в игре вводится с помощью "горячих клавиш", которые надо задать перед игрой. Я приведу здесь пример тех клавиш, которые задействованы у меня. Я не знаю, хорошая это раскладка или нет выбирать Вам. Клавиша NumLock должна быть выключена. Если на одну клавишу надо повесить несколько команд, они пишутся в одну строчку и разделяются точкой с запятой (;). Добавлять: "Add" -> нажимаем нужную клавишу (ее название появится в поле "Key") и введем нужную команду для посылки в поле "Text". Для удаления нажмем "Remove".

См. также: Примеры HOTKEYS

СПИСОК КОМАНД

Группа

Команды

Работа с алиасами

#alias

#unalias

#verbatim

       
Триггеры

#action

#unaction

#ignore

#multiaction

     
Замена текста

#substitute

#antisubstitute

#presub

#unsubs

#togglesubs

#unantisub

#gag

#ungag

           
Соединение

#connect

#zap

         
Команды направления

#map

#mark

#path

#pathdir

#savepath

#return

#unpath

Выражения

#if

#math

#strcmp

       
Таймер

#tick

#tickon

#tickoff

#tickset

#ticksize

   
Файловые операции

#read

#write

#textin

#log

     
Переменные

#variable

#unvariable

         
Выделение текста

#highlight

#unhighlight

#multihighlight

       
Разное

#nop

#bell

#cr

#echo

#info

#killall

#loop

#message

#<number>

#char

#drop

#hotkey

#hotset

#iac

#output

#script

#showme

#speedwalk

#status

#tabadd

#tabdel

#toupper

#tolower

#unhotkey

       

#<ЧИСЛО> (#<NUMBER>)

Синтаксис: #<число> {Команды}

Эта команда повторяет заданную последовательность команд указанное число раз.

 

Пример:

 

#5 {sing}

 

В мад уйдет команда sing;sing;sing;sing;sing - Вы споете (sing) 5 песен.

 

#10 {eat bread;drink water}

 

Вы поедите хлеба (eat bread) и выпьете воды (drink water) 10 раз.

 

Если посылаете 1-ну команду то фигурные скобки не обязательны, если более одной то нужно.

 

#5 {sing} или так #5 sing

#10 {eat bread;drink water} — только так.

#ACTION

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

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

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

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

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

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

 

Примеры:

 

#action {You are hungry.} {eat bread} {2}

Когда игра сообщает, что вы голодны, вы будете есть хлеб автоматически. Приоритет — 2 .

 

#action {%0 arrived from the %1} {kill %0} {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

#ALIAS

Синтаксис: #alias {ИМЯ МАКРОСА} {КОМАНДЫ}

Макрос (алиас) позволяет задать новую команду, составив ее из последовательности более простых. При отдаче команды с именем существующего алиаса JMC заменит его на последовательность команд, заданную в данном алиасе. В командах могут использовать специальные переменные: %0...%9, предназначенные для косвенного указания слов строки, на которую применяется алиас. Переменная %0 обозначает последние слова в команде с использованием алиаса, переменные %1-%9 содержат слова строки.

 

Пример:

 

#alias {k} {kill %1}

Каждый раз, когда вы отдадите команду "k ИМЯ", игровому серверу будет отправлена строка "kill ИМЯ". Т.е. "k dragon" заменится на "kill dragon".

 

#alias putex {put %1 into %2;#showme {%0 done}}

Теперь вы можете отдать команду вроде "putex bread chest". При этом игровому серверу отошлется строка "put bread into chest" а вам ответят строкой "bread chest done". В данном примере переменная %0 содержит "bread chest", %1 содержит "bread" и %2 содержит "chest".

 

Если второй параметр алиаса отсутствует, JMC покажет вам все алиасы, имя которых совпадает с указанным.

 

Пример:

 

#alias k

JMC покажет информацию об алиасе с именем "k".

 

#alias *get*

JMC покажет информацию обо всех алиасах, в имени которых содержится сочетание букв "get".

 

Если команда #alias отдана вообще без параметров, JMC выведет информацию обо всех заданных алиасах.

См. также:#unalias

#ANTISUBSTITUTE

Синтаксис: #antisubstitute {участок строки}

Описание: Данная команда предотвращает влияние команд #substitute и #gag на строки, содержащие заданный участок.

 

Пример:

 

#gag {%0 пришел с %1}

Теперь вы не будете получать информацию, когда кто-либо приходит в вашу локацию.

 

#antisubstitute {Стражник пришел с %1}

Теперь вы будете получать информацию только когда в вашу локацию входит стражник. Все остальные монстры/персонажи по-прежнему подпадают под действие команды #gag.

См. также: #substitute, #gag

#BELL

Синтаксис: #bell

Описание: Воспроизводит звук, заданный в Windows по умолчанию. Если таковой не задан или у вашего компьютера нет звуковой карты, то будет задействован PC-спикер.

 

Пример:

 

#bell

#CHAR

Синтаксис: #char {СИМВОЛ}

Данная команда предназначена для задания символа, с которого должны начинаться все команды JMC. Вы можете сделать то же самое из диалога "Options". По умолчанию задан символ '#'.

 

Пример:

 

#char {/}

Меняет командный символ на '/'.

#CONNECT

Синтаксис: #connect <адрес MUD'а> <номер порта>

Команда используется для установки соединения с игровым сервером. Если вы уже подсоединены куда-либо, то выведется сообщение "Close current connection first" (Сначала закройте текущее соединение). Текущий статус сединения показывается в строке состояния JMC.

См. также: #zap

#CR

Синтаксис: #cr

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

#DROP

Синтаксис: #drop

Сбрасывает строку, то есть вы ее не увидите.

 

Пример:

 

#action {^%0 говоришь %1} {#drop;#output {light magenta} {[$TIME] %0 говоришь: %1}} {5}

Сбросит строку когда ты говоришь. К примеру: tel Вася кукуку — в итоге строка: Ты говоришь Вася кукуку видна не будет.

#ECHO

Синтаксис: #echo

Описание: Включает/выключает показ команд, исходящих из триггеров. Если ECHO-режим выключен (off), команды, исходящие из триггеров, не будут воспроизводиться на экране.

 

Пример:

 

#echo

Переключает показ on/off.

#GAG

Синтаксис: #gag {участок строки}

Описание: Данная команда предотвращает показ любой строки, исходящей с сервера MUD, содержащей заданный участок текста. Фактически, представляет собой упрощенный вариант команды #substitute, где второй аргумент - пустая строка.

 

Пример:

 

#gag {is arrived}

Любая строка текста, исходящая от MUD-сервера, содержащая участок "is arrived", не будет вам показываться.

См. также: #substitute, #ungag

#HIGHLIGHT

Синтаксис: #highlight {цвет} {строка}

Описание: Все строки, исходящие из MUD, содержащие заданный участок, будут подсвечиваться указанным цветом.

 

Параметр <цвет> может быть следующим:

- reverse, bold, blink, faint, italic, или число от 1 до 8 (соответствует цветам основной палитры).

 

Также вы можете напрямую использовать название цвета или эффекта или их комбинации. Например, вы можете задать {red, bold}.

 

Доступные названия:

red, blue, cyan, green, yellow, magenta, white, grey, black, brown, charcoal, light red, light blue, light cyan, light magenta, light green, b red, b blue, b cyan, b green, b yellow, b magenta, b white, b grey, b black, b brown, b charcoal, b light red, b light blue, b light cyan, b light magenta, b light green, bold, faint, blink, italic, reverse

 

Пример:

 

#highlight {light red, italic} {тяжело ранил вас}

Когда кто-либо тяжело ранит вас, строка с информацией об этом будет показана наклонным шрифтом ярко-красного цвета.

 

Если вы хотите подсветить строку, содержающую заданный участок, полностью - используйте переменные %0-%9 для указания меняющихся слов строки.

 

Пример:

 

#highlight {yellow} {%0 дал вам %1 монет}

Теперь строки типа "Вася дал вам 1000 монет" будут показываться желтым цветом.

См. также: #substitute, Меню "OPTIONS"/COLORS...

#HOTKEY

Синтаксис: #hotkey {имя клавиши} {команды}

Данная команда позволяет задать новую или переопределить существующую быструю клавишу. Нажав заданную клавишу (или комбинацию клавиш), указанные команды будут отправлены серверу, как если бы вы отдали их непосредственно с клавиатуры.

 

Синтаксис составного имени клавиши:

 

[shift+][ctrl+][alt+][имя клавиши]

 

Имя клавиши может быть цифрой, буквой или специальным именем.

 

Специальные имена:

 

BACK Backspace key TAB Tab

ENTER Enter ESC Escape

SP Пробел PGUP Page Up

PGDN Page Down END End

HOME Home LEFT Стрелка влево

UP Стрелка вверх RIGHT Стрелка вправо

DOWN Стрелка вниз INS Insert

DEL Delete NUM0-9 Серые цифры

DIV Серый "/" F1-F12 Функциональные клавиши

MUL Серый "*"

 

Пример:

 

#hotkey Ctrl+z {#zap}

#hotkey {alt+c} {#connect mud.arctic.org 2700}

#hotkey f1 flee

#hotkey ctrl+f5 спасти Васю

См. также:#hotset

#HOTSET

Синтаксис: #hotset {имя набора}

Эта команда устанавливает текущим указанный набор быстрых клавиш. Полезна для организации наборов в группы и переключения между ними.

См. также: #hotkey

#IAC

Синтаксис: #iac {send|receive} {single|double}

Значение по умолчанию для send - single

Значение по умолчанию для receive - double

#IF

Синтаксис: #if {УСЛОВИЕ} {КОМАНДЫ}

Когда вы используете команду #if, JMC оценивает условие и, если его результат отличается от 0, т.е., условие истинно, выполняются команды, определенные вторым параметром.

Операция сравнения строк в условных выражениях: #strcmp

 

Примеры:

 

#action {HP:%0>} {#if {%%0<50} {recall}}

Если количество хитпойнтов, показывающееся в строке состояния персонажа, меньше 50, вы переместитесь в свой дом. Переменная %%0 относится к команде #action, а не команде #if, поэтому необходимо двойное %.

 

#var Look Вася

#alias {%1 посмотрел на тебя} {#if {#strcmp {%1} {$Look}} {say ZZZ} }

Если на вас посмотрит Вася, вы скажете ZZZ.

См. также: #math

#IGNORE

Синтаксис: #ignore

Включает/выключает триггеры.

 

Пример:

 

#ignore

До повторной отдачи этой команды все триггеры не будут действовать.

См. также:#action

#INFO

Синтаксис: #info

Описание: Показывает количество заданных триггеров, алиасов, переменных, замен, антизамен и подсветок. Также сообщается о состоянии триггеров (вкл/выкл).

См. также: #message

#KILLALL

Синтаксис: #killall

Эта команда удаляет все заданные алиасы, триггеры, переменные, подсветки, замены и антизамены. Обычно используется при перезагрузке установок.

#LOG

Синтаксис: #log {имя файла} {append/overwrite}

Начинает запись в указанный файл всей текстовой информации, поступающей с сервера (кроме спецсимволов ANSI) и текста, введенного пользователем. Если JMC уже работает с каким-либо файлом, текущий лог закрывается и открывается указанный. Если эту команду отдать без параметров, текущий лог закроется. Если отсутствует второй параметр, лог будет вестись в режиме, установленном по умолчанию (задается в диалоге ПАРАМЕТРЫ/LOGGING). В режиме "append" JMC при старте лога добавляет текст в конец существующего файла, в режиме overwrite весь текст, существовавший в файле ранее, уничтожается.

 

#log {имя файла} {append|owerwrite}

 

Ключ screen позволяет использовать команду #log для сброса в указанный лог-файл содержимого текущего буфера экрана при старте логирования. (Работает в версии 2.9х)

 

Примеры:

 

#log castle.log

Начать ведение лога в файле castle.log

 

#log town.log overwrite

Закрывает файл "castle.log" и начинает запись в файл "town.log". Если такой файл существует, он будет предварительно очищен.

 

#log

Остановить ведение лога.

См. также:#read #write #textin ПАРАМЕТРЫ/LOGGING

#LOOP

Синтаксис: #loop {от,до} {команды}

#loop начинает выполнять указанные команды в цикле, сохраняя текущее значение счетчика в переменной %0. Эта переменная также может использоваться в заданных командах для построения сложных макросов.

 

Пример:

 

#loop {2,5} {взять все %0.сундук}

Вы возьмете все предметы из 2-го, 3-го, 4-го и 5-го сундуков.

#MAP

Синтаксис: #map <направление>

Данная команда добавляет указанное направление к текущему сохраняемому пути. Это полезно для записи пути при следовании за кем-либо.

 

Пример:

 

#action {Вася ушел на %0.} {#map {%%0}}

Если персонаж Вася покидает вашу локацию, направление, в котором он ушел, добавится к текущему пути.

См. также:#mark, #path, #pathdir, #savepath, #return, #unpath

#MARK

Синтаксис: #mark {start/stop}

Эта команда имеет может быть использована либо с одним аргументом, либо вообще без аргументов. Если задан параметр "start" (или никакого), то данная команда обнуляет текущую запись пути и включает "path mode" (режим записи пути). В этом режиме JMC автоматически сохраняет все передвижения в отдельном буфере.

 

Примеры:

 

#mark

Обнуляется буфер передвижений и включается режим записи пути.

 

#mark stop

Выключает режим записи пути.

См. также:#map, #mark, #path, #pathdir, #savepath, #return, #unpath

#MATH

Синтаксис: #math {переменная} {математическое выражение}

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

 

Пример:

 

#action {Perfect: HP:%0} {#math {half} {%0/2}}

Теперь переменная "half" содержит величину, равную половине ваших хитпоинтов (триггер будет работать до тех пор, пока ваше состояние - perfect).

 

#action {HP:%0} {#if {%%0<$half} {flee}}

Бежать, если количество хитпоинтов меньше половины.

См. также:#if

#MESSAGE

Синтаксис: #message {ТИП}

Эта команда включает/выключает выдачу сообщений, исходящих при определении/удалении алиасов, переменных, замен, антизамен или подсветок. Допустимые значения аргумента ТИП: alias, action, substitute, antisubstitute, highlights, variable.

Данная команда полезно для предупреждения захламления экрана и излишнего спамминга. Например, часто какие либо триггеры повешены на команды передвижения. Чтобы не получать каждый раз при передвижении надоедливые сообщения о переопределении триггера, используйте команду #message с соответствующим аргументом.

 

Пример:

 

#message {variable}

Вы больше не будете получать сообщений типа:

#variable start now set to 1

См. также:#info

#MULTIACTION

Синтаксис: #multiaction

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

 

Пример:

 

#alias get_stats {#action{HP:%1} {#var hp %1}; #action {MVS:%1} {#var mvs%1; #multiaction; #unact {HP:%1}; {#unact MVS:%1}}; #multiaction; #cr}

 

Что ж, весьма сложный алиас. Давайте разбираться. Вначале происходит задание двух триггеров. Первый триггер извлекает количество хитпоинтов из строки состояния и помещает полученное значение в переменную "hp". Второй извлекает количество единиц бодрости (movement points) и помещает полученное значение в переменную "mvs". Затем выключает мультитриггерный режим и удаляет оба заданных триггера. После определения триггеров алиас отправляет на сервер код перевода строки (чтобы получить строку состояния). После получения строки состоянии алиас заполняет указанные переменные требуемыми значениями, удаляет триггеры и выключает мультитриггерный режим.

 

Режим по умолчанию - ВЫКЛ.

См. также: #action

#MULTIHIGHLIGHT

Синтаксис: #multihighlight

#NOP

Синтаксис: #nop <текст>

Эта команда не делает ровным счетом ничего. Используется для написания комментариев в файлах макросов.

 

Пример:

 

#nop алиасы для использования в бою.

 

Увы, но при первой же записи в файл средствами JMC все команды #nop будут безжалостно потерты, поэтому имеет смысл снабжать файл комментариями только в случае, когда вы убеждены, что запись в процессе игры в данный файл вам не нужна.

#OUTPUT

Синтаксис: #output {цвет} {текст}

Вывод заданного текста в дополнительное окно 'Output'. Переменные поддерживаются.

 

Пример:

 

#action {^%0 говорит %1} {#drop;#output {light magenta} {[$TIME] %0: %1}}

Когда Вам из MUD'a придет такая строка: «Вася Пупкин говорит тебе пошли на дракона!» то этот триггер сбросит данную строку (в основном меню Вы ее не увидите) и выведет в дополнительное окно строку фиолетового цвета: [11:54:39] Вася Пупкин тебе пошли на дракона!

#PATH

Синтаксис: #path

Показывает текущее содержания буфера передвижений.

 

Пример:

 

#path

Покажет что-нибудь вроде: "#Path: n e e e s "

См. также:#mark, #map, #pathdir, #savepath, #return, #unpath

#PATHDIR

Синтаксис: #pathdir <направление движения> {направление возврата}

Для распознания отданных пользователем команд, как команд передвижения, JMC составляет список направлений. Когда пользователь отдает ту или иную команду передвижения или использует их комбинации (speedwalk'и), JMC сохраняет их в буфере пути. Текущее состояние буфера можно просмотреть командой #path. Также, используя команду #savepath, вы можете сохранить текущий буфер в качестве алиаса и в дальнейшем использовать созданный алиас для перемещения по локациям игры. По умолчанию JMC определяет шесть направлений - команд передвижения: "n s e w d u". Если вы используете нестандартные команды (типа North, South, Northwest), вы должны явно указать эти команды с помощью команды #pathdir. Первый аргумент этой команды содержит направление перемещения, второй - обратное ему направление. JMC использует эту информацию для выполнения команды #return. Как правило, все MUD'ы используют только шесть направлений: n (север), s (юг), e (восток), w (запад), d (вниз), u (вверх) и беспокоиться о новых напрвлениях не требуется.

 

Пример:

 

#pathdir {northwest} {southeast}

Каждый раз, когда вы отдадите команду northwest, это слово будет добавлено в текущий буфер пути (если режим записи пути включен).

См. также:#mark, #path, #map, #savepath, #return, #unpath

#PRESUB

Синтаксис: #presub

Включает/выключает возможность использования замещенных строк в триггерах.

 

Пример:

 

#sub {%0 crashes into you %1} {%0 СБИЛ ВАС!!!}

Теперь вы будете получать строку типа "Ghost СБИЛ ВАС!!!" каждый раз, когда вас сбивают с ног, вместо стандартного сообщения.

#act {СБИЛ ВАС} {встать}

Если presub выключено, этот триггер никогда не выполнится. Если включено, вы будете автоматически вставать, когда вас сбивают с ног.

См. также: #substitute

#READ

Синтаксис: #read {имя файла}

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

 

Пример:

 

#read mage.set

Считывает файл mage.set и устанавливает алиасы, триггеры, переменные и т.п., определенные в нем.

См. также:#write

#RETURN

Синтаксис: #return

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

 

Пример:

 

#mark

включить режим записи пути.

n

Теперь последнее направление в буфере пути - это "n"

#return

Отправить на сервер строку "s" и удалить "n" из буфера пути.

См. также:#mark, #path, #pathdir, #savepath, #map, #unpath

#SAVEPATH

Синтаксис: #savepath <имя алиаса> {reverse}

Записывает текущий буфер пути в алиас с заданным именем. Данная команда полезна, если вы хотите использовать информацию о пройденном пути в дальнейшем. Ключ [reverse] используется для сохранения обратного пути - из текущей локации в исходную.

 

Пример:

 

#path

Вы увидите что-то вроде: "#Path n n n e e s e e s e e n e"

 

#savepath town-castle

Записывает текущий буфер пути в алиас с именем "town-castle". Теперь данный алиас содержит набор команд "n ;n ;n ;e ;e ;s ;e ;e ;s ;e ;e ;n ;e"

 

#savepath castle-town reverse

Записывает путь, обратный содержащемуся в буфере пути, в алиас с именем "castle-town". Т.е., алиас "castle-town" будет содержать команды "w ;s ;w ;w ;n ;w ;w ;n ;w ;w ;s ;s ;s"

См. также:#mark, #path, #pathdir, #map, #return, #unpath

#SCRIPT

Синтаксис: #script {функция}

Команда вызывает заданный скрипт. Скрипты должны хранится в JMC/setting/name_profile.scr

 

Пример:

 

#script StartLog();

Вызовим функцию которая описана в файле скрипта.

#SHOWME

Синтаксис: #showme {текст}

Команда выведет заданный текст на экран.

 

Пример:

 

#action {%0 decayed in your hands} {#showme {*** %0 decayed !!!!}}

Теперь вы получите сообщение "*** sword decayed !!!", если меч в ваших руках рассыпется в пыль.

#SPEEDWALK

Синтаксис: #speedwalk

Включает/выключает "режим быстрого перемещения" ("speedwalking mode"). Быстрое перемещение - возможность JMC интерпретировать несколько направлений движения одной командой. Если команда, введенная пользователем, содержит только n, s, e, w, d, u, цифры, она будет интерпретирована, как последовательность движения и передана на сервер соответствующим образом. Цифрами обозначается количество повторов следующего сразу за цифрой направления.

 

Пример:

 

2ned4s

На сервер будет отправлена команда "n; n; e; d; s; s; s; s".

 

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

 

ВНИМАНИЕ!!! При включенном режиме вы не можете использовать команду "news". Для того, чтобы прочитать новости игры, отдавайте ее в виде "News".

#STATUS

Синтаксис: #status {число} {текст} [{цвет}]

Задействует окно статуса, их начисляется 3 штуки.

 

Пример:

 

#status 1 текст1

#status 2 текст2

#status 3 текст3

Выведет, соответственно, в первое второе и третье окно текст1, текст2 и текст3

#STRCMP

Синтаксис: #strcmp {текст} {текст}

Операция сравнения строк в условных выражениях.

 

Пример:

 

#var {test1} {Text1}

#var {test2} {Text2}

#alias TestA {#if {#strcmp {$test1} {$test2}} {say ZZZ} }

Если текст1 и текст2 совпадают, сказать ZZZ.

 

#var Look Вася

#alias {%1 посмотрел на тебя} {#if {#strcmp {%1} {$Look}} {say ZZZ} }

Если на вас посмотрел именно Вася, сказать ZZZ.

#SUBSTITUTE

Синтаксис: #substitute {участок текста} {текст}

Данная команда заменяет указанный участок текста в любой строке, исходящей с MUD-сервера, на заданный текст.

ЗАМЕЧАНИЕ! JMC производит все замены текста _до_ проверки на совпадение поступившей с сервера строки на триггера. Поэтому вы можете настраивать ваши триггера на тот текст, который получается после замены исходных строк.

 

Пример:

 

#substitute {ранил вас} {РАНИЛ ВАС}

Теперь вместо строки типа "Вася тяжело ранил вас" вы будете получать строку "Вася тяжело РАНИЛ ВАС".

 

#substitute {%0 ранил вас} {ОН РАНИЛ ВАС!}

Теперь строки будут меняться следующим образом:

"Вася ранил вас" - "ОН РАНИЛ ВАС!"

"Стражник тяжело ранил вас" - "ОН РАНИЛ ВАС!"

См. также:#antisubstitute, #unsubs, #presub

#TABADD/#TABDEL

Синтаксис: #tabadd/#tabdel {слово}

#tabadd — Эта команда добавляет для запоминания слова (текст - слова должны быть разделенные пробелом).

#tabdel — Эта команда удаляет слова которые мы запомнили ранее.

 

Пример:

 

#tabadd {вася бумбум пример}

Мы запомним слова «вася бумбум пример».

 

#tabdel {вася)

Мы удалим слово «вася».

#TEXTIN

Синтаксис: #textin {имя файла}

Эта команда считывает текст из указанного файла и отправляет его на сервер без какой-либо обработки. Полезна для управления игрой или написания больших сообщений.

См. также: #write, #read

#TICK

Синтаксис: #tick

Команда показывает количество секунд, оставшееся до следующего тика (окончания внутреннего временного интервала игры). Текст, выдаваемый командой, может обрабатываться триггерами.

См. также: #tickon #tickoff #tickset #ticksize

#TICKON/#TICKOFF

Синтаксис: #tickon/#tickoff

Обнуляет, а также включает/выключает встроенный счетчик тиков.

См. также:#tick #tickset #ticksize

#TICKSET

Синтаксис: #tickset

Обнуляет встроенный счетчик тиков. Команда используется для синхронизации вашего счетчика и счетчика игрового сервера. Размер тика на сервере - величина непостоянная, потому что часть времени может теряться при пересылке пакетов и других проблемах соединения. Поэтому для точного измерения вы должны время от времени синхронизировать счетчик JMC со счетчиком игрового сервера. Это легко сделать сделав триггер с использованием данной команд на какое-либо игровое событие, появляющееся только с новым тиком (например, сообщение о том, что вы голодны, что начался день/ночь и т.п.).

См. также: #tick #tickon #tickoff #ticksize

#TICKSIZE

Синтаксис: #ticksize <число секунд>

Устанавливает длительность тика в секундах. Наиболее часто в MUD-серверах величина тика составляет 60 секунд.

См. также:#tick #tickon #tickoff #tickset

#TOGGLESUBS

Синтаксис: #togglesubs

Сходна с #ignore - команда #togglesubs включает/выключает обработку замен текста. По умолчанию включено.

См. также:#substitute

#TOUPPER/#TOLOWER

Синтаксис: #toupper {variable_name} {text} /#tolower {variable_name} {text}

Изменяет буквы строк заданного текста на заглавные/строчные. Текст может быть текстом, а может быть переменной типа $var_name или подстановкой %1.

 

Пример:

 

#var Target TestText

#tolower Target2 $Target

В результате Target2 будет иметь значение 'testtext'

#toupper Target3 $Target

В результате Target3 будет иметь значение 'TESTTEXT'

#UNACTION

Синтаксис: #unaction {отрезок текста}

Удаляет триггер, повешенный на заданный отрезок текста.

 

Пример:

 

#unaction {crash into you}

Удаляет триггер, повешенный на строку "crash into you"

 

#unaction {*you*}

Удаляет все триггеры, повешенные на строки, в составе которых есть слово "you".

См. также: #action

#UNALIAS

Синтаксис: #unalias {имя удалаемого алиаса}

Данная команда удаляет алиас с указанным именем.

 

Пример:

 

#unalias {cc}

Удаляет алиас с именем "cc"

 

#unalias {c*}

Удаляет все алиасы, имена которых начинаются на "с".

См. также: #alias

#UNANTISUB

Синтаксис: #unantisub {строка удаляемой антизамены}

Команда удаляет указанную(ые) антизамену(ы).

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

#UNGAG

Синтаксис: #ungag {строка удаляемого гэга}

Эта команда удаляет #gag, повешенный на указанную строку.

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

#UNHIGHLIGHT

Синтаксис: #unhighlight {строка удаляемой подсветки}

Эта команда удаляет подсветку(~ки), повешенную(~ные) на указанную строку.

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

#UNHOTKEY

Синтаксис: #unhotkey {имя клавиши}

Эта команда удаляет существующую быструю клавишу.

См. также: #hotkey

#UNPATH

Синтаксис: #unpath

Удаляет последнюю запись из текущего буфера пути.

См. также:#mark, #path, #pathdir, #savepath, #return, #map

#UNSUBS

Синтаксис: #unsubs {строка удаляемой замены}

Эта команда удаляет замену, заданную по отношению к указанной строке.

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

#UNVARIABLE

Синтаксис: #unvariable {имя переменной}

Удаляет переменную с указанным именем.

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

#VARIABLE

Синтаксис: #variable {имя переменной} {значение}

Эта команда создает переменную с указанным именем и присваивает ей заданное значение. Значение переменной может быть использовано для построения триггеров/алиасов и иных команд. Имя переменной должно начинаться с буквы. Для последующего использования указателем на переменную служит знак $. Переменная может быть использована как часть любой строки или команды./p>

Пример:

 

#variable food bread

Создается переменная с именем "food" и ей присваивается значение "bread".

#variable container chest

Создается переменная с именем "container" и ей присваивается значение "chest".

#action {are hungry} {get $food $container;eat $food}

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

 

Вы можете использовать переменные в командах #math и #if:

 

Пример:

 

#variable hp 100

#action {HP:%1} {#variable hp %1 ; #if{$hp<50} {#showme TIME TO FLEE!}}

Создается переменная "hp", ей присваивается значение 100. В дальнейшем значение переменной корректируется триггером и содержит количество имеющихся хитпоинтов. При этом это количество проверяется, и если оно меньше 50, выдается сообщение о том, что пора убегать.

См. также:#unvariable, #math, #if

#VERBATIM

Синтаксис: #verbatim

Включает/выключает "verbatim" режим. В данном режиме строка, введенная пользователем, никак не обрабатывается и отправляется на игровой сервер без каких-либо изменений. Режим используется для управления игрой, создания сообщений и других подобных целей.

#WRITE

Синтаксис: #write {имя файла}

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

См. также: #read, #textin

#ZAP

Синтаксис: #zap

Закрывает текущее соединение. Используется для разрывания связи с игровым MUD-сервером.

См. также: #connect

Стандартные переменные $TIME и $DATE.

Синтаксис: $TIME/$DATE

Выводит текущую дату и время. $TIME — выведет время в формате чч:мм:сс (11:54:39), $DATE — дата в формате dd-mm-yyyy (29-03-2008)

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

 

Пример:

 

#output {red} {дата: $DATE время: $TIME}

Выведет в дополнительное окно строку: дата: 29-03-2008 время: 11:54:39

РАЗБОР ПОЛЕТОВ

Для быстрого входа на игровой сервер.

 

#alias {mud_in} {#connect mud.kiev.ua 9000;#hotkey {f12} {name_in}}

#alias {name_in} {3;name;qwerty;#hotkey {f12} {mud_in}}

#hotkey {f12} {mud_in}

 

Нажатие клавиши {f12} закрепляется изначально за алиасом mud_in. Этот алиас осуществляет соединение с сервером и вешает на сочетание клавиш {f12} следующий алиас - name_in, который выбирает кодировку (JMC), вводит имя и пароль, после чего снова подвешивает на {f12} исходный алиас mud_in. Такой изврат сделан для сокращения количества используемых быстрых клавиш.

 

Подгрузка файла макросов.

 

#alias {load_n} {#read name.set}

#alias {save_n} {#write name.set}

#hotkey {alt+f2} {save_n}

#hotkey {alt+f3} {load_n}

 

На сочетания клавиш {alt+f3} и {alt+f2} вешается подгрузка файла макросов name.set и запись текущего набора в указанный файл соответственно.

 

Меняем тип контейнера.

 

#alias {che_1} {#var chest bag;#hotkey {ctrl+r} {che_2}}

#alias {che_2} {#var chest rock;#hotkey {ctrl+r} {che_1}}

#variable {chest} {bag}

#hotkey {Ctrl+R} {che_1}

 

Создается переменная $chest, значение которой по нажатию комбинации клавиш {ctrl+r} меняется на "bag" или "rock" - сумка и летающий камень - самые распространенные контейнеры для переноски груза, доступные молодому игроку.

 

Меняем тип питьевого контейнера.

 

#alias {dri_1} {#var water barrel;#hotkey {ctrl+r} {dri_2}}

#alias {dri_2} {#var water skin;#hotkey {ctrl+r} {dri_1}}

#variable {water} {barrel}

#hotkey {Ctrl+D} {dri_1}

 

Создается переменная $drin, значение которой по нажатию комбинации клавиш {ctrl+d} меняется на "barrel" или "skin" - бочонок и мех - самые распространенные питьевые контейнеры, доступные молодому игроку.

 

Меняем тип еды.

 

#alias {foo_1} {#var food bread;#hotkey {ctrl+t} {foo_2}}

#alias {foo_2} {#var food pie;#hotkey {ctrl+t} {foo_3}}

#alias {foo_3} {#var food meet;#hotkey {ctrl+t} {foo_1}}

#variable {food} {bread}

#hotkey {Ctrl+T} {foo_3}

 

Создается переменная $food, значение которой по нажатию комбинации клавиш {ctrl+t} меняется на "bread", "pie" или "meet" - самые распространенные виды жратвы, доступные даже новичку - хлеб и пирог и мясо.

 

Задаем переменной нужное значение.

 

#alias {еда} {#var food %1}

#alias {тюк} {#var chest %1}

#alias {пить} {#var water %1}

 

Так как вышеперечисленные виды контейнеров для переноски барахла и виды пищи - это лишь довольно малая часть от доступного, то создается две новые команды, по которым можно заполнить эти переменные чем угодно. Например, у вас куча пирогов. Команда "еда pie" присвоит переменной $food значение "pie". Аналогично действует команда типа "тюк bag" или "пить barrel".

 

Цель предыдущих манипуляций.

 

#alias {жрать} {get $food $chest;eat $food;dri $drin}

#hotkey {Ctrl+ж} {жрать}

 

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

 

Снимаем первичное и вторичное оружие для ремонта и вооружаемся обратно.

 

#alias {subs} {#var weap %1}

#alias {sec} {#var offh %1}

#variable {weap} {sword}

#variable {offh} {dagger}

#alias {чинить} {rem $weap;rep $weap;wear $weap;rem $offh;rep $offh;sec $offh}

#hotkey {Ctrl+Alt+H} {чинить}

 

Командами "subs/sec" задается оружие, которое вы держите в соответствующей руке. Например, "subs sword; вторичное dagger". Эти значения помещаются в переменные $weap и $offh. Команда "чинить" осуществляет процедуру обогащения владельца оружейного магазина за ваш счет - вы снимаете свое оружие, чините его и одеваете снова. Эта команда повешена на сочетание клавиш {Ctrl+Alt+H}. Кстати, успешно используется и в отсутствие видимости каких-либо чинилок - для быстрого перевооружения на основной тип оружия.

 

Ремонт вещей.

 

#alias {рем} {#var bad_eq %1;#cr;сня $bad_eq;чин $bad_eq;оде $bad_eq}

 

Назначение этого алиаса - удобная починка одежки. Так как ее куда больше, чем оружия, да и чинить ее нужно почти всегда не всю, то была создана отдельная команда. При отдаче команды типа "рем belt" этот самый пояс снимается с тела, отдастся на починку и оденется снова. При этом чиненая шмотка запоминается в переменной bad_eq.

 

Установление переменной $fight в зависимости от режима игры: битва/мирный.

 

#action {[%1:%2]} {#var fight 1} {2}

#action {^Твой %1} {#var fight 1} {2}

#action {[Выходы:%0} {#var fight 0} {5}

#action {%0 ТРУП!!} {#var fight 0} {5}

#hotkey {Ctrl+V} {#message var}

 

Эти два триггера устанавливают одну из важнейших переменных - fight. Она равна нулю в обычном режиме и единице в режиме боя. Так как устанавливается эта штука постоянно, то, чтобы не захламлять экран сообщениями вида "$fight now set to", режим показа системных мессаг о присвоении переменных у меня обычно выключен. Но, если он вдруг понадобится для чего-либо, - сделан хоткей, включающий/выключающий сей режим.

Большинство триггеров типа автоматического поедания пищи при получении сообщения о том, что вы голодны, имеют неприятную особенность - они выполнятся независимо ни от чего. И если вы проголодались аккурат в момент особо тяжелой драки, то потеря времени на еду может стать роковой. А с использованием указанного выставления переменной все становится очень аккуратно, например:

 

#action {^Вы хотите есть} {#if {$fight=0} {get $food $chest;eat $food}} {5}

или, если вы используете ранее приведенный пример, просто

#action {^Вы хотите есть} {#if {$fight=0} {жрать}} {5}

тогда вы и поедите и попьете сразу.

 

Определение врага/цели/жертвы.

 

#alias {враг} {#var enemy %1}

#hotkey {Alt+A} {dir $enemy}

#hotkey {Shift+A} {trip $enemy}

#hotkey {Ctrl+A} {dir $enemy;kick $enemy}

#hotkey {Alt+C} {hunt $enemy}

 

Ничего личного. Простенькие хоткеи для боя. Командой типа "враг Вася" вы устанавливаете несчастного Васю личным врагом и вешаете на него хоткеи с весьма прозрачными действиями. Естественно, не думайте, шо Вася полный придурок и не сделает тоже самое против вас.

 

Автовставание/спать/проснуться/встать.

 

#action {Обессилев, ты падаешь лицом вниз!} {st} {5}

#action {Уфф... Но ведь ты отдыхаешь...} {stan} {5}

#action {Во сне? Или может сначала проснешься...} {wake;stan} {5}

#action {Вам лучше встать на ноги} {#if {$fight=0} {stan}} {1}

#hotkey {F8} {flee;flee;flee}

#hotkey {DIV} {recal}

#hotkey {Ctrl+NUMDEL} {stan}

#hotkey {Ctrl+NUM0} {rest}

#hotkey {NUM0} {sleep}

 

Триггеры на автовставание. Первый - обычный - срабатывает в случае, если вы отдыхаете и попытались отправиться в путь не вставая. Второй предназначен для автовставания из положения "сплю и вижу сладкие сны". Третий триггер настроен так, что в процессе боя не работает, поскольку исполнение команды "stan" в бою, т.е., потеря времени, легко может стоить вам жизни. Драться можно и сидя. Бежать не получится, правда. Но уж если хотите бежать, можно использовать простой хоткей на "встать". Рекольнуться лучше хоткеем, а бежать - множественной попыткой (а вдруг не удастся с первого раза). Но кроме бега и боя - иногда надо и отдыхать и спать.

 

Автопрокорм/автопропой.

 

#action {^Ты хочешь есть} {#if {$fight=0} {get $food $chest;eat $food}} {5}

#action {^Ты хочешь пить} {#if {$fight=0} {get $water $chest;dri $water}} {5}

#action {Ты умираешь от голода!} {#if {$fight=0} {get $food $chest;eat $food}} {5}

#action {^Ты умираешь от жажды!} {#if {$fight=0} {get $water $chest; dri $water}} {5}

#action {Ты пьешь воду из %0.} {#if {$fight=0} {put $water $chest}} {5}

#alias {cw} {cast 'create water'}

#action {Здесь пусто.} {#if {$fight=0} {cw $water;dri $water} } {5}

 

Триггеры для автопрокорма и автопропоя вашего персонажа. В состоянии боя не срабатывают. Поедите и попозже :)

Представленный алиас и триггер для тех кто может создавать воду (маги, паладины, антипаладины или кто там еще). Как только мы пытаемся пить и наше водохранилище пусто то мы наполняем его водой и пьем, потом ложим в контейнер.

 

Автозаполнение сосуда

 

#alias {пить} {#var water %1}

#alias {fi} {get $water $chest;fill $water fount;put $water $chest}

#action {^Небольшой фонтан} {#if {$fight=0} {fi;dri}} {5}

#action {^Маленький родник} {#if {$fight=0} {fi;dri род}} {5}

 

Командой типа "пить бочонок" задается переменная water, содержащая имя выбранного вами сосуда для запаса питья. Триггеры осуществляют автозаполнение этого сосуда и вашего желудка водой вблизи источников. Естественно, только в мирный период жизни. Дополнительно проставлен знак ^ - он указывает, что заданный кусок текста _обязательно_ должен начинать строку - это сделано для того, чтобы предотвратить милые шуточки типа "сказать Вася Красивый белый фонтан" вблизи отравленного источника.

 

Включение/выключение встроенного счетчика тиков.

 

#alias {tick_on} {#tickon; hotkey {Ctrl+N} {tick_off}}

#alias {tick_off} {#tickoff;#hotkey {Ctrl+N} {tick_on}}

#hotkey {Ctrl+N} {tick_on}

#action {^Начался день} {#tickset} {5}

#hotkey {Ctrl+Alt+D} {time}

#ticksize 60

 

На комбинацию клавиш {Ctrl+N} вешается включение/выключение встроенного счетчика тиков, кроме того, задается триггер синхронизации счетчика по игровому сообщению о начале нового дня. Впрочем, этот набор практически не используется. Последний хоткей - выяснение времени суток.

Команда #ticksize выставляет размер тика в 60 секунд. По некоторым данным, равен 72 секунды.

Настройка tick timer рассмотрена в Примеры ACTIONS

 

Выделение цветом сообщения

 

#highlight {light cyan} {%0 группе: %1}

#highlight {red} {^ВЫБИЛ%0 у тебя оружие и оно упало на землю}

 

Подсветка нужного куска текста. В примере будет подсвечиваться строка: Вася говорит группе: ку-ку. Второй пример подсветит строку как на ВЫБИЛ так и на ВЫБИЛО и ВЫБИЛА и т.д.

 

Хоткеи для группы.

 

#hotkey {`} {group}

#hotkey {Ctrl+1} {resc}

#hotkey {Ctrl+`} {gt готов}

 

Хоткеи для группового зонинга. Состояние группы, ваше собственное, помогать танку, сообщить о готовности.

 

Прятаться

 

#hotkey {Alt+Z} {прятаться}

 

Ну прятаться и все тут. Естественно сработает у того у кого есть это умение.

 

Мониторинг аффектов.

 

#variable {flagArmor} {_}

#variable {flagBl} {_}

 

#alias {ca} {cast 'armor'}

#alias {bl} {cast 'bless'}

 

#alias {show_mage} {#status 3 $flagArmor $flagBl} {info}

#alias {сбфлаг} {#var {flagArmor} {_}; #var {flagBl} {_}} {_}} {info}

#alias {НАЧАЛО} {сбфлаг;show_mage } {info}

 

#action {Магическая защита, защищавшая тебя, исчезает.} {#var {flagArmor} {_};show_mage;#if {$fight=0} {ca}} {5}

#action {Ты уже используешь магическую защиту.} {#var {flagArmor} {A};show_mage} {5}

#action {Ты чувствуешь чью-то магическую защиту.} {#var {flagArmor} {A};show_mage} {5}

 

#action {Ты чувствуешь божественное благословение.} {#var {flagBl} {Bl};show_mage} {5}

#action {Ты уже благословлен.} {#var {flagBl} {Bl};show_mage} {5}

#action {Священная аура вокруг тебя исчезает.} {#var {flagBl} {_};show_mage} {5}

 

#action {Тебя УБИЛИ!!} {сбфлаг} {5}

 

Вывод накастованых аффектов в еще некоторые окошки :) да-да есть еще такие, внизу окна на сером фоне 3 штуки которые подлиннее.

В примере указаны только 2 аффекта Bless(благословение) и Armor(защита). Сначала определяем алиасы  show_mage который задает где и куда выводить наши значения, сбфлаг -  сбрасывает все флаги, НАЧАЛО — вызывает  show_mage и  сбфлаг.

Триггеры присваивают той или иной переменной значение и выводят информацию, если это фраза о том, что аффект закончен — идет проверка на бой и если вы не в бою кастуем.

 

Мониторинг строки состояния.

 

#variable {a} {19}

#variable {dhp} {0}

#variable {limit} {0}

#variable {mn} {100}

#variable {mv} {10}

#variable {oldhp} {10}

#variable {otst} {16}

 

#action {Ты попытаешься убежать при %1 жизни (hit points).} {#var {limit}{%%1}} {5}

 

#action {<%0> %1/%2hp %3mn} {#if {%1<$limit} {#showme {light red} {Ваше здоровье: %1. Утеряно: $dhp. Есть опасность для жизни!!!}; #bell}; #math {dhp} {$oldhp-%1}; #var {oldhp} %1; #status 2 {>Повреждений нету<} {light green}; #if {$dhp>0} {#status 2 {Утеряно $dhp hp} {light red}}; #if {$dhp<0} {#math dhp {-1*$dhp}; #status 2 {>Получено $dhp hp<} {yellow}}; #math {otst} {%2/19}; #math {a} {%1/$otst}; #if {$a=1} {#status 1 {0} {light red, b yellow}}; #if {$a=2} {#status 1 {00} {light red, b yellow}}; #if {$a=3} {#status 1 {000} {light red}};#if {$a=4} {#status 1 {0000} {light red}};#if {$a=5} {#status 1 {00000} {red, b charcoal}};#if {$a=6} {#status 1 {0000000} {red, b charcoal}}; #if {$a=7} {#status 1 {0000000} {magenta, b charcoal}}; #if {$a=8} {#status 1 {00000000} {yellow}}; #if {$a=9} {#status 1 {000000000} {yellow}}; #if {$a=10} {#status 1 {0000000000} {yellow}}; #if {$a=11} {#status 1 {00000000000} {yellow}}; #if {$a=12} {#status 1 {000000000000} {yellow}}; #if {$a=13} {#status 1 {0000000000000} {cyan, b charcoal}}; #if {$a=14} {#status 1 {00000000000000} {light cyan}}; #if {$a=15} {#status 1 {000000000000000} {light cyan}}; #if {$a=16} {#status 1 {0000000000000000} {light cyan}}; #if {$a=17} {#status 1 {00000000000000000} {light green}}; #if {$a=18} {#status 1 {000000000000000000} {light green}}; #if {$a=19} {#status 1 {0000000000000000000} {light green}}} {1}

 

Вот такой вот сложненький триггер который следит за строкой состояния (промпт/prompt) и который информирует о том, что у вас осталось мало здоровья в свою очередь вы может быть сбежите или добьете, но проинформированы вы будете. Сейчас разберем его немножко.

Работает такой триггер если у вас строка такого вида: «Вася: 10/20hp 100mn»

Значит сначала определим нужные переменные. Потом напишем триггер который реагирует на wimpy (то есть когда сбежать с поля боя), он установит предел оповещения о том что у вас мало здоровья. И последний триггер — коротко: считаем и выводим градусник текущего здоровья в первое окно статуса, ну и если есть опасность для жизни, то эта фраза будет во втором окне статуса.

ЕЩЕ.

операция сравнения строк в условных выражениях:

#var {test1} {Text1}

#var {test2} {Text2}

#alias TestA {#if {#strcmp {$test1} {$test2}} {say ZZZ} }

 

#var Look Вася

#alias {%1 посмотрел на тебя} {#if {#strcmp {%1} {$Look}} {say ZZZ} }

 

^ - при написании тригеров можно использовать символ ^ как признак начала строки.

\ - если строка начинается с символа \ - она отправляется на сервер без изменений

Примеры HOTKEYS

клавиша присоединения к серверу

 

F12 - #connect mud.kiev.ua 9000 (присоединяет вас к серверу)

F10 - quit (команда выхода из игры. Не работает, если у вас в крови гуляет адреналин (во время или после боя), сначала надо успокоиться (некоторе время больше не совершать боевых действий)). Если у вас стоит в опциях Autoreconnect, то хорошо бы еще добавить такой триггер:

#action {Жаль, но все хорошее когда-нибудь заканчиваетсЯ.} {#zap}

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

 

клавиши перемещения / ориентации в пространстве

 

NUM8 - n (двигаться на север)

NUM4 - w (двигаться на запад)

NUM6 - e (двигаться на восток)

NUM2 - s (двигаться на север)

MIN - u (двигаться вверх)

ADD - d (двигаться вниз)

NUM3 - scan (оглядеться вокруг)

NUM5 - look (оглядеть комнату)

 

NUM0 - sleep (заснуть)

NUMDEL - wake (проснуться)

 

Ctrl NUM0 - rest (сесть отдохнуть)

Ctrl NUMDEL - stand (встать)

 

Ctrl NUM8 - scan n (вглядываться на север)

Ctrl NUM4 - scan w (вглядываться на запад)

Ctrl NUM6 - scan e (вглядываться на восток)

Ctrl NUM2 - scan s (вглядываться на север)

Ctrl MIN - scan u (вглядываться вверх)

Ctrl ADD - scan d (вглядываться вниз)

Ctrl NUM5 - exits (посмотреть названия комнат вокруг)

 

Alt NUM8 - open north (открыть дверь на север)

Alt NUM4 - open west (открыть дверь на запад)

Alt NUM6 - open east (открыть дверь на восток)

Alt NUM2 - open south (открыть дверь на север)

Alt MIN - open up (открыть дверь вверх)

Alt ADD - open down (открыть дверь вниз)

 

клавиши получения информации

 

NUM7 - equipment (посмотреть какие вещи одеты)

NUM9 - score (посмотреть свои параметры)

NUM1 - inventory (посмотреть инвентарь)

Ctrl DIV - worth (посмотреть свои деньги и статистику убийств по align-ам)

Ctrl MUL - affect (посмотреть, под действием каких заклинаний находишься)

Ctrl w - who (посмотреть, кто еще из игроков находится в мире)

Ctrl p - prac (посмотреть, насколько развиты твои умения и заклинания)

 

команды для квестов

 

F2 - quest request;quest info;quest time (получить квест у квестораи внимательно рассмотреть задание)

F3 - quest time (посмотреть, сколько осталось времени на выполнение квеста или время до следующего квеста)

F4 - quest complete (завершить выполнение квеста)

F1 - quest info (посмотреть, что за квест у тебя сейчас)

 

остальные команды

 

F8 - flee (убежать с поля боя)

F6 - flee;flee;flee (убежать с поля боя несколько раз, а вдруг не получилось с первого раза :) )

F5 - get all corp (забрать все вещи из трупа)

Ctrl F5 - look in corpse (посмотреть содержимое трупа)

Alt F5 - get coin corpse (взять деньги с трупа)

DIV - recal (помолиться о перемещении в свой храм. Не работает, если в крови гуляет адреналин и в некоторых зонах / )

 

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

Примеры ACTIONS

Настройка tick timer.

 

Сейчас я расскажу как настроить еще одну очень полезную вещь - tick timer с помощью триггеров. Время в мире меряется тиками (в игре 1 час - 1 тик) длительностью примерно 51-53 секунды, но точного времени одного тика не существует. В клиенте есть встроенные команды для tick timer-a : #tickon включает таймер, #tickoff выключает, #ticksize <секунды> устанавливает его длительность, #tickset обнуляет таймер.

Итак, нам надо в начале сессии установить размер таймера 53 секунды и запустить его, а в процессе игры автоматически синхронизировать наш tick timer с игровым временем.

 

Для начальной установки пишем такие триггеры:

 

#action {Архивариус восклицает 'Добро пожаловать в Dream Land, SomeName!'} {#ticksize 52;#tickon}

#action {Reconnecting. Используй replay, чтобы услышать, что тебе говорили.} {#ticksize 52;#tickon}

 

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

 

#tickset;#showme Tick synchronized.

 

при наступлении следующих событий :

Теперь ты снова можешь взять задание.

Солнце медленно опустилось за горизонт.

гаснет

Начинается новый день.

 

и т.д. (события менияющие погоду, потухание факела или что-то-тама)

Надеюсь того, что я уже рассказал. тебе хватит, чтобы сделать это. И, таким образом, в правом нижнем углу клиента будет тикать время - сколько осталось до конца тика. За 10 секунд до конца тика в окно вылезет текст #10 SECONDS TO TICK, а при наступлении тика #TICK. Это сильно облегчает игру.

 

Общение в отдельном окне.

 

#action {^%0 говоришь %1} {#drop;#output {light magenta} {[$TIME] %0 говоришь: %1}} {5}

#action {^%0 говорит %1} {#drop;#output {light magenta} {[$TIME] %0 %1}} {5}

 

Все что нам говорят будет сбрасываться в основном окне и кидаться в дополнительное окно сверху. На основе этого триггера можно разными цветами сделать сброс общих каналов.

 

Автооткрытие дверей.

 

#action {^%0: закрыто} {op %0} {5}

 

Если вы пошли, например, на восток, а там закрытая дверь то будет послана команда "op дверь".

 

Прекратить запись лога.

 

#action {#Connection lost} {logoff} {5}

 

А вдруг мы не вышли красиво? Вот так вот бац и обрубило интернет? Тогда будет у нас фраза #Connection lost на которую и происходит реакция прекращения ведения лога.

Примеры ALIAS

Ведение логов

 

#alias {logon} {#scr StartLog(); #hotkey {alt+L} {logoff}}

#alias {logoff} {#log; #hotkey {alt+L} {logon}}

#hot {Alt+L} {logon}

#hot {Alt+X} {logoff}

 

По хоткею Alt+L адиас logon в котором мы вызываем скрип (примеры СКРИПТОВ) который начинает записывать лог в удобной нам форме, и присваиваем этому же хоткею алиас logoff, который в свою очередь прекращает ведение лога и переназначает хоткей на logon.

Вот такой цикл получается, то есть в принципе нам можно пользоваться только Alt+L для начала и конца ведения лога, но иногда бывает что клиент вылетел и запомнилась старая привязка хоткея. Для этого есть второй хот Alt+X который удобен для прекращения ведения старого лога.

 

Выход

 

#alias {sq} {save;quit;logoff}

 

Красиво выходим: сохраняемся, выходим и прекращаем ведение логов.

 

Вход

 

#action {Помещение всемирного архива} {logon} {5}

 

Реагируем на первую оригинальную фразу из муда и начинаем запись лога.

Примеры HIGHLIGHT

#highlight {white,b black} {%0 день %1}

#highlight {yellow,b black} {%0 лучи солнца %1}

#highlight {white,b black} {%0 магический щит %1}

#highlight {blue,b black} {%0 ночь %1}

#highlight {light red,b light red} {%0 разлетается на мелкие части.}

#highlight {light red,b charcoal} {-=*МОЖЕШЬ ВЗЯТЬ КВЕСТ*=-}

#highlight {yellow,b light blue} {Белая аура вокруг тебя исчезает.}

#highlight {light red,b black} {ВЫБИЛ%0 у тебя оружие и оно упало на землю!}

#highlight {white,b black} {День %0}

#highlight {yellow,b light blue} {Магический щит, защищавший тебя, исчезает.}

#highlight {yellow,b black} {Молнии %0}

#highlight {yellow,b light blue} {Священная аура вокруг тебя исчезает.}

#highlight {yellow,b blue} {Силовое поле, защищавшее тебя, исчезает.}

#highlight {yellow,b light blue} {Твой гнев проходит.}

#highlight {yellow,b blue} {Твоя сопротивляемость злым силам понижается.}

#highlight {yellow,b light blue} {Ты более не чувствуешь присутствие невидимых сил.}

#highlight {yellow,b light blue} {Ты больше не видишь состояния других.}

#highlight {light magenta,b black} {Ты не можешь сконцентрироваться.}

#highlight {green,b light red} {Ты ничего не видишь!}

#highlight {light green,b black} {Ты умираешь от голода!}

#highlight {light blue,b black} {Ты умираешь от жажды!}

#highlight {light green,b black} {Ты хочешь есть.}

#highlight {light blue,b black} {Ты хочешь пить}

#highlight {yellow,b light blue} {Ты чувствуешь желание вознести молитву Богам.}

#highlight {yellow,b blue} {Ты чувствуешь, что у тебя вновь могут отбирать здоровье и энергию.}

#highlight {yellow,b light blue} {Ты чуствуешь себя беззащитнее перед злом.}

#highlight {light blue,b black} {водой}

#highlight {light blue,b black} {воду}

 

Ну просто пример выделения цветом фраз, слов и фраз/слов с переменной

Примеры SUBSTITUTE

Замена слов.

 

#substitute {%0 'abrazak'} {%0 Armor}

#substitute {%0 'aeawaihuhz oarzw'} {%0 Adamantite Golem}

#substitute {%0 'aggugh'} {%0 Assist}

#substitute {%0 'aghgrur xart'} {%0 Astral Walk}

#substitute {%0 'ahhgruqh ahpzf'} {%0 Attract Other}

#substitute {%0 'aiuwahz oculoae'} {%0 Animate Dead}

#substitute {%0 'ajudihz zuguai'} {%0 Acute Vision}

#substitute {%0 'aque abrafax'} {%0 Acid Arrow}

#substitute {%0 'aque bragh'} {%0 Acid Blast}

#substitute {%0 'aqzhjw sfuwjg'} {%0 Acetum Primus}

#substitute {%0 'aue'} {%0 Aid}

#substitute {%0 'azoug'} {%0 Aegis}

#substitute {%0 'babrat gtui'} {%0 Bark Skin}

#substitute {%0 'braoculo babrafuzf'} {%0 Blade Barrier}

#substitute {%0 'braqt gpfaje'} {%0 Black Shroud}

#substitute {%0 'braqt oculoahp'} {%0 Black Death}

#substitute {%0 'brjzyucandus'} {%0 Bluefire}

#substitute {%0 'candusghafahuai'} {%0 Restoration}

#substitute {%0 'candusghafuid dies'} {%0 Restoring Light}

#substitute {%0 'candusguruunsoqz'} {%0 Resilience}

#substitute {%0 'candusounsozfahuai'} {%0 Regen}

#substitute {%0 'candusqpabraoz'} {%0 Recharge}

#substitute {%0 'canduswazz eugzagz'} {%0 Remove disease}

#substitute {%0 'canduswazz judifgz'} {%0 Remove Curse}

#substitute {%0 'canduswazz sausabru'} {%0 Remove Poison}

#substitute {%0 'canduswazz yzabra'} {%0 Remove Fear}

#substitute {%0 'candusyfzgp'} {%0 Refresh}

#substitute {%0 'candusyjzunsoahuai'} {%0 Rejuvenation}

#substitute {%0 'diesilla barh'} {%0 Lightning Bolt}

#substitute {%0 'diesilla gpuzre'} {%0 Lightning Shield}

#substitute {%0 'djaihjw gsutz'} {%0 Quantum Spike}

#substitute {%0 'eabrat waqz'} {%0 Dark Mace}

#substitute {%0 'eawiahuai'} {%0 Damnation}

#substitute {%0 'egraoaig bcandusahp'} {%0 Dragons Breath}

#substitute {%0 'eugfjshuai'} {%0 Disruption}

#substitute {%0 'eugszr oaae'} {%0 Dispel Good}

#substitute {%0 'eugszr waouq'} {%0 Dispel Magic}

#substitute {%0 'eugszr zzur'} {%0 Dispel Evil}

#substitute {%0 'euguihzofahz'} {%0 Disintegrate}

#substitute {%0 'fido xzasai'} {%0 Bless Weapon}

#substitute {%0 'fido'} {%0 Bless}

#substitute {%0 'gaie ghafw'} {%0 Sand Storm}

#substitute {%0 'gaiqhjabral'} {%0 Sanctuary}

#substitute {%0 'gaiqhuyl raieg'} {%0 Sanctify Lands}

#substitute {%0 'garabra ydies'} {%0 Solar Flight}

#substitute {%0 'ghaiz gtui'} {%0 Stone Skin}

#substitute {%0 'ghaiz oarzw'} {%0 Stone Golem}

#substitute {%0 'ghawuia'} {%0 Stamina}

#substitute {%0 'ghcandusiohp'} {%0 Strength}

#substitute {%0 'ghix'} {%0 Slow}

#substitute {%0 'gjdudauaf pzar'} {%0 Superior Heal}

#substitute {%0 'gjryjfjg gsgrul'} {%0 Sulfurus Spray}

#substitute {%0 'gjwwai gpaeax'} {%0 Summon Shadow}

#substitute {%0 'gjwwai'} {%0 Summon}

#substitute {%0 'gpaeax qhiat'} {%0 Shadow Cloak}

#substitute {%0 'gpaqtuio ogrugs'} {%0 Shocking Grasp}

#substitute {%0 'gpaqtuyo hfas'} {%0 Shocking Trap}

#substitute {%0 'gpuzre'} {%0 Shield}

#substitute {%0 'gpuzreuio'} {%0 Shielding}

#substitute {%0 'gqcandusaw'} {%0 Scream}

#substitute {%0 'gruaiozf ghayy'} {%0 Ranger Staff}

#substitute {%0 'grul ay hfjhp'} {%0 Ray of Truth}

#substitute {%0 'gruugz oculoae'} {%0 Raise Dead}

#substitute {%0 'grzzs'} {%0 Sleep}

#substitute {%0 'gsufuhjar pawwzf'} {%0 Spiritual Hammer}

#substitute {%0 'gszqhgrur yjfaf'} {%0 Spectral Furor}

#substitute {%0 'gszrr gpuzre'} {%0 Spell Shield}

#substitute {%0 'gunsogz ruyz'} {%0 Sense Life}

#substitute {%0 'gurunsoqz'} {%0 Silence}

#substitute {%0 'gzzzfuhl yafqz'} {%0 Severity Force}

#substitute {%0 'hiqahz abyzqh'} {%0 Locate Object}

#substitute {%0 'hjfi'} {%0 Turn}

#substitute {%0 'hzrzsafh'} {%0 Teleport}

#substitute {%0 'iznjg'} {%0 Nexus}

#substitute {%0 'judicandus dies'} {%0 Cure Light}

#substitute {%0 'judicandus eugzagz'} {%0 Cure Disease}

#substitute {%0 'judicandus gzfuajg'} {%0 Cure Serious}

#substitute {%0 'judicandus iafwar'} {%0 Cure Normal}

#substitute {%0 'judicandus nose'} {%0 Cure Blind}

#substitute {%0 'judicandus noselacri'} {%0 Cure Blindness}

#substitute {%0 'judicandus qfuhuq'} {%0 Cure Critic}

#substitute {%0 'judicandus sausabru'} {%0 Cure Poison}

#substitute {%0 'judicandus wuiaf'} {%0 Cure Minor}

#substitute {%0 'judifgz'} {%0 Curse}

#substitute {%0 'judifgze raieg'} {%0 Cursed Lands}

#substitute {%0 'mosailla paieg'} {%0 Burning Hands}

#substitute {%0 'nofoculahidjahz'} {%0 Ventriloquate}

#substitute {%0 'noselacri'} {%0 Blindness}

#substitute {%0 'oahz'} {%0 Gate}

#substitute {%0 'oarzaiuq xpus'} {%0 Galvanic Whip}

#substitute {%0 'oculoaerl nofoaw'} {%0 Deadly Venom}

#substitute {%0 'oculoayunso'} {%0 Deafen}

#substitute {%0 'oculogzfh yugh'} {%0 Desert Fist}

#substitute {%0 'oculoinfra arr'} {%0 Detect All}

#substitute {%0 'oculoinfra eugzagz''} {%0 Detect Disease}

#substitute {%0 'oculoinfra jioculoae'} {%0 Detect Undead}

#substitute {%0 'oculoinfra oaae'} {%0 Detect Good}

#substitute {%0 'oculoinfra sausabru'} {%0 Detect Poison}

#substitute {%0 'oculoinfra uizuguburuhl'} {%0 Detect Invisible}

#substitute {%0 'oculoinfra waouq'} {%0 Detect Magic}

#substitute {%0 'oculoinfra zzur'} {%0 Detect Evil}

#substitute {%0 'oculowaiyucandus'} {%0 Demonfire}

#substitute {%0 'ofajs oculoyunsogz'} {%0 Group Defense}

#substitute {%0 'ofajs pzar'} {%0 Group Heal}

#substitute {%0 'ofaqz'} {%0 Grace}

#substitute {%0 'ofzahzf pzar'} {%0 Greater Heal}

#substitute {%0 'ouaih ghcandusiohp'} {%0 Giant Strength}

#substitute {%0 'pabraw'} {%0 Harm}

#substitute {%0 'paghz'} {%0 Haste}

#substitute {%0 'paie ay jioculoae'} {%0 Hand of Undead}

#substitute {%0 'parl xafe'} {%0 Holy Word}

#substitute {%0 'parrjquiahuai'} {%0 Hallucination}

#substitute {%0 'pjffuqaiz'} {%0 Hurricane}

#substitute {%0 'pjiozf xzasai'} {%0 Hunger Weapon}

#substitute {%0 'pzah wzhar'} {%0 Heat Metal}

#substitute {%0 'pzar'} {%0 Heal}

#substitute {%0 'pzaruio dies'} {%0 Healing Light}

#substitute {%0 'pzrryucandus'} {%0 Hellfire}

#substitute {%0 'qafaia'} {%0 Corona}

#substitute {%0 'qaffjshuai'} {%0 Corruption}

#substitute {%0 'qahijf gsfal'} {%0 Colour Spray}

#substitute {%0 'qaihfar jioculoae'} {%0 Control Undead}

#substitute {%0 'qaihfar xzahpzf'} {%0 Control Weather}

#substitute {%0 'qaihuijar dies'} {%0 Continual Light}

#substitute {%0 'qaiqzrrahuai'} {%0 Cancellation}

#substitute {%0 'qarr diesilula'} {%0 Call Lightning}

#substitute {%0 'qarw'} {%0 Calm}

#substitute {%0 'qfzahz fagz'} {%0 Create Rose}

#substitute {%0 'qfzahz gsfuio'} {%0 Create Spring}

#substitute {%0 'qfzahz xahzf'} {%0 Create Water}

#substitute {%0 'qfzahz yaae'} {%0 Create Food}

#substitute {%0 'qkadaghuq yaih'} {%0 Caustic Font}

#substitute {%0 'qkadagz dies'} {%0 Cause Light}

#substitute {%0 'qkadagz gzfuajg'} {%0 Cause Serious}

#substitute {%0 'qkadagz qfuhuqar'} {%0 Cause Critical}

#substitute {%0 'qpabraw dudasabru'} {%0 Charm Person}

#substitute {%0 'qpaui diesilula'} {%0 Chain Lightning}

#substitute {%0 'qpurr hajqp'} {%0 Chill Touch}

#substitute {%0 'rhileg bzaqai'} {%0 Lloyds Beacon}

#substitute {%0 'ruai pzrs'} {%0 Lion Help}

#substitute {%0 'ruit'} {%0 Link}

#substitute {%0 'rzggzf oarzw'} {%0 Lesser Golem}

#substitute {%0 'rzhpabraouq wugh'} {%0 Lethargic Mist}

#substitute {%0 'sabruuq candussabruaiqz'} {%0 Sonic Resonance}

#substitute {%0 'safhar'} {%0 Portal}

#substitute {%0 'sagg eaaf'} {%0 Pass Door}

#substitute {%0 'sarlzaksp'} {%0 Polymorph}

#substitute {%0 'sausabru'} {%0 Poison}

#substitute {%0 'saxzf xafe ghji'} {%0 Power Word Stun}

#substitute {%0 'saxzf xafe turr'} {%0 Power Word Kill}

#substitute {%0 'sfahzqhuai izoahuzz'} {%0 Protection Negative}

#substitute {%0 'sfahzqhuai oaae'} {%0 Protection Good}

#substitute {%0 'sfahzqhuai pzah'} {%0 Protection Heat}

#substitute {%0 'sfahzqhuai qare'} {%0 Protection Cold}

#substitute {%0 'sfahzqhuai zzur'} {%0 Protection Evil}

#substitute {%0 'sfahzqhuzz gpuzre'} {%0 Protective Shield}

#substitute {%0 'sraojz'} {%0 Plague}

#substitute {%0 'tiaqt'} {%0 Knock}

#substitute {%0 'tiax aruoiwunsoh'} {%0 Know Alignment}

#substitute {%0 'ufai gtui'} {%0 Steel Skin}

#substitute {%0 'ufai oarzw'} {%0 Iron Golem}

#substitute {%0 'uigaiuhl'} {%0 Insanity}

#substitute {%0 'uigsucandus'} {%0 Inspire}

#substitute {%0 'uiguoph'} {%0 Insight}

#substitute {%0 'uiygruzuguai'} {%0 Infravision}

#substitute {%0 'uizuguburuhl'} {%0 Invisibility}

#substitute {%0 'unsohaiorz'} {%0 Entangle}

#substitute {%0 'unsopaiqze abrazak'} {%0 Enhanced Armor}

#substitute {%0 'unsoqaih abrazak'} {%0 Enchant Armor}

#substitute {%0 'unsoqaih xzasai'} {%0 Enchant Weapon}

#substitute {%0 'unsozfol egruui'} {%0 Energy Drain}

#substitute {%0 'uoculoihuyl'} {%0 Identify}

#substitute {%0 'uqz grul'} {%0 Ice Ray}

#substitute {%0 'uqzbarr'} {%0 Iceball}

#substitute {%0 'uwsfazze oculoinfra'} {%0 Improved Detect}

#substitute {%0 'uwsfazze uizuguburuhl'} {%0 Improved Invisible}

#substitute {%0 'waburuhl'} {%0 Mobility}

#substitute {%0 'wagg gaiqhjabral'} {%0 Mass Sanctuary}

#substitute {%0 'wagg pzaruio'} {%0 Mass Healing}

#substitute {%0 'wagg uizuguburuhl'} {%0 Mass Invisible}

#substitute {%0 'waoizhuq hfjgh'} {%0 Magnetic Trust}

#substitute {%0 'waouq candusgughaiqz'} {%0 Magic Resistance}

#substitute {%0 'waouq fasz'} {%0 Magic Rope}

#substitute {%0 'waouq wuggurz'} {%0 Magic Missile}

#substitute {%0 'waouq yabra'} {%0 Magic Jar}

#substitute {%0 'wlghzfuajg ecandusaw'} {%0 Mysterious Dream}

#substitute {%0 'wugh xart'} {%0 Mist Walk}

#substitute {%0 'wuie xcandusiqp'} {%0 Mind Wrench}

#substitute {%0 'wuie xgruqt'} {%0 Mind Wrack}

#substitute {%0 'wuiebabra'} {%0 Mindbar}

#substitute {%0 'wunsoe'} {%0 Mend}

#substitute {%0 'xafe ay candusqarr'} {%0 Word of Recall}

#substitute {%0 'xahzf bfzahpuio'} {%0 Water Breathing}

#substitute {%0 'xgruhp'} {%0 Wrath}

#substitute {%0 'xuhqp judifgz'} {%0 Witch Curse}

#substitute {%0 'xzatunso'} {%0 Weaken}

#substitute {%0 'xzb'} {%0 Web}

#substitute {%0 'yabraguoph'} {%0 Farsight}

#substitute {%0 'yazfuz yao'} {%0 Faerie Fog}

#substitute {%0 'yazfuz yucandus'} {%0 Faerie Fire}

#substitute {%0 'ycandusikl'} {%0 Frenzy}

#substitute {%0 'yhiahuio eugq'} {%0 Floating Disc}

#substitute {%0 'yrawz ghfutz'} {%0 Flame Strike}

#substitute {%0 'yrl'} {%0 Fly}

#substitute {%0 'yucandus gpuzre'} {%0 Fire Shield}

#substitute {%0 'yucandussfaay'} {%0 Fireproof}

#substitute {%0 'yufzbarr'} {%0 Fireball}

#substitute {%0 'yufzghafw'} {%0 Firestorm}

#substitute {%0 'yufzxuie'} {%0 Firewind}

#substitute {%0 'yzabra'} {%0 Fear}

#substitute {%0 'zabrahpdjatz'} {%0 Earthquake}

#substitute {%0 'zawsufuq bragh'} {%0 Vampiric Blast}

#substitute {%0 'zhpzgrur yugh'} {%0 Etheral Fist}

#substitute {%0 'zuguai'} {%0 Vision}

#substitute {%0 'zuharuhl'} {%0 Vitality}

#substitute {%0 'zuoaf'} {%0 Vigor}

 

Представленные замены заменяют (не странно ли?) абракадабру кастующего перца в понятный нам язык. Откуда я взял эти абракадабры? Стоял возле каждого и записывал? Нет, отнюдь, увы! Это было выкопано из файла MUD'a. Естественно данные замены для англоязычных абраков, для русских нужно свои.

 

#substitute {(*)!(*)!(*) NUKES (*)!(*)!(*)} {(<!><!>801-1000<!><!>)}

#substitute {(*)!<*>!(*) TERMINATES (*)!<*>!(*)} {(<!>ТЕРМ<!>1001-1250<!>ТЕРМ<!>)}

#substitute {*** СНОСИШЬ ВСЕ НА ПУТИ ***} {(*131-175*)}

#substitute {*** СОКРУШАЕШЬ ***} {(*101-130*)}

#substitute {<*) (*>= ! POWER HITS ! =<*) (*>} {<*) (*>= ! 1501-9999 ! =<*) (*>}

#substitute {<*> <*> АННИГИЛИРУЕШЬ <*> <*>} {(<*><*>326-400<*><*>)}

#substitute {<*>!(*)!<*>> TEARS UP <<*)!(*)!<*>} {(<!>TEAR UP<!>1251-1500<!>КАПУТ<!>)}

#substitute {<*>!<*> ВЫРЫВАЕШЬ С КОРНЕМ <*>!<*>} {(<>401-500<>)}

#substitute {<*><*><*> ELECTRONIZES <*><*><*>} {(<(!)>501-650<(!)>)}

#substitute {=== СТИРАЕШЬ В ПОРОШОК ===} {(==176-250==)}

#substitute {==== РАСПЫЛЯЕШЬ НА АТОМЫ ====} {(==251-325==)}

#substitute {ELECTRONIZES} {(<ОЙ>501-650<ОЙ>)}

#substitute {NUKE} {(<!><!>801-1000<!><!>)}

#substitute {POWER HIT} {<*) (*>= ! 1501-9999 ! =<*) (*>}

#substitute {TEAR UP} {(<!>TEAR UP<!>1251-1500<!>TEAR<!>)}

#substitute {TERMINATE} {(<!>ТЕРМ<!>1001-1250<!>ТЕРМ<!>)}

#substitute {АННИГИЛИРУЕТ} {(<*><*>326-400<*><*>)}

#substitute {ВЫРЫВАЕТ С КОРНЕМ} {(<>401-500<>)}

#substitute {Дворник произносит %1} {.}

#substitute {ОПОТРОШАЕТ} {(43-52)}

#substitute {ОПОТРОШАЕШЬ} {(43-52)}

#substitute {ПЕРЕМАЛЫВАЕТ} {(81-100)}

#substitute {ПЕРЕМАЛЫВАЕШЬ} {(81-100)}

#substitute {РАЗРЫВАЕТ НА КУСКИ} {(<!>КУСКИ<!>651-800<!>КУСКИ<!>)}

#substitute {РАСПЫЛЯЕТ НА АТОМЫ} {(==251-325==)}

#substitute {РАСЧЛЕНЯЕТ} {(53-65)}

#substitute {РАСЧЛЕНЯЕШЬ} {(53-65)}

#substitute {СНОСИТ ВСЕ НА ПУТИ} {(*131-175*)}

#substitute {СОКРУШАЕТ} {(*101-130*)}

#substitute {СТИРАЕТ В ПОРОШОК} {(==176-250==)}

#substitute {УНИЧТОЖАЕТ} {(66-80)}

#substitute {УНИЧТОЖАЕШЬ} {(66-80)}

#substitute {УРОДУЕТ} {(37-42)}

#substitute {УРОДУЕШЬ} {(37-42)}

#substitute {больно задевает} {(9-12)}

#substitute {больно задеваешь} {(9-12)}

#substitute {задевает} {(5-8)}

#substitute {задеваешь} {(5-8)}

#substitute {калечит} {(33-36)}

#substitute {калечишь} {(33-36)}

#substitute {немного ранит} {(13-16)}

#substitute {немного ранишь} {(13-16)}

#substitute {опустошает} {(29-32)}

#substitute {опустошаешь} {(29-32)}

#substitute {разрушает} {(25-28)}

#substitute {разрушаешь} {(25-28)}

#substitute {сильно ранит} {(21-24)}

#substitute {сильно ранишь} {(21-24)}

#substitute {царапает} {(1-4)}

#substitute {царапаешь} {(1-4)}

 

Здесь меняем разные степени поврежденности в понятные нам.

 

#substitute {Теперь ты гораздо лучше владеешь искусством %0} {Поднял %0}

#substitute {Теперь ты снова можешь взять задание.} {-=*МОЖЕШЬ ВЗЯТЬ КВЕСТ*=-}

#substitute {Ты учишься на своих ошибках, и твое умение %0 совершенствуется.} {Поднял %0}

 

Замены для удобства :)

 

Еще одно важное замечания - после внесения изменений в настройки не забывайте их сохранять (File -> Save profile или нажав на кнопку с изображением дискетки).

Примеры СКРИПТОВ

Скрипт ведения логов

 

function StartLog()

{

    m_date = new Date();

    var MonthArr = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");

    var FileName;

    var Year = m_date.getYear();

    var Month = MonthArr[m_date.getMonth()];

    var Day = m_date.getDate();

    var Hour = m_date.getHours();

    var Min = m_date.getMinutes();

    FileName=Year+"_";

    FileName+=Month;

    FileName+=((Day>9) ? "_" : "_0")+Day;

    FileName+=((Hour>9) ? "_" : "_0")+Hour;

    FileName+=((Min>9) ? "-" : "-0")+Min+".html";

    jmc.showme("log в "+FileName,"green");

    jmc.parse("#log log/"+FileName);

}

 

Вот, скрип будет вести лог в файле вида: 2008_03_29_11-54.html соответственно нужно в «Option->Option->Logging» выставить галку напротив HTML format.

 

Вот и все вроде. Если есть замечания, предложения, дополнения — милости прошу, обращайтесь.