Ну вот, клиент скачан и установлен. Теперь, собственно сама настройка:
Будет очень удобно, если персонаж у вас уже создан, тогда при первом входе на сервер из меню Connection
Wizard
автоматически будут созданны триггеры регистрации, что посволит впоследствии
заходить на сервер практически мгновенно.Позднее, если вам захочется зарегестрировать нового чара (персонажа) в Connection Wizard, он находится в меню File.
Вы на сервере. Приятный сюрпириз: понажимайте клавиши на нумпаде - это цифорки в виде калькулятора справа от основной
массы клавиш - там уже забиты основные навигационные команды. Пожалуйста, если вам вдруг не понравилось то, что
навигационнае команды вбиты не на русском, а на английском, не меняйте их на русский, это сделает невозможной корректную
работу автомаппера. Добавляются и убираются горячие клавиши из меню keys
Последовательность действий такова:
Oткрыть меню keys, кнопочку открывающую это меню не заметить невозможно.
Нажать кнопочку New, она под списком уже установленных клавиш —
слева внизу.
Нажать кнопочку key
Нажать ту клавишу, которую хотите сделать горячей (комбинации типа
alt+key ctrl+key тоже работают).
Ввести в меню Commands нужную команду.
Закрыть окно keys.
Возможно, нет, не возможно, а обязательно вам захочется, чтобы некоторые
команды во время ваших многочисленных походов и боев исполнялись
автоматически, для этого надо установить триггеры, что по мнению моего сталуса
перводится как спусковой механизм. Как известно, zMUD программа, изначально
написаная для работы с английским языком, и о том. что существует еще и
кириллица, он не догадывается, поэтому приходится хитрить:
Создать новый триггер не сложнее, чем в JMC: #ac
{образец} {команда} {класс}. Где #ac — это,
собственно сама команда, которая записывает триггер (можно так же написать
#action или #trigger),
{образец} — пример словосочетания, на которое должен
срабатывать триггер, {команда} — команда, автоматом
посылаемая после обнаружения образца, {класс} —
группа, в котророй будет "жить" триггер в настройках zMUD'а. При создании
триггера {класс} можно не писать, тогда свежий триггер будет
помещен в группу Default. Все, триггер прописан, и казалось бы должен уже
работать. С англоязычными MUD'ами так и происходит, но вот в русских надо
сделать еще кое что, а именно — дополнить примеры фигурными скобками
(вот такими {}). Как это сделать:
Откройте меню Triggers, нажав на кнопочку с пистолетом вверху окна для
вывода сообщений сервера.
В графе Pattern, нужного класса вы увидите, тот
образец, который только что вводили, вот его-то и надо
{обнести фигурными скобками}. Можно
поступить и проще: при создании триггера из командной строки обнести
образец двойными фигурными скобками (#trigger
{{образец}} {команда} {класс}), но иногда, я
так и не понял почему, скорее всего из-за невнимательности, вторые скобки
съедаются, и их все равно приходится добавлять. В любом случае, всегда
проверяйте наличие фигурных скобок в образце триггера, иначе он не будет
работать.
Команд, которые посылает триггер может быть и несколко,
для этого просто надо указать их через точку с запятой — #trig
{{образец}} {команда 1; команда 2; команда 3} {класс}.
Советую сразу назначать разные классы, это потом несколько облегчит вам
жизнь. Графа Class.
Теперь перейдем во вкладку Options
Тут мы видим четыре раздела:
"Trigger Type", "When loaded", "Trigger on" и "Other Options".
"Trigger Type" — тип триггера. В этом разделе у меня всегда
включен тип "Pattern", так как я не очень знаю английский, и не совсем
понял, в чем отличия типов, но работает все провильно у меня только с
"Pattern".
"When loaded" — состояние триггера при загрузке. Включен при
загрузке zMUD'а или выключен.
"Trigger on" — тип строки, на которую срабатывать. Включите
"Newline" и "Prompt".
"Other Options" — другие параметры. Проследите, чтобы у
Вас были сняты галочки с графы Case Sensitive (Чувствительность к
регистру) и с графы Verbatim (Дословно понимать пример), Trigger on
Trigger можете оставить, тогда триггеры будут срабатывать не только на
текст приходящий из MUD'а, но и на другие триггеры.
Как образец можно указывать не только словосочетание, но так же и так
называемые "регулярные выражения". "Регулярные выражения" служат для задания
масок подмножества строк на котрорые реагирует триггер. Например мы имеем
такую строку: Харден посмотрел на Вас. И хотим,
чтобы каждый раз, когда Харден посмотрит на Вас, Вы посмотрели на этого
Хардена. Для этого всего лишь надо создать триггер #ac
{{Харден посмотрел на Вас.}} {смотреть Харден}
{гляделки}. Теперь, его назойливые взгляды в Вашу сторону, встретят
надежный отпор, и не только он будет знать, какая на Вас одежда, но и Вы
узнаете, какой стаф (вещи) на Хардене. Все хорошо, все работает, но
только для Хардена, все остальные игроки могут продолжать безболезненно
на Вас лупиться. Можно конечно создать похожие триггера на каждого игрока и
на каждого моба (персонажа управляемого не человеком, а игрою), но это
дико не удобно. Вот тут на помощь и приходят "регулярные
выражения". Перечислю все, которые мне известны:
* — соответствует любому количеству (от ноля до
бесконечности) любых символов — букв любого алфавита, цифр и
пробелов.
? — соответствует одному любому символу.
%d — соответствует любому количеству цифр.
%w — соответствует любому количеству букв (не
пробелов) латинского алфавита (любому слову). Для русского языка не
пременимо.
%a — соответствует любому количеству букв
латинского алфавита и/или цифр — английское слово и/или сочетание
цифр (god, 348, god348).
%s — соответствует любому количеству пробельных
символов — пробелов или табов.
%x — соответствует любому количеству
непробельных символов — букв или цифр любого алфавита (УРА! в том
числе и нашего — кириллического).
[диапазон] — соответствует всем сиволам
диапазона. Например [aeiouAEIOU] — любая латинская
гласная буква, [a-f] — латинская буква a или b, или c,
или d, или e, или f. С русскими буквами тоже работает. Внимание!!! Весь
диапазон подменяет только ОДИН символ.
^ — говорит о том, что образец, перед котрым
стоит символ ^, находится в начале строки. Поясню
зачем это надо: допусим у вас установлен триггер, котрый на фразу
"{Красивый белый фонтан журчит здесь навевая прохладу}" будет отдавать
команду "пить фонтан". Вы зашли в локацию, где находится
какой-нибудь ядовитый фонтан (такое бывает). За вами следует невидимый
Харден, котрый просто так на вас напасть боится, но знает про
ваш триггер, вот он и отдает команду: произнести Красивый
белый фонтан журчит здесь навевая прохладу. Оппа! Появляется
фраза: Харден сказал : "Красивый белый фонтан журчит здесь
навевая прохладу." И ваш триггер, как ни в чем не бывало посылает:
"пить фонтан". В результате Вы отравлены. А пердположим у
Вас был триггер "^{Красивый белый фонтан журчит здесь
навевая прохладу}", триггер бы не сработал потому, что фраза про фонтан
была не в начале строки, а шла просле перфикса "Харден сказал : ".
Заметте, что как только Вы снова вернетесь к нормальному фонтану, фраза о
нем появится с новой строчки, и утолить жажду автоматически уже ничто не
помешает.
$ — похож по действю на символ "^", но ставится
не до, а после образца, говоря, что образец должен находиться в конце
строки.
(образец) — сохраняет подмененый регулярным
выражением образец в параметр от %1 до %99, в заисимости от порядкового
номера регулярного выражение в строке с образцом. Возьмем уже
встречавшийся нам выше пример с любопытным Харденом: Харден
посмотрел на Вас. Изменим вот таким образом в наш
триггер: #ac {(%x) {посмотрел}* {на Вас.}} {смотреть
%1} {гляделки}. Что эта абракадабра означает уже должно быть
понятно. Мы в качестве образца заносим сочетание (%x) {посмотрел}*
{на Вас.}, где (%x) — заносимое в параметр %1
значение соответствующее любому количеству непробельных символов (то есть
слову), {посмотрел} — наш образец для проверки,
ограниченный фигурными скобками, так как он в кирилическом алфавите,
* — ноль или более любых символов, как пробельных,
так и непробельных и даже цифр,
{На Вас.} — еще один образец для сравнения на русском, а потому
в фигурных скобках. В результате наша маска соответствует:
что-то(слово или набор цифр на любом языке) посмотрел(дальше любое
количество букв, цифр и/или пробелов) на Вас. Причем
первое слово, которое мы обозначили "что-то", у нас занеслось в параметр
%1, и теперь для того, чтобы в команде отдаваемой триггером нам вызвать
это значение надо просто написать %1. Что мы и сделали {смотреть
%1}. Получилость, что когда к нам придет строка Харден
посмотрел на Вас. Наш замороченый триггер ответит по
прежнему смотреть Харден, но даже если на нас
посмотрит его подруга, допустим Сигрлинн, что даст
строку Сигрлинн посмотрела на Вас. мы тут же
среагируем, и наша маска заставит триггер послать команду смотреть
Сигрлинн.
~ — запретит zMUD'у воспринимать следующий за
ним символ, как командный. Допустим у Вас в муде есть следующая
строчка: Дверь ведет на север [закрыто] И вы хотите
поставить на "[закрыто]" триггер с командой открыть. Но любые символы,
заключенные между квадратными скобками, воспринимаются как диапазон. Что
делать? Варианта решения этой проблемы два: первый, простой но
ограничивающий свободу выбора это — поставить в параметрах триггера
во вкладке Options > Other Options — галочку в графе Verbatim, что
я ОЧЕНЬ не рекомендовал делать выше, и тогда все заработает, но вы не
сможете уже использовать в образце "регулярные выражения". А можете пойти
более правильным путем, и поставить перед скобками знак
~, квадратные скобки после этого не будут
интерпретироваться клиентом. То есть триггер примет вот такой вид:
#trigger {~[закрыто~]} {открыть} {двери} И можете
использовать регулярные выражения, меняя образец на ваше усмотрение. Не
забывайте только, что русские слова надо по-прежнему ограничивать
фигурными скобками.
~~ — употребляется, если вам требуется по игре
использовать триггер на символ ~.
{образец 1 | образец 2 | образец 3 |... и
т.д.} — соответствует любому из образцов. Знак
| означает в данном случае или.
{^образец} — НЕсоответствует
указанному образцу.
Если все триггеры, что вам пока нужны установлены, закройте окно и
возвращайтесь к игре.
В процессе игры вам может понадобиться быстро включить или выключить
целый класс триггеров. Делается это очень просто #T-
{класс} — выключить класс и #T+
{класс} — включить его обратно. Очень удобно бывает назначить
самые нужные классы на горячие клавиши.
А теперь то, ради чего все по-началу и затевалось — Automapper
Откройте автомаппер: Window/AutoMapper
Смело идите в настройки Edit/Preferens
В настройках откройте вкладку Strings
Укажите в меню Cen't go that direction те строки которые возвращает
сервер при отсутствии возможности удти в указанном направлении.
Первая — самая простая и самая часто встречающаяся — это
Увы, Вы не можете идти в этом направлении. Таких строк
много больше, здесь лежит
список всех известных мне на сегодня.
Укажите в графе Room is dark Здесь кромешная тьма.
Графу Look kommand оставьте без изменения.
Во вклатках Full Parsing, Brief Parsing и Look Parsing — внимание!
во всех трех!
в графе Exit Pattern пропишите ^~[ Exits:(что
это означает, Вам уже должно быть понятно), а в меню Exit Types поставьте
галочку на Single Characters
Закройте окно Preferens и перейдите в основное окно игры.
Наберите в командной строке режим карт, и отправьте на
сервер. Он вернет вам фразу: "Поддержка средств составления карт
активирована."
Найдите в окне автомаперра такую кнопку. Нажмите ее.
Найдите в окне автомаперра кнопку с биноклем . Нажмите ее. У комнаты появились
один или больше отросточков — это выходы.
Теперь, на нумпаде, в котором, как говорилось ранее забиты навигационные
команды на английском, нажмите любую кнопку, команда которой соответствует
любому выходу из комнаты. Появилась еще одна комната с уже обозначенными
выходами.
Все, теперь смело ходите туда, куда вам надо, а zMUD заботливо запишет
весь ваш маршрут.
И последнее, маленький совет, когда вы ходите по уже отрисованной
местности, отключайте вот этой кнопкой режим редактирования, чтобы
случайно из-за сбоя в программе или просто неосторожностью не попортить себе
карту. Составляя которую, вам придется изрядно потрудиться.
Ну что, вроде все. Настройка завершена — играйте.
Хотя нет подождите...
Перечислю вам еще пару триггеров для Hiervard MUD:
Поле Pattern: {Вы не смогли уклонитьcя от атаки} (*)
Поле Command: уклониться
или #trigger {{Вы не смогли уклонитьcя от атаки} (*)} {уклон} {уклониться} (Далее можно просто скопировать это строчку в командную строку мада, и триггер запишеться автоматически)
#trigger {{Вы ловким перекатом ушли от атаки} (*)} {уклон} {уклониться}
#trigger {{Вы не смогли блокировать атаку} (*)} {закрыться щит} {щит}
Допустим вы сражаетьсь с зайцем, но он вдруг запаниковал и решил убежать, и чтоб вам каждый раз не приходилось пробивать команды,
можно сделать следующий триггер (ВНИМАНИЕ! с ним надо быть осторожным)
Что же касается поля Command, то #white 2000 означает задержку перед выполнением следующей команды
(2000 значит 2 секунды), т.е. перед тем как последовать за кем-то(например зайцем), мы выжидаем 2 секунды и идем за ним,
а потом следует команда убить (этого самого зайца)
Здесь можно посмотреть
на примеры триггеров с использованием "регулярных выражений" в других мадах.