Источник оригинала на английском языке:
http://mudlogs.foghaven.net/mudlogs.php?article=jmctutorial
Оригинальное название: "JMC Tutorial - Version 1.0"
Авторы оригинального текста: Derek и Jasper
Перевод: Dr.Lance, 16.06.2009 г., 20.06.2009 г.

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

Учебник по JMC -- редакция 1.0
===============================

ВВЕДЕНИЕ:
---------
Большинство игроков выбирает для игры в MUD специализированные
MUD-клиенты. Многие из них, однако, слабо представляют реальные
возможности клиентов, которыми они пользуются. Для некоторых это
не так и важно, но кому-то этот учебник поможет поднять игру на
новый уровень. Какого бы типа игроком вы ни были, мы с удовольствием
снабдим вас информацией о том, как заставить ваш клиент работать
в полную силу.

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

Вы можете бесплатно скачать JMC по адресу:
http://mudlogs.foghaven.net/clients/jmc/

[Так как для скачивания предлагается JMC версии 3.26, то вероятно,
что именно по этой версии авторы и писали этот учебник -- прим.пер.]

==============================================================

СОДЕРЖАНИЕ:
------------
1) Познакомимся с клиентом
     1.1) Разберемся с кнопками на панели инструментов
     1.2) Что такое "профиль"
     1.3) Создаем соединение с MUD через JMC
     1.4) Закрываем соединение с MUD

2) Алиасы (alias) и горячие клавиши (hotkey)
     2.1) Разберемся, чем они отличаются друг от друга
     2.2) Создание простого алиаса
     2.3) Создание простой горячей клавиши
     2.4) Удаление ненужного алиаса
     2.5) Удаление ненужной горячей клавиши

3) Цветовыделители (highlight)
     3.1) Зачем нужны цветовыделители
     3.2) Создание цветовыделителя
     3.3) Удаление ненужного цветовыделителя

4) Переменные
     4.1) Зачем нужны переменные
     4.2) Частевые переменные (partial variable)
     4.3) Создание переменной
     4.4) Используем переменную
     4.5) Удаление ненужной переменной

5) Триггеры (action)
     5.1) Что такое "триггер"
     5.2) Создание триггера
     5.3) Обеспечение безопасности триггера
     5.4) Удаление ненужного триггера

6) Подстановки (substitution)
     6.1) Что такое "подстановка" (substitute)
     6.2) Что такое "заглушка" (gag)
     6.3) Создание подстановки
     6.4) Создание заглушки
     6.5) Удаление ненужной подстановки
     6.6) Удаление ненужной заглушки

7) Команда #showme
     7.1) Для чего нужна команда #showme
     7.2) Используем команду #showme

8) Связываем изученное воедино
     8.1) Алиасы с переменными
     8.2) Алиасы, которые вызывают запуск команд

9) Дополнительные функции JMC
     9.1) Дополнительное окно для вывода информации (output window)
     9.2) Создание команды вывода информации в дополнительное окно
     9.3) Используем ячейки панели статуса
     9.4) Используем звук, чтобы привлечь внимание

10) Ведение логов
     10.1) Для чего нужно вести логи
     10.2) Пишем лог в файл
     10.3) Закрываем файл лога
     10.4) Где хранятся логи

11) Условные выражения
     11.1) Выражения с ключевым словом if (команда #if)
     11.2) Используем условные выражения
     11.3) Математика в JMC
     11.4) Используем математические выражения

12) Регулярные выражения
     12.1) Что такое "регулярные выражения" и для чего они нужны
     12.2) Создание простейших регулярных выражений
     12.3) Подробнее о регулярных выражениях

13) Заключение

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

==============================================================

1) Познакомимся с клиентом
---------------------------

1.1) Разберемся с кнопками на панели инструментов

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

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

-- Кнопка с дискетой (сохранить профиль) нужна, чтобы сохранить
текущий профиль.

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

-- Кнопка с буквами "Ff" (шрифты) позволяет выбрать шрифт текста,
его начертание и размер.

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

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

-- Кнопка с красным кругом (пауза) замораживает текст игры в окне JMC.

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

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

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

-- Кнопка с вопросом (о программе) дает краткую информацию о
программном продукте (то есть о JMC).

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

-- Выпадающее меню View (внешний вид) имеет несколько дополнительных
функций. Пункт меню Toolbar (панель инструментов) всегда должен быть
отмечен галкой. Другие пункты этого меню -- Status bar (строка статуса)
и Output window (дополнительное окно вывода) -- могут быть включены
позже, когда вы узнаете из этого руководства, для чего они нужны и как
их можно использовать.

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

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

1.2) Что такое "профиль"

Весь код (триггеры, алиасы, подстановки и т.д.) записывается в
профиль. Пока не определено иное, все это попадает в профиль "по
умолчанию" (default). Хорошим решением будет сохранять в профиль "по
умолчанию" все универсальное, что может использоваться всеми вашими
персонажами. Затем, каждый раз при создании нового профиля достаточно
будет открыть профиль "по умолчанию", нажать на кнопку создания нового
профиля -- при этом JMC спросит вас, хотите ли вы загрузить в
создаваемый профиль код текущего профиля. Этот универсальный для разных
персонажей код, хранящийся в профиле "по умолчанию", должен быть
полезен для любого вашего профиля. Такой сборник универсальных кодов не
является чем-то абсолютно необходимым, но иметь его при себе очень
удобно. Для разных классов персонажей можно написать специализированные
профили. Например, вы можете задать команду "b" (bash - сбить) для
профиля персонажа класса "воин" и ту же команду "b" (backstab - удар
кинжалом сзади) для профиля персонажа класса "вор". Если вам пока
непонятны эти объяснения, не отчаивайтесь, все станет яснее, когда вы
начнете писать свой код для своих профилей.

1.3) Создаем соединение с MUD через JMC

Что хорошего в том, чтобы владеть MUD-клиентом и не знать, как создать
соединение с любимым MUD? Полагаю, что многие из читателей этого
справочника играют в MUD под названием "Arctic", поэтому и использую
этот MUD в примере.

КОМАНДА: #connect
СИНТАКСИС: #connect адрес_сервера_игры номер_порта

ПРИМЕР: #connect mud.arctic.org 2700

После ввода этой команды на экране появится тот же текст, который
появляется, если вы пользуетесь простым Telnet-клиентом. Очевидно, что
каждый раз вводить такую длинную команду для входа в игру вам быстро
надоест, поэтому будет удобно написать простой алиас, помогающий
избавиться от этой проблемы. Что такое "алиас" -- я объясню позже, а
сейчас просто введите следующее:

#alias {z} {#connect mud.arctic.org 2700}

Теперь, введя букву "z", вы подключитесь к MUD под названием "Arctic".

1.4) Закрываем соединение с MUD

Если по какой-либо причине вам требуется разорвать соединение
с MUD, в который вы играете в данный момент, вы можете ввести:

КОМАНДА: #zap
СИНТАКСИС: #zap

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

2) Алиасы (alias) и горячие клавиши (hotkey)
--------------------------------------------

2.1) Разберемся, чем они отличаются друг от друга

Обе эти функции очень полезны. Сам я предпочитаю пользоваться
алиасами во всех случаях, но некоторые люди жить не могут без горячих
клавиш. Обе рассматриваемые функции похожи друг на друга тем, что
являются быстрым способом ввода длинных команд. Отличие в том, что
алиасы все же требуют набора нескольких символов и нажатия клавиши
Enter перед тем, как команды будут переданы в игру. Горячая клавиша
же сработает сразу, как только вы нажмете соответствующую клавишу.
В тех редких случаях, когда я пользовался горячими клавишами, это
были функциональные клавиши (F1-F12). На самом деле, в качестве
горячей можно использовать любую клавишу, но использование обычных
буквенных клавиш в качестве горячих -- не самая удачная идея. Можно
пользовать в качестве горячей клавиши клавиши вроде тильды (~) или
комбинации клавиш, например "CTRL+A".

2.2) Создание простого алиаса

КОМАНДА: #alias
СИНТАКСИС: #alias {короткое имя-текст для вызова} {полный текст команд}

ПРИМЕР: #alias {ввт} {взять все труп}

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

2.3) Создание простой горячей клавиши

КОМАНДА: #hotkey
СИНТАКСИС: #hotkey {клавиша} {полный текст команд}

ПРИМЕР: #hotkey {F1} {взять все труп}

Аналог примера с алиасом. Теперь, когда вы убьете моба, чтобы ограбить
его труп, достаточно нажать на клавишу F1.

2.4) Удаление ненужного алиаса

КОМАНДА: #unalias
СИНТАКСИС: #unalias {короткое имя-текст для вызова}

ПРИМЕР: #unalias {ввт}

Теперь алиас, который мы создали ранее, будет удален. Удалять алиасы
также можно, вызвав специальный диалог кнопкой с белой коробкой на
панели инструментов (редактирование объектов JMC), далее -- вкладка
"Алиасы" (Aliases), выбрать алиас "ввт", кликнуть мышью кнопку
"Удалить" (Remove), хотя лично я нахожу такой путь слишком длинным и
оттого нудным. Я предпочитаю первый способ.

2.5) Удаление ненужной горячей клавиши

КОМАНДА: #unhotkey
СИНТАКСИС: #unhotkey {клавиша}

ПРИМЕР: #unhotkey {F1}

Теперь горячая клавиша, которую мы создали ранее, будет удалена.
Удалять горячие клавиши можно также способом, описанным выше, только в
диалоге выбирается вкладка "Горячие клавиши" (Hotkeys) вместо "Алиасы"
(Aliases).

3) Цветовыделители (highlight)
------------------------------

3.1) Зачем нужны цветовыделители

Многие знают, что использование цветов в игре помогает отличать друг от
друга игроков и предметы, монстров и тому подобное, и что это
цветоделение очень удобно. Если вы раньше не пользовались цветами
стандарта консоли ANSI (кратко -- цвета ANSI) и вы играете, к примеру,
в MUD под названием "Arctic", предлагаю вам ввести команду "opt ansi"
[в русском MUD под названием "Былины" аналогом этой команды будет "цвет
полный" -- прим.пер.]. Сначала у вас будет немного рябить в глазах, но
побегав в игре с цветами ANSI подольше, вы от этого уже не откажетесь.
JMC поддерживает цвета стандарта консоли ANSI. Имена некоторых
персонажей в игре или какая-то информация от сервера игры могут для вас
быть важнее других имен или другой информации и поэтому мы не хотели бы
пропустить их в потоке текста. Выделение такой информации цветом --
один из способов не пропустить ее.

3.2) Создание цветовыделителя

КОМАНДА: #highlight
СИНТАКСИС: #highlight {цвет} {информация для выделения цветом}

ПРИМЕР: #highlight {green} {Петр}

Теперь каждый раз, когда в потоке текста от сервера игры вам попадется
имя "Петр", оно будет автоматически выделено зеленым (green) цветом.
Однако, нужно иметь ввиду, что из-за того, что, к примеру, в слове
"Петрович" тоже присутствует "Петр", часть слова "Петрович" тоже будет
выделена зеленым.

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

ЦВЕТА: yellow (желтый), red (красный), green (зеленый),
       brown (коричневый), blue (синий), magenta (пурпурный),
       cyan (голубой), light red (ярко-красный),
       light green (ярко-зеленый), light blue (ярко-синий),
       light cyan (ярко-голубой), light magenta (ярко-пурпурный)

3.3) Удаление ненужного цветовыделителя

КОМАНДА: #unhighlight
СИНТАКСИС: #unhighlight {информация для выделения цветом}

ПРИМЕР: #unhighlight {Петр}

Имя "Петр", которое, благодаря команде из прошлой главы, выделялось
цветом, теперь будет выводиться цветом по умолчанию. Можно удалить
ненужный цветовыделитель и с помощью кнопки с белой коробкой на панели
инструментов JMC -- в открывшемся диалоге выбрать вкладку HighLights
(Цветовыделители), выбрать ненужный цветовыделитель в списке, нажать
кнопку Remove (Удалить) справа.

...продолжение следует...

 

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

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