- Вывод текста
- Программирование
- Оформление
- Расширенные возможности
- Нюансы написания игр под разные плееры
-
- x AeroQSP
- Утилиты и средства разработки
Это старая версия документа.
Локация - элементарная единица игрового мира. Это может быть пещера, дом, комната, улица, большой город или даже целая планета.
С точки зрения игрока он исследует игровой мир перемещаясь по локациям, но с точки зрения создателя игры понятие локации гораздо шире. В QSP локации — это отдельные блоки кода, и они могут использоваться не только для написания различных мест.
Возможные назначения локаций:
Вы сами определяете назначение локации, для плеера абсолютно все локации равнозначны.
Любая локация может состоять из трёх полей:
Вы можете заполнять эти поля по своему усмотрению. Можно заполнить их все, или одно из них, или не заполнять ни одного, — всё зависит от того, какое назначение вы выбрали для вашей локации, и как вам удобнее воплощать вашу идею.
Поля Базовое описание локации и Базовые действия локации доступны для заполнения только в редакторе Quest Generator, если вы работаете в обычном текстовом редакторе, весь код пишется только для поля Выполнить при посещении.
Имя локации в процессе игры не отображается и может быть любым. Вы сами решаете, как назвать вашу локацию и какие символы использовать для названия. Но есть общие рекомендации:
!название
или $название
- служебная локация (не с базой данных)#название
- служебная локация с базой данных^название
- локация, вложенная в предыдущую. Например, названия локаций через запятую: Северная площадь
, ^Магазин игрушек
, ^^Продавец игрушек
, ^Магазин оружия
, ^^Мечи
, ^^Булавы
, ^^Оружейник
.Подобная маркировка префиксами была актуальна для старых версий Quest Generator, в которых не было возможности распределять локации по папкам. Сейчас такая маркировка менее актуальна, так как названия без префиксов использовать намного удобнее, а в Quest Generator есть возможность размещать локации в отдельных папках.
Дом с трубой
Дом_с_трубой
ДомСТрубой
$CURLOC
— данная функция возвращает название текущей ("активной") локации, т.е. локации на которой "находится" игрок.Пример:
*pl $curloc & ! выводим название текущей локации в Окно основного описания *pl "Сколько раз перезашли: <<перезашёл>>" act "Перезайти на текущую локацию": перезашёл+=1 goto $curloc end
Автоматически при запуске игры воспроизводится только самая первая локация в игре, на все остальные локации нужно делать переходы, или вызывать их иным образом.
Так же, автоматически может выполняться код служебных локаций, отвечающих за обработку разных событий, и локации-счётчика.
Подробнее о порядке воспроизведения локаций смотри статью "Порядок работы интерпретатора".