Инструменты пользователя

Инструменты сайта


help:locations

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следущая версия
Предыдущая версия
help:locations [2013/10/13 18:42]
newsash создано
help:locations [2024/10/10 17:14] (текущий)
aleks_versus
Строка 1: Строка 1:
-[[help:wtf_qsp|Назад:​ Что такое QSP?]]+[[help:qsp|Назад:​ Что такое QSP?]]
  
-=====Локации=====+====== Локации ​======
  
 +**Локация** - элементарная единица игрового мира. Это может быть пещера,​ дом, комната,​ улица, большой город или даже целая планета.
 +
 +С точки зрения игрока он исследует игровой мир, перемещаясь по локациям. Но с точки зрения создателя игры понятие “локация” гораздо шире. В **QSP** локации — это отдельные блоки кода, и они могут использоваться не только для описания различных мест.
 +
 +Возможные назначения локаций:​
 +
 +  * **Игровые локации** - локации,​ по которым ходит игрок, основа игрового мира. Такие локации можно разделить по назначению:​
 +    * **локации мест** - локации,​ в которых описывается некоторый кусочек игрового мира. Комнаты,​ дома, города,​ пещеры,​ подземелья и т.д.
 +    * **информационные локации** - локации,​ на которых размещается информация об игре, своего рода страницы. Это могут быть: стартовый экран, страницы главного меню, страницы информации об авторе и об игре.
 +    * **локации главы, параграфы,​ или разделы** - локации,​ составляющие основу книг-игр. В книгах-играх игрок перемещается не столько по игровому миру, сколько между страницами интерактивной истории. Вот в такой роли и могут в данном случае выступать локации.
 +  * **Служебные локации** - локации,​ на которые игрок не может попасть,​ но которые необходимы для работы игры:
 +    * **Локации-обработчики** - локации,​ обрабатывающие определенные события в игре (переходы между локациями,​ таймер,​ выбор предмета и т.п.).
 +    * **Локации-данные** - иногда удобно хранить игровые тексты в отдельных переменных,​ а переменные - в отдельной локации,​ чтобы не захламлять код.
 +    * **Локации-функции** - в QSP есть возможность сделать локацию-функцию.
 +    * **Локации с кодом** - иногда удобно вынести часть кода в отдельную локацию. Чаще всего это код, который используется в нескольких локациях.
 +
 +**Вы сами определяете назначение локации**. Для плеера абсолютно все локации равнозначны.
 +
 +Любая локация может состоять из трёх полей:
 +
 +  * Базовое описание локации
 +  * Базовые действия локации
 +  * Код “Выполнить при посещении”
 +
 +Вы можете заполнять эти поля по своему усмотрению. Можно заполнить их все, или одно из них, или не заполнять ни одного,​ — всё зависит от того, какое назначение вы выбрали для вашей локации,​ и как вам удобнее воплощать вашу идею.
 +
 +Поля **Базовое описание локации** и **Базовые действия локации** доступны для заполнения только в редакторе [[help:​qgen|Quest Generator]],​ если вы работаете в обычном текстовом редакторе,​ весь код пишется только для поля **Выполнить при посещении**.
 +
 +===== Именование локаций =====
 +
 +Имя локации в процессе игры не отображается и может быть любым. Вы сами решаете,​ как назвать вашу локацию и какие символы использовать для названия. Но есть общие рекомендации:​
 +
 +  * Имя локации должно соответствовать её смыслу - если локация описывает дом, то это может быть “Дом”,​ “House”,​ но никак не “Пещера”.
 +  * Можно пользоваться префиксами в названии:​
 +    * **''​%%!название%%''​** или **''​%%$название%%''​** - служебная локация (не с базой данных)
 +    * **''​%%#​название%%''​** - служебная локация с [[help:​glossary|базой данных]]
 +    * **''​%%^название%%''​** - локация,​ вложенная в предыдущую. Например,​ названия локаций через запятую:​ **''​%%Северная площадь%%''​**,​ **''​%%^Магазин игрушек%%''​**,​ **''​%%^^Продавец игрушек%%''​**,​ **''​%%^Магазин оружия%%''​**,​ **''​%%^^Мечи%%''​**,​ **''​%%^^Булавы%%''​**,​ **''​%%^^Оружейник%%''​**.\\ Подобная маркировка префиксами была актуальна для старых версий [[help:​qgen|Quest Generator]],​ в которых не было возможности распределять локации по папкам. Сейчас такая маркировка менее актуальна,​ так как названия без префиксов использовать намного удобнее,​ а в [[help:​qgen|Quest Generator]] есть возможность размещать локации в отдельных папках.
 +  * Названия локаций из нескольких слов можно писать любым удобным способом,​ например:​
 +    * **''​%%Дом с трубой%%''​**
 +    * **''​%%Дом_с_трубой%%''​**
 +    * **''​%%ДомСТрубой%%''​**
 +  * Регистр букв не важен: “домструбой”,​ “ДОМСТРУБОЙ” и “ДомСТрубой” - одна и та же локация.
 +  * **Если вы пишете [[help:​organizing|локацию-функцию]]**,​ рекомендуется использовать в названии только буквы, цифры, символ подчёркивания и точку. Остальные символы могут поломать работу кода при упрощённом (неявном) вызове таких локаций-функций.
 +  * Рекомендуется выбирать названия локаций не совпадающие с [[help:​keywords|ключевыми словами]] **QSP**.
 +
 +===== Команды для работы с локациями =====
 +
 +==== Функции для обработки локаций ====
 +
 +  * **''​%%$CURLOC%%''​** — данная функция возвращает название **текущей** (“активной”) локации,​ т.е. локации на которой “находится” игрок. Пример:​
 +
 +<sxh qsp>
 +*pl $curloc & ! выводим название текущей локации в Окно основного описания
 +*pl "​Сколько раз перезашли:​ <<​перезашёл>>"​
 +act "​Перезайти на текущую локацию":​
 +  перезашёл += 1
 +  goto $curloc
 +end
 +</​sxh>​
 +
 +===== Порядок воспроизведения локаций =====
 +
 +При запуске игры автоматически воспроизводится только самая первая локация,​ на все остальные локации нужно делать [[help:​goto|переходы]],​ или [[help:​organizing|вызывать]] их иным образом.
 +
 +Так же, автоматически может выполняться код локации-счётчика и [[help:​service_locations|служебных локаций]],​ отвечающих за обработку разных событий.
 +
 +Подробнее о порядке воспроизведения локаций смотри статью [[help:​principle|“Порядок работы интерпретатора”]].
 +
 +[[help:​main|Вперёд:​ Окно основного описания]]
  
----- 
-Вперёд:​ 
help/locations.1381689759.txt.gz · Последние изменения: 2013/10/13 22:42 (внешнее изменение)