Окно основного описания
Это то самое окно, которое используется чаще всего. В него выводятся практически все тексты игры, и оно не отключается.
Окно основного описания очищается автоматически, при переходе на локацию с помощью оператора GOTO (GT).
Чтобы вывести текст в Окно основного описания, нужно воспользоваться одним из следующих способов:
- Написать текст в поле "Описание" локации (Базовое описание локации) в Quest Generator. Тогда весь текст из этого поля автоматически будет выведен в Окно основного описания при переходе на локацию.
- Воспользоваться одной из команд для вывода текста, прописав эту команду в поле Выполнить при посещении локации в Quest Generator. При работе в текстовом редакторе у вас есть только этот способ.
Команды для работы с Окном основного описания
Под обозначением [$текст]
ниже на странице понимается любая строка текста, число, значение выражения, переменной или функции.
Команды для вывода текста в Окно основного описания
-
*P [$текст]
- простой вывод текста. Выводит текст в Окно основного описания без перехода на новую строку. Пример:*p 'Шла'
*p 'Саша'
*p 'По'
*p 'Шоссе'После выполнения кода (если запустим игру) — в Окне основного описания мы увидим:
ШлаСашаПоШоссе
-
*PL [$текст]
- вывод текста, затем переход на новую строку. Пример:*p 'Шла' & ! здесь выводим текст без перехода на новую строку
*p 'Саша' & ! и здесь тоже
*pl 'По'
*pl 'Шоссе'После выполнения кода — в Окне основного описания мы увидим:
ШлаСашаПо
Шоссе- Если не указать
[$текст]
, то команда просто создаст переход на новую строку:В Окне основного описания мы увидим:*p 'Шла Саша'
*pl
*p 'По шоссе'Шла Саша
По Шоссе - Если не указать
*pl
, а указать только[$текст]
, работа такой команды почти не будет отличаться от работы команды с операторм*pl
. Это называется неявный оператор:'Во поле'
'берёзка'
'стояла'
! эквивалентно
*pl 'Во поле'
*pl 'берёзка'
*pl 'стояла'
- Если не указать
-
*NL [$текст]
- переход на новую строку, а затем вывод текста. Пример:*p 'Шла' & ! здесь выводим текст без перехода на новую строку
*p 'Саша' & ! и здесь тоже
*nl 'По'
*nl 'Шоссе'После выполнения кода — в Окне основного описания мы увидим:
ШлаСаша
По
Шоссе- Если не указать
[$текст]
, то команда просто совершит переход на новую строку:В Окне основного описания мы увидим:*p 'Шла Саша'
*nl
*p 'По Шоссе'Шла Саша
По Шоссе
- Если не указать
Команды для очистки Окна основного описания
-
*CLEAR
или*CLR
- очищает Окно основного описания. Пример:*p 'Шла' & ! выводим текст без перехода на новую строку
*pl 'Саша' & ! выводим текст и переходим на новую строку
*nl 'По' & ! переходим на новую строку и выводим текст
*nl 'Шоссе' & ! переходим на новую строку и выводим текст
*clear & ! очищаем окно основного описания от всего текстаВ результате работы этого кода Окно основного описания окажется пустым.
-
CLS
- эквивалентно конструкции "CLEAR & *CLEAR & CLA & CMDCLEAR
", т.е. очищает все окна, кроме списка предметов.
Функции для работы с Окном основного описания
-
$MAINTXT
- возвращает текст, выведенный в окно основного описания. Пример:*p 'Ехал Грека Через Реку'
*nl 'Видит Грека В Реке Рак'
$text = $maintxtВ данном случае в переменную
$text
запишутся две строки текста:Ехал Грека Через Реку
Видит Грека В Реке Рак -
$DESC([$локация])
- возвращает текст базового описания локации с названием[$локация]
. Обратите внимание! Функция возвращает текст, написанный только в поле "Описание" (Базовое описание) редактора Quest Generator. При работе в текстовом редакторе данное поле вам недоступно и функция будет всегда возвращать пустую строку.В Базовом описании можно использовать подвыражения, функция
$DESC
автоматически "раскроет" их.
Системные переменные для управления Окном основного описания
DISABLESCROLL
- если значение переменной не равно0
, то запрещает автопрокрутку текста при его выводе в окно основного или дополнительное описания. Что это значит. Предположим, мы вывели на экран большой объём текста, а затем при нажатии на действие у нас выводится ещё один фрагментик текста. ЕслиDISABLESCROLL = 0
, этот фрагментик текста при выводе заставит экран прокрутиться вниз. Если мы не хотим, чтобы экран прокручивался вниз в этом случае, мы присваиваем переменнойDISABLESCROLL
единицу.$BACKIMAGE
- содержит путь к файлу фонового изображения для Окна основного описания.- Фон в окне основного описания отображается в том случае, если значение данной переменной отлично от
""
(пустая строка) и файл изображения удалось загрузить. - Необходимо указывать путь к изображению относительно файла игры:
! файл игры лежит в папке C:\QSP\myCoolGame
! файл изображения лежит в папке C:\QSP\myCoolGame\image и называется picture.png
! значит установить изображение фоном в окно основного описания мы можем так:
$backimage='image\picture.png' - При этом фон вписывается в границы Окна основного описания, и управлять им в классическом плеере нельзя.
- Если вы хотите убрать фон, присвойте переменной
$BACKIMAGE
пустую строку:$backimage = ''
- Фон в окне основного описания отображается в том случае, если значение данной переменной отлично от
Другие примеры
*P '1'
*PL '23'
*NL '456'
'78'
После выполнения кода в Окно основного описания будет выведено:
123
45678
Можно выводить не только строки, но и числа, и значения переменных, функций и результаты вычисления выражений:
*pl 'I ♥ QSP!'
*pl 256 / 12 * 9
137 + (2 * 9)
$curloc
*nl rand(999)
x = 15
*nl x