Здесь показаны различия между двумя версиями данной страницы.
| Both sides previous revision Предыдущая версия Следущая версия | Предыдущая версия | ||
|
help:stat [2013/11/07 15:36] 127.0.0.1 внешнее изменение |
help:stat [2025/09/27 07:46] (текущий) aleks_versus [Команды для очистки Окна дополнительного описания] |
||
|---|---|---|---|
| Строка 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|Вперёд: Диалоговое окно]] | + | |