Перейти к основному содержимому

Назад: Локации

Окно основного описания

Это то самое окно, которое используется чаще всего. В него выводятся практически все тексты игры, и оно не отключается.

Окно основного описания очищается автоматически, при переходе на локацию с помощью оператора 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

Вперёд: Окно дополнительного описания