Copyright: (C) Сергей Ильин, 1998. Все права защищены.


WhatisJMC
ЧТО ТАКОЕ JMC

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

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

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

 Если вы - опытный игрок, то вы должны уметь писать сложные комбинации алиасов/команд/триггеров. JMC предоставляет для этого мощный язык сценариев, совместимый с популярным языком TinTin++. Но JMC - это не просто порт TinTin для Windows 95/NT. Некоторые команды TinTin отсутствуют в JMC, а также есть несколько команд, отличных от TinTin. Однако синтаксис языка остался неизменным. Если вы пользователь старого TinTin, то обратите внимания на имеющиеся различия.

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

 При установке JMC на вашем компьютере вы одновременно устанавливаете RMA-проигрыватель. RMA - это удобная утилита просмотра ваших любимых логов, поддерживающая ANSI-цвета, автоскролл и имеющая массу других особенностей. (См. подробно о RMA).

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

- Полная поддержка ANSI цвета.

- Сохранение последних набранных команд с настраиваемой глубиной буфера.

- Мощный макроязык, совместимый с языком сценариев TinTin++, позволяет Вам создавать любые макрокоманды - от простого алиаса до сложных скриптов.

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

- Вы можете назначить быстрые клавиши (как через интерфейс, так и из командной строки)

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

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

- Поддерживается вывод всей поступающей информации в log-файл с опциональным включением записи ANSI команд и RMA команд.

- В пакет JMC входит RMA-проигрыватель - программа просмотра лог-файлов.

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

- Вы можете загрузить/сохранить ваши макрокоманды из/в файла в любое время, когда захотите.

- Быстрота отработки triggers/action/substitutes.

- Огромная скорость отрисовки информации, отсуствие эффектов утомляющих глаза ("дергание текста", "моргание").

- Работа с буфером Windows.

- Возможность автозаписи пройденного пути.

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

- И многое другое...

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


JMCcan
КРАТКИЙ ОБЗОР ВОЗМОЖНОСТЕЙ 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.


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

RMUD ANSI PLAYER - RMA (C) 1998 Andrey Fidrya (andrey@alex-ua.com),

RMUD telnet://rmud.net.ru:4000

Что такое RMA?

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

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

Для контакта с автором RMA PLAYER пошлите письмо на andrey@alex-ua.com или FIDO 2:463/103.

Также добро пожаловать в RMUD: Мир Трех Лун - первый полностью русскоязычный MUD. В настоящее время он находится в гамма-стадии тестирования.

Адрес RMUD: telnet://rmud.net.ru:4000

Официальный веб-сайт RMUD: http://rmud.net.ru

Свежую версию RMA PLAYER можно найти на сайте RMUD в разделе "ССЫЛКИ".

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

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

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


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

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

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

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

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

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

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

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

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

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


menuFile
МЕНЮ "FILE"

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

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

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

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

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

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

4. PAUSE (ПАУЗА)

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

5. EXIT (ВЫХОД)

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

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


menuView
МЕНЮ "VIEW"

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

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

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

Установка флажка напротив опции включает показ соответствующего элемента программы. Дополнительное окно OUTPUT присутствует только в версии 2.90 beta и более новых.


menuOptions
МЕНЮ "OPTIONS"

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

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

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

Стандартный диалог Windows 9x выбора шрифта, используемого для вывода текста в основном и дополнительном окнах 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... (ПАРАМЕТРЫ)

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


menuHelp
МЕНЮ "HELP"

CONTENTS

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

ABOUT JMC...

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


menuParam
ПАРАМЕТРЫ

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

"COMMON" (ОБЩИЕ)

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

- Cursor while listing history. Этот параметр устанавливает положение курсора при вызове команды из буфера команд.

- Min. string length in history. Если вы не хотите, чтобы короткие команды добавлялись в буфер - установите желаемое значение. Если этот параметр равен 3 - это означает, что буфер будут добавляться только команды, длина которых больше либо равна трем символам.

- History size. Этот параметр устанавливает количество строк в буфере команд. Значение по умолчанию - 20.

- Command char. Символ начала команд JMC. С этого символа должны начинаться все команды, используемые в JMC. По умолчанию - '#'.

- Command delimiter. Символ разделителя команд. Используется для разделения команд в одной строке. По умолчанию - ';'.

- Display user's input. Если вы не хотите, чтобы строки, введенные вами, выводились на экран - выключите эту опцию. Также полезно при работе с telnet-сервером с включенным ECHO (чтобы предотвратить дублирование показа команд).

"SUBSTITUTION" (ЗАМЕНА)

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

См. также:  #substitute

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

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

- Autoload macro file. Имя файла макрокоманд, загружаемого при подгрузке профиля.

- Save macros while exit to file. Имя файла, в котором будут сохраняться текущие макрокоманды при выходе из программы.

- Do command on exit. Команда, выполняющаяся при выходе из JMC и смене текущего профиля (например, закрытие лог-файла или что-нибудь еще).

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

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

"LOGGING" (ЖУРНАЛ)

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

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

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

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


{number}
#<ЧИСЛО>

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

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

Пример:

#5 {sing}

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

#10 {eat bread;drink water}

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


{action}
#ACTION

Синтаксис: #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


{alias}
#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


{ansubs}
#ANTISUBSTITUTE

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

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

Пример:

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

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

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

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

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


{bell}
#BELL

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

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

Пример:

#bell


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

 #alias	 #action	 #antisubstitute

 #bell	 #char	 #connect

 #cr	 #echo	 #gag

 #highlight	 #hotkey	 #hotset

 #if	 #ignore	 #info

 #killall	 #log	 #loop

 #map	 #mark	 #math

 #message	 #multiaction	 #<number>

 #nop	 #path	 #pathdir

 #presub	 #read	 #return

 #savepath	 #showme	 #speedwalk

 #substitute	 #textin	 #tick

 #tickon	 #tickoff	 #tickset

 #ticksize	 #togglesubs	 #unaction

 #unalias	 #unantisub	 #ungag

 #unhighlight	 #unpath	 #unsubs

 #unvariable	 #variable	 #verbatim

 #write	 #zap

См. также:  Группы команд,  Новые команды


grupcom
ГРУППЫ КОМАНД

Группа	Команды

-----------------------------------------------------------------------------------------------------------------------------------

Работа с алиасами	 #alias  #unalias  #verbatim

-----------------------------------------------------------------------------------------------------------------------------------

Триггеры	 	 #action  #unaction  #ignore  #multiaction

-----------------------------------------------------------------------------------------------------------------------------------

Замена текста	 #substitute  #antisubstitute  #presub  #unsubs

 #togglesubs  #unantisub  #gag

-----------------------------------------------------------------------------------------------------------------------------------

Соединение	 #connect  #zap

-----------------------------------------------------------------------------------------------------------------------------------

Команды направления	 #map  #mark   #path  #pathdir  #savepath  #return  #unpath

-----------------------------------------------------------------------------------------------------------------------------------

Выражения	 #if  #math

-----------------------------------------------------------------------------------------------------------------------------------

Таймер	 #tick  #tickon  #tickoff  #tickset  #ticksize

-----------------------------------------------------------------------------------------------------------------------------------

Файловые операции	 #read  #write  #textin  #log

-----------------------------------------------------------------------------------------------------------------------------------

Переменные	 #variable  #unvariable

-----------------------------------------------------------------------------------------------------------------------------------

Выделение текста	 #highlight  #unhighlight

-----------------------------------------------------------------------------------------------------------------------------------

Разное	 #nop  #bell  #cr  #echo  #info  #killall  #loop  #message

 #<number>

-----------------------------------------------------------------------------------------------------------------------------------

См. также:  Новые команды


newcom
НОВЫЕ КОМАНДЫ

    Здесь  приведена  информация о командах, добавленных в JMC, начиная с версии 2.90 beta и отсутствующих в более ранних версиях.

-------------------------- JMC 2.93 beta от 12.07.99 ---------------------------

#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.

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

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

#toupper

#tolower

Синтаксис: #tolower variable_name text

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

    Пример:

#var Target TestText

#tolower Target2 $Target

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

#IAC

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

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

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

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

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

-------------------------- JMC 2.92 beta от 06.07.99 ---------------------------

#pathdir

#pathalias

    Определяют направления движения и алиасы команд движения для использования в режиме  "speedwalk".  Полезна  для  локализованных  MUD'ов,  команды  движения в которых могут отличаться от стандартных w, s, e, n, u, d.

Пример: допустим, вы играете в МТЛ (Мир Трех Лун):

1) на горячие кнопки Вы вешаете команды - север, восток, юг, запад, вверх, вниз.

2) командой #pathdir определяете новые направления движений и обратные для них:

#pathdir {запад} {восток}

#pathdir {восток} {запад}

#pathdir {север} {юг}

#pathdir {юг} {север}

#pathdir {вверх} {вниз}

#pathdir {вниз} {вверх}

3) определяете алиасы для команд движения с помощью новой команды #pathalias:

#pathalias {з} {запад}

#pathalias {в} {восток}

#pathalias {с} {север}

#pathalias {ю} {юг}

#pathalias {^} {вверх}

#pathalias {v} {вниз}

    Все эти настройки сохраняются в файл *.set так же как и все остальное, после чего можно записывать спидвалки так-же как и раньше:

#mark

    Здесь вы нажимаете всякие разные кнопочки (идете куда то)

#savepath {ПутьВПитер}

    В  результате  должен  получится  спидвалк в терминах звсю^v например что-то типа  {вvювс3^}.  Стандартные  английские  спидвалки  работают  без  настроек  в терминах  nwseud. Генерируемый спидвалк будет сделан с использованием цифр, а не так,  как  раньше  -  явным  перечислением  команд.  При вводе спидвалков руками помните  что надо задать #pathalias для тех букв, которые вы будете использовать в спидвалке.

-------------------------- JMC 2.91 beta от 28.06.99 ---------------------------

#pause

Блокирует/разблокирует вывод в основное окно

-------------------------- JMC 2.90 beta от 22.06.99 ---------------------------

#code N

На сервер отправляется символ, код которого N.

#outto {Output} {Text}

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


{char}
#CHAR

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

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

Пример:

#char {/}

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


{connect}
#CONNECT

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

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

См. также:  #zap


ex_vved
ВВЕДЕНИЕ

    В  данном  разделе рассматривается использование возможностей JMC на примере конкретных  профилей  настройки.  Наиболее полезен этот раздел будет для игроков Мира  Трех  Лун  (telnet://rmud.net.ru:4000),  но и другие начинающие игроки cмогут найти немало интересного для себя.

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

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

    Много  полезной  информации  о  МТЛ  и других MUD'ах вы можете почерпнуть из эхоконференции fido7.ru.game.mud

    Если  вы  написали  какой-либо макрос, который облегчает вам жизнь в MUD'е и хотите  им  поделиться  с  другими - присылайте письма на viper@netcity.ru - я включу ваши наработки в последующие версии данного раздела.

(с) Игорь Пригун, 1999 г. viper@netcity.ru


ex_receiv
ОДНА ГОЛОВА ХОРОШО, А МНОГО - ЛУЧШЕ!

Этот раздел задуман, как сборник того, чем может играющий народ поделиться с себе подобными и пришлет мне для включения в сей опус. Пока что здесь всего один человек, поделившийся своими идеями в эхе fido7.ru.game.mud, но зато идея ОЧЕНЬ хороша.

Так что милости прошу - если есть чем поделиться, присылайте на viper@netcity.ru. Для какого MUD'а будут макросы - не имеет значения. Поняв идею, легко переделать нужный триггер/алиас/хоткей и т.п. под требования и возможности любого мира.

1.    Установление переменной $fight в зависимости от режима игры: битва/мирный. Сервер: Мир Трех Лун: rmud.net.ru 4000

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

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

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

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

Автор: Andrew Darby

Оценка макроса: 10 (10).


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

    Рассмотрим подробнее реальный профиль, использовавшийся для игры в МТЛ во времена второй эпохи. Персонаж - асассин. Имя - Фрагир. Пароль входа на сервер - (предположим :))) - QWERTASDF. Имя файла профиля - fragir.set. Информация о быстрых клавишах у меня хранится в отдельном файле, но я буду давать ее прямо здесь для сохранения целостности понимания макросов.

    Поехали!

#alias {rmud_in} {#connect rmud.net.ru 4000;#hotkey {alt+f1} {fragir_in}}

#alias {fragir_in} {3;фрагир;QWERTASDF;#hotkey {alt+f1} {rmud_in}}

#hotkey {alt+f1} {rmud_in}

    Используется для быстрого входа на игровой сервер. Нажатие комбинации клавиш {alt+f1} закрепляется изначально за алиасом rmud_in. Этот алиас осуществляет соединение с сервером и вешает на сочетание клавиш {alt+f1} следующий алиас - fragir_in, который выбирает кодировку (JMC), вводит имя и пароль, после чего снова подвешивает на {alt+f1} исходный алиас rmud_in. Такой изврат сделан для сокращения количества используемых быстрых клавиш.

#alias {load_fra} {#read fragir.set}

#alias {save_fra} {#write fragir.set}

#hotkey {alt+f2} {save_fra}

#hotkey {alt+f3} {load_fra}

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

#hotkey {Alt+UP} {север}

#hotkey {Alt+DOWN} {юг}

#hotkey {Alt+LEFT} {запад}

#hotkey {Alt+RIGHT} {восток}

#hotkey {Alt+Shift+UP} {вверх}

#hotkey {Alt+Shift+DOWN} {вниз}

#hotkey {Ctrl+UP} {красться север}

#hotkey {Ctrl+DOWN} {красться юг}

#hotkey {Ctrl+LEFT} {красться запад}

#hotkey {Ctrl+RIGHT} {красться восток}

#hotkey {Ctrl+Shift+UP} {красться вверх}

#hotkey {Ctrl+Shift+DOWN} {красться вниз}

    Перемещаться с помощью команд не просто неудобно, а ОЧЕНЬ неудобно. Гораздо лучше бегать с помощью курсорных клавиш. Вот они и задаются. Использование курсорных клавиш в голом виде не даст вам применять их для прокрутки буфера команд и перемещения по командной строке, поэтому используется комбинация с шифтом и иными модификаторами.

#alias {che_1} {#var chest сум;#hotkey {ctrl+r} {che_2}}

#alias {che_2} {#var chest рюк;#hotkey {ctrl+r} {che_1}}

#variable {chest} {сум}

#hotkey {Ctrl+R} {che_1}

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

#alias {foo_1} {#var food хле;#hotkey {ctrl+t} {foo_2}}

#alias {foo_2} {#var food кар;#hotkey {ctrl+t} {foo_3}}

#alias {foo_3} {#var food мяс;#hotkey {ctrl+t} {foo_1}}

#variable {food} {хле}

#hotkey {Ctrl+T} {foo_3}

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

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

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

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

#alias {жрать} {get $food $chest;eat $food;пить воду}

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

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

    Обратите внимание - в МТЛ англоязычный вариант команды "пить воду" - "drink water" - работает немного иначе и требует _обязательного_ указания, из какой конкретно емкости вы собираетесь ее пить (т.е. "drink water bottle"). К сожалению, русская команда типа "есть пищу" по аналогии с "пить воду" отсутствует.

#alias {свет} {#var lamp %1}

#alias {свет1} {#var shcl %1}

#variable {lamp} {лам}

#variable {shcl} {браслет}

#alias {лайт} {убра $offh;держ $lamp}

#alias {дарк} {убра $lamp;держ $offh}

#alias {лайт1} {взя $shcl $chest;оде $shcl}

#alias {дарк1} {сня браслет;пол браслет $chest}

#alias {сбор} {лайт;взя все все.труп;взя все;дарк;бро все.труп}

#alias {сбор1} {лайт1;взя все все.труп;взя все;дарк1;бро все.труп}

#alias {сбор2} {лайт;лайт1;взя все.моне все.труп;дарк;дарк1}

#hotkey {Ctrl+Q} {сбор}

#hotkey {Alt+Q} {сбор1}

#hotkey {Ctrl+Alt+Q} {сбор2}

#hotkey {Ctrl+`} {взять все}

#hotkey {Shift+`} {get all all.труп}

#hotkey {Alt+`} {get all all.труп;оде all;пол all рю;get all all.труп}

    Эльфы видят в темноте только живых существ. Люди - вообще ничего. Но даже эльфы не смогут забрать монету из клюва героически заколотой сороки в ночном лесу. А ведь жа-а-алко бросать! Поэтому приходится брать в левую руку что-нибудь светящееся. Например, масляную лампу. Или, если есть деньги, обзавестись светящимся браслетом - его можно одеть на запястье и оставить в левой руке оружие. Соответственно, после собирания и мародерства желательно вернуться в исходное состояние (человеку придется остаться со светом), чтобы не расходовать браслет или не занимать руки лампами.

    Итого, что делают вышеприведенные команды: назначают переменную "lamp" для источника в руках, которая может быть принудительно задана командой типа "свет факел" и подобную переменную "shcl" для носимого на теле. Затем организовывают процедуры для двух видов начала освещения (источник света в руке и источник света одет на теле) и им соответствующего прекращения (все лампочки выключить и попрятать). Затем создается три вида команд по сбору честно награбленного - при свете лампы/при свете браслета собрать все, что только можно, и отдельный вариант, когда необходимо быстро хапнуть у трупа только деньги, не особо разбираясь, какой вид освещения сейчас более удачен.

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

#alias {правое} {#var weap %1}

#alias {левое} {#var offh %1}

#variable {weap} {шпа}

#variable {offh} {ох.нож}

#alias {починка} {сня $weap;чин $weap;воор $weap;сня $offh;чин $offh;держ $offh}

#hotkey {Ctrl+Alt+H} {починка}

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

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

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

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

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

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

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

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

#hotkey {Alt+A} {закол $enemy}

#hotkey {Shift+A} {подсе $enemy}

#hotkey {Ctrl+A} {подсе $enemy;закол $enemy}

#hotkey {Alt+C} {высл $enemy}

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

#hotkey {F4} {см}

#hotkey {Ctrl+F4} {лайт;см;дарк}

#hotkey {Ctrl+F3} {лайт1;см;дарк1}

#hotkey {F3} {оглядеться}

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

#action {Вы слишком расслаблены} {встать} {5}

#action {Сделать это во сне} {проснуться;встать} {5}

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

#hotkey {F6} {бежать;бежать;бежать}

#hotkey {F1} {зач возвр}

#hotkey {F5} {встать}

#hotkey {Ctrl+F5} {отд}

#hotkey {Alt+F5} {спать}

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

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

#action {^Вы хотите пить} {#if {$fight=0} {пить воду}} {5}

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

#alias {емкость} {#var watcap %1}

#action {^Красивый белый фонтан} {#if {$fight=0} {нап $watcap фон;пить фон}} {5}

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

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

#action {^Старый гном стоит за стойкой бара} {учить все} {5}

    Триггер на гильдию. Когда вы зайдете в гильдию ассассинов, процесс обучения будет инициироваться автоматически. Если вы не асассин - вешайте на триггер свою гильдию. Магов на асассинов не учат! :)

#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} {время}

#ticksize 60

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

    Команда #ticksize выставляет размер тика в 60 секунд. По некоторым данным, тик в МТЛ равен 72 секунды, но я что-то этого сам не заметил. Имхо, все-таки 60.

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

    МТЛ почему-то не выделяет цветом сообщения, сказанные или полученные от группы. Подсветка - и все поправимо.

#highlight {light blue} {^Начальник утехинской стражи %1}

#highlight {light blue} {^Утехинский страж %1}

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

#hotkey {F7} {группа}

#hotkey {F8} {сост}

#hotkey {F9} {пом}

#hotkey {Ctrl+F9} {готов}

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

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

    Ну умеет асассин прятаться! Что поделаешь! Не оставлять же столь полезное умение без хоткея.

#pathdir {вниз} {вверх}

#pathdir {вверх} {вниз}

#pathdir {запад} {восток}

#pathdir {восток} {запад}

#pathdir {юг} {север}

#pathdir {север} {юг}

#pathalias {d} {d}

#pathalias {e} {e}

#pathalias {n} {n}

#pathalias {s} {s}

#pathalias {u} {u}

#pathalias {w} {w}

#pathalias {^} {вверх}

#pathalias {v} {вниз}

#pathalias {в} {восток}

#pathalias {з} {запад}

#pathalias {с} {север}

#pathalias {ю} {юг}

    Весь этот набор предназначен для корректной работы с русскими спидвалками (типа ззс^в^сс) и может использоваться только в JMC версии 2.92 beta и более новых.

    Вот, собственно, и все. Кой-чего не хватает, естественно. Но не потому, о чем вы подумали (нету у меня никаких СУПЕРСЕКРЕТНЫХ макросов :))). Просто эти феньки еще не отлажены и безбожно глючат (например, триггеры на составление алиасов перемещений). Все, что работает без ошибок (ну, почти без ошибок :) - все здесь.


sup_wtnew
ЧТО НОВОГО

Пишите свои предложения и багрепорты на jmc_dev@mail.ru.

Перед тем как писать, посмотрите, а может это фича такая :)

Хочу напомнить, если Вы заметили что поведение программы изменилось и нигде про это не написано. Напишите багрепорт.

Новая бета JMC 2.94 дата 23.07.99

! тип шрифта в доп. окне выставляется такой-же как в основном

! вставлена задержка между реконнектами в 1 секунду

! при задании hotkey можно использовать слово MULT для определения клавиши Numpad*

! некоторые русские команды воспринимались как speedwalk

! учтена смена 'command char' в операции #strcmp

Новая бета JMC 2.93 дата 12.07.99

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

#var {test1} {Text1}

#var {test2} {Text2}

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

#var Look Вася

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

 + появилась возможность сбрасывать в лог содержимое текущего буфера экрана при старте логирования

 + изменился синтаксис #log LogName.txt {screen} {append|owerwrite}

 + добавлены стандартные переменные TIME DATE.

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

 + недокументированая фича - есть команды #tolower #toupper

синтаксис #tolower variable_name text где текст может быть текстом, а может быть переменной типа $var_name, еще может быть подстановкой %1 т.е.

#var Target TestText

#tolower Target2 $Target

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

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

 	#act {^%1 улетел на юг} {s}

 ! при появлении текста #TICK на сервер отправлялась пустая строка, заблокировано.

если кому надо, может сделать триггер #alias {#TICK} {#cr}

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

 ! введено ограничение на глубину рекурсивных вызовов. Лимит 80 вызовов.

 + добавлена команда #IAC

синтаксис #IAC {send|receive} {single|double}

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

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

Новая бета JMC 2.92 дата 06.07.99

Изменения в этой бете:

 + добавлена работа с алиасами команд перемещения для спидвалков.

Пример: допустим вы играете в МТЛ (Мир Трех Лун)

1) на горячие кнопки Вы вешаете команды - север, восток, юг, запад, вверх, вниз

2) командой #pathdir определяете новые направления движений и обратные для них

  #pathdir {запад} {восток}

  #pathdir {восток} {запад}

  #pathdir {север} {юг}

  #pathdir {юг} {север}

  #pathdir {вверх} {вниз}

  #pathdir {вниз} {вверх}

3) определяете алиасы для команд движения с помощью новой команды #pathalias

  #pathalias {з} {запад}

  #pathalias {в} {восток}

  #pathalias {с} {север}

  #pathalias {ю} {юг}

  #pathalias {^} {вверх}

  #pathalias {v} {вниз}

все эти настройки сохраняются в файл *.set так же как и все остальное.

после чего можно записывать спидвалки так-же как и раньше

#mark

здесь вы нажимаете всякие разные кнопочки (идете куда то)

#savepath {ПутьВПитер}

В результате должен получится спидвалк в терминах звсю^v например что-то типа {вvювс3^}. Стандартные английские спидвалки работают без настроек в терминах nwseud. Генерируюемый спидвалк будет сделан с использованием цифр, а не так как раньше явным перечислением команд. При вводе спидвалков руками помните что надо задать #pathalias для тех букв которые вы будете использовать в спидвалке.

 ! операция #pause теперь не сбрасывается после выделения блока текста

Новая бета JMC 2.91 дата 28.06.99

Изменения в этой бете:

 ! работа с текстами содержащими знак & исправлена

 + добавлена команда #pause блокирует/разблокирует вывод в основное окно

 ! #cap 2 более не роняет клиента

 ! параметр Don't display user input сохраняется и считывается корректно

 ! при изменении размера окна обновление экрана происходит корректно

Новая бета JMC 2.90 дата 22.06.99

Изменения в этой бете:

1) ! Несколько изменился внешний вид.

2) + Появилось дополнительное окно 'Output'

3) + Из триггеров можно использовать команду #capture 1

4) + Поддерживается команда #code N где N это код символа который будет послан на сервер. (*tip* Saboteur :) )

5) + Поддерживается команда #outto {Output} {Text} с поддержкой переменных

Из известных багов/фич

1) ! иногда не перерисовывается окно Output

2) ! при возврате на старый клиент нужно убить файлик jmc.ini лежащий в каталоге windows, в противном случае старый клиент будет падать.

3) ! положение окна output пока не запоминается


s_nxt
Общие предполагаемые изменения в версии 3.0

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

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

- Дополнительные возможности в командной строке. Задание слов, расширяемых по кнопке <TAB > (Вы сможете набирать только первые буквы такого слова и далее кнопкой <TAB> автоматически завершить слово из списка). Прокрутка команд по маске (если Вы набрали некоторый текст и нажали <Up> клавишу, то будут прокручиваться не все команды из истории команд, а только те,  которые начинаются с набранного вами текста). Командная строка будет представлять собой редактируемый комбобокс, чтобы была возможность визуально просмотреть список набранных команд.

- По двойному щелчку мыши будет автоматически выделаться СЛОВО, на котором Вы щелкнули.

- Появится отдельное окно, в которое Вы будете иметь возможность вывести информацию посредством команды макроязыка. Это удобно для выделения важных сообщений или фильтрации части информации. Например, можно будет перенаправить все строки, содержащие *tells you* в это окошко.

- Появится возможность разделять окно вывода  на две части, при этом нижняя часть будет всегда показвать последние строки текста, а верхняя часть - скроллироваться. При попытке сткроллирования клавишами (PgUp/PgDown) разделение будет происходить автоматически.

- Появится задание режима переноса текста: перенос по границе окна, перенос по концу слова, перенос по фиксированному количеству символов.

- Будет изменена работа с профайлами, соединение с сервером будет реализованно в интерфейсе, будет поддержка базы MUD-серверов.

- Будет реализованно задание пользовательских тулбаров, задание клавиш и описание действий по их нажатию-отжатию

- Возможность проигрывать WAV файлы по триггерам или по появлению звукового сигнала из сервера.

    Изменения макроязыка и команд JMC

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

- Будут изменены команды  #if и  #math. Обе команды будут поддерживать операции со строками. Появится возможность сравнения строк и некоторые дополнительные операции.

- Появится возможность использования команд движения, задаваемых пользователем, в спидволках. НА данный момент Вы не можете набрать спидвалк СЮЮЗЗЮЮВниз. Эта возможность у Вас появится.

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

- Появится возможность манипулирования обектами операционной системы из макроязыка.

- Будет добавлена возможность переопределять названия стандартных команд. Это необходимо для того, чтобы Вы не переключали клавиатуру, играя в национальные MUD, каждый раз когда хотите задать триггер или алиас. То есть Вы сможеете писать что-то вроде: " #триггер {появился} {Сказать УРА !}"

Изменения JMC, полезные для пользователей национальных MUDs.

В JMC вводятся многочисленные возможности, облегчающие жизнь тем, кто играет в неанглоязычные MUDs.

- Появится возможность перекодировки входной информации из форматов DOS и KOI-8 в формат Windows.

- Будет реализованна возможность сохранения логов в форматах DOS и Windows.

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

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

Данный список не является окончательным. Возможно, в ближайшее время он будет дополнен или исправлен. Если у Вас есть идеи, что еще необходимо в этой программе - пишите мне по адресу jmc_dev@mail.ru


s_author
ПОДДЕРЖКА

Если у вас есть вопросы или предложения по JMC - обращайтесь к разработчику программы по адресам: jmc_dev@mail.ru и sg@inist.ru. Если вы хотите получать информацию о новых версиях JMC - пошлите письмо с темой "Subscribe".

В настоящее время JMC доступен для скачивания по адресам:

http://members.tripod.com/jmc_client

http://www.halyava.ru/jmc (Русское зеркало)

(C) Сергей Ильин, 1998, jmc_dev@mail.ru. Все права защищены.

Перевод на русский и дополнение файла справки:

Игорь Пригун, 1999, viper@netcity.ru


{cr}
#CR

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

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


{echo}
#ECHO

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

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

Пример:

#echo

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


{gag}
#GAG

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

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

Пример:

#gag {is arrived}

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

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


{highgl}
#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

Синтаксис: #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 Функциональные клавиши

MULT	Серый "*" - только в версии 2.94b и более новых

Пример:

#hotkey Ctrl+z {#zap}

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

#hotkey f1 flee

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

См. также:  #hotset


{hotset}
#HOTSET

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

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

См. также:  #hotkey


{if}
#IF

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

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

Внимание! В версиях JMC старше 2.93 beta вы не можете сравнивать строки. Т.е., #if работает только со строками и переменными, представляющими собой числовые значения.

Примеры:

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

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

Новая бета JMC 2.93 дата 12.07.99

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

 #var Look Вася

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

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

См. также:  #math


{ignore}
#IGNORE

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

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

Пример:

#ignore

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

См. также:  #action


{info}
#INFO

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

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

См. также:  #message


{kilal}
#KILLALL

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

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


{log}
#LOG

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

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

Примеры:

#log castle.log

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

#log town.log overwrite

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

#log

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

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


{loop}
#LOOP

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

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

Пример:

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

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


{map}
#MAP

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

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

Пример:

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

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

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


{mark}
#MARK

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

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

Примеры:

#mark

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

#mark stop

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

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


{math}
#MATH

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

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

Пример:

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

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

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

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

См. также:  #if


{message}
#MESSAGE

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

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

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

Пример:

#message {variable}

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

#Variable start now set to 1

См. также:  #info


{multiac}
#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


{nop}
#NOP

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

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

Пример:

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

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


{path}
#PATH

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

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

Пример:

#path

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

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


{pathdir}
#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,  #mark,   #path,  #map,  #savepath,  #return,  #unpath


{presub}
#PRESUB

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

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

Пример:

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

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

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

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

См. также:  #substitute


{read}
#READ

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

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

Пример:

#read mage.set

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

См. также:  #write


{return}
#RETURN

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

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

Пример:

 #mark

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

n

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

#return

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

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


{savepath}
#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,  #mark,   #path,  #pathdir,  #map,  #return,  #unpath


{showme}
#SHOWME

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

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

Пример:

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

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


{speedwa}
#SPEEDWALK

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

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

Пример:

2ned4s

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

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

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


{sub}
#SUBSTITUTE

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

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

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

Пример:

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

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

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

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

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

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

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


{textin}
#TEXTIN

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

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

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


{tick}
#TICK

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

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

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


{tickonoff}
#TICKON/#TICKOFF

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

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

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


{tickset}
#TICKSET

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

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

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


{ticksize}
#TICKSIZE

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

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

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


{togglesub}
#TOGGLESUBS

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

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

См. также:  #substitute


{unaction}
#UNACTION

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

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

Пример:

#unaction {crash into you}

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

#unaction {*you*}

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

См. также:  #action


{unalias}
#UNALIAS

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

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

Пример:

#unalias {cc}

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

#unalias {c*}

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

См. также:  #alias


{unantisub}
#UNANTISUB

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

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

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


{ungag}
#UNGAG

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

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

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


{unhigh}
#UNHIGHLIGHT

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

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

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


{unpath}
#UNPATH

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

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

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


{unsubs}
#UNSUBS

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

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

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


{unvar}
#UNVARIABLE

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

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

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


{var}
#VARIABLE

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

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

Пример:

#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


{verba}
#VERBATIM

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

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


{write}
#WRITE

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

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

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


{zap}
#ZAP

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

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

См. также:  #connect