Здесь показаны различия между двумя версиями данной страницы.
Both sides previous revision Предыдущая версия Следущая версия | Предыдущая версия | ||
help:main [2015/01/18 21:43] 127.0.0.1 внешнее изменение |
help:main [2024/10/10 17:35] (текущий) aleks_versus |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | [[help:dynamical|Назад: Динамический код]] | + | [[help:locations|Назад: Локации]] |
- | =====Основное окно описания===== | + | |
- | Это то самое окно, которое используется чаще всего. В него выводятся практически все тексты игры, оно не отключается. | + | ====== Окно основного описания ====== |
- | Очищается при переходе ([[help:locations?&#perexody|GOTO]], [[help:locations?&#perexody|GT]]) на новую локацию или программно (см. ниже). | + | Это то самое окно, которое используется чаще всего. В него выводятся практически все тексты игры, и оно не отключается. |
- | Вывод в это окно осуществляется следующими способами: | + | **Окно основного описания** очищается автоматически, при переходе на локацию с помощью оператора **[[help:goto|GOTO]]** (**[[help:goto|GT]]**). |
- | * Пишем текст в окно "Описание" локации в QGen. | + | |
- | * Программно (в окне "Выполнить при посещении" локации в QGen). | + | |
- | ====Команды==== | + | Чтобы вывести текст в **Окно основного описания**, нужно воспользоваться одним из следующих способов: |
- | ****P** //[$текст]// - простой вывод текста | + | * Написать текст в поле “Описание” локации (Базовое описание локации) в Quest Generator. Тогда весь текст из этого поля автоматически будет выведен в **Окно основного описания** при переходе на локацию. |
- | ****PL** //[$текст]// - вывод текста, затем переход на новую строку | + | * Воспользоваться одной из команд для вывода текста, прописав эту команду в поле **Выполнить при посещении** локации в **Quest Generator**. При работе в текстовом редакторе у вас есть только этот способ. |
- | * Если не указать //[$текст]//, то это будет переход на новую строку | + | |
- | *//[$текст]// - аналогично *PL | + | |
- | ****NL** //[$текст]// - переход на новую строку, затем вывод текста | + | |
- | * Если не указать //[$текст]//, то это будет переход на новую строку | + | |
- | * **DISABLESCROLL** - если значение переменной не равно 0, то запрещает автопрокрутку текста при его выводе в основное или дополнительное окно описания локации. | + | |
- | * //Довольно мутное поведение в классическом плеере - при некоторых обстоятельствах текст и так не прокручивается.// | + | |
- | * **$MAINTXT** - функция, возвращающая текст основного окна описания | + | ===== Команды для работы с Окном основного описания ===== |
- | * **DESC(**//[$локация]//**)** - возвращает текст базового описания локации с названием //[$локация]// | + | |
- | * ***CLEAR** или ***CLR** - очищает основное окно описания. | + | Под обозначением ''%%[$текст]%%'' ниже на странице понимается любая строка текста, число, значение выражения, переменной или функции. |
- | * **CLS** - эквивалентно конструкции "CLEAR & *CLEAR & CLA & CMDCLEAR", т.е. очищает все окна кроме списка предметов. | + | |
- | ***$BACKIMAGE** - содержит путь к файлу изображения локации. Изображение локации показывается в том случае, если значение данной переменной отлично от '' (не пустая строка) и файл изображения удалось загрузить. | + | ==== Команды для вывода текста в Окно основного описания ==== |
+ | * ''%%*P [$текст]%%'' - простой вывод текста. Выводит текст в **Окно основного описания** без перехода на новую строку. Пример:<sxh qsp> | ||
+ | *p 'Шла' | ||
+ | *p 'Саша' | ||
+ | *p 'По' | ||
+ | *p 'Шоссе' | ||
+ | </sxh> После выполнения кода (если запустим игру) — в **Окне основного описания** мы увидим:<sxh> | ||
+ | ШлаСашаПоШоссе | ||
+ | </sxh> | ||
+ | |||
+ | * ''%%*PL [$текст]%%'' - вывод текста, затем переход на новую строку. Пример:<sxh qsp> | ||
+ | *p 'Шла' & ! здесь выводим текст без перехода на новую строку | ||
+ | *p 'Саша' & ! и здесь тоже | ||
+ | *pl 'По' | ||
+ | *pl 'Шоссе' | ||
+ | </sxh> После выполнения кода — в **Окне основного описания** мы увидим:<sxh> | ||
+ | ШлаСашаПо | ||
+ | Шоссе | ||
+ | </sxh> | ||
+ | * Если не указать ''%%[$текст]%%'', то команда просто создаст переход на новую строку: <sxh qsp> | ||
+ | *p 'Шла Саша' | ||
+ | *pl | ||
+ | *p 'По шоссе' | ||
+ | </sxh> В **Окне основного описания** мы увидим:<sxh> | ||
+ | Шла Саша | ||
+ | По Шоссе | ||
+ | </sxh> | ||
+ | * Если не указать ''%%*pl%%'', а указать только ''%%[$текст]%%'', работа такой команды почти не будет отличаться от работы команды с операторм **''%%*pl%%''**. Это называется **[[help:keywords_operator|неявный оператор]]**: <sxh qsp> | ||
+ | 'Во поле' | ||
+ | 'берёзка' | ||
+ | 'стояла' | ||
+ | |||
+ | ! эквивалентно | ||
+ | |||
+ | pl 'Во поле' | ||
+ | pl 'берёзка' | ||
+ | *pl 'стояла' | ||
+ | </sxh> | ||
+ | |||
+ | * ''%%*NL [$текст]%%'' - переход на новую строку, а затем вывод текста. Пример: <sxh qsp> | ||
+ | *p 'Шла' & ! здесь выводим текст без перехода на новую строку | ||
+ | *p 'Саша' & ! и здесь тоже | ||
+ | *nl 'По' | ||
+ | *nl 'Шоссе' | ||
+ | </sxh> После выполнения кода — в **Окне основного описания** мы увидим: <sxh> | ||
+ | ШлаСаша | ||
+ | По | ||
+ | Шоссе | ||
+ | </sxh> | ||
+ | * Если не указать ''%%[$текст]%%'', то команда просто совершит переход на новую строку: <sxh qsp> | ||
+ | *p 'Шла Саша' | ||
+ | *nl | ||
+ | *p 'По Шоссе' | ||
+ | </sxh> В **Окне основного описания** мы увидим: <sxh> | ||
+ | Шла Саша | ||
+ | По Шоссе | ||
+ | </sxh> | ||
+ | |||
+ | ==== Команды для очистки Окна основного описания ==== | ||
+ | |||
+ | * **''%%*CLEAR%%''** или **''%%*CLR%%''** - очищает **Окно основного описания**. Пример: <sxh qsp> | ||
+ | *p 'Шла' & ! выводим текст без перехода на новую строку | ||
+ | *pl 'Саша' & ! выводим текст и переходим на новую строку | ||
+ | *nl 'По' & ! переходим на новую строку и выводим текст | ||
+ | *nl 'Шоссе' & ! переходим на новую строку и выводим текст | ||
+ | *clear & ! очищаем окно основного описания от всего текста | ||
+ | </sxh> В результате работы этого кода **Окно основного описания** окажется пустым. | ||
+ | * **''%%CLS%%''** - эквивалентно конструкции “''%%CLEAR & *CLEAR & CLA & CMDCLEAR%%''”, т.е. очищает все окна, кроме списка предметов. | ||
+ | |||
+ | ==== Функции для работы с Окном основного описания ==== | ||
+ | |||
+ | * **''%%$MAINTXT%%''** - возвращает текст, выведенный в окно основного описания. Пример: <sxh qsp> | ||
+ | *p 'Ехал Грека Через Реку' | ||
+ | *nl 'Видит Грека В Реке Рак' | ||
+ | $text = $maintxt | ||
+ | </sxh> В данном случае в переменную **''%%$text%%''** запишутся две строки текста: <sxh> | ||
+ | Ехал Грека Через Реку | ||
+ | Видит Грека В Реке Рак | ||
+ | </sxh> | ||
+ | * ''%%$DESC([$локация])%%'' - возвращает текст базового описания локации с названием ''%%[$локация]%%''. Обратите внимание! Функция возвращает текст, написанный только в поле “Описание” (**Базовое описание**) редактора **Quest Generator**. При работе в текстовом редакторе данное поле вам недоступно и функция будет всегда возвращать пустую строку.\\ В **Базовом описании** можно использовать [[help:strings#podvyrazhenija|подвыражения]], функция **''%%$DESC%%''** автоматически “раскроет” их. | ||
+ | |||
+ | ==== Системные переменные для управления Окном основного описания ==== | ||
+ | |||
+ | * **''%%DISABLESCROLL%%''** - если значение переменной не равно ''%%0%%'', то запрещает автопрокрутку текста при его выводе в окно основного или дополнительное описания. **Что это значит**. Предположим, мы вывели на экран большой объём текста, а затем при нажатии на **действие** у нас выводится ещё один фрагментик текста. Если ''%%DISABLESCROLL = 0%%'', этот фрагментик текста при выводе заставит экран прокрутиться вниз. Если мы не хотим, чтобы экран прокручивался вниз в этом случае, мы присваиваем переменной **''%%DISABLESCROLL%%''** единицу. | ||
+ | * **''%%$BACKIMAGE%%''** - содержит путь к файлу фонового изображения для **Окна основного описания**. | ||
+ | * Фон в окне основного описания отображается в том случае, если значение данной переменной отлично от ''%%""%%'' (пустая строка) и файл изображения удалось загрузить. | ||
+ | * Необходимо указывать путь к изображению относительно файла игры: <sxh qsp> | ||
+ | ! файл игры лежит в папке C:\QSP\myCoolGame | ||
+ | ! файл изображения лежит в папке C:\QSP\myCoolGame\image и называется picture.png | ||
+ | ! значит установить изображение фоном в окно основного описания мы можем так: | ||
+ | $backimage='image\picture.png' | ||
+ | </sxh> | ||
+ | * При этом фон вписывается в границы **Окна основного описания**, и управлять им в классическом плеере нельзя. | ||
+ | * Если вы хотите убрать фон, присвойте переменной **''%%$BACKIMAGE%%''** пустую строку: <sxh qsp> | ||
+ | $backimage = '' | ||
+ | </sxh> | ||
+ | |||
+ | ===== Другие примеры ===== | ||
- | ====Пример==== | ||
<sxh qsp> | <sxh qsp> | ||
*P '1' | *P '1' | ||
- | $txt = $MAINTXT | ||
*PL '23' | *PL '23' | ||
*NL '456' | *NL '456' | ||
Строка 39: | Строка 123: | ||
</sxh> | </sxh> | ||
- | После выполнения кода в основное окно описания будет выведено: | + | После выполнения кода в **Окно основного описания** будет выведено: |
- | <sxh qsp> | + | |
+ | <sxh> | ||
123 | 123 | ||
45678 | 45678 | ||
</sxh> | </sxh> | ||
- | Содержание //$txt// будет равносильно коду: | + | |
+ | Можно выводить не только строки, но и числа, и значения переменных, функций и результаты вычисления выражений: | ||
<sxh qsp> | <sxh qsp> | ||
- | $txt = '1' | + | *pl 'I ♥ QSP!' |
+ | *pl 256 / 12 * 9 | ||
+ | 137 + (2 * 9) | ||
+ | $curloc | ||
+ | *nl rand(999) | ||
+ | x = 15 | ||
+ | *nl x | ||
</sxh> | </sxh> | ||
+ | [[help:stat|Вперёд: Окно дополнительного описания]] | ||
- | ---- | ||
- | [[help:stat|Вперёд: Дополнительное окно описания]] |