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

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


help:locations

Различия

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

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

Both sides previous revision Предыдущая версия
Следущая версия
Предыдущая версия
help:locations [2013/10/24 18:55]
newsash
help:locations [2024/10/10 17:14] (текущий)
aleks_versus
Строка 1: Строка 1:
 [[help:​qsp|Назад:​ Что такое QSP?]] [[help:​qsp|Назад:​ Что такое QSP?]]
  
-=====Локации ​и переходы=====+====== Локации ​======
  
-**Локация** - элементарная единица игрового мира. Это может быть пещера,​ дом, комната,​ улица ​и т.п.\\  +**Локация** - элементарная единица игрового мира. Это может быть пещера,​ дом, комната,​ улица, большой ​город или даже целая планета.
-С точки зрения игрока он исследует игровой мир перемещаясь по локациям, ​но точки зрения создателя игры понятие локации гораздо шире.+
  
-Применения для локаций:​ +С точки зрения игрока он исследует игровой ​мир, перемещаясь по локациям. Но с точки зрения создателя игры понятие “локация” гораздо шире. В **QSP** ​локации — это отдельные блоки кода, и они могут использоваться не только для описания различных мест. 
-  * **Игровые локации** - локации,​ по которым ходит игрок, основа игрового мира. + 
-  * **Служебные локации** - локации,​ на которые не попадает игрок+Возможные назначения локаций:​ 
-    * **Локации-обработчики** - локации,​ обрабатывающие определенные события в игре (переходы между локациями,​ таймер,​ выбор предмета и т.п.)+ 
 +  * **Игровые локации** - локации,​ по которым ходит игрок, основа игрового мира. Такие локации можно разделить по назначению:​ 
 +    * **локации мест** - локации,​ в которых описывается некоторый кусочек игрового мира. Комнаты,​ дома, города,​ пещеры,​ подземелья и т.д. 
 +    * **информационные локации** - локации,​ на которых размещается информация об игре, своего рода страницы. Это могут быть: стартовый экран, страницы главного меню, страницы информации об авторе и об игре. 
 +    * **локации главы, параграфы,​ или разделы** - локации,​ составляющие основу книг-игр. В книгах-играх игрок перемещается не столько по игровому миру, сколько между страницами интерактивной истории. Вот в такой роли и могут в данном случае выступать локации
 +  * **Служебные локации** - локации,​ на которые ​игрок ​не может ​попасть, но которые необходимы для работы игры
 +    * **Локации-обработчики** - локации,​ обрабатывающие определенные события в игре (переходы между локациями,​ таймер,​ выбор предмета и т.п.).
     * **Локации-данные** - иногда удобно хранить игровые тексты в отдельных переменных,​ а переменные - в отдельной локации,​ чтобы не захламлять код.     * **Локации-данные** - иногда удобно хранить игровые тексты в отдельных переменных,​ а переменные - в отдельной локации,​ чтобы не захламлять код.
-    * **Локации-функции** - в QSP есть возможность сделать локацию-функцию+    * **Локации-функции** - в QSP есть возможность сделать локацию-функцию.
     * **Локации с кодом** - иногда удобно вынести часть кода в отдельную локацию. Чаще всего это код, который используется в нескольких локациях.     * **Локации с кодом** - иногда удобно вынести часть кода в отдельную локацию. Чаще всего это код, который используется в нескольких локациях.
  
-Локация состоит из:+**Вы сами определяете назначение локации**. Для плеера абсолютно все локации равнозначны. 
 + 
 +Любая локация ​может ​состоять из трёх полей: 
   * Базовое описание локации   * Базовое описание локации
-  * Базовые действия +  * Базовые действия ​локации 
-  * Код ​"Выполнить при посещении"+  * Код ​Выполнить при посещении
  
-====Именование локаций====+Вы можете заполнять эти поля по своему усмотрению. Можно заполнить их все, или одно из них, или не заполнять ни одного,​ — всё зависит от того, ​какое назначение вы выбрали для вашей локации,​ и как вам удобнее воплощать вашу идею.
  
-Имя локации в процессе игры не отображается и может быть любым. Но есть общие рекомендации:+Поля **Базовое описание ​локации** и **Базовые действия локации** доступны для заполнения ​только в редакторе [[help:​qgen|Quest Generator]],​ если вы работаете в обычном ​текстовом редакторе, весь ​код пишется только для поля **Выполнить при посещении**.
  
-  ​* Имя локации должно соответствовать её смыслу - если локация описывает дом, то это может быть ​"Дом""House", но никак не "Пещера".+===== Именование локаций ===== 
 + 
 +Имя локации в процессе игры не отображается и может быть любым. Вы сами решаете,​ как назвать вашу локацию и какие символы использовать для названия. Но есть общие рекомендации:​ 
 + 
 +  ​* Имя локации должно соответствовать её смыслу - если локация описывает дом, то это может быть ​Дом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:​variables|Вперёд:​ переменные]] 
help/locations.1382640921.txt.gz · Последние изменения: 2013/10/24 22:55 (внешнее изменение)