Обновлена стандартная библиотека до текущей версии.
Добавлен модуль, обрабатывающий команду "поговори с ...".
Обновления стандартной библиотеки
Сообщений 1 страница 10 из 10
Поделиться12010-02-06 13:34:35
Поделиться22010-12-21 10:38:57
Обновлена стандартная библиотека.
Ничего нового не добавилось, но изменений много.
Доработаны некоторые недоделки и приглажены корявости.
Поделиться32011-01-13 21:33:01
Обновил стандартную библиотеку до текущей версии платформы.
В демо-игры добавил фоновые картинки.
Добавлен класс для спрятанных вещей.
Доработаны действия "войди","выйди","дай".
Добавлены реакции на простые вопросы "кто я", "где я", "кто здесь", "что делать".
Также много мелких косметических улучшений.
Поделиться42011-01-13 22:33:55
Отлично! Как появится время, обязательно посмотрю.
Поделиться52011-01-14 11:34:06
Как прятать предметы
фрагмент кода из main.tml:
counting сюрприз //находится по умолчанию { cls = предмет можно_взять = да } class спрятанное { cls = предмет описание = "{actor} {нашел*actor} {this*Вп}!" предмет_по_месту = "" //упоминается в описании локации или того места где спрятано this.находка = сюрприз //должен быть указан найденный объект this.сколько_найдено(){ return 1 } //по умолчанию находим 1 предмет осмотрено() //осмотрено==найдено { //при осмотре подменяем объект-заглушку объектом-находкой pos + находка * сколько_найдено() pos - this находка.найдено() //событие срабатывает при обнаружении вещи } }
1. Вне локации создаём объект, который игрок должен найти.
2. В локации или в контейнере создаём объект класса "спрятанное". Свойство "находка" приравниваем объекту из п.1
3. Объекту класса "спрятанное" назначаем лексему, по которой игрок сможет осмотреть спрятанный объект.
4. Где либо в описании даём намёк на спрятанный объект.
Как это работает:
Спрятанный объект не отражается в описаниях и никак себя не проявляет. Автор должен дать намёк игроку на спрятанный предмет.
Стены комнаты сложены из грубого камня, в углу свален мусор, видимо здесь давно не убирали.
>осм мусор
Ты нашёл огромный рубин!
При осмотре объект-приманка подменяется на реальный.
Для найденного объекта вызывается метод найдено(), в котором можно прописать дополнительные и побочные следствия находки предмета.
Поделиться62011-01-15 21:58:19
Писать игры на сырой библиотеке - это нечто
Пока получается что я больше библиотеку доделываю чем игру пишу
Следующим этапом разобрался с дверьми. Делать двойные связанные двери между локациями муторно и противоестественно. Решение - делать двери счётной категории. Тогда одна и та-же дверь может находиться в двух локациях одновременно
Поделиться72011-01-15 23:02:16
Пока получается что я больше библиотеку доделываю чем игру пишу
Дак это же хорошо! Пара-тройка игр и библиотека будет похожа на библиотеку.
При осмотре объект-приманка подменяется на реальный.
Очень полезный класс! Помнится, как я мучился с подменой описания предмет_по_месту у объекта после первого осмотра. Такого наворотил!
Решение - делать двери счётной категории.
А почему не мыслимое? Мне как-то больше нравится категория мыслимых. Или есть какой-то подвох?
Поделиться82011-01-15 23:51:40
ASBer написал(а):Решение - делать двери счётной категории.
А почему не мыслимое? Мне как-то больше нравится категория мыслимых. Или есть какой-то подвох?
Подвоха на первый взгляд не вижу - нужно проверять.
Двери - они всё-же материальны... но это и правда дело вкуса. Попробую сделать рабочими оба варианта.
Поделиться92011-01-17 15:53:26
Alexandr написал(а):ASBer написал(а):Решение - делать двери счётной категории.
А почему не мыслимое? Мне как-то больше нравится категория мыслимых. Или есть какой-то подвох?
Подвоха на первый взгляд не вижу - нужно проверять.
Проверил, мыслимое не получится. Парсер имеет привычку подставлять мыслимые объекты в локальные @переменные шаблонов действий.
Т.е. мыслимые объекты как-бы присутствуют во всех локациях сразу. Понятно что для дверей это не подходит...
Поделиться102011-01-17 16:39:48
Обновил стандартную библиотеку.
Работу с дверьми можно посмотреть в хижине старика.