Rambler's Top100
   
 

Часто задаваемые билдерами вопросы

и ответы на тему:
Создание зон для нашего Мира

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

Мандос aka Serg Priest

Вопрос: Для мобов графы "Max HP", "Hand damage" и "Деньги" состоят из 3х строк редактирования... что означает первый, второй и третий параметры?
Ответ: ХdY+Z -- Х бросков кубика по Y граней + Z фиксированных единиц

Вопрос: Могу я использовать в написании триггеров конструкции:
сказать %actor.name% что-то
 вместо
wsend %actor.name% Карр!!!
Ответ: Нет, так как, например, комнаты не умеют говорить. Более того, даже для монстров результат будет несколько разным, так как msend не добавляет к передаваемой строке фразы "Ворона сказала: ".

Вопрос: А комнаты умеют бросаться предметами или подбирать их?
Ответ: Комнаты вообще ничего не умеют. Нет у нас комнат, как игроков :). Если вам надо создать предмет и поместить его в комнату из WLD-триггера, то используйте команду wload. Если удалить брошенное, то реагируйте на WTRIG_DROP.

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

Вопрос: У меня нет "таблицы для графы Опыт" и я не знаю какой опыт ставить у создаваемых мобов?
Ответ: Лучше ставить монстрам уровень. Даваемый при их убийстве опыт, количество хитов, наносимый дамадж поставит бессмертный Ведущий Зоны (БВЗ) - это Мандос (Serg Priest).

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

Вопрос: Проверяется ли командой 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 (никогда не пользовался этими полями :) ).

В начало

На страницу начинающего демиурга

Памятка билдера - Правила для билдеров - О создании зон

 

   
 
       
 


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

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

   

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