Fenia
В мире Дримленд есть свой собственный скриптовый язык для описания сложных моделей поведения. Язык событийно-ориентированный, нетипизированный, с поддержкой многопоточности. Синтаксис его отдаленно напоминает JavaScript.
В Дримленд на этом языке написаны как простые сценарии (различные триггера на предметах и мобах), так и сложные: глобальные квесты, новые профессии, арийные квесты, и даже процедура создания нового персонажа.
Проще всего начать знакомство с феней, изучив собранные здесь уроки и примеры.
- Мяукающий кот
- Реакция на реплику с задержками
- Перемешивать выходы из комнаты ночью
- Коллекция мелких задач
- Феневое API - все поля и методы, доступные из скриптов
- Триггера мобов и персонажей
- Триггера предметов
- Триггера комнат
- Триггера аффектов
- Глобальные триггера
- Заклинания
- Формальное описание грамматики
- Работа с редактором сценариев
- Работа с умениями и аффектами умений
- Беседа Филдса с Кинд - старинные логи, где Филдс объясняет с азов, как пользоваться Феней. Может быть интересно как дополнение к урокам.
- Беседа Филдса с Анцифером - еще один старинный лог, где Филдс объясняет, что такое потоки в Фене
Много рабочих примеров можно найти в каталоге fenia.local
репозитория dreamland_world. Некоторые из них снабжены комментариями.
Осторожно: Файлы могут быть в кодировке KOI8-R. Откройте их в сыром виде (кнопка
Raw
) и выберите нужную кодировку в браузере.
-
Кубики из казино - простой пример триггера
onDrop
-
Чертик из коробочки - простой пример триггера
onOpen
иonClose
- Школьный учитель и тренер - пример триггера на мобе, препятствующий выполнению команды
-
Учитель профессии татуировщик - пример триггеров моба
onGreet
иonSpeech
-
Татуировочный нож - очень детальное, но почти линейное поведение ножа для татуажа, пример триггера
onUse
(postUse
) и потоков -
Поезд - поезд, ездящий по расписанию между несколькими станциями; это более сложный пример периодических действий с предметом, заданных через триггера
onSpec
иonArea
- Еврей из Конторы Рестрингов в Мидгаарде - хороший пример сложного поведения моба, с ветвлениями диалогов и потоками
- Архивариус: создание новых персонажей и вход старых - еще один пример сложного диалогового поведения
-
Ария 'Машинные мечты' - сбор комплекта брони, спецэффекты. Примеры триггера комнаты
onDescr
, реакции моба на социалы и эмоции (postSocial
,postEmote
) -
Игры с огнем - реализованная с нуля поддержка костров и спичек. Примеры
onUse
для предметов, а также триггера для контейнеров.