Здесь показаны различия между двумя версиями данной страницы.
Both sides previous revision Предыдущая версия Следущая версия | Предыдущая версия | ||
help:stat [2013/11/07 15:36] 127.0.0.1 внешнее изменение |
help:stat [2024/10/10 17:39] (текущий) aleks_versus проба обновления до 5.9.0 |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | [[help:main|Назад: Основное окно описания]] | + | [[help:main|Назад: Окно основного описания]] |
- | =====Дополнительное окно описания===== | + | |
- | Дополнительное окно описания очищается только программно и не очищается при смене локаций. Поэтому оно используется для текстов, которые меняются довольно редко и по смыслу должны быть отделены от основного описания, инвентаря и действий.\\ | + | ====== Окно дополнительного описан ====== |
- | Использование этого окна без необходимости считается дурным тоном, т.к. это перегружает интерфейс и создаёт проблемы отображения игры на Android и iOS. | + | |
- | **ВНИМАНИЕ!** При написании кроссплатформенных игр использовать дополнительное окно описания настоятельно не рекомендуется Nex'ом. | + | Чаще всего **Окно дополнительного описания** используется для вывода сопроводительной информации, игровой статистики, логов и других сообщений, которые не требуется постоянно менять. Оно не очищается автоматически при смене локации, в отличие от **Окна основного описания**, и чтобы его очистить нужно использовать специальные команды. |
- | ====Команды==== | + | Использование этого окна **без необходимости** считается дурным тоном, т.к. это перегружает интерфейс и создаёт проблемы отображения игры на Android и iOS. |
- | ***SHOWSTAT** //[#выражение]// - если значение выражения отлично от 0, то показывает окно дополнительного описания, иначе скрывает его. | + | **ВНИМАНИЕ!** При написании кроссплатформенных игр использовать дополнительное окно описания настоятельно не рекомендуется **Nex**-ом. |
- | ***P** //[$текст]// - простой вывод текста | + | ===== Команды для работы с Окном дополнительного описания ===== |
- | ***PL** //[$текст]// - вывод текста, затем переход на новую строку | + | |
- | * Если не указать //[$текст]//, то это будет переход на новую строку | + | |
- | ***NL** //[$текст]// - переход на новую строку, затем вывод текста | + | |
- | * Если не указать //[$текст]//, то это будет переход на новую строку | + | |
- | * **DISABLESCROLL** - если значение переменной не равно 0, то запрещает автопрокрутку текста при его выводе в основное или дополнительное окно описания локации. | + | |
- | * //Довольно мутное поведение в классическом плеере - при некоторых обстоятельствах текст и так не прокручивается.// | + | |
- | * **$STATTXT** - функция, возвращающая текст дополнительного окна | + | Под обозначением ''%%[$текст]%%'' ниже на странице понимается любая строка текста, число, значение выражения, переменной или функции. |
- | * **CLEAR** или **CLR** - очищает дополнительное окно описания. | + | ==== Включение и выключение Окна дополнительного описания ==== |
- | * **CLS** - эквивалентно конструкции "CLEAR & *CLEAR & CLA & CMDCLEAR", т.е. очищает все окна кроме списка предметов. | + | |
- | ====Примеры==== | + | * ''%%SHOWSTAT [#выражение]%%'' - если значение выражения отлично от 0, то показывает **Окно дополнительного описания**, иначе скрывает его. Пример: <sxh qsp> |
+ | showstat 0 & ! скрываем окно дополнительного описания | ||
+ | showstat 1 & ! окно дополнительного описания снова отображается | ||
+ | </sxh> Для удобства чтения кода можно заранее определить переменные ''%%on%%'' и ''%%off%%'' с соответствующими значениями: <sxh qsp> | ||
+ | on, off = 1, 0 | ||
+ | showstat on & ! включаем окно дополнительного описания | ||
+ | showstat off & ! выключаем окно дополнительного описания | ||
+ | </sxh> | ||
+ | |||
+ | ==== Команды для вывода текста в Окно дополнительного описания ==== | ||
+ | |||
+ | * ''%%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 qsp> | ||
+ | Бобр Добр | ||
+ | До Бобрят | ||
+ | </sxh> | ||
+ | * ''%%NL [$текст]%%'' - переход на новую строку, а затем вывод текста. Пример: <sxh qsp> | ||
+ | p 'Бобр' & ! здесь выводим текст без перехода на новую строку | ||
+ | p 'Добр' & ! и здесь тоже | ||
+ | nl 'До' | ||
+ | nl 'Бобрят' | ||
+ | </sxh> После выполнения кода — в **Окне дополнительного описания** мы увидим: <sxh qsp> | ||
+ | БобрДобр | ||
+ | До | ||
+ | Бобрят | ||
+ | </sxh> | ||
+ | * Если не указать ''%%[$текст]%%'', то команда просто совершит переход на новую строку: <sxh qsp> | ||
+ | *p 'Бобр Добр' | ||
+ | *nl | ||
+ | *p 'До Бобрят' | ||
+ | </sxh> В **Окне дополнительного описания** мы увидим: <sxh qsp> | ||
+ | Бобр Добр | ||
+ | До Бобрят | ||
+ | </sxh> | ||
+ | |||
+ | ==== Команды для очистки Окна дополнительного описания ==== | ||
+ | |||
+ | * ''%%CLEAR%%'' или ''%%CLR%%'' - очищает **Окно дополнительного описания**. Пример: <sxh qsp> | ||
+ | *p 'Бобр' & ! выводим текст без перехода на новую строку | ||
+ | *pl 'Добр' & ! выводим текст и переходим на новую строку | ||
+ | *nl 'До' & ! переходим на новую строку и выводим текст | ||
+ | *nl 'Бобрят' & ! переходим на новую строку и выводим текст | ||
+ | *clear | ||
+ | & ! очищаем окно дополнительного описания от всего текста | ||
+ | </sxh> В результате работы этого кода **Окно дополнительного описания** окажется пустым. | ||
+ | * ''%%CLS%%'' - эквивалентно конструкции “''%%CLEAR & *CLEAR & CLA & CMDCLEAR%%''”, т.е. очищает все окна, кроме списка предметов. | ||
+ | |||
+ | ==== Функции для работы с Окном дополнительного описания ==== | ||
+ | |||
+ | * ''%%$STATTXT%%'' - эта функция возвращает текст, выведенный в окно дополнительного описания. Пример: <sxh qsp> | ||
+ | p 'Вёз Корабль Карамель' | ||
+ | nl 'Наскочил Корабль На Мель' | ||
+ | $string = $stattxt | ||
+ | </sxh> В данном случае при выполнении кода в переменную ''%%$string%%'' запишутся две строки текста: <sxh qsp> | ||
+ | Вёз Корабль Карамель | ||
+ | Наскочил Корабль На Мель | ||
+ | </sxh> | ||
+ | |||
+ | ==== Системные переменные для управления Окном дополнительного описания ==== | ||
+ | |||
+ | * ''%%DISABLESCROLL%%'' - если значение переменной не равно 0, то запрещает автопрокрутку текста при его выводе в окно основного или дополнительное описания.\\ **Что это значит**. Предположим, мы вывели на экран большой объём текста, а затем при нажатии на **действие** у нас выводится ещё один фрагментик текста. Если ''%%DISABLESCROLL = 0%%'', этот фрагментик текста при выводе заставит экран прокрутиться вниз. Если мы не хотим, чтобы экран прокручивался вниз в этом случае, мы присваиваем переменной ''%%DISABLESCROLL%%'' единицу. | ||
+ | |||
+ | ===== Другие примеры ===== | ||
<sxh qsp> | <sxh qsp> | ||
P '1' | P '1' | ||
- | $txt = $STATTXT | ||
PL '23' | PL '23' | ||
NL '456' | NL '456' | ||
+ | '78' | ||
</sxh> | </sxh> | ||
- | После выполнения кода в дополнительное окно описания будет выведено: | + | После выполнения кода в **Окно дополнительного описания** будет выведено: |
- | <sxh qsp> | + | |
+ | <sxh> | ||
123 | 123 | ||
- | 456 | + | 45678 |
</sxh> | </sxh> | ||
- | Содержание //$txt// будет равносильно коду: | + | |
+ | Можно выводить не только строки, но и числа, и значения переменных, функций и результаты вычисления выражений: | ||
<sxh qsp> | <sxh qsp> | ||
- | $txt = '1' | + | p 'I ♥ QSP!' |
+ | pl 256 / 12 * 9 | ||
+ | pl 137 + (2 * 9) | ||
+ | p $curloc | ||
+ | nl rand(999) | ||
+ | x = 15 & ! присваиваем значение переменной | ||
+ | nl x | ||
</sxh> | </sxh> | ||
- | ---- | + | [[help:msgbox|Вперёд: Окно сообщений]] |
- | [[help:msgbox|Вперёд: Диалоговое окно]] | + |