Как сделать?
…
RealCrazyMan:
Ах да, и еще одно. Как можно по-человечески сделать в текстовой переменной переход на новую строку?
Если включено распознавание html, я пользуюсь тегом **:
$Text = 'Вас зовут Незнайка<br>'
Aleks Versus,
О, просто и неожиданно. Хотя отдельная переменная в некоторых случаях удобнее ибо не захламляет описание(или если не включен режим HTML), но этот вариант тоже стоит внимания! Спасибо!
Еще вопрос, в QSP реализованы HTML-стили?
Ну к примеру определить на старте шрифт и цвет текста для героя и непися, а позже, дабы не форматировать все диалоги заново, юзать в форме
<style = "HERO"></style>.
Upd. Можно ли сделать так, чтобы скролл в игре прокручивался в самый низ после перехода на $CURLOC? Просто если добавляется много текста, то постоянно приходится прокручивать вниз. Это не критично, но неудобно для игрока.
RealCrazyMan,
в “классическом” плеере не поддерживается <style></style>. Это указано в справке.
Но есть переменные настройки интерфейса: http://wiki.qsp.su/help:fonts
Прошу прощения, с первого раза не уловил задачу. Нужно стилизовать разные блоки текста…
Есть такое решение. Помещаешь рабочие теги в переменные, потом просто плюсуешь переменные к блокам текста. Типа:
! открывающие теги для форматирования реплик героя:
$sho='<font color="blue"><b><i>'
! закрывающие теги для форматирования реплик героя:
$shc='</i></b></font>'
! открывающие теги для форматирования реплик неписи:
$sno='<font color="red"><tt>'
! закрывающие теги для форматирования реплик неписи:
$snc='</tt></font>'
! выводим реплики:
$sho + 'Реплика героя' + $shc
$sno + 'Реплика неписи' + $snc
!...
Aleks Versus,
Вот она, мощь переменных :D
Спасибо. Я обновил свой предыдущий пост, однако проблему неправильно описал:
Если DisableScroll = 0, то при добавлении текста в обычное окно описания скроллится в конец нормально. Но у меня весь текст запиливается динамически в таблицу, а вот она, к сожалению, не скроллится. Есть решение?
RealCrazyMan,
не задумывался над этим. Но ведь ты делаешь вывод таблицы с помощью *pl *p или *nl. Попробуй после вывода таблицы добавить вывод пустой строки отдельным оператором. Мне не на чем проверить, но кажется должно работать.
Aleks Versus,
Дельный совет, но вот его поведение в моей игре какое-то странное.
На пустой локации, где есть только макет таблицы и он не меняется - работает.
А вот уже в заполненной, куда динамически добавляется текст при помощи действий - нет. Строка в нужный момент выводится под таблицей, но окно в конец не прокручивается. Может это как-то связано с поведением GOTO $CURLOC…?
RealCrazyMan,
может быть связано с наполнением строки. А вставь в строку какой-нибудь тег пустой. Типа
*pl '<b></b>'
Aleks Versus,
Нет, увы. Если интересно, то код у меня похожий на этот(17 сообщение).
RealCrazyMan,
да, ты прав. Это связано с переходом на новую локацию. Есть костыль.
Перед пустой строкой ставишь оператор задержки wait на 1 миллисекунду.
*pl '<table>....</table>'
wait 1
*pl ' '
Однако когда игрок переходит на новую локацию, будет утомительно прокручивать описание вверх. Придётся вводить проверку последней посещённой локации.
Aleks Versus,
У меня текст каждой локации свой и таблица очищается каждый раз после выхода из локи. Только в квестах и определенных действиях описание по частям добавляется в таблицу, а после завершения разговора тоже чистится.
За подсказку спасибо, будем пробовать.
Да, работает, отлично!
Но вот проблема вылезла: после таблицы какой-то очень большой пробел между тестовой строчкой(которая скроллит текст) и таблицей. Не меньше пяти строчек текста. Что за беда?
UPD. Странно, между двумя созданными таблицами в новом проекте такой же зазор в пять строчек. Не понимаю, как так.
UPD. Ой-ой, во я дурак. Погнавшись за удобочитаемостью кода, не заметил как, перенося строки в таблице, нагородил пробелов.
RealCrazyMan,
да таблицу следует писать в одну строчку.
Так как сделать, чтобы с предметами, на которых поставлена гиф-картинка, можно было взаимодействовать?