RU 📌 Pinned

Как сделать?

Dark[Ol(U23)leneri] #34 18.04.2010 22:57 6408 comments 2435244 views

Aleks Versus Moderator 09.12.2014 07:18 (11 years ago)

RealCrazyMan:

Ах да, и еще одно. Как можно по-человечески сделать в текстовой переменной переход на новую строку?

Если включено распознавание html, я пользуюсь тегом **:

$Text = 'Вас зовут Незнайка<br>'

Aleks Versus,
О, просто и неожиданно. Хотя отдельная переменная в некоторых случаях удобнее ибо не захламляет описание(или если не включен режим HTML), но этот вариант тоже стоит внимания! Спасибо!

Еще вопрос, в QSP реализованы HTML-стили?
Ну к примеру определить на старте шрифт и цвет текста для героя и непися, а позже, дабы не форматировать все диалоги заново, юзать в форме

<style = "HERO"></style>.

Upd. Можно ли сделать так, чтобы скролл в игре прокручивался в самый низ после перехода на $CURLOC? Просто если добавляется много текста, то постоянно приходится прокручивать вниз. Это не критично, но неудобно для игрока.

Aleks Versus Moderator 10.12.2014 11:29 (11 years ago)

RealCrazyMan,
в “классическом” плеере не поддерживается <style></style>. Это указано в справке.
Но есть переменные настройки интерфейса: http://wiki.qsp.su/help:fonts

Aleks Versus Moderator 10.12.2014 11:40 (11 years ago)

Прошу прощения, с первого раза не уловил задачу. Нужно стилизовать разные блоки текста…
Есть такое решение. Помещаешь рабочие теги в переменные, потом просто плюсуешь переменные к блокам текста. Типа:

! открывающие теги для форматирования реплик героя:
$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, то при добавлении текста в обычное окно описания скроллится в конец нормально. Но у меня весь текст запиливается динамически в таблицу, а вот она, к сожалению, не скроллится. Есть решение?

Aleks Versus Moderator 10.12.2014 13:33 (11 years ago)

RealCrazyMan,
не задумывался над этим. Но ведь ты делаешь вывод таблицы с помощью *pl *p или *nl. Попробуй после вывода таблицы добавить вывод пустой строки отдельным оператором. Мне не на чем проверить, но кажется должно работать.

Aleks Versus,
Дельный совет, но вот его поведение в моей игре какое-то странное.
На пустой локации, где есть только макет таблицы и он не меняется - работает.
А вот уже в заполненной, куда динамически добавляется текст при помощи действий - нет. Строка в нужный момент выводится под таблицей, но окно в конец не прокручивается. Может это как-то связано с поведением GOTO $CURLOC…?

Aleks Versus Moderator 10.12.2014 14:36 (11 years ago)

RealCrazyMan,
может быть связано с наполнением строки. А вставь в строку какой-нибудь тег пустой. Типа

*pl '<b></b>'

Aleks Versus,
Нет, увы. Если интересно, то код у меня похожий на этот(17 сообщение).

Aleks Versus Moderator 10.12.2014 15:51 (11 years ago)

RealCrazyMan,
да, ты прав. Это связано с переходом на новую локацию. Есть костыль.
Перед пустой строкой ставишь оператор задержки wait на 1 миллисекунду.

*pl '<table>....</table>'
wait 1
*pl '&nbsp;'

Однако когда игрок переходит на новую локацию, будет утомительно прокручивать описание вверх. Придётся вводить проверку последней посещённой локации.

Aleks Versus,
У меня текст каждой локации свой и таблица очищается каждый раз после выхода из локи. Только в квестах и определенных действиях описание по частям добавляется в таблицу, а после завершения разговора тоже чистится.
За подсказку спасибо, будем пробовать.

Да, работает, отлично!
Но вот проблема вылезла: после таблицы какой-то очень большой пробел между тестовой строчкой(которая скроллит текст) и таблицей. Не меньше пяти строчек текста. Что за беда?

UPD. Странно, между двумя созданными таблицами в новом проекте такой же зазор в пять строчек. Не понимаю, как так.

UPD. Ой-ой, во я дурак. Погнавшись за удобочитаемостью кода, не заметил как, перенося строки в таблице, нагородил пробелов.

Aleks Versus Moderator 10.12.2014 18:50 (11 years ago)

RealCrazyMan,
да таблицу следует писать в одну строчку.

Так как сделать, чтобы с предметами, на которых поставлена гиф-картинка, можно было взаимодействовать?

Log in or Register to post comments.