Инструменты пользователя

Инструменты сайта


help:main

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Both sides previous revision Предыдущая версия
Следущая версия
Предыдущая версия
help:main [2022/09/12 09:09]
aleks_versus [Команды]
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. Тогда весь текст из этого поля автоматически будет выведен в **Окно основного описания** при переходе на локацию. 
-Пример:​ +  ​Воспользоваться одной из команд для вывода текста,​ прописав эту команду в поле **Выполнить при посещении** локации в **Quest Generator**. При работе в текстовом редакторе у вас есть только этот способ. 
-<sxh qsp>+ 
 +===== Команды для работы с Окном основного описания ===== 
 + 
 +Под обозначением ''​%%[$текст]%%''​ ниже на странице понимается любая строка текста,​ число, значение выражения,​ переменной или функции. 
 + 
 +==== Команды для вывода текста в Окно основного описания ==== 
 + 
 +  * ''​%%*P [$текст]%%'' ​- простой вывод текста. Выводит текст в **Окно основного описания** без перехода на новую строку. Пример:<​sxh qsp>
 *p '​Шла'​ *p '​Шла'​
 *p '​Саша'​ *p '​Саша'​
 *p '​По'​ *p '​По'​
 *p '​Шоссе'​ *p '​Шоссе'​
 +</​sxh>​ После выполнения кода (если запустим игру) — в **Окне основного описания** мы увидим:<​sxh>​
 +ШлаСашаПоШоссе
 </​sxh>​ </​sxh>​
-После выполнения кода ​(если запустим игру) — в `Окне основного описаниямы увидим:​ + 
-<​sxh ​qsp+  * ''​%%*PL [$текст]%%''​ - вывод текста,​ затем переход на новую строку. Пример:<​sxh qsp> 
- ​ШлаСашаПоШоссе+*p '​Шла'​ & ! здесь выводим текст без перехода на новую строку 
 +*p '​Саша'​ & ! и здесь тоже 
 +*pl '​По'​ 
 +*pl '​Шоссе'​ 
 +</​sxh> ​После выполнения кода ​— в **Окне основного описания** мы увидим:<​sxh>​ 
 +ШлаСашаПо 
 +Шоссе 
 +</​sxh>​ 
 +    * Если ​не указать ''​%%[$текст]%%'',​ то команда просто создаст переход на новую строку: <sxh qsp> 
 +*p '​Шла Саша'​ 
 +*pl 
 +*p 'По шоссе'​ 
 +</​sxh>​ В **Окне основного описания** мы увидим:<​sxh>​ 
 +Шла Саша 
 +По Шоссе
 </​sxh>​ </​sxh>​
-  ​****PL** //[$текст]// - вывод текстазатем переход на новую строку +    ​Если не указать ''​%%*pl%%'', ​а указать ​только ''​%%[$текст]%%''​, работа такой команды почти не будет отличаться от работы команды с операторм **''​%%*pl%%''​**. Это называется **[[help:​keywords_operator|неявный оператор]]**: <sxh qsp> 
-    * Если не указать ​//[$текст]//то это будет переход на новую строку +о поле
-  *//[$текст]// - аналогично *PL +ерёзка
-  ****NL** //[$текст]// - переход на новую строку, затем вывод текста +тояла'
-    * Если не указать ​//[$текст]//, то это будет переход на новую строку +
-  ​* **DISABLESCROLL** - если значение переменной не равно 0, то запрещает автопрокрутку текста при ​его выводе в основное или дополнительное окно описания локации. +
-    ​//​Довольно мутное поведение в классическом плеере - при некоторых обстоятельствах текст и так не прокручивается.//+
  
-  * **$MAINTXT** - возвращает текст, выведенный в окно основного описания +! эквивалентно
-  * **$DESC(**//​[$локация]//​**)** - возвращает текст базового описания локации с названием //​[$локация]//​+
  
-  * ***CLEAR** или ***CLR** - очищает основное окно описания. +pl 'Во поле
-  **CLS** - эквивалентно конструкции "CLEAR & *CLEAR & CLA & CMDCLEAR",​ т.е. ​очищает все окна кроме списка предметов.+pl '​берёзка' 
 +*pl 'стояла
 +</​sxh>​
  
-  ***$BACKIMAGE** - содержит путь к файлу фонового изображения для ​окна основного описания. Фон в окне основного описания ​отображается ​в том случае, если ​значение данной ​переменной ​отлично от ''​ (т.ене пустая ​строка) и файл изображения удалось загрузить.+  * ''​%%*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'​
Строка 50: Строка 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|Вперёд:​ Дополнительное окно описания]] 
help/main.1662973741.txt.gz · Последние изменения: 2022/09/12 09:09 — aleks_versus