[[help:locations|Назад: Локации]] ====== Окно основного описания ====== Это то самое окно, которое используется чаще всего. В него выводятся практически все тексты игры, и оно не отключается. **Окно основного описания** очищается автоматически, при переходе на локацию с помощью оператора **[[help:goto|GOTO]]** (**[[help:goto|GT]]**). Чтобы вывести текст в **Окно основного описания**, нужно воспользоваться одним из следующих способов: * Написать текст в поле “Описание” локации (Базовое описание локации) в Quest Generator. Тогда весь текст из этого поля автоматически будет выведен в **Окно основного описания** при переходе на локацию. * Воспользоваться одной из команд для вывода текста, прописав эту команду в поле **Выполнить при посещении** локации в **Quest Generator**. При работе в текстовом редакторе у вас есть только этот способ. ===== Команды для работы с Окном основного описания ===== Под обозначением ''%%[$текст]%%'' ниже на странице понимается любая строка текста, число, значение выражения, переменной или функции. ==== Команды для вывода текста в Окно основного описания ==== * ''%%*P [$текст]%%'' - простой вывод текста. Выводит текст в **Окно основного описания** без перехода на новую строку. Пример: *p 'Шла' *p 'Саша' *p 'По' *p 'Шоссе' После выполнения кода (если запустим игру) — в **Окне основного описания** мы увидим: ШлаСашаПоШоссе * ''%%*PL [$текст]%%'' - вывод текста, затем переход на новую строку. Пример: *p 'Шла' & ! здесь выводим текст без перехода на новую строку *p 'Саша' & ! и здесь тоже *pl 'По' *pl 'Шоссе' После выполнения кода — в **Окне основного описания** мы увидим: ШлаСашаПо Шоссе * Если не указать ''%%[$текст]%%'', то команда просто создаст переход на новую строку: *p 'Шла Саша' *pl *p 'По шоссе' В **Окне основного описания** мы увидим: Шла Саша По Шоссе * Если не указать ''%%*pl%%'', а указать только ''%%[$текст]%%'', работа такой команды почти не будет отличаться от работы команды с операторм **''%%*pl%%''**. Это называется **[[help:keywords_operator|неявный оператор]]**: 'Во поле' 'берёзка' 'стояла' ! эквивалентно 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**. При работе в текстовом редакторе данное поле вам недоступно и функция будет всегда возвращать пустую строку.\\ В **Базовом описании** можно использовать [[help:strings#podvyrazhenija|подвыражения]], функция **''%%$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 [[help:stat|Вперёд: Окно дополнительного описания]]