Онлайн игра Adamant Adan: Хроники Средиземья / Русский МАД по Миру Толкиена / RUSSIAN MUD GAME / PRG ONLINE (ROLEPLAY GAME) / telnet://adan.ru:9000

НОВОСТИ:

26-12-2012 Восстановлена еще порция перснажей 10-25х уровней.
24-12-2012
Восстановление персонажей

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

Все персонажи и аккаунты восстановлены из архива на середину января 2012 года при этом большая часть была
удалена в середине февраля, но более свежих архивов нет.

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

Для просмотра списка персонажей на аккаунте выберите в главном меню пункт 8, а затем пункт 1.

Если ваш персонаж не восстановился, обращайтесь к Линдиру для ручного разбора возможности восстановления.
23-12-2012 Поздравляем всех с наступающим новым 2013 годом!

В связи с чем рента бесплатная для всех. Но учтите, что вам необходимо иметь в наличие необходимую
сумму денег для оплаты ренты (деньги по факту не списываются).
Более того, на все новогодние праздники снижены потери опыта за смерть на 30%.

В Минас-Тирите и Минас-Моргуле выпал снег и на улицах стало мирно. Где-то в мире можно встретить
Деда Мороза, а также Гендальфа с Сауроном, которые проводят новогоднюю лотерею (стоимость участия от 100 монет).
Только в этом году - шанс выиграть в лотерею хорошие вещи под знаком змеи!

Вас ожидает серия заданий от Деда Мороза (для групп игроков высоких уровней). Где нужно будет проявить
знание мира и скорость прохождения зон.
21-12-2012 На земли Средиземья упала непонятная тьма. Свет померк.
04-12-2012 Татуированный пигмей теперь не должен выкидывать персонажа с которым сражается. Так же задержка между выкидываниями увеличена на 1 раунд боя.
23-11-2012 Изменения в зоне "Джунгли":
- Теперь все должны нормально покидать корабль если на борту есть питомцы.
- Татуированный пигмей теперь имеет в меме всего 1 болезнь, также он больше не умеет колдовать молчание, придержать и применять умение спасти.
- Дополнительный пигмей-капканщик, который появляется на 2й фазе боя с татуированным шаманом, теперь должен корректно исчезать при восстановлении босса.
- Получаемый опыт за монстров, которые не восстанавливаются (включая боссов) серьезно увеличен.
20-11-2012 - При уходе в ренту по таймауту все вещи из трупов в инвентаре теперь не должны пропадать, а должны попадать в инвентарь.
- Продавец магических вещей на рынке теперь продает новые типы предметов: эликсиры, отвары, настойки
- Заклинание "глубокое познание" доработано. Теперь оно показывает свойства и список аффектов напитков зельеварения и свитков зачарования.
14-11-2012 Исправления:
- Показывается состояние "сломан" для предметов в инвентаре или в комнате, пример: "пыльные селадоновые сапоги (сломаны)"
- Глубокое познание показывает максимальные и текущие структурные единицы предмета, а также
уровень предмета (параметр от 1 до 10 в данный момент, где 10 - супер элитные вещи)
- Для починки предметов уровней 8-10 с помощью умения "починить" требуется, чтобы умение было выше 100%.
Для 8го уровня предмета: 120%, для 9го: 135%, для 10: 150%.
- В магазинах можно чинить вещи с флагом !ПРОДАТЬ
- Специальным знаком "!" показывается в магазине, что вещь будет невозможно удержать в руках или невозможно
будет надеть и при этом передать другим. Так же такую вещь нельзя купить в магазине.
10-11-2012 В новом обновлении вас ожидает первая из двух новых зон для групп игроков высоких уровней. Вам предстоит сразиться с
агрессивными животными, пигмеями и с тремя новыми боссами. Это экспериментальная зона, построенная по другим принципам
баланса и мы надеемся, что пройти ее будет весьма не просто. Вас ожидают серьезные испытания, копите буфера опыта для смертей. :)

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

В этом обновлении вы сможете собрать 3 из 5 сетовых предмета: пояс, сапоги и перчатки. Для получения предмета из набора
нужно собрать 10 одинаковых квестовых предмета. Со статсами предметов можно ознакомится ниже.

Также в награду за убийство босса вы всегда будете получать случайный рецепт или формулу из нового набора.
27-08-2012 Исправлена ошибка с флагом !паралич у мобов. Теперь мобы с этим флагом не должны быть восприимчивы к параличу.



"; //показать разбиение страниц ?>
О нас
Новичкам
Кланы
Боги
Альбом
Валхалла
Творения
Билдерам
Файлы
Ссылки
Помоги проекту
Справка
Форум
Фэнтези имена
Карта




Наш адрес:
adan.ru 4000
Дополнительные порты:
5555, 9999, 9000, 8080, 3128, 5190, 6667







Билдерам

Нажмите, чтобы узнать адрес своего прокси

Вводная страница

Множество людей изъявляют желание стать билдерами. Примерно 1/10 от их числа реально что-то делает, и примерно каждая третья из сделанных зон бывает доведена ими до конца. Все остальное просто пропадает, так как довести недоделанную зону до конца сложнее, чем сделать свою с нуля. Причина проста: создание зоны - достаточно кропотливая работа, и далеко не все достаточно усидчивы, чтобы довести ее до конца. В результате мы имеем картину, когда на 1 сданную зону приходится штук 20-30 начатых :((. Этот раздел предназначен для тех, кто решил стать билдером. Данное руководство должно помочь вам в 99.9% случаев (если не помогает, смело спрашивайте - ваш ответ пополнит faq). Вся наша работа с билдерами построена так, чтобы уже на первых этапах отсеять случайных людей. Это делается для того, чтобы как можно больше времени уделять всем остальным.

Вы должны твердо усвоить одно: пока вы еще не имеете ни одной готовой зоны, вам надо поступать так, как тут написано. ВСЕГДА И ВО ВСЕМ. Возможно, некоторые требования покажутся вам странными, но все они так или иначе обоснованны. Эти требования - результат четырехлетнего опыта создания зон и работы с билдерами. Даже если вы считаете требование ошибочным, выполните его. Создав свою первую зону, вы получите право дискутировать на тему этих правил; но пока вы еще новичок - выполняйте их без лишних разговоров.

Как стать билдером?

Для того, чтобы стать билдеpом, нужно следующее:

1. Способность беспрекословно следовать данной инструкции.
2. Желание сделать что-то свое.
3. Небольшой игровой опыт.
4. Хороший русский язык.
5. Знание «Властелина колец» Толкиена.

Что делать, если все это у вас есть:

1. Прочитать до конца эту инструкцию, дважды, еще лучше трижды :).
2. Почитать "Памятку билдера".
3. Прочитать "Соглашение".
4. Заполнить "Заявку" и написать в ней предложение по той зоне, которую вы будете делать.
5. Послать результаты пунктов 3-4 Ирмо по email: irmo2009 собака yandex.ru
6. Пока ждете ответа, скачать редакторы. Распаковать их и изучить документацию к ним. Вместо помощи есть всплывающие подсказки (хинты) - прочитайте их все.
7. После получения одобрения идеи зоны приступить к "Этапам ее создания" .
8. Если вы получили отказ – он окончателен и бесповоротен. Не пытайтесь доказать никому свою правоту: либо придумывайте что-то новое, более подходящее, либо оставьте билдерство.

Вам следует помнить:

1. Вы должны проявлять инициативу и продвигать свою работу. Если вам что-то было обещано, и это не было сделано - пошлите письмо с напоминанием.
2. Все вопросы (если это не обговорено отдельно) решаются по e-mail. Мелкие вопросы могут быть обговорены онлайн. Решайте все вопросы с тем бессмертным, который курирует вашу зону.
3. Если вы потеряли интерес к продолжению работы, сообщите об этом. Мы либо передадим вашу зону для доводки кому-нибудь еще, либо доделаем ее сами, либо отложим до лучших времен. Гораздо хуже тянуть время.
4. Нет ничего ценнее элитных билдеров. Это люди, которых уважают и которые имеют наибольший шанс попасть в боги. Однако стать таким билдером может не каждый. Мы готовы помочь вам попробовать, в надежде, что вы поможете нам разнообразить игровой мир.

Соглашение

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

Становясь билдером, Вы безусловно соглашаетесь с нижеизложенным и обязуетесь выполнять следующие пpавила:

  1. Мы уважаем и ценим своих билдеров и готовы с течением времени предложить некоторым из них иммортала в нашем маде. Однако вы не можете потребовать выдачи вам бессмертного чара за свою билдерскую работу. Но вы имеете право на собственную статую в Залах Славы нашего мада.
  2. Становясь билдером, вы обязуетесь не распространять информацию о вашей зоне и не использовать ее своими смертными персонажами. В частности, вы не должны:
    • сообщать кому-либо, какие вещи или монстры имеются в вашей зоне;
    • сообщать кому-либо, как проходить те или иные участки вашей зоны;
    • состоять в группе, которая проходит вашу зону в первый раз после подключения;
    • распространять файлы своей зоны среди игроков;
    • передавать или показывать вашу зону третьим лицам;
    • передавать вашу зону в другие мады.
  3. Игровые персонажи билдеров не получают никаких преимуществ и не имеют права ни на какие исключения со стороны богов. Их единственная гарантированная награда – это слава, выдаваемая после подключения каждой зоны.
  4. Права на зону полностью принадлежат проекту. Билдер не имеет права требовать отключения, изменения или передачи своей зоны другому маду не имея на то веских причин. Уровень вескости причины определяется богами:).
  5. Мы со своей стороны гарантируем уважительное отношение к нашим билдерам и исполнение всех взятых на себя обязательств по отношению к ним, при условии, что те соблюдают правила для билдеров.
  6. Мы оставляем за собой право изменять или удалять из мира зону, не заручившись согласием билдера.
  7. Любой билдер вправе выбрать себе один или несколько псевдонимов для ссылки на него как на автора зоны. При желании мы можем разместить его фотографию и краткие данные на своей страничке.
  8. Мы оставляем за собой право прервать работу с билдером на любом этапе создания зоны, аргументируя или даже не аргументируя свои действия. Если вы получили отказ на создание зоны по каким-то идейным причинам, не пытайтесь доказывать свою правоту. Вам следует либо начать разработку других идей, которые нас заинтересуют, либо оставить работу билдера. Если вы получили отказ на создание зоны без указания каких-либо причин, оставьте работу билдера при нашем маде.
  9. При несоблюдении билдером сроков создания зоны и порядка отчетности о состоянии зоны, мы оставляем за собой право прервать работу с данным билдером и передать его зону на доработку без извещения о том самого билдера.

Памятка билдера

Дополнено c использованием перевода правил для билдеров WotMud.

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

В данный момент Ведущими Зоны Мира (ВМ) являются Кархарот omlin собака mail.ru и Ирмо irmo2009 собака yandex.ru . В своей работе начните лучше контактировать с Ирмо, поскольку Омлин подключается к созданию зоны на более поздних этапах. Если вы написали нам письмо и не получили ответ в течение 1-2х дней, пожалуйста, пошлите письмо снова.

Для того, чтобы создавать зону для Adan-а, Вам потpебуется следующее:

  1. Внимательно пpочитать все приведенные здесь правила. Если остались вопpосы, их можно задать ВМ онлайн или по email.
  2. Связаться с Ирмо, выслать ему анкету и обсудить с ним концепцию будущей зоны, со всеми ее особенностями, квестом и триггерами.
  3. Получить у Ирмо одобрение на создание зоны, номеp зоны, согласовать с ним название зоны и выяснить, кто будет курировать создание вашей зоны. Это может быть сам Ирмо, либо по его указанию один из бессмертных, занимающихся миром.
  4. Все последующие вопросы вы решаете только с тем бессмертным, который курирует вашу зону!
  5. Скачать из раздела «Файлы» pедактоpы для создания зоны.
  6. Согласовать с ВЗ (ведущим зону) все имена собственные, которые будут фигурировать в вашей зоне (это необходимо, т.к. в pазных пеpеводах одна и та же местность может называться по-pазному).
  7. Абзацный отступ делайте в 3 пpобела. Пустую стpоку после описания комнат НЕ оставляйте.
  8. Как показывает пpактика, лучше всего действует такая схема:
    • делается план, урегулируются квесты и т.п.
    • делаются комнаты
    • делаются мобы
    • делаются обьекты
    • все это pасставляется (увы, пока вpучную - см. файл)
    • все пеpедается ВЗ
    • ВЗ проверяет зону и указывает на то, что следует исправить
    • Вы испpавляете зону и снова отправляете ее ВЗ.
    • ВЗ окончательно доводит зону и передает ее ВМ.
  9. Стаpайтесь избегать оценочных хаpактеpистик в описаниях, потенциально зависящих от pасы смотpящего. Напpимеp, описание "Прекрасный Эльф" подходит только с точки зрения такого же эльфа или человека. Однако ни один эльф не покажется прекрасным гному или тем более орку. Пример2: избегайте описаний типа «вода по пояс»: там, где эльфу вода по пояс, гнома может накрыть с головой. ВСЕГДА, составляя описание, старайтесь посмотреть на него с точки зрения разных рас.
  10. После того, как вы создадите все пpедметы, пpовеpьте наличие флагов ZoneDecay, NoRent, NoSell для уникальных ключей и quest-вещей.
  11. Книги с заклинаниями для всех классов находятся у нас в едином файле, поэтому просто укажите в описании зоны, на каком монстре должна лоадиться какая книжка.
  12. Описания пpедметов и монстров во всех падежах должны начинаться с МАЛЕНЬКОЙ буквы.
  13. Файлы, содеpжащие мобов, комнаты и т.д., называйте следующим обpазом:
    Имя файла - это номеp вашей зоны (50, 60 и т.д).
    Расшиpение файла зависит от типа обьектов, содеpжащихся в нем:
    • obj - файл с обьектами
    • mob - файл с мобами
    • shp - файл с магазинами
    • wld - файл с комнатами
    • map - каpта к файлу с комнатами (обязательно пpислать)
    • zon - установки зоны
  14. Все ключи, получаемые обычным путем (т.е. снимаемые с тpупов монстров), надо загpужать на death-тpиггеpах (т.е. в момент смеpти монстра)
  15. recode.exe - очень полезная пpогpаммка для пеpекодиpовки файлов из одних кодиpовок в другие. Запустите ее, чтобы получить спpавку.
  16. НЕ используйте всяких rar-ов и прочих архиваторов, архивирующих файлы в виде 125.WLD, 125.MAP, вместо 125.wld, 125.map. Расширения должны быть указаны строчными буквами.

Следует иметь в виду, что зона не может содеpжать более 99 комнат, пpедметов или монстров. В случае, если вам необходимо создать большее количество этих обьектов - обpатитесь к ВМ.

  • Ваша зона должна быть уникальна. Если такая же или очень похожая зона будет обнаружена в других мадах, она может быть изъята из нашего мада. Для вас это означает, что не надо пытаться воспроизвести зоны из других мадов, либо делать одну зону сразу и для нас и для какого-либо другого мада.
  • Никогда не используйте знак ~ в названиях и описаниях комнат - это приведет к печальным результатам, так как вся информация после этого знака, скорее всего, будет утеряна. Не используйте букву "ё" - этот символ не поддерживается клиентами, используйте вместо него "е".
  • Заранее подумайте о том, куда ваша зона может быть подключена.
  • Вы должны получить особое одобрение со стороны ВМ, прежде чем ввести в зону запутанный лабиринт или сложный квест. Если вы попытаетесь сделать это без разрешения, ваша зона просто не будет подключена к миру. Лабиринты хороши, если встречаются в соответствующих им местах (например, в гигантских болотах), а не просто из-за прихоти билдера. То же относится и к созданию комнат с одинаковыми описаниями.
  • В случае, если ваша зона имеет хотя бы минимальное описание у Толкиена - внимательно пpочтите его (желательно несколько pаз). Ссылаясь на какие-либо объекты, удостоверьтесь, что вы правильно понимаете, как они выглядят и где находятся (некоторые билдеры почему-то полагают, что Мория была расположена в лесу). Лучше запастись цитатами, дабы прислать их ВМ.
  • II. Правила описания комнат.

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

    1. Названия комнат должны быть краткими и по возможности распространенными: "В большой и светлой пещере", "У высокого дерева", «Залы Мандоса». Орфография в названиях должна соответствовать общепринятой: имена собственные пишутся с заглавной буквы, имена нарицательные – со строчной; предложение начинается с заглавной буквы. В конце заголовка точка НЕ ставится.
    2. После знака препинания следует только 1 пробел, между словами может быть только 1 пробел.
    3. Не должно быть пропущенных строчек в описании комнат. Также не используйте переноса слов.
    4. Описания комнат должны состоять преимущественно из одного параграфа. Этот параграф должен содержать около 4-х строк текста: не менее трех и не более 9. Описания должны давать краткую, но значительную информацию о местности, будь это лес, комната или подвал. Любые постоянные объекты могут быть включены в описание (окружающая местность, географическое местоположение, любые видимые достопримечательности, мебель и т.п). Избегайте включать в описание непостоянные объекты, например, животных. Если хотите, чтобы в комнате лежал меч - создайте такой предмет и поместите его в комнату. Порой люди делают берлоги, в которых подробно описаны медведи, которых к моменту прихода туда игрока уже давно нет в живых. Это приводит лишь к недоумению среди игроков.
    5. Старайтесь не оставлять "одиночных" слов на строке. Так, если все ваше описание уместилось в 3 строчки и осталось 1-2 слова, которые переносятся на следующую, четвертую строку, лучше перефразируйте все описание. Лучше, если все описание помещается четко в четыре строки.
    6. Каждая строка должна состоять примерно из 78 символов. 6 строчек по 50 символов и 3 строчки по 90 символов одинаково неудобны для восприятия. Не все имеют одинаковое разрешение экранов, поэтому 78 - стандартное число символов в строке (имейте в виду, что в редакторе окно на 5 знаков шире и составляет 83 символа).
    7. В описании комнат не должно встречаться цифр - все числа указываются прописью.
    8. Не используйте обычных метрических величин. Помните, что в книгах Толкиена были свои меры длины и веса - используйте именно их.
    9. Не допускаются идентичные комнаты, или комнаты с очень похожими описаниями! Если такие комнаты обнаружатся, вам придется переписывать их заново. Каждая комната должна быть уникальна. Исключения ЗАРАНЕЕ обговариваются с ВМ.
    10. Все ДТ должны быть одобрены ВМ. Избегайте вводить их в зону только по вашей прихоти. Все билдеры очень любят ДТ, пока пишут зоны, но совсем не любят их в процессе игры. Также всегда лучше использовать триггер, который убивает игрока, если тот делает что-то не так, нежели простое ДТ, работающее всегда и не вносящее особого разнообразия.
    11. Для каждой комнаты с 1 выходом должно быть приведено разумное, логичное объяснение (странно, идя по равнине, попасть в тупик). Не должно быть также спиралей при отсутствии видимых причин (например, изменение рельефа). Это обозначает, что если игрок идет последовательно: в с з ю, то он должен оказаться в той же комнате, если только в описаниях не было специальной ссылки на соответствующее изменение рельефа (склон, туннель и т.п.).
    12. Чтобы открыть любую секретную дверь или продвинуться по квесту, игрок должен обладать соответствующими знаниями или быть в состоянии их получить. То есть он должен из самой зоны узнать, что в этом месте надо громко воскликнуть "Барук-казад", и тогда дверь откроется. Речь не идет о том, чтобы делать все загадки прозрачными (писать эту фразу на стенках в комнате, где ее надо сказать), но должна быть возможность отгадать ключевую фразу или действие, даже если игрок не обладает никакой информацией, кроме той, что почерпнул в книгах Толкиена и игровой зоне. В приведенном фрагменте достаточно намекнуть, что надо издать боевой клич гномов... кто не читал Толкиена, тот сам нажил себе хлопот. Хорошо добавлять в зону квестовые вещи, необходимые для ее прохождения, и разбавлять их дополнительными, ненужными вещами, которые введут игроков в заблуждение).

    III. Наиболее распространенные ошибки при описании комнат

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

    1. Очень частая ошибка заключается в том, что билдер дает игроку слишком много информации, которой он не может знать никаким образом. Избегайте этого! Ниже приводится немного утрированный пример такой ошибки: "Вы чувствуете присутствие какого-то зла, охраняющего это место в течение тысячи четыреста тридцати лет. Возможно, это неупокоенный дух Васи Печкина, который умер примерно в то время."
    2. Не вводите в описание клеток изменяющихся деталей. Обдумайте все с точки зрения игрока. Зачем называть комнату "По дороге к лесу", если игрок, возможно, из этого леса выходит? Нелепо будет выглядеть описание "Сосны отбрасывают короткие тени, а солнце немилосердно жжет ваши плечи" в полночь.
    3. Другая частая ошибка - это передача настроения и эмоций игрокам, читающих описание. Если Вы хотите передать какое-то настроение, делайте это через описание, которое игрок МОЖЕТ РЕАЛЬНО почувствовать, через звуки, внешний вид помещения, и т.п. Не вкладываете собственных чувств в описание. Не пишите : "Вам стало страшно и захотелось убежать". Что, если игрок/чар вовсе не испуган? Что, если он был здесь тысячу раз до этого? Что, если он темный, и ему здесь нравится? Не говорите также: "Вам хочется поскорее разрушить это злое место." Что, если сюда пришел темный персонаж? Всегда учитывайте уровень зоны, которую вы пишете: «ужасающее» дерево для 2-4 уровней смотрится глупо. Никогда не пишите «здесь красиво», «здесь страшно»: вы должны составить такое описание, прочтя которое игрок сам решит, красиво или страшно в том месте, которое вы описываете.
    4. В дополнение к предыдущему пункту - не вкладывайте никаких побуждений к действию или мыслей о приобретении чего-то в описание комнаты. Эта проблема часто возникает, если в описании встречается слово "вы", например "Вы быстро поворачиваете голову на звук, идущий откуда-то сверху", или "Вас привлекает блеск в углу комнаты, и вы подходите ближе, чтобы лучше разглядеть странный предмет". Если хотите добавить динамики, напишите триггер, срабатывающий в определенных случаях. Так можно реализовать все, что угодно, от громких звуков и пения птиц и до проваливания пола и падения в глубокие колодцы.
    5. Никогда в описании комнат не должно быть ссылок на скуку. В описании длинной дороги не должно встречаться фраз типа: "Проклятая дорога все тянется и тянется с севера на юг, ну когда же она закончится?" Подобное описание абсолютно бесполезно. Собственно, это разновидность ошибки, описанной в п.2.
    6. Некоторые люди постоянно попадают в ловушку слишком простых названий, например, "Поле", "Лес", "Болото". Попробуйте разнообразить названия. Добавляйте предлоги (около, рядом, возле, среди, внизу и т.п). "Среди деревьев" звучит лучше, чем просто "Лес".
    7. Избегайте банальных, избитых эпитетов и метафор: «красивый», «странный», «страшный», «темный». Ваши описания должны быть интересными и разнообразными. Не используйте слов-паразитов: «какой-то», «где-то», «как-то».
    8. Уделяйте больше внимания деталям, именно из них составляется описание места или объекта.

    IV. Проблемы, возникающие при выборе зоны.

    1. Пожалуйста, не просите разрешения создать большой город или большую деревню. У нас достаточно городов, в которых игровые персонажи могут жить, собираться в группы, делать покупки и т.п. То, что нам нужно сейчас, - это зоны для исследования и приключений.
    2. Старайтесь не населять ваши зоны скелетами, зомби и прочими восставшими из мертвых. Ваша зона должна в первую очередь подходить миру Толкиена.
    3. Не употребляйте тривиальных названий типа «черная башня». Это скучно. Монстры с именами "паук", "крыса", "мышь", "медведь" также являются весьма избитыми. Вообще избегайте описаний монстров из одного слова, по возможности добавляйте к нему какое-нибудь определение. Медведь-гризли гораздо лучше, чем просто медведь, а паук-убийца - чем просто паук. Даже черный паук лучше просто паука.
    4. Выдерживайте баланс зоны: ваши монстры, вещи и квесты должны быть ориентированы на определенный уровень игроков. Не помещайте супермонстра 30 уровня в зону для новичков. Не делайте также слишком простых монстров, дающих много опыта. Не помещайте хорошие вещи, книги, много денег на слабых монстров.
    5. Соблюдайте перспективу местности. Не делайте зон, которые сообщаются с другими зонами, находящимися в разных концах мира.
    6. Пожалуйста, держитесь в рамках мира Толкиена. Не помещайте в зону кентавров, единорогов, сфинксов и т.п. Они абсолютно не уместны в этом мире.
    7. Не затягивайте написание зоны: двух месяцев больше, чем достаточно. 10 дней - на составление подробного плана и 50 дней из расчета 2 комнаты в день - не так уж и мало. Спрашивайте ВМ обо всех неясных моментах. ВСЕГДА отвечайте на письма групповой рассылки, если в них изложена информация, которую надо скорректировать.

    V. Несколько подсказок, как сделать вашу зону особенной

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

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

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

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

    Убедитесь, что у вашей зоны есть какая-то интересная история, связанная с квестом. Квест не обязательно должен быть сложным: отнести объект А в город Х, дать его мобу У, выслушать его историю, вернуться в зону, поменять на объект В и т.д. Хорошая зона должна быть живой, в ней должны происходить необычные вещи, и, прежде всего, она должна взаимодействовать с игроком, чтобы хоть немного заставить его забыть, что все это лишь игра. Мобы в вашей зоне должны делать и говорить что-нибудь особенное. "Я бы не ходил туда на вашем месте" или "А вы слышали о сокровищах, спрятанных в этом лесу?" - пример фраз, предназначенных для привлечения внимания игрока. Помните, вы всегда можете сделать объектами часть описания комнат. Тогда, например, при взгляде игрока на меч, висящий на стене (взято из описания), игрок увидит, что он "весь ржавый, покрыт кровью" и т.п., а фермер, находящийся в этот момент в этой же комнате, тотчас же прошепчет игроку историю этого меча, или объяснит, почему он никогда не стирал кровь с него и откуда вообще на нем эта кровь. Если же в комнате будет ребенок, он может с восхищением рассказать, как его отец ходил на войну с этим мечом и т.д. Все это подразумевает постоянное взаимодействие зоны с игроками.

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

    VI. Помогите! Кочились все идеи!

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

    Поиск темы: прочитайте Властелина колец и вы поймете, что даже в нем описано столько всего разного, что нам всем вовеки не описать этого в зонах.

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

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

    Мы желаем Вам успехов в этом увлекательнейшем процессе, и предлагаем Вам не откладывая принять участие в строительстве нашего мира вместе с нами!

    FAQ для билдеров

    Частые вопросы и ответы на тему: Создание зон для Адамант MUD

    Вопрос: Для мобов графы "Max HP", "Hand damage" и "Деньги" состоят из 3х строк редактирования... что означает первый, второй и третий параметры?
    Ответ: ХdY+Z -- Х бросков кубика по Y граней + Z фиксированных единиц
    Вопрос: Могу я использовать в написании триггеров конструкции:
    сказать %actor.name% что-то
      вместо
    wsend  %actor.name%  Карр!!!
    
    Ответ: Нет, так как, например, комнаты не умеют говорить. Более того, даже для монстров результат будет несколько разным, так как msend не добавляет к передаваемой строке фразы "Ворона сказала: ".
    Вопрос: А комнаты умеют бросаться предметами или подбирать их?
    Ответ: Комнаты вообще ничего не умеют. Нет у нас комнат, как игроков :). Если вам надо создать предмет и поместить его в комнату из WLD-триггера, то используйте команду wload. Если удалить брошенное, то реагируйте на WTRIG_DROP.
    Вопрос: Как сделать персонаж, который если видит, что что-то выбросили в комнате, сразу бросается этот предмет подбирать?
    Ответ: Надо установить флаг scavenger аффектах и эффектах у монстров. Насколько я помню, персонажи с таким флагом подбирают все не совсем сразу, но почти сразу :).
    Вопрос: У меня нет "таблицы для графы Опыт" и я не знаю какой опыт ставить у создаваемых мобов?
    Ответ: Лучше ставить монстрам уровень. Даваемый при их убийстве опыт, количество хитов, наносимый дамадж поставит бессмертный Ведущий Мир (ВМ).
    Вопрос: Переменные связаны с конкретным персонажем или со всем типом персонажей? Т.е., если моб запоминает кого-то, то запоминают ли "кого-то" остальные мобы этого типа? А когда этот моб умирает, то забывает ли он всех "кого-то"?
    Ответ: Переменные запоминаются для каждого экземпляра моба. Подробней о переменных читай в руководстве по написанию триггеров.
    Вопрос: Проверяется ли командой ACT команда "убежать" и если "кто-то убежал с поля боя" ? Т.е. можно ли поставить на ACT триггер mhunt %actor.name% ?
    Ответ: Трудно гарантировать это, но должна :). Вообще в АСТ по идее должны попадать все строки кроме тех, к происхождению частей которых имеет отношение игрок. Так, например, строки, выдаваемые по команде "говорить", туда не попадут... в этом есть глубокий смысл :)
    Вопрос: Надо ли мне удалять предмет при условии, что зона репопится, а потом добавлять новый? Или как сделать, чтобы некий предмет, например квестовый, был всего один в мире?
    Ответ:

    При репопе никто специально не удаляется, все монстры и предметы остаются на своих местах. НО! надо иметь в виду ряд исключений:

    1. Если это указано явно в zon-редакторе, то часть монстров может удаляться. Это плохая практика, но в некоторых случаях без этого не обойтись. Лучше проконсультироваться, если вам нужно использовать эту команду. На таких монстров нельзя выдавать автоквесты, и т.п. Они удаляются вместе со всеми вещами, которые у них есть.
    2. Монстр или предмет может быть удален в результате работы триггера.
    3. ВАЖНО !!! Контейнеры типа сундуков лучше удалять каждый репоп. Дело в том, что если в этом сундуке должна грузиться вещь, то она грузится с флагом 1, это означает что если сундук не загружается, не загружается и вещь. В результате сундук загружается 1 раз при старте сервера, и вещи в нем не обновляются.
      Решение в том, чтобы перед загрузкой сундука удалять его из комнаты, где он грузится, тогда он будет перегружаться каждый репоп... вещи в нем будут пропадать/появляться.
    4. При каждом репопе вещи с флагом ZONEDECAY удаляются... разумеется, только те вещи с этим флагом, которые относятся к репопящейся зоне. Вещи из ренты не удаляются, поэтому обычно таким вещам ставят флаг !Rent (no rent).

    Теперь уже очевидно, как сделать такой ключ, который будет только один в мире и на месте:

    1. Загружать его с максфактором 1
    2. Поставить ему флаг zonedecay
    3. Поставить ему флаг norent

    Вопрос: В чём измеряется таймер на репоп объекта?
    Ответ: Репоп для всей зоны в минутах, если же речь о поле таймер в объектах, то тоже в минутах (на самом деле в игровых тиках, но тик ~ 60с).
    Вопрос: "Предмет нельзя отдизармить" - что означает этот флаг?
    Ответ: Что это оружие нельзя будет выбить из рук, используя умение обезоружить.
    Вопрос: Как можно "облагородить" описания комнат в зоне, которую я делаю?
    Ответ: В описаниях полезно давать больше конкретности (почему - писать не буду, длинно это, но как показывает практика - это и правда так). То есть, если уж написано, что "Вы находитесь в комнате отдыха. Все стены увешаны картинами, а большую часть помещения занимают многочисленные диваны и кресла, ...", то лучше написать, что на картинах изображена гибель Исилдура в Ирисной низине, или румяные обнаженные орчихи, или портреты предков хозяина кисти самого Юшки Урвихвоста. А в центре стола, за которым вечерами постояльцы собираются на ужин, стоит корзина, наполненная восковыми яблоками, репами и брюквами, гораздо крупнее и красивее настоящих. Все это сразу сделает текст гораздо интереснее. И про мебель надо что-то писать. Например, что на диванах там и сям разбросаны вышитые шелковые подушечки. Или наоборот, что они деревянные, жесткие и скрипучие, и видимые усилия деревенского столяра украсить их привели к тому, что сидеть на их грубой резьбе ощутимо неудобно Ж).
    Т. е., если уж объект упомянут, он должен быть явственно обрисован конкретными деталями. А если это представляется излишне трудоемким - не стоит упоминать этот объект вообще.
    Вопрос: Загрузится ли моб в комнату с флагом NOMOB(!MOB), если в зон-редакторе указано, что моб должен грузится в комнату с флагом !NOMOB?
    Ответ: Флаг !NOMOB, будучи установлен для комнаты, лишь не дает монстрам входить в эту комнату. Однако если монстра загрузить в такую комнату, он там появится. Обычный пример : магазин с монстром-продавцом имеет флаг !MOB.
    Вопрос: Умеют ли мобы отличать мобов от персонажей, или во всех GREET_TRIGGER надо ставить условие if (%actor.vnum%==-1)?
    Ответ: Да, монстры умеют отличать монстров от персонажей путем сравнения их vnum с -1 :). Сравнивайте, и все будет хорошо.
    Вопрос: При создании карты, есть в "Доп. описания" графы описаний. Зачем они?
    Ответ: Можно сделать доп. описания для look.... плакат в таверне сделан.. именно так.
    Например, можно сделать, чтобы при команде "смотреть ваза", выдавалось: "это красивая ваза, внутри что-то есть...".
    Есть такое поля и для предметов. Вы можете, например, сделать "кинжал с рубином в рукоятке" и написать разные описания для "смотреть кинжал" и "смотреть рубин".
    Вопрос: А номер ключа - это номер любого объекта?
    Ответ: Это номер ключа для двери или контейнера, т.е. то, что указано в квадратных скобочках до его имени.
    Вопрос: А если ключ - это предмет, отличный от ключа, например лопата? Я хочу, чтобы с её помощью можно было прокопать дверь... это ведь ключ для потайной двери? так ведь? и это её номер?
    Ответ: Только если кирку надо будет использовать командой открыть Ж) - иначе нужно описать триггер. В любом случае делать кирку с типом вещи "ключ" не очень хорошо - слишком очевидно ее использование.
    Вопрос: А односторонние проходы будут работать? т.е., если я иду с клетки 54623 на клетку 54649, а проход с 54649 с 54623 (обратно) стираю... будет ли работать? на этом я хочу построить лабиринт :+)
    Ответ: Да, будет, но такими приколами лучше особо не увлекаться. Я вообще плохо отношусь к лабирантам с одинаковыми комнатами Ж). Эта попытка сэкономить на написании описаний должна быть компенсирована хорошими описаниями для остальных частей зоны и классными мыслями Ж).
    Вопрос: А если я хочу создать персонажей, которые будут бегать? то мне надо будет писать для них триггеры для перемещения? или они, если не привязанные, будут сами бегать?
    Ответ: Все монстры перемещаются сами (если флаг sentinel не установлен). Можно ограничить перемещение монстров nomob комнатами, в них монстры не заходят.
    Вопрос: Если включён флаг SENTINEL, то будет работать WIMPY?
    Ответ: Надеюсь, что нет. Однако даже если они будут работать вместе, то это приведет лишь к весьма непредсказуемым последствиям. Предполагается, что монстры с флагом SENTINEL должны стоять на том месте, где они загружаются. Любое поведение, которое нарушает данное, является весьма нестандартным и требует тщательного дополнительного тестирования.
    Вопрос: Какие значения может принимать переменная room.north?
    Ответ: В это поле должен попадать битвектор. Скорее всего, аналогичный тому, который используется в wdoor (никогда не пользовался этими полями :) ).

    Заявка билдера

    Как писать "заявку" на зону.


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

    1. Ваши ФИО.
    2. Место жительства.
    3. Возраст.
    4. Образование.
    5. Читали ли вы Толкиена, что именно и сколько раз.
    6. Ваши чары в маде.
    7. Читали ли вы правила для билдеров, установленные сроки создания зон и согласны ли вы их беспрекословно выполнять?
    8. Концепция зоны, которую вы собираетесь делать.
    Концепцию следует писать художественным текстом, чтобы мы смогли определить, способны ли вы создавать приличные описания.

    Концепция зоны должна включать в себя следующую информацию, общим объемом не более 1 страницы:
    1. Краткая предыстория зоны. Описание того, как и почему это место
    стало таким, каким вы его изобразили.
    2. Описание антуража зоны. То есть небольшой словесный набросок того, что из себя представляет зона сейчас.
    3. Описание квеста зоны. Проще говоря, того, что должен будет сделать персонаж при прохождении зоны.
    4. Описание необычных моментов зоны.

    Пример: концепция зоны №272 "Поместье барона", которая поставляется в виде зоны-примера вместе с нашими редакторами.

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

    Примечания:

    1. Если зона описана у Толкиена - она должна максимально соответствовать оригиналу. Мы крайне не рекомендуем вам подражать другим авторам, используя их идеи (например, Перумову) – такие зоны не смогут быть подключены к нашему миру в своем оригинальном виде.
    2. Если вы не имеете билдерского опыта, даже не пытайтесь сразу подавать заявку на создание сложной хайлевельной зоны с разветвленным квестом – вам сразу однозначно дадут отказ. Начинайте с простых заданий.

    Этапы создания зоны

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

    Для того, чтобы подготовится к ней:

    1. Внимательно прочитайте: "FAQ для билдеров", "О квестах", "Памятку билдера".
    2. Скачайте и установите редакторы. Редакторы можно скачать в разделе файлы"
    3. Прочитайте памятку по работе с редакторами (после инсталляции файл readme.txt). Прочитайте историю создания редакторов (поможет понять некоторые фичи).
    4. Установите себе WinZip. Используйте ТОЛЬКО его.
    5. Вместе с редакторами вы получите программу RECODE.EXE. Она может перекодировать файлы из одной кодировки в другую. Иногда это может быть полезно.
    6. Для подготовки к написанию триггеров прочтите файл-описание к ним. Пока можете пропустить это.
    7. Скачайте пример файла зоны. Рассмотрите его и делайте свою зону по аналогии.

    Обычно зону создают так:

    • Пишут описания комнат.
    • Делают объекты и монстров.
    • Делают zon-файл и магазины (если надо).
    • Пишут триггеры (см. документацию).
    • Проверяют все word-ом на предмет ошибок.
    • Посылают все ВЗ с просьбой проверить.
    • Исправляют до посинения.
    • В случае, если это надо - тестируют.

    Помните: Вам НЕ НАДО заботится о балансе характеристик монстров и предметов. Этот балланс поправит ВМ. Если у вас есть оригинальные задумки - просто опишите их в сопроводительном txt-файле.

    Помните: Вам НЕ НАДО иметь локальную версию мада, если вы не будете тестировать зону. Будете или не будете - решит ВМ по обстоятельствам. Во всех остальных случаях такая версия только помешает вам, поскольку пользоваться ей непросто, и она не вполне функциональна (т.к. работает под Windows). Если хотите проверить свою зону - проверьте ее еще раз визуально, это гораздо полезнее, чем тесты.

    О "квестах"

    О квестах, выдаваемых Стариком

    Для того, чтобы на моба Стариком выдавался квест, Вам надо установить мобу следующие паpаметpы:

    • Галочку в позицию Action - InQuest
      (пpи этом часть монстpов может выдаваться только свелтым, часть - только темным, а часть - и тем и дpугим, это как поставите).
    • Абзац на страничке questor, который игроку скажет старик, выдавая квест.
      При этом надо иметь в виду, что таким образом следует использовать достаточно редких монстров, до которых не совсем просто добраться (дабы не было халявы). Описание на страничке questor должно содержать имя зоны, где находится цель, и основание для ее умерщвления :)
      Обратите особое внимание на то, что квесты могут выдаваться в одном из трех городов. Не делайте жесткой привязки к месту выдачи (а если они выдаются и светлым и темным, то и к направленности персонажа)

    О загадках и квестах в зонах

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

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

    Квест – это самая интересная черта зоны. Само собой, вы будете подробно обсуждать квест с ВМ еще до начала работы над зоной. Однако прежде чем придумать квест, имейте в виду:

    • Квест должен быть оригинальным. Оцените зоны нашего мада, из квесты и постарайтесь придумать что-то новое в плане самой схемы квеста.
    • Квест должен быть ориентирован на общий уровень зоны. Это значит, что квест, как и зона, рассчитан на игроков определенных уровней и должен быть сделан так, чтобы игрокам старших уровней он был бы просто не нужен, а игроки младших уровней не могли бы его пройти. Другими словами, квест должен включать как загадки, которые может решить любой игрок, так и убийство монстров.
    • Хорошо, если квест будет содержать рандомные, то есть непредсказуемые, выбираемые компьютером, детали. В этом случае ваш квест никогда не покажется «застывшим», и в нем всегда будет элемент непредсказуемости.
    • В пpинципе, хоpошей зоной считается такая, в которой увеличение количество игроков в группе не влияет на легкость ее прохождения. То есть хорошая зона может быть грамотно пройдена группой из 3 человек, и в ней может умереть группа из 10 человек.
    • Зона для старших уровней должна содержать либо несколько квестов, либо один разветвленный квест. Также квест в зоне можно завязать, используя квест в другой зоне: например, квест-предмет достается путем исполнения квеста в одной зоне и используется в другой.

    Напpимеp. Есть замок. В его башне сидит охpана. Штук 5-10 монстpов. Конечно, можно их убить, если собpать очень большую гpуппу, но если, напpимеp, попытаться убить сидящего в соседней комнате Капитана стpажи и сбежать, то он оpет "спасите-помогите-тpевога", и охpана начинает Вас искать по замку, pазбpедаясь. Соответственно, есть возможность убить их по одному, что вполне по силам не 15 игpокам, а, скажем, двоим. Это пpимеp пpимитивной загадки.

    Напpимеp: Вы пpиходите в зону. Там монстp А говоpит, что он дал бы тебе ключ от дома с кладом, если ты ему веpнешь вещь Б. Далее ты попадаешь к монстpу В, котоpый говоpит, что если ты найдешь-убьешь монстpа С, то он даст тебе эту вещь. Находишь-убиваешь монстpа С. Монст В обманывает тебя и убегает, откpыв pанее закpытую двеpь. Догнав его и убив, ты получаешь искомую вещь Б - что-то, что было там, куда он откpыл двеpь(деньги? шмотку?). Тепеpь монстp А даст тебе ключ. А ведь можно было пpямо сpазу убить монстpа В, если собpать большую гpуппу (ведь к нему пpидет на помощь монстp С), но тогда не получишь то, что за двеpью. Или даже, собpав гpуппу еще больше, убить монстpа А. Т.е., есть свобода выбоpа... это тоже довольно пpимитивный пpимеp.

    Как pасставлять паpаметpы пpедметам и монстрам

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

    Для монстров лучше всего расставить только уровень. Хиты и damage проставит ВМ - это достаточно тонкий момент, чтобы вникать в него всем миром. Главное - не расcтавляйте флагов, значения которых не понимаете. Матеpиал должен соответствовать пpедмету. Не стоит делать щиты из пеpгамента и т.д.

    Написание триггеров

    Триггеры и что это такое

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

    По типу "прикрепления" триггеры делятся на три группы:

    1. Триггеры, прикрепляемые к монстрам
    2. К объектам
    3. К комнатам зоны.

    Сам триггер - это набор команд на специальном языке (DG Scripts), исполняемый при возникновении в игре какого-либо события. Событием может быть смерть моба, появление игрока в определенной комнате, подбирание предмета, называние игроком пароля и т.п. В общем-то, практически любое действие игрока может быть отслежено, и на него может быть сделана специальная реакция.

    Обычными примерами обычно являются триггеры, делающие следующее:

    1. Стражник, зовущий на помощь, когда его атакуют
    2. Горожанин, здоровающийся с проходящими мимо
    3. Стеклянная колба, разбивающаяся и образующая лужу, когда ее бросают на пол
    4. Две половинки ключа, которые можно соединить в целый ключ
    5. Комната, при входе в которую игрок падает в яму, и его слегка повреждает
    6. Комната, в которой можно повернуть ручку и попасть в другую комнату

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

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

    Подготовка к написанию триггеров

    Написание триггеров делится на 4 этапа:

    I Этап. Планирование квестов

    Тут Вы планируете квесты, вначале в общем, например:

    Хочу, чтобы у меня был монстр ИМЯ1, который выдает задание забрать вещь, которую давно отнял монстр ИМЯ2. Для этого можно ее либо купить, либо убить этого монстра. Для этого надо найти яд и подмешать монстру ИМЯ2 в еду, после этого переодеться в одежду слуги и отнести ему эту еду, он съест и помрет, игрок возмет предмет и отнесет его, получив награду.

    После того, как вы согласуете квест в общем (с ВМ согласуете :)), можно перейти к планированию маленьких его частей, т.е. непосредственно к триггерам.

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

    II Этап. Разбиение квеста на триггера

    И описание всего механизма в подробностях. К примеру:

    1 триггер : к мобу ИМЯ1 входит игрок
      проверить, что квест еще не выдан
        если выдан - сказать "Поздно - блаблабла"
        если не выдан - сказать "Если хочешь
          отличиться - блаблабла"
    2 триггер : в комнате с мобом ИМЯ1 кто-то что-то сказал
        если сказал ДА  - закрепить за этим игроком квест,
          сказав "блаблабла"
        если сказал НЕТ - сказать "блаблабла"
        если сказал другое - ничего не делать 
    3 триггер : мобу ИМЯ1 дают вещь
        проверить что вещь та, которую он просил
          если нет - не брать ее, сказав "блаблабла"
          если да 
             проверить, что квест был выдан игроку,
               давшему вещь
             если нет - что делать ?
             если да
                взять вещь
                удалить ее       
                сказать "блаблабла"
                наградить игрока предметом (номер)       
    4 триггер : мобу ИМЯ2 дают вещь
        описание действий.
    

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

    III Этап. Написание триггеров и их начальное тестирование.

    В случае, если Вы сами не в состоянии написать триггера, их может написать за Вас ВМ, по описаниям, созданным на этапе 2. Заранее договоритесь с ним об этом. Собственно далее будет описание лишь этого этапа.

    IV Этап. Тестирование и исправление найденных ошибок

    Говорит само за себя Ж)

    Общие правила написания триггеров:

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

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

    2. Не извращайтесь. Не пытайтесь придумать оригинальное применение триггерам. Они предназначены для решения определенного круга задач. Если у Вас получается для простой вещи очень непростые и длинные триггера, это значит, что Вы делаете что-то не так; обратитесь к ВМ - он наставит Вас на правильный путь.
    3. Придерживайтесь правил "хорошего программирования":
      1. Название триггера должно отражать то, что он делает.
        То есть не следует давать имена типа "триггер1", "триггер2"; гораздо лучше "Привидение(номер 39421) атакует того, у кого в руках нет магического жезла(номер 39421)"
      2. Внутренности блоков типа if что-то else что-то end надо оформлять с 2-мя пробелами. То есть:
               if (<условие>)
                 <что-то еще>
                 if (<условие>)
                   <что-то еще>
                 end
                 <что-то еще>
               end
      3. Не создавайте бессмысленных идентификаторов,
      4. Не пишите большие куски одинакового кода (когда этого можно избежать),
      5. Поясняйте неординарные вещи комментариями. Можно в начале триггера написать все, что он должен делать.
    4. Не пытайтесь тестировать триггера (и вообще зоны) персонажами-богами; не все команды будут нормально работать, а что-то, что будет работать, может не работать на игроках.
    5. При тестировании выведите персонажа-бога и сделайте ему syslog complete. Тогда он будет видеть сислог с ошибками, возникающими в триггерах. Также неплохо помогает делать switch в монстра, который выполняет триггер. В этом случае Вы можете прочувствовать его действия на своей шкуре Ж).
    6. Каждый триггер должен содержать хотя бы одну команду. Не надо делать пустых триггеров - сервер вас не поймет.
    7. Одинаковые триггеры, подключенные к одному монстру/предмету/комнате, могут не работать. Точнее, обычно срабатывает только первый из них. Например, если подключить к монстру два Death-триггера, то сработает только первый из них.
    8. Не надо использовать триггера, помеченные в редакторе как нестрандартные. Как правило, их использование - альтернативный путь решения тех или иных проблем. Если вам нельзя обойтись без этих триггеров - обратитесь к ВМ... он вас вразумит Ж). Недокументированные возможности лучше не использовать совсем, или попросить, чтобы их документировали. Это ОЧЕНЬ важно, так как, став первопроходцем, Вы рискуете найти такие глюки, что все содрогнутся.
    9. Протестируйте ВСЮ зону персонажем женского пола. Все фразы должны быть построены так, чтобы корректно отображаться и для женщин.

    ГРАБЛИ

    При написании триггеров есть всего несколько "тонких мест", однако грабли разложены в этих местах необычайно искусно и ОЧЕНЬ толстым слоем. Поэтому лучше вникните в нижеописанное.

    Что надо знать обязательно:

    1. Команда wait - одна из ключевых команд. Очень важно использовать ее, когда надо, и НЕ использовать, когда не надо. Внимательно анализируйте, когда выполняется триггер (то есть, когда он начинает выполняться). К примеру, триггер, вызывающийся, когда монстру дают предмет, вызывается ДО передачи предмета; следовательно, чтобы уничтожить предмет командой mjunk, надо подождать хотя бы совсем немного (wait 1), чтобы предмет успел попасть к монстру. Напротив, если Вы хотите сделать монстра, который обязательно здоровается с каждым вошедшим, то не используйте в его триггере wait вообще, иначе, когда к нему войдет группа - он поздоровается только с первым из нее.
      Важно понимать и то, что каждый триггер (скажем, триггер монстра) будет вызван для этого монстра только в том случае, если этот триггер у этого монстра еще не активирован. Предположим, есть монстр, который рассказывает историю, делая между частями паузы по 10 секунд. Начинает он это, когда игрок входит в его комнату. Игрок входит в комнату, монстр произносит первую часть истории и начинает ждать. В это время в комнату с монстром входит другой игрок... триггер не сработает вторично... монстр будет ждать и дальше, расскажет вторую часть истории, потом третью. Если после того, как он закончит, в комнату войдет другой игрок - монстр выполнит триггер еще раз, если не зайдет - триггер не выполнится, даже если во время, пока монстр был "занят" историей, к нему зашло 100 человек.
      Имейте в виду, что при частом и длительном использовании wait, следует проверять некоторые вещи, например дерется моб или нет с игроком :). Может, пока он тебе задание дает, ты его уже пинаешь вовсю.
      Есть и еще одна проблема. Триггера не исполняются во время лагов у монстров (лаг наступает, например, если монстра сбили с ног, или он попытался сбить). Точнее, не исполняются некоторые команды. Так, если монстр ждет 5 секунд после того, как игрок войдет в комнату, говорит 1-2 фразы и убивает его, то если этого монстра убить за эти 5 секунд или держать под башем после 4-х секунд, то он не сможет сказать свои реплики и никого не убъет. ВСЕ команды монстров подвержены таким лагам, исключая команды, выполняемые в death-trigger-е.
      Всегда тестируйте такие тонкие места.
    2. Правильное использование переменных - залог победы над любыми трудностями. Об этом будет сказано чуть позже.
    3. Не забывайте подключать триггера к нужным комнатам, монстрам, объектам. Для этого в соответствующем поле напишите T {номер триггера}. Например: (подключить два триггера)
      T 10010
      T 10011
      Список подключенных к монстру триггеров можно узнать командой stat имямонстра (если вы бессмертный 35го уровня).
    4. Удаляя что-то в триггере, проверьте, что это не то, к чему этот триггер прицеплен :). Иначе удаляйте это в самом конце.
    5. Иногда бывает нужно как-то сослаться на монстра или предмет.
      Например, для его уничтожения. Многие при этом пишут команды типа "mjunk хлеб". Это чудовищная ошибка... особенно если учесть, что обычно это бывает не хлеб, а какой-нибудь монстр :).
      Никогда не обращайтесь к вещам и монстрам по их названию, используйте специальные уникальные идентификаторы. Эти идентификаторы не надо создавать, они есть всегда. Для мобов они выглядят как mob_XXXXXX, где XXXXXX - это vnum этого монстра, для объектов obj_XXXXXX (vnum - это то, что перед именем в редакторах в квадратных скобочках).


    Работа с переменными

    Очень длинно и очень важно.

    Всего переменные бывают 2-х типов.

    К первому типу относятся переменные DG-scripts, получающиеся, скажем, при команде set {имя переменной} {значение}. Их использование тривиально и не требует специальной подготовки. Они тупые как валенки, но иногда весьма полезны. Как правило, в них имеет смысл хранить временную информацию, пропадающую после окончания триггера.
    Для других целей их лучше не использовать.

    Ко второму типу относятся переменные, специально сделанные нами для нашего сервера. Они существенно отличаются от переменных dg-scripts. Основное их отличие - возможность задавать условия, по которым они очищаются... этот, казалось бы, пустячок на самом деле является весьма необходимым дополнением. Далее речь пойдет именно о таких переменных. Используйте команду VARS для проверки состояния этих переменных. И команду sset var_debug 1 для включения дебаг-режима.

    !! ВНИМАНИЕ !!

    У Вас есть только один шанс создать АБСОЛЮТНО никому не нужную зону - это использовать в ее триггерах переменные с произвольными именами, или раздавать (создавать и прикреплять к мобам/игрокам и т.п.) переменные направо и налево (старайтесь выдавать столь мало переменных, сколь возможно - ведь каждая из них требует обработки и нагружает сервер, особенно это касается "долгоживущих" переменных).

    Все переменные доступны из любого из триггеров. Пожалуйста, помните это. И не пытайтесь получать доступ к чужим переменным, если только у Вас нет исключительной ситуации (поговорите с ВМ :)). Одновременно может существовать только одна переменная с заданным именем (нельзя создать две переменных с именем "var_10010")

    Все переменные в Вашей зоне должны иметь ЖЕСТКО предопределенные имена. Это имена типа var_XXXYY, где XXX - это номер вашей зоны (например 125 или 025), а YY - это произвольное значение, лучше в качестве XXXYY использовать номер триггера, который _создает_ переменную.

    Если ваша зона имеет номер 125, то вы сможете создать в ней как минимум 100 разных переменных, от var_12500 до var_12599. Если у Вас есть особое желание, то Вы можете расширить этот список и далее, введя дополнительный суффикс через _. Тогда имена переменных будут иметь вид var_12500_ЧТОТОЕЩЕ, например var_12500_numberone, var_12500_numbertwo, и т.п. Но не увлекайтесь чрезмерно - длинные имена переменных лишь пожирают память сервера.

    НИКОГДА не используйте в именах переменных и других идентификаторов русские буквы и извращенческие символы типа * ? и т.п. Используйте ТОЛЬКО английские буквы, цифры и знак _.

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

    Функции для работы с переменными:

    create_var       - Создать переменную
    delete_var       - Удалить переменную
    set_var          - установить значение переменной  
    get_var          - Получить значение переменной
    set_var_reset    - Установить параметры ресета 
                       (очищения) переменной
    get_var_reset    - Получить параметры ресета 
                       (очищения) переменной 
    is_var_reseted   - Очищена ли переменная
    is_var_exist     - Есть ли такая переменная

    Каждая из переменных может быть прикреплена к монстру, игроку, предмету или комнате.

    Несмотря на то, что любая переменная доступна из любого триггера, ОЧЕНЬ важно вызывать переменные от тех объектов, в которых они находятся. Так, вы можете написать

    if (%self.get_var("var_27203")%==quest_gived)
       действия
    end

    либо

    if (%actor.get_var("var_27203")%==quest_gived)
       действия
    end

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

    Обычным применением переменных является использование их для хранения в них информации о том, в каком состоянии находится тот или иной мини-квест (выдан/не выдан, кому выдан, и т.п.). Как правило, такие переменные хранятся до ресета зоны (репопа); схема реализуется примерно так:

    Предположим, есть квест-монстр, дающий квест принести вещь. Предположим, что выдается один квест в репоп. Номер зоны 123, номера триггеров начиная с 0. Тогда надо:

    В самом начале квеста (когда игрок соглашается его взять, к примеру) ставится проверка типа следующей:

    if ( %self.is_var_exist("var_12300")%==0 )
              - если переменной еще нет, иначе квест уже взят
         %self.create_var("var_12300")%
              - создать переменную
         %self.set_var_reset("var_12300" "reset_zone" "123")%
              - удалить переменную при репопе  
         %self.set_var("var_27203" "quest_gived")%
              - установить значение переменной 
      end

    В качестве значения можно запомнить и имя игрока, чтобы потом проверить его.

         %self.set_var("var_27203" "%actor.name%")%
              - установить значение переменной в имя игрока

    Там, где надо, можно проверить значение переменной конструкцией типа: if (%self.get_var("var_27203")%==quest_gived) действия end

    Более подробно смотрите зону-пример.

    !!! Внимание !!!

    Есть специальный режим для переменных, он включается командой sset var_debug 1, выключается sset var_debug 0 (по умолчанию выключен). В этом режиме у бессмертных в sys-лог попадают данные о работе с переменными.

    Описание функций работы с переменными

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

    ** Создать переменную **

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

    Синтаксис: create_var(name flags)
    Где:

    name   - имя переменной
    flags  - флаги переменной

    c VAR_FLG_NODECAY Не удалять перменную из памяти после ресета (как правило, не используется)
    d VAR_FLG_PERMANENT переменная постоянная (не удаляется при уходе игрока в ренту, перезагрузке сервера и т.п. ПОКА НЕ РАБОТАЕТ. КАК БУДЕТ - СООБЩУ. НЕ РАССЧИТЫВАЙТЕ НА ЕЕ НАЛИЧИЕ.

    Возвращаемые значения (обычно используются лишь для отладки):

    0 - переменная создана
    1,2 - неверно заданные параметры
    3 - переменная не создана
        (такая уже есть в локальном списке)
    4 - переменная не создана 
        (такая уже есть в глобальном списке)
    5 - не создана
    
      Пример:
    %actor.create_var("var_23101" "c")%
           - создает переменную с именем var_23101 
             при ресете не удаляется из памяти
    %actor.create_var("var_111")%
           - никаких флагов нет

    ** Установить значение переменной **

    set_var(name value)
    name - имя переменной
    value - значение переменной (старое значение удаляется и замещается новым)

    Возвращаемые значения(обычно используются лишь для отладки):

    not_found         - Неременная не найдена 
                        или не существует
    err_no_params     - Неверно заданы параметры функции
    err_params_empty  - Неверно заданы параметры функции
    err_type_unknown  - Ошибка в коде. 
                        Неверный тип вызова.

    Пример:

    %actor.set_var("var_23101" "value11")%

    ** Получить значение переменной **

    get_var(name)

    name - Имя переменной

    Возвращаемые значения:

    значение переменной - если все хорошо
    not_found           - Переменная не найдена
                          или не существует
    err_no_params       - Неверно заданы параметры функции
    err_params_empty    - Неверно заданы параметры функции
    err_type_unknown    - Ошибка в коде. Неверный тип вызова.
    msg_type_unknown    - Неизвестный тип сообщения

    Примеры:

    if (%actor.get_var(%var%)%==load)
      say LOAD
    end

    ** УСТАНОВКА ПАРАМЕТРОВ РЕСЕТА **

    set_var_reset(name xtype param)

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

    Функция не работает с переменными с флагом VAR_FLG_PERMANENT. Такие переменные могут быть модифицированы только вызовом set_var.

    После установки новых параметров (вызова set_var) признак ресета переменной принудительно очищается, т.е. функция isResetted перестает выдавать истину.

    name - имя переменной

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

    xtype - Одно из:

    "round",      - очищать переменную по времени
    "reset_zone", - очищать переменную при ресете зоны  
    "die_pc",     - очищать переменную при смерти игрока
    "die_mob",    - очищать переменную при смерти моба с
                    заданным vnum (любого)
    "extract_obj",- очищать переменную при разрушении 
                    объекта с заданным vnum (любого)
    "rent_pc",    - очищать переменную, если игрок ушел в
                    ренту (не путать с "игрок умер")

    param (число):

    round       - Кол-во раундов до ресета. 
                  Один раунд - это 2.5 секунды.
    reset_zone  - VNUM зоны  
    die_pc      - IDNUM чара    (%actor.id%)
    die_mob     - VNUM монстра  
    extract_obj - VNUM предмета
    rent_pc     - IDNUM чара    (%actor.id%)

    Возвращаемые значения:

    not_found         - Неременная не найдена
                        или не существует
    err_no_params     - Неверно заданы параметры функции
    err_params_empty  - Неверно заданы параметры функции
    err_type_unknown  - Ошибка в коде. 
                        Неверный тип вызова.
    msg_type_unknown  - Неизвестный тип сообщения
    var_is_permanent  - Попытка изменить параметры сброса
                        постоянной переменной

    Пример:

    2:
      * использовать переменную dg_scripts
        для записи временного значения  
      set VAR var_10001                            
    
      * очищать переменную var_10001 после
        ребута зоны 100
      %self.set_var_reset("%VAR%" "reset_zone" "100")%  
    
    2:
      * очищать переменную var_10001 через 25секунд
        (10 раундов) после вызова этой функции
      * будьте аккуратны с этой опцией
      %self.set_var_reset("%VAR%" "round" "10")%  
    
    3:
      * очищать переменную var_10001 когда игрок
        уходит в ренту
      * (актуально если переменная содержится не
        в игроке, а в монстре)
     if (%actor.vnum==-1)
        %self.set_var_reset("%VAR%" "rent_pc" "%actor.id%")%
      end

    ** ПРОВЕРКА НА РЕСЕТ ПЕРЕМЕННОЙ **

    is_var_reseted(name)

    name - Имя переменной

    Возвращаемые значения:

    not_found         - Переменная не найдена
                        или не существует
    err_no_params     - Неверно заданы параметры функции
    err_params_empty  - Неверно заданы параметры функции
    err_type_unknown  - Ошибка в коде.
                        Неверный тип вызова.
    msg_type_unknown  - Неизвестный тип сообщения
    0                 - Переменная еще не поресетилась 
    1                 - Переменная уже поресетилась

    ** ЧТЕНИЕ ПАРАМЕТРОВ РЕСЕТА **

    Неясно, зачем вам это надо Ж).

    get_var_reset(name param)

    name:
     имя переменной
    param:
     "round",
     "reset_zone",
     "die_pc",
     "die_mob",
     "extract_obj",
     "rent_pc",

    Возвращаемые значения:

    not_found         - Переменная не найдена
                        или не существует
    err_no_params     - Неверно заданы параметры функции
    err_params_empty  - Неверно заданы параметры функции
    err_type_unknown  - Ошибка в коде.
                        Неверный тип вызова.
    msg_type_unknown  - Неизвестный тип сообщения

    Примеры:

    %self.get_var_reset("var_001" "die_pc")%
                    - возвращает значение IDNUM чара
                      если при событии die_pc оно совпадет
                      с idnum чара, который умер, то переменная
                      поресетится.
    
    eval  rounds   %self.get_var_reset("var_001" "round")%
    if (%rounds%!=not_found)
     say кол-во раундов боя до ресета переменной %rounds%.
    end

    ** УДАЛЕНИЕ ПЕРЕМЕННОЙ **

    delete_var(name)

    name:
     Имя переменной
    
    Возвращаемые значения:
     not_found         - Переменная не найдена
                         или не существует
     err_no_params     - Неверно заданы параметры функции
     err_params_empty  - Неверно заданы параметры функции
     err_type_unknown  - Ошибка в коде.
                         Неверный тип вызова.
     msg_type_unknown  - Неизвестный тип сообщения
    
    Примеры:
      %actor.delete_var("var_0001")%
    
    
    
    //

    ** события **

    Описание того, как обрабатываются события и очищаются переменные (для маньяков)

    Все переменные с флагом VAR_FLG_PERMANENT игнорируются

    msg_round   наступает перед каждым раундом боя
                и если targets[VAR_MSG_ROUND] > 0, происходит 
                уменьшение на 1
                При достижении нуля происходит
                  ресет переменной (функция reset())
                  вывоз триггера соответствующего типа
                  удаление переменной из памяти если не
                  установлен флаг VAR_FLG_NODECAY

    msg_reset_zone Наступает до ресета зоны
    Если targets[VAR_MSG_RESET_ZONE] == VNUM(zone) то ресет переменной
    msg_die_pc Наступает перед вызовом death_trigger
    Если targets[VAR_MSG_DIE_PC] == IDNUM(char) то ресет переменной
    msg_die_mob Наступает перед вызовом death_trigger
    Если targets[VAR_MSG_DIE_MOB] == GET_MOB_VNUM(char) то ресет переменной
    msg_extract_obj Наступает перед удалением предмета из памяти.
    Если targets[VAR_MSG_EXTRACT_OBJ] == GET_OBJ_VNUM(obj) то ресет переменной (триггер не вызывается если переменная принадлежит удаляемому объекту)
    msg_rent_pc Наступает перед рентой или авторентой чара
    Если targets[VAR_MSG_RENT_PC] == IDNUM(char) то ресет переменной

    ресет перменной:

    1. вызывается VAR.reset()
    2. вызывается триггер
    3. удаляется из памяти

    ТРИГГЕР

    Reset_var
     Описание: Этот триггер вызывается,
     когда происходит ресет переменной,
     принадлежащей объекту, к которому
     прицеплен этот триггер.
     Аргумент: Не используется
     Числовой аргумент: процент запуска
     триггера
     Возвращаемое значение: не используется
     Переменные:
      var     имя переменной, которая сбрасывается
      msg     событие - инициатор ресета
              одно из:
     "round",
     "reset_zone",
     "die_pc",
     "die_mob",
     "extract_obj",
     "rent_pc",
    
    
     флаги
      MOB  - p
      OBJ  - o
      ROOM - i

    Полезные ссылки

    Редакторы AdamantMUD

    Редакторы мира Адамант Адан, с последними ресурсными файлами можно скачать в разделе "Файлы" . Так же, теперь в комплекте дистрибутива поставляется серверная часть под Win32 с зоной-примером (#272, Поместье барона). При возникновении проблем - пишите Линдиру ( ektilion собака gmail.com).

    Руководство по DG-Scripts

    Более менее актуальная справка по dg scripts и его расширению для нашего мада выложена в разделе Файлы. Прямая ссылка: Help DG-Scripts

    Ссылки для билдеров

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

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

    Поощрение


    Работа билдеров награждается славой ПОСЛЕ подключения и доработки их зон:

    • зоны для 1-8 уровней: от 1000 славы
    • зоны для 9-12 уровней: от 2000 славы
    • зоны для 13-17 уровней: от 3000 славы
    • зоны для 18-21 уровней: от 5000 славы
    • зоны для 22-25 уровней: от 7000 славы
    • зоны для 26-28 уровней: от 10000 славы
    • зоны для 29-30 уровней: от 15000 славы

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


    Здесь был Мелькор © 2001-2002 - Онлайн игра Адамант Адан МАД (MUD/МУД) : Хроники Средиземья