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

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


help:main

Различия

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

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

Both sides previous revision Предыдущая версия
Следущая версия
Предыдущая версия
help:main [2015/01/18 18:43]
85.21.96.125 старая ревизия восстановлена (2013/11/22 10:08)
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|Вперёд:​ Дополнительное окно описания]] 
help/main.1421606622.txt.gz · Последние изменения: 2015/01/18 21:43 (внешнее изменение)