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

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


help:locations

Различия

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

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

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