Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #51
28.03.2012 21:47

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

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

Наткнулся на несколько головоломных моментов:

1. Ссылки на некоторые объекты хотелось бы иметь активными всегда, а не только когда объект находится в известных игроку "контейнерах". Известные контейнеры — это содержимое текущей локации и осмотренные игроком объекты в ней. Так, например, упоминание в описании каких-нибудь объектов или персонажей, которых рядом с игроком как бы и нет. В этом случае можно для объекта указать спец. режим обработки ссылок — т.е. ссылка активна всегда, когда объект в доступных контейнерах или когда при нажатии на него формируется меню.

Кстати, совсем забыл про полезную функцию — формирование меню в режиме проверки, т.е. сформированное меню в итоге не вызывается, а возвращается лишь количество пунктов в нём. Это можно использовать.

2. Что делать с ссылками на локации. Сейчас они у меня активны всегда, однако во время игры сразу же наткнулся на проблему "локация в нескольких переходах".
Вариант — активна всегда локация, в которой находится игрок, плюс автору добавляется возможность указывать перечень локаций, откуда будет доступна та или иная локация. А можно и не заморачиваться, а пойти по пункту 1 и локациям добавить автоматическое присвоение признака "ссылки активны всегда" — а уж за наличие пунктов в меню пусть отвечает автор.

P.S. Чтобы никто заново не возбуждался — под автором я всё ещё подразумеваю себя, хоть и говорю отвлечённо.

Неактивен

0    0    #52
28.03.2012 22:10

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

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

Да, и поскольку всякие действия, описания, упоминания и т.п. содержат модуль условия их использования, и этот модуль зачастую состоит из одной строчки типа:

Код:

{°Результат=IIF(©Параметр='Встать',Использовать,Пропускать)}

то добавил возможность использования сокращённой формы:

Код:

{if:©Параметр='Встать'}

Так и короче пишется, и не нужно помнить, какая константа ("Использовать", "Пропускать" и т.п.) для данной конструкции означает использование, а какая — пропуск.

Неактивен

0    1    #53
29.03.2012 07:01

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

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

Фигасе, значки градуса и копирайта?! Как их набирать?

2. Что делать с ссылками на локации.

См. классику INSTEAD.

Неактивен

0    0    #54
29.03.2012 07:44

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

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

Nex написал:

Фигасе, значки градуса и копирайта?! Как их набирать?

Клавиатурная раскладка Ильи Бирмана: http://ilyabirman.ru/projects/typography-layout/

Nex написал:

2. Что делать с ссылками на локации.

См. классику INSTEAD.

Как насчёт развернуть свою мысль, чтобы было ясно, что же ты имеешь в виду?
Так, у меня на экране может одновременно находится описание нескольких локаций (textflow), а также описания предметов и действий с упоминаниями тех или иных объектов, ссылки на которые автоматически гасятся, если объекты недоступны. Я не припомню, чтобы кто-нибудь говорил про такое в контексте INSTEAD.

Неактивен

0    1    #55
29.03.2012 13:34

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

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

Вопрос.

Код:

Что делать с ссылками на локации.

Ответ.

Код:

См. классику INSTEAD.

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

Неактивен

0    0    #56
29.03.2012 16:48

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

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

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

Так, у меня на экране может одновременно находится описание нескольких локаций (textflow), а также описания предметов и действий с упоминаниями тех или иных объектов, ссылки на которые автоматически гасятся, если объекты недоступны. Я не припомню, чтобы кто-нибудь говорил про такое в контексте INSTEAD.

Nex написал:

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

В "Квантовом коте" на экране присутствует только результат последнего действия (после нажатия на ссылку) и текущее описание локации (подобный вариант я разбирал тут). Поэтому говорить, что там "давно решили эту проблему", неправильно — там этой проблемы просто не существует. А предложение "можно взять и сделать так же" — это типа как советовать желающему научиться кататься на лыжах сесть на санки. А что? ведь там "уже давно решили проблему" устойчивости…

Неактивен

0    1    #57
29.03.2012 19:00

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

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

При чем тут то, что находится на экране? Постановка вопроса такая:

Что делать с ссылками на локации. Сейчас они у меня активны всегда, однако во время игры сразу же наткнулся на проблему "локация в нескольких переходах".
Вариант — активна всегда локация, в которой находится игрок, плюс автору добавляется возможность указывать перечень локаций, откуда будет доступна та или иная локация. А можно и не заморачиваться, а пойти по пункту 1 и локациям добавить автоматическое присвоение признака "ссылки активны всегда" — а уж за наличие пунктов в меню пусть отвечает автор.

Вот на это я и дал ответ. То, что ты там подразумевал не то, о чем в итоге написал - твои проблемы.

Неактивен

0    0    #58
29.03.2012 20:18

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

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

Nex написал:

При чем тут то, что находится на экране? Постановка вопроса такая:

Что делать с ссылками на локации. Сейчас они у меня активны всегда, однако во время игры сразу же наткнулся на проблему "локация в нескольких переходах".
Вариант — активна всегда локация, в которой находится игрок, плюс автору добавляется возможность указывать перечень локаций, откуда будет доступна та или иная локация. А можно и не заморачиваться, а пойти по пункту 1 и локациям добавить автоматическое присвоение признака "ссылки активны всегда" — а уж за наличие пунктов в меню пусть отвечает автор.

Вот на это я и дал ответ. То, что ты там подразумевал не то, о чем в итоге написал - твои проблемы.

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

Неактивен

0    1    #59
29.03.2012 20:26

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

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

Это был не совет, а ответ на вопрос. То, что мой ответ показался тебе неприемлемым, не моя забота.

Неактивен

0    0    #60
29.03.2012 20:37

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

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

Nex написал:

Это был не совет, а ответ на вопрос. То, что мой ответ показался тебе неприемлемым, не моя забота.

Вот только от вопроса ты отсёк всё, что не подходило к ответу. В том числе и накопленный контекст. Смотри аналогию с лыжами и санками.

Неактивен

0    1    #61
30.03.2012 09:47

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

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

Ой, ну хватит уже меня благодарить.

Неактивен

0    0    #62
31.03.2012 13:00

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

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

Посмотрел код "Адского движка" на выходе (т.е. включаемый в "состав" игры). Понял, как важно не потерять исходники исходников…

Пример кода (редактор EmEditor), с которым я и работаю:
https://ifiction.ru/i/scr/qsp_scr_code_002.png

Получаемый в результате код (редактор QGen):
https://ifiction.ru/i/scr/qsp_scr_code_003.png

Неактивен

0    0    #63
31.03.2012 17:46

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

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

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

Обычная конструкция. Что ты хотел сказать этим?

Неактивен

0    0    #64
31.03.2012 17:54

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

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

Zeantar написал:

Обычная конструкция. Что ты хотел сказать этим?

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

P.S. Вообще-то тут не приветствуется стиль общения а-ля чат. И важно не только смотреть на картинки, но и читать, что пишут другие.

Неактивен

0    1    #65
31.03.2012 21:20

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

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

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

Приветствуется твой монолог, хочешь сказать?
Будь проще.

Неактивен

0    0    #66
31.03.2012 21:30

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

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

Zeantar написал:

Приветствуется твой монолог, хочешь сказать?

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

Для обсуждения друг друга лучше всего подходит раздел "Изба". Здесь продолжать подобный оффтоп не нужно.

Неактивен

0    0    #67
05.04.2012 21:29

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

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

А между тем на Asus EeePC 901 первоапрельский трейлер заметно притормаживает. Замеры времени выполнения некоторых участков кода (через MSECSCOUNT) выявили кое-какие любопытные участки с серьёзным ухудшением времени обработки. Есть над чем подумать.

Неактивен

0    0    #68
21.04.2012 00:17

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

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

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

Да, и пришлось обломаться с порционным выводом текста.

Код:

…ТекстНаЭкран, 'Привет мир!<-далее->Я всех ненавижу!'

P.S. Почему не получилось? Потому что в QSP-Classic невозможно остановить выполнение кода в отдельной точке (если это не input или msg, конечно же), подождать действия игрока, а потом продолжить далее.

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

Неактивен

0    0    #69
11.05.2012 23:06

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

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

Хм… Наткнулся на некоторую проблему (не знаю пока, насколько серьёзную) с реализацией чекпоинтов. А именно — момент сохранения чекпоинта.

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

Таким образом вызывать SAVEGAME нужно в том месте кода, после которого гарантировано ничего выполняться уже не будет. А у меня с этим очень непросто, потому как игровой код (откуда и вызывается команда создания точки сохранения) обрамлён служебным кодом фреймворка.

Код:

1. Начало служебной функции
2. Заполнение вспомогательной информации
3. Запуск игрового кода
4. Вызов SAVEGAME
5. Окончание игрового кода
6. Чистка вспомогательной информации
7. Завершение служебной функции

И если потом загрузить такой чекпоинт (командой OPENGAME), то в нём будет присутствовать всякий мусор, поскольку чистки вспомогательной информации (п.6) и корректного завершения служебной функции (п.7) произведено не было и не будет, потому как у нас восстановится состояние игры в пункте 4 и никаких дополнительных действий произведено не будет.

Предусмотреть состав вспомогательной информации, чтобы как-то почистить её в локации-обработчике загрузки состояния игры ($ONGLOAD), невозможно. Так что есть над чем подумать.

Неактивен

0    0    #70
12.05.2012 15:45

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

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

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

Хм… Наткнулся на некоторую проблему (не знаю пока, насколько серьёзную) с реализацией чекпоинтов. А именно — момент сохранения чекпоинта.

Решил проблему.

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

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

Неактивен

0    0    #71
22.05.2012 13:56

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

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

Кстати, добавил события и подписки на события.

С одной стороны у меня уже есть обработчики системных событий. То есть на ряд системных событий (например, получение свойства, перемещение объекта и т.п.) можно повесить модуль-обработчик, который будет выполняться при наступлении события. Например, есть объекты "Меч" и "Палица", у которых есть свойство "Урон". А у игрока есть свойство "Ловкость", которое должно увеличивать урон от оружия. Тогда такой вот обработчик:

Код:

    …ПриПолученииСвойства, 'Игрок', 'Урон', {
        °Значение = °Значение + …Получить('Игрок:Ловкость')
        }

увеличит значение урона от объекта на значение ловкости.

P.S. Для простоты я убрал код проверки, что объект, урон которого определяется, находится у игрока.

Однако кроме системных событий теперь есть ещё и авторские.

Например, вот код:

Код:

    …ПриНаступленииСобытия, 'СигнализацияСработала', '+', '', 'Сигнализация', После, {
        …Установить, 'Дракон:Спит', НЕТ
        …Переместить, 0, 'Дракон', '', 'Сокровищница'
        }
    
    …ПриНаступленииСобытия, 'СигнализацияСработала', '+', '', 'Сигнализация', После, {
        …Переместить, 0, 'Охранник', '', 'Сокровищница'
        }
    
    …ПриПеремещенииОбъекта, ИГРОК, 'Сокровищница', '', Перед, {
        if …Содержится(0, 'Корона', ИНВЕНТАРЬ, ДА) and …Получить(0, 'Сигнализация:Включена')=ДА {
            …Установить, 'Сигнализация:Орёт', ДА
            …ВызватьСобытие, 'СигнализацияСработала', ИГРОК, '', 'Сигнализация', После
            °Результат = Нельзя
            }
        }

Теперь если переместить игрока из "Сокровищницы", то

  1. Отработает обработчик системного события "ПриПеремещенииОбъекта", и если у игрока в инвентаре есть корона, а сигнализация не отключена, то сигнализация начнёт орать: её свойство "Орёт" установится в ДА, и произойдёт авторское событие "СигнализацияСработала". И выйти игроку не получится.
  2. На авторское событие "СигнализацияСработала" есть две подписки (они могут заполняться в разных местах: в модуле дракона и в модуле охранника), которые и вызовутся. В результате чего в сокровищнице окажутся и бодрствующий дракон, и охранник.

Как-то так…

Неактивен

0    0    #72
22.05.2012 16:42

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

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

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

Неактивен

0    0    #73
29.05.2012 23:44

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

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

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

Плюс ко всему этому даже если объект присутствует "рядом" — вызывается функция проверки формирования меню. Если меню пустое, то ссылка гасится (всё равно выбирать не из чего).

Всё это хорошо работало, но возникали следующие проблемы:

  1. Ссылки на локации. Локации нигде не расположены, поэтому говорить о том, есть они где-то или нет, нельзя. Приходилось в модуле формирования меню прописывать где какие пункты действий с той или иной локацией доступны.
  2. Упоминания (со ссылкой) объектов или персонажей, по идее отсутствующих в текущей локации. Например игрок вспоминает о ком-то, и по ссылке на этого персонажа можно узнать что-нибудь о нём. Однако в этом случае приходилось либо таскать персонажа по локациям (при этом контролировать, чтобы он не попадал в перечень содержимого), либо применять различные изощрённые средства.

При всём при этом ещё нужно было отслеживать местонахождение игрока и всё такое.

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

Добавлена команда "УстановитьДоступностьСсылок", с помощью которой можно указать, ссылка на какой объект в каком месте будет активна (если конечно в меню есть пункты), если игрок находится в этом же месте. То есть когда игрок переходит в другую локацию, ссылка становится неактивной.

Но добавлено кое-что ещё более страшное и малопонятное.

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

Например описание комнаты, где яблока нет, но чувствуется его запах:

В комнате стоит устойчивый запах ((яблок|Яблоко:Запах)).

Описание содержимого шкафа, где находится яблоко:

В шкафу на блюдце лежит ((яблоко|Яблоко)).

В данном случае объектом является "Яблоко", а "Запах" — это параметр, который передаётся в модуль формирования меню. И меню я могу формировать так:

Код:

…Добавить, 'Яблоко:Действия', 'Принюхаться',      '', {if:©Параметр ='Запах'}, {…ТекстНаЭкран, 'п. Запах усиливается по мере приближения к шкафу.'}
…Добавить, 'Яблоко:Действия', 'Осмотреть яблоко', '', {if:©Параметр<>'Запах'}, {…ОписаниеНаЭкран, 'Яблоко'}
…Добавить, 'Яблоко:Действия', 'Съесть яблоко',    '', {if:©Параметр<>'Запах'}, {…ТекстНаЭкран, 'п. Не стоит — тут явно какой-то подвох!'}

В этом случае при щелчке на ссылке с параметром "Запах" ((яблок|Яблоко:Запах)) я получу меню с одним пунктом "Принюхаться". А при щелчке на яблоке из описания шкафа (где параметра "Запах" нет: ((яблоко|Яблоко))) — меню уже будет состоять из двух пунктов: "Осмотреть яблоко", "Съесть яблоко".

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

Код:

…Добавить, 'Яблоко:Действия', 'Принюхаться',      '', {if:©Параметр ='Запах'}, {…ТекстНаЭкран, 'п. Запах усиливается по мере приближения к шкафу.'}
…Добавить, 'Яблоко:Действия', 'Осмотреть яблоко', '', '', {…ОписаниеНаЭкран, 'Яблоко'}
…Добавить, 'Яблоко:Действия', 'Съесть яблоко',    '', '', {…ТекстНаЭкран, 'п. Не стоит — тут явно какой-то подвох!'}

При нажатии на ссылку ((яблок|Яблоко:=Запах)) фреймворк просто обросит пункты "Осмотреть яблоко" и "Съесть яблоко", поскольку в них не обрабатывается параметр "Запах".

Как-то так…

Неактивен

0    0    #74
10.08.2012 14:10

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

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

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

то добавил возможность использования сокращённой формы:

Код:

{if:©Параметр='Встать'}

Расширил варианты краткой записи условий:

Дополнительный вариант записи проверки условия: {если:©Параметр='Встать'}

Проверка, находится ли игрок в локации "ВоротаНаБолото": {в:ВоротаНаБолото}

Проверка, попал ли в текущую локацию игрок из локации "ВоротаНаБолото": {из:ВоротаНаБолото}

Зачем это всё? Ах да, я же игру пишу. И возник вопрос, как лучше прописывать переходы из локации в локацию. Получается, когда игрок щёлкает на ссылку на определённую локацию, то меню переходов нужно собирать исходя из местоположения игрока. Вот поэтому всё и так. Пока удобно.

Неактивен

0    0    #75
10.08.2012 17:29

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

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

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

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

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru