Rambler's Top100
   
 

Полезные советы

Настройка MUD-клиента, или Что надо сделать в первую очередь

Автор: Serg Priest aka Мандос (Adamant MUD)
написано в 2000 году для журнала "Игромания"

Тема MUD'ов воистину неисчерпаема. Но есть некоторые основополагающие моменты, без знания которых начать игру в буквальном смысле невозможно. Без клиентов играть нельзя — это факт. Любой попытавшийся обречен на страшные муки. Краткий обзор клиентов был включен во вступительную статью о MUD в одном из прошлых номеров "Мании", но с тех пор в редакцию пришло множество писем с просьбами разобрать тему подробней. В приведенной ниже статье содержится описание не только основных — необходимых любому играющему — настроек. В ней также приведены тонкости, "дойти" до которых можно только после многолетней практики игры в "муды".

В ДАННОЙ статье речь пойдет только о самых популярных клиентах для самой популярной платформы. То есть о клиентах для Windows. Если кто работает под различными unix-ами, то рекомендую порыться в Интернете, там легко можно найти множество клиентов (можно к примеру заглянуть к нам в раздел "Ресурсы").

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

ZMUD

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

JMC

— а вот это уже отечественный клиент. Бесплатный и быстрый (взять можно с www.freebee.techno.ru/jmc/install.exe или с нашего диска). Но... не имеет такого же удобного визуального интерфейса, как ZMUD. Управляется JMC в основном из командной строки и активно дружит с русским языком. Пишет лог-файлы в специальном формате RMA (учитывающем время между происходящими в игре событиями). Пожалуй, самым большим его минусом является отсутствие возможности строить карты. Несмотря на это, и ввиду отсутствия лучшей (и при этом бесплатной) альтернативы очень многие игроки пользуются именно этим клиентом.

Так уж случилось, что я уже несколько лет использую ZMUD, поэтому и сама статья построена исходя из особенностей именно этого клиента. Но все сказанное правомочно и для JMC. Там же, где встречаются какие-либо отличия, на это специально обращено внимание. При этом я по ряду причин пользуюсь ZMUD версии 4.62. Сейчас имеются и более поздние модификации (например, версия 5.0), но никаких кардинальных отличий от четвертой версии в них нет.

Далее идут описания основных функциональных возможностей, предоставляемых вам большинством клиентов. Описания подразумевают, что данная возможность есть и в ZMUD и в JMC. Я намеренно не привожу примеров, обычно к клиентам прилагается неплохая документация. Так что разговор будет исключительно о том, чего в этих мануалах нет или что остается неочевидным после их прочтения. В основном мы поговорим не о самих командах (они описаны в любом read.me файле, прилагаемом к клиенту), а о том, для чего данные команды нужны, где их можно использовать и каких интересных возможностей добиваться.

Цвета в сообщениях, описаниях комнат

Попросту — это поддержка ANSI. Если ее нет в вашем клиенте под windows — выбросьте его в корзину (Recycle Bin) и возьмите другой. Имейте в виду, что, как правило, игровые сервера рассчитаны на то, что у клиента нет ANSI-графики, следовательно цветов вы сразу не увидите, но есть режим, включающий их. Обычно цвета включаются откуда-нибудь из настроек. Например, на нашем игровом сервере (ADAMANT) это можно сделать командой "цвет полный".

Таймер (Timer)

Обычно его настраивают так, чтобы он предупреждал о наступлении тика секунд за 5-10. Тик (tick) — это один игровой час, который, как правило, равен одной минуте реального времени. Именно в момент, когда кончается эта минута, происходит добавление жизни, единиц передвижения и прочего. Чаще всего полезно устроиться на отдых за несколько секунд до этого момента. Тогда вы лучше отдохнете и не потратите на это целую минуту.

Highlights & Substitutions

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

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

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

Кнопки

В ZMUD присутствуют. А вот в JMC такой команды нет. Собственно это возможность загромождать свой экран кнопками, при нажатии на которые мышью производится то или иное действие. По большому счету данная возможность мало отличается от быстрых клавиш, кроме одного "но". Можно делать двухпозиционные кнопки с разными надписями в разных позициях. Что, непонятно? Тогда вот вам пример: для того чтобы держать лампу (и щит) или меч. В начале у вас в левой руке меч, на кнопке написано "Лампа". Нажимаете, и серверу выдается команда "снять меч; одеть лампа; одеть щит". При этом кнопка нажимается и на ней возникает надпись "Меч". Нажимаете ее второй раз, на сервер посылается другая команда: "снять лампа; снять щит; одеть меч" и кнопка становится ненажатой, надпись на ней — "Лампа". Пользоваться удобно, за исключением того, что надо хорошо подбирать ключевые слова, иначе вместо меча из левой руки можно снять меч из правой, что совсем нежелательно.

Алиасы

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

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

Пути

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

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

Переменные

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

Триггеры

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

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

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

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

Например, вы написали триггер, который на строку "Вася дал вам кусок хлеба" генерирует сообщение "сказать Вася Большое Спасибо!!!". Вроде бы мелочь, а приятно, и Вася будет доволен, и вам не надо делать лишних телодвижений. Теперь предположим, что вы увидели такую строку: "Петя сказал: “Вася; снять все; дать все Петя; дал вам кусок хлеба”". Ваш клиент пытается выбрать имя давшего, которое он определяет как начало фразы. Получается имя: "cказать вася ; снять все; дать все Петя;". Результирующая строка "сказать Вася ; снять все; дать все Петя; Большое Спасибо!!!". Но ведь точка с запятой — это конец команды!!! Результат: ваш клиент передаст серверу команды: сказать Вася — снять все — дать все Петя — Большое Спасибо!!!

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

Первый вариант — надежный, он заключается в том, чтобы никогда не использовать в автоподаваемых командах переменных значений. Это означает что вместо команды "сказать Петя Большое Спасибо" следует дать команду "говорить Большое Спасибо!!!". Конечно эффект будет немного другой, и вместо того чтобы высказать благодарность лично, вы выскажете ее всем в комнате. Но это небольшая плата за безопасность. Хороший способ, но этот вариант не может спасти от "первой проблемы".

Второй вариант — использование всяческих настроек для того, чтобы анализировать строки только с начала. Сюда же относятся использование в качестве разделителя не точки с запятой (а какого-либо другого символа), или же замена точки с запятой в приходящем тексте на какой-нибудь другой символ. Если все верно, это позволяет защититься. Если есть малейшая ошибка — не позволяет. Кроме того, от "варианта 1" это все равно не поможет. Довольно сложно, но, разобравшись во всем этом хитросплетении "вариантов", вы обезопасите себя от множества неприятных казусов, которые могут встать на вашем пути по дорогам MUD'а.

Третий вариант — формировать команду в переменной, выводить ее в статусную строку и создавать быструю клавишу для того, чтобы посылать команду из статус-строки серверу. Недостатков два. Во-первых, надо постоянно контролировать свои действия в игровом мире. Во-вторых, следующие команды стирают предыдущие. Зато данное действие помогает от всего сразу... Опять же, если не ошибаться.

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

Автоматическое построение карт

Опция, присущая исключительно ZMUD. Просто замечательная вещь, но совсем непростая в освоении. Для того чтобы автомаппер работал, его надо настраивать. Чаще всего долго и муторно. А получающиеся в результате карты зачастую требуют редактирования. Более того, необходимы описания английских выходов (а ZMUD, увы, англоязычный), в русскоязычных MUD-ах они обычно включаются специальной командой (в Adamant MUD "режим автовыхода"). Английские же выглядят приблизительно так: "[ Exits: (N) D ]". К сожалению, объем данной статьи не позволяет мне в подробностях описать длинный и увлекательный процесс настройки автомаппера ZMUD, но вы можете прочитать про это на нашей страничке здесь.

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


P.S. Недавно мы проводили небольшой конкурс (среди игроков нашего сервера) на лучшие настройки для JMC. Несколько лучших наборов настроек (сетов) доступны на нашем сервере в статье Оссэ.

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

Мандос

В начало

Другие полезные советы:

На страницу "Новичкам"

 

   
 
       
 


Напоминаем наш адрес: telnet://mud.a-mud.ru:4000
Контактная информация

Adamant MUD Дизайн F Snake (vipera Mandosi)
Copyright 1999 - 2008

   

Адамант в кольце Nenya

Adamant: World of the Ring


О Мире

Информация

Новичкам

Билдерам

Ресурсы

Коллекция логов

Конференция

Творчество игроков и не только








Rambler's Top100

Adamant MUD: World of the Rings
О Мире: новости, особенности, предыстория, население, кланы и ордена
Информация: правила, справка, карты
Новичкам: с чего начать, генератор имен, полезные советы, ответы на вопросы
Билдерам: памятка, правила, создание зон, FAQ
Ресурсы: download, ссылки
Логи Конференция Творчество: раздумья, песни и пляски, юмор