Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #76
10.08.2012 18:44

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: Заметки по работе над "Адским движком" (фреймворком для QSP)

Zeantar написал:

Можешь выложить какой-нибудь пример, пару локаций, которые демонстрируют возможности, описанные в последних двух постах?

Хм… Почему бы и нет. Но только без глубокого экскурса в прошлое Адского Движка™.

Допустим есть три локации: Ворота, Утёс, Болото. От Ворот можно пройти к Утёсу, с Утёса можно спуститься к Болоту, ну и, само собой, можно подняться от Болота обратно на Утёс. Таким образом с локацией Утёс у нас связано два действия:

  1. Пройти от Ворот к Утёсу.
  2. Подняться с Болота на Утёс.

Поскольку действия в Адском Движке™ привязываются к объекту, то в данном случае мы должны привязать всё это к локации Утёс.

Можно, конечно, исхитриться по-другому, но это будет уже не то. А так у нас есть Утёс и есть ряд действий с ним.

Однако, просто накидать два действия мало:

Код:

…Добавить, ’Утёс:Действия’, 'Подойти к утёсу',    '', {…Переместить, ИГРОК, 0, 'Утёс', 'п. Пройдя несколько шагов по тропинке, вы остановились на краю утёса.'}
…Добавить, ’Утёс:Действия’, 'Взобраться на утёс', '', {…Переместить, ИГРОК, 0, 'Утёс', 'п. Взобравшись по хлипкой лестнице, вы оказались на утёсе.'}

Нужно дать понять фреймворку, когда какие действия нужно выводить.

Если я ещё не рассказывал про синтаксис команды "Действие", то вот он:

Код:

…Добавить, ’<Объект>:Действия’, <Название>, <Условие>, <Модуль>

Так вот параметр Условие и нужно заполнить, чтобы один пункт появлялся, когда игрок находится в локации Ворота, а другой — когда на Болоте. И только так. Два пункта сразу не нужны.

Совсем давно это можно было сделать так:

Код:

…Добавить, ’Утёс:Действия’, 'Подойти к утёсу',    {°Результат = IIF($ЛОКАЦИЯ = 'Ворота', Использовать, Пропустить)}, {…Переместить, ИГРОК, 0, 'Утёс', 'п. Пройдя несколько шагов по тропинке, вы остановились на краю утёса.'}
…Добавить, ’Утёс:Действия’, 'Взобраться на утёс', {°Результат = IIF($ЛОКАЦИЯ = 'Болото', Использовать, Пропустить)}, {…Переместить, ИГРОК, 0, 'Утёс', 'п. Взобравшись по хлипкой лестнице, вы оказались на утёсе.'}

После добавления "кратких условий" — так:

Код:

…Добавить, ’Утёс:Действия’, 'Подойти к утёсу',    {if:$ЛОКАЦИЯ = 'Ворота'}, {…Переместить, ИГРОК, 0, 'Утёс', 'п. Пройдя несколько шагов по тропинке, вы остановились на краю утёса.'}
…Добавить, ’Утёс:Действия’, 'Взобраться на утёс', {if:$ЛОКАЦИЯ = 'Болото'}, {…Переместить, ИГРОК, 0, 'Утёс', 'п. Взобравшись по хлипкой лестнице, вы оказались на утёсе.'}

Ну а теперь — достаточно описать условия так:

Код:

…Добавить, ’Утёс:Действия’, 'Подойти к утёсу',    {в:Ворота}, {…Переместить, ИГРОК, 0, 'Утёс', 'п. Пройдя несколько шагов по тропинке, вы остановились на краю утёса.'}
…Добавить, ’Утёс:Действия’, 'Взобраться на утёс', {в:Болото}, {…Переместить, ИГРОК, 0, 'Утёс', 'п. Взобравшись по хлипкой лестнице, вы оказались на утёсе.'}

Не бог весть какое новшество — несколько строчек кода, но нужно же напомнить об Адском Движке™…

Неактивен

0    0    #77
10.08.2012 19:38

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: Заметки по работе над "Адским движком" (фреймворком для QSP)

Ну и поскольку традиционно никто ничего не понял (нет, я вовсе не претендую на понятный стиль — в данной теме это необязательно), выкладываю рабочий пример на Адском Движке™:

Полная версия, включающая плеер QSP и файл автозапуска "start.vbs" (1,5 МБ).
QSP-only версия. Файлы QSP-плеера отсутствуют (80 КБ).
Исходный код примера в текстовом виде (2,3 КБ).
Исходный код примера в графическом — как я вижу — виде (21 КБ).


Прикрепленные файлы:
boloto_full.zip, Размер: 1,494,952 байт, Скачано: 541
boloto_qsp_only.zip, Размер: 78,000 байт, Скачано: 537
boloto.png, Размер: 21,085 байт, Скачано: 263
boloto.txt, Размер: 2,380 байт, Скачано: 577

Неактивен

0    0    #80
10.08.2012 20:47

Zeantar
Участник (+23, -51)
Зарегистрирован: 30.03.2012
Сообщений: 119

Мир, как мы его знали, подходит к концу... (с) БГ

Re: Заметки по работе над "Адским движком" (фреймворком для QSP)

Не совсем ясно, почему на простых ссылках типа "взобраться", "спуститься" вылезает дополнительное меню с одноименными пунктами (и никакими другими). Зачем тогда нужно это меню, если действие односложно?

Отредактировано Zeantar (10.08.2012 20:49)

Неактивен

0    0    #81
10.08.2012 20:53

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: Заметки по работе над "Адским движком" (фреймворком для QSP)

Zeantar написал:

Не совсем ясно, почему на простых ссылках типа "взобраться", "спуститься" вылезает дополнительное меню с одноименными пунктами (и никакими другими). Зачем тогда нужно это меню, если действие односложно?

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

Неактивен

0    0    #82
10.08.2012 21:02

Zeantar
Участник (+23, -51)
Зарегистрирован: 30.03.2012
Сообщений: 119

Мир, как мы его знали, подходит к концу... (с) БГ

Re: Заметки по работе над "Адским движком" (фреймворком для QSP)

Olegus t.Gl. написал:

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

Да вроде игрок не полный даун, чтобы не понять, что по ссылке с названием "взобраться" ему предстоит именно взобраться. ) Ты, я думаю, привел слишком упрощенный и гипотетический пример. Если можно, сделай живой пример - не сложный, но правдоподобный.

С уважением.

Неактивен

0    0    #83
10.08.2012 21:06

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: Заметки по работе над "Адским движком" (фреймворком для QSP)

Zeantar написал:

Olegus t.Gl. написал:

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

Да вроде игрок не полный даун, чтобы не понять, что по ссылке с названием "взобраться" ему предстоит именно взобраться. ) Ты, я думаю, привел слишком упрощенный и гипотетический пример. Если можно, сделай живой пример - не сложный, но правдоподобный.
С уважением.

Ссылка на объект "Утёс" может стоять на слове "утёс". Тогда в меню могут быть ещё пункты "Осмотреть", "Поковырять" и всё такое.

Я привёл пример работы с действиями. Не нужно обсуждать в этой теме теорию интерфейса игры на ссылках. Лучше перенести это обсуждение, например, сюда. Тут про Адский Движок™ всё же.

Неактивен

0    0    #84
11.08.2012 23:10

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: Заметки по работе над "Адским движком" (фреймворком для QSP)

Ну и добавил в пример пару объектов и взаимодействие между ними.

Полная версия, включающая плеер QSP и файл автозапуска "start.vbs" (1,5 МБ).
QSP-only версия. Файлы QSP-плеера отсутствуют (81 КБ).
Исходный код примера в текстовом виде (4,4 КБ).
Исходный код примера в графическом — как я вижу — виде (42 КБ).

Кстати, там есть нюанс. Если объекты в локациях просто перечисляются, то для топора, когда он воткнут в столб навеса, предусмотрено отдельное упоминание в тексте локации. Как-то так.


Прикрепленные файлы:
boloto_full_20120811_2300.zip, Размер: 1,498,404 байт, Скачано: 535
boloto_qsp_20120811_2300.zip, Размер: 80,709 байт, Скачано: 521
boloto_20120811_2300.txt, Размер: 4,417 байт, Скачано: 592
boloto_20120811_2300.png, Размер: 41,934 байт, Скачано: 233

Неактивен

0    0    #85
22.08.2012 17:02

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: Заметки по работе над "Адским движком" (фреймворком для QSP)

Olegus t.Gl. написал:

…передача в модуль формирования меню параметра была уже давно. Я всё думал, как сократить запись, чтобы мне не приходилось скрупулёзно описывать все условия во всех пунктах. И вот что я добавил: если в описании ссылки написать что-нибудь такое: ((яблок|Яблоко:=Запах)) (то есть в начало параметра было добавлен символ "="), то это послужит фреймворку сигналом, что для данной ссылки нужно отбирать только те пункты, в условиях включения которых в том или ином виде обрабатывается значение параметра (в данном случае "Запах")…

Лиха беда началом. Заменил символ "=" на "!", добавил два новых: "&" и "-", позволил писать их как в начале, так и в конце параметра. Про "&" говорить не буду — он отключает блок формирования пункта приглашения к взаимодействию с другими объектами. Зачем это нужно — в другой раз. А вот про "-" упомяну.

Раз у меня всё такое на ссылках, и в текущих вариантах дизайна ссылки отчётливо видны, то встала проблема: если хочется пораспихать по описанию ссылки на "предметы обстановки", с которыми нельзя взаимодействовать, но можно, например, осмотреть, потрогать или ещё чего (то есть чисто информация/антураж), то, после того как игрок по ним пройдётся, они будут мозолить глаза. Однако гасить их и не совсем правильно, да и хлопотно на уровне кода игры.

Для решения этой проблемы как раз и служит модификатор "-":

Код:

На обоях нарисовано ((яблоко|Обои:Рисунок-)).

В результате нажатия на ссылку "яблоко" будет сформировано меню, пункты для которого отбираются по параметру "Рисунок". И ссылка эта ничем не будет отличаться от остальных, пока игрок не переберёт все пункты меню. Как только он пройдётся по всему меню, ссылка поменяет цвет на менее заметный. А поскольку доступность ссылок проверяется у меня постоянно, то, если потом по каким-то условиям в данном меню прибавится пунктов,  ссылка вернёт свой исходный цвет, то есть опять начнёт мозолить игроку глаза.

Неактивен

0    0    #86
24.08.2012 18:39

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: Заметки по работе над "Адским движком" (фреймворком для QSP)

Когда работаешь не только с теорией, но и на практике, то многое выглядит иначе, и то, что казалось простым и удобным, становится если не сложным, то громоздким. И когда от громоздкости избавится в полной мере не удаётся, то можно, по крайней мере, перенести создающие её (эту самую громоздкость) элементы в другое место, разгрузив требуемый участок.

Это я всё к тому, что я всё ещё обдумываю способы записи ссылок. Изначально, ссылка в тексте описания имела такой вот формат:

Код:

((текст|объект))

Однако сейчас поле "объект" неприлично разрослось, поскольку в него помимо идентификатора объекта стало удобно записывать дополнительные параметры, по которым можно было формировать индивидуальные для каждой ссылки меню.

Например, у меня есть локация "Избушка", в описании которой есть упоминание трубы. Если я хочу дать игроку возможность просто осмотреть трубу (и ничего более), мне не нужно создавать отдельный объект "Труба" и прописывать его описание и соответствующее действие ("осмотреть"). Мне достаточно добавить к объекту "Избушка" действие "осмотреть трубу" и прописать в нём вывод соответствующего описания. А чтобы это действие не попадало в пункты меню, которое относится непосредственно к избушке: осмотреть (саму избушку), войти и т.п. — я у этого действия прописываю условие включения в меню:

Код:

если:©Параметр='Труба'

Соответственно, в тексте описания мне достаточно указать следующее:

Код:

У самого леса из земли торчит низенькая ((избушка|Избушка)) с неприлично высокой и толстой ((трубой|Избушка:Труба)). Вот где враги жгут ваши брёвна!

чтобы при клике на слове "избушка" получать одно меню, а при клике на "трубой" — другое.

Это неплохо: меньше объектов, меньше описаний и всего такого. Но с текстом работать становится уже неудобно. Он становится громоздким. Знакомое слово? Да, я в первом абзаце упоминал как о проблеме громоздкости, так и об одном способе её решения, а именно переносе загромождающих текст элементов в другое место.

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

Код:

У самого леса из земли торчит низенькая %избушка% с неприлично высокой и толстой %трубой%. Вот где враги жгут ваши брёвна!

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

Код:

    избушка    = избушка|Избушка
    трубой     = трубой|Избушка:Труба

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

Неактивен

0    0    #87
25.08.2012 15:05

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: Заметки по работе над "Адским движком" (фреймворком для QSP)

Olegus t.Gl. написал:

Но придётся в каком-то виде и где-то задавать, что движок должен подставлять вместо %избушка% и %трубой%. Но это уже мелочи. Пока рассматриваю дополнительный параметр…

Забросил идею с дополнительным параметром — у меня их и так многовато. Пошёл по более дикому, но зато более универсальному пути, а именно добавил блок параметров прямо в текст. В коде эта строка выглядит так:

Код:

'У самого леса из земли торчит низенькая %избушка% с неприлично высокой и толстой %трубой%. Вот где враги жгут ваши брёвна!
'+$ттт+'
    избушка    = %|Избушка
    трубой     = %|Избушка:Труба
'

В переменной $ттт я зашил абракадабру, по которой специально обученная функция чётко разделяет текст и дополняет содержательную часть данными из блока подстановок. Ну и в редакторе это выглядит не настолько страшно, потому как блок со значениями подстановок всегда можно свернуть. А знак % в блоке параметров означает, что текст соответствует строке подстановки, ну, чтобы не писать по два раза: трубой=трубой|Избушка:Труба.

Неактивен

0    0    #88
26.08.2012 11:51

Zeantar
Участник (+23, -51)
Зарегистрирован: 30.03.2012
Сообщений: 119

Мир, как мы его знали, подходит к концу... (с) БГ

Re: Заметки по работе над "Адским движком" (фреймворком для QSP)

Так и вижу, как кто-то пишет игру на адском движке Олегуса:
'Вы вошли на локацию', СуперЛокацияПрименитьСуперМетодОлегуса, 3
ЯнаЛокацииСуперМетодОлегусаСрочноВызов, 25
УраЯСмогУпотребитьСтранныйМетодОлегуса, 87
act: 'Хотите перейти или будете дальше наслаждаться двиглом?' : goto 'НоваяСуперЛокацияКотораяИмеетМетод', 25

Неактивен

0    0    #89
26.08.2012 11:59

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: Заметки по работе над "Адским движком" (фреймворком для QSP)

Zeantar написал:

Так и вижу, как кто-то пишет игру на адском движке Олегуса:
'Вы вошли на локацию', СуперЛокацияПрименитьСуперМетодОлегуса, 3
ЯнаЛокацииСуперМетодОлегусаСрочноВызов, 25
УраЯСмогУпотребитьСтранныйМетодОлегуса, 87
act: 'Хотите перейти или будете дальше наслаждаться двиглом?' : goto 'НоваяСуперЛокацияКотораяИмеетМетод', 25

Как известно, в условиях отсутствия информации человек начинает моделировать ситуацию на тех сведениях и приёмах, что ему известны и знакомы. Часто это является отражением мировоззрения и привычных приёмов (мышления или действия) самого человека. Так что, я полагаю, в твоём примере мы видим некое отражение сущности твоего же движка на JavaScript. Дарю название: "ЛБД", что расшифровывается "Лютый Бешеный Движок".

Неактивен

0    0    #90
26.08.2012 12:40

Zeantar
Участник (+23, -51)
Зарегистрирован: 30.03.2012
Сообщений: 119

Мир, как мы его знали, подходит к концу... (с) БГ

Re: Заметки по работе над "Адским движком" (фреймворком для QSP)

У меня все проще, но ладноо ) отвлеклись, поспамили - и снова в бой, в адский движок

Отредактировано Zeantar (26.08.2012 23:42)

Неактивен

0    0    #91
08.10.2012 22:28

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: Заметки по работе над "Адским движком" (фреймворком для QSP)

Добавил возможность добавлять в контейнер (содержимое) скрытые объекты, чтобы не заморачиваться с ними при выводе описания.

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

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

Теперь, если поместить батарейки в телефон командой:

Код:

…Поместить, 'Батарейки В Телефон Скрыть'

то батарейки при выводе описания телефона в блоке содержимого упоминаться не будут. Однако, функция

Код:

…Содержится('Батарейки В Телефон')

всё равно будет возвращать ДА.

Неактивен

2    0    #92
09.04.2013 20:55

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: Заметки по работе над "Адским движком" (фреймворком для QSP)

В синтаксис ссылок в тексте добавил расширение параметра. Обычный синтаксис ссылки выглядит так: ((текст|ссылка|цвет)), где ссылка — это имя объекта (может быть также http, exec — но сейчас не об этом, как и возможность указания цвета у ссылки). При нажатии на ссылку анализируется перечень действий с данным объектом, формируется и выводится меню.

Чтобы можно было использовать в тексте несколько ссылок на один и тот же объект и получать при этом разные меню, в Адском Движке™ можно дополнять имя объекта параметром, например так: ((телефонная книга|Таксофон:ТелефоннаяКнига)).

Так вот теперь всё ещё круче — у параметра можно ещё и указывать данные, что делает синтаксис ещё более диким, но в умелых руках даёт интересные возможности. Синтаксис теперь такой: ((текст|ссылка:параметр+данные|цвет))

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

Теперь мне достаточно в телефонной книге указать следующий текст:

Код:

…ТекстНаЭкран, '((000|Таксофон:НабратьНомер+000)) — телефон Арнольда'

а к объекту "Таксофон" добавить одно-единственное действие:

Код:

…Действие, ’Таксофон:НабратьНомер’, 'Набрать номер', 'позвонить', _ , {
    …ТекстНаЭкран, 'п. Вы набрали номер ' + ©Данные + '.'
    …Объекты.Таксофон.ОбработатьНомер, ©Данные
    }

и всё будет работать (вернее уже работает).

Неактивен

1    0    #93
23.04.2013 11:37

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: Заметки по работе над "Адским движком" (фреймворком для QSP)

В своё время я реализовал работу с шаблонами в текстах, чтобы можно было нагляднее разделять текст и ссылки со всеми их параметрами. Сейчас решил немножко эту тему развить, особенно в свете идеи скрывать ссылки. В обсуждении этой идеи прозвучала дельная мысль, что если уж скрывать ссылки на объекты, то тогда каждое упоминание объекта в тексте должно быть ссылкой. Это правильно, но расставлять ссылки в этом случае, даже с шаблонами, — скука смертная. Поэтому я добавил простое решение — реализовал "общие шаблоны".

Допустим есть два текста:

У самого леса из земли торчит низенькая %избушка% с неприлично высокой и толстой %трубой%. Вот где враги жгут ваши брёвна!

Стены %избушки% покрыты мхом и словно растут из земли. Неровный проём двери занавешен грубой рогожей. Из %трубы% идёт густой белый дым.

Чтобы не прописывать к каждому тексту замену шаблонов на ссылки, можно просто добавить две команды:

Код:

…ДобавитьШаблонДляТекстов, 'избушка|избушки', '((%|Избушка))'
…ДобавитьШаблонДляТекстов, 'трубой|трубы', '((%|Избушка:Труба))'

Теперь во всех текстах шаблоны (не слова, а именно шаблоны) "%избушка%", "%избушки%", "%трубой%", "%трубы%" будут заменены на ссылки.

Как-то так.

Неактивен

0    0    #94
30.04.2013 12:56

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: Заметки по работе над "Адским движком" (фреймворком для QSP)

И опять насчёт шаблонов в тексте. Как обычно практика вносит свои коррективы. Расширил функционал шаблонов в текстах. Теперь помимо общих шаблонов, которые заменяются во всех текстах, существуют шаблоны с привязкой к локации, в которой находится игрок.

Общий шаблон:

Код:

…ДобавитьШаблонДляТекстов, 'трубой|трубы', '((%|Избушка:Труба))'

Шаблон привязанный к локации:

Код:

…ДобавитьШаблонДляТекстов, 'трубой В ВнутриИзбушки', '((%|Печь:Труба))'

Теперь в описании локации "ПередИзбушкой"

У самого леса из земли торчит низенькая %избушка% с неприлично высокой и толстой %трубой%. Вот где враги жгут ваши брёвна!

%трубой% будет заменяться на "((трубой|Избушка:Труба))", то есть на ссылку на объект "Избушка".

А в описании локации "ВнутриИзбушки"

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

%трубой% будет заменяться на "((трубой|Печь:Труба))", то есть на ссылку на объект "Печь".

Ну и само собой синтаксис записи шаблонов позволяет указывать перечни как шаблонов, так и локаций:

Код:

…ДобавитьШаблонДляТекстов, '(шаблон1|шаблон2|шаблон3) В (локация1|локация2|локация3)', 'замещающий текст'

Как-то так.

Неактивен

1    0    #95
05.03.2014 14:56

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: Заметки по работе над "Адским движком" (фреймворком для QSP)

Давненько не делился зажигательными видео, демонстрирующими работу Адского Движка™.

Сейчас вернулся к своему старому проекту, и сразу же наткнулся на интерфейсную проблему, связанную с гашением ссылок. Если нужно сконцентрировать игрока на выполнении какой-нибудь задачи, то лучший способ — отрубить ему возможность делать что-нибудь ещё. Иногда это действительно имеет смысл.



Ну и код работы с кодовой панелью на двери приведён на скриншоте.

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru