RU

Проблема с диалогами (qsp 5.0, qvestNavigator)

bkz #1397 25.08.2015 20:37 9 comments 5572 views

Итак господа хорошие, в особенности те кто приложил руку к появлению на свет столь отличных редакторов и плееров семейства qsp вопрос в следующем:

Есть у нас такой примитивный код.

Spoiler
act 'Осмотреть деревья':
'Вон та сосна должна подойти, забраться на неё будет не сложно.'
delact $selact
   act'Осмотреть окресности':
   msg 'Я оказался прав, в нескольких километрах впереди рельеф понижается и видно какие-то каменные                 сооружения,   выступающие над кронами деревьев. Нужно сообщить об этом Лирою.'
   'Рыцарь с энтузиазмом воспринял мою весть. '
   delact $selact
	act ' Двигаться к развалинам':
	'<img src="content/img/face/leroi.png" width="32" height="32">''И как это я сам не додумался залезть на дерево, - воскликнул он - хотя в мои годы по деревьям уже не полазаешь.'
	'Мы двинулись в указанном мной направлении. Лирой оказался прекрасным собеседником, на мои вопросы о Святой земле, где я никогда не был, он отвечал с удовольствием, ярко и с подробностями. Сразу видно, что он очень любит свою родину.
	'Прошло несколько часов пути, солнце почти село за горизонт, гробница уже должна была показаться, но вокруг был только лес в своей первозданной красоте, ни одного намека на присутствие человека. Лирой, самозабвенно рассказывающий о порядках в армии, вдруг замолчал и остановился'
	delact $selact
	                act 'Что случилось ?':
			*clr
			'<center><img src="content/img/loc/forest.jpg" width="700" height="360"></center>'
			'<img src="content/img/face/leroi.png" width="32" height="32">''Не чувствуешь? Дымом пахнет.'
			'Лирой пригнулся и потянул меня за собой'
			'<img src="content/img/face/leroi.png" width="32" height="32">''Тянет откуда-то оттуда, - паладин указал вперед - иди сходи, проверь.'
			delact $selact
			                act 'Почему я?':
					'<img src="content/img/face/gg.png" width="32" height="32">''<<$selact>>'
					'<img src="content/img/face/leroi.png width="32" height="32>"''У меня доспехи гремят, могут услышать, а ты вроде малый не робкого десятка, да и одежда у тебя соответствующая, темная. '
					'<img src="content/img/face/gg.png width="32" height="32>''Но я никогда еще не ходил на разведку.'
					'Лирой улыбнулся и похлопал меня по плечу, отчего мое плечо тут же заныло.'
					'<img src="content/img/face/leroi.png width="32" height="32>''- Не бойся, я прикрою, если что.'
'Ну что же, если по другому никак, то для начала нужно применить заклинание тишины на себя. Думаю, что так будет безопаснее, жаль нет заклинания невидимости, по крайней мере я его не знаю, а смотреть в книгу нет времени.'
					delact $selact
					end
				end
			end
		end
	end
end

Казалось бы чего проще диолог должен себе спокойно срабатывать и проносить радость людям, однако ж по факту мы получаем вот такую Фантасмагория:

Spoiler

Притом так крашаться все диолги хотя все работали отлично. И тупит каждый диолог там, где его душе угодно, как будто интерпретатор устает обрабатывать код. Возможно это из за подвисания qgen , а может кто то мне объяснит метод лечения данной гэбнии ????

p.s Форум вставил код через одно место немного его исказив, извините, но принцип кода понять надеюсь можно.

Разрабатывается все посредством qgen 4.0 beta 1:

Вот второй пример таких песен:

Spoiler
wait 2000
'<img src="content/img/face/leroi.png" width="32" height="32">''Меня зовут Лирой, я рыцарь Святой Земли, спасибо тебе путник, если бы не ты, быть бы мне мертвым. '
	act 'Не стоит, это долг каждого путешественника, помогать попавшему в беду. Меня зовут Элдрик.':
		'<img src="content/img/face/gg.png" width="32" height="32">''<<$selact>>'
		'<img src="content/img/face/leroi.png" width="32" height="32">''Да, но не каждый путешественник рискнет своей жизнью глядя на целую армию мертвецов.Как ты сумел остановить мертвецов, уж не некромант ли ты?'
		delact $selact
		act 'Подожди, не горячись, некромантов давно уже нет, а я всего лишь продавец книг.':
			'<img src="content/img/face/gg.png" width="32" height="32">''<<$selact>>'
			'<img src="content/img/face/leroi.png" width="32" height="32">''Продавец книг?! И что ты забыл в этой глуши? .'
			delact $selact
			act 'Я случайно попал сюда, какая-то магическая аномалия, я шел себе по тракту и раз, оказался здесь.':
				'<img src="content/img/face/gg.png" width="32" height="32">''<<$selact>>'
				'<img src="content/img/face/leroi.png" width="32" height="32">''И как же ты уничтожил скелетов?'
				delact $selact
				act 'Кроме того, что я продавец книг, я еще и переводчик, знаю язык некромантов и знаю, как уничтожить их, эти скелеты были созданы на скорую руку и поэтому их может упокоить любой человек, знающий хоть немного язык мертвых':
					'<img src="content/img/face/gg.png" width="32" height="32">''<<$selact>>'
					'Рыцарь отодвинулся, убрав кинжал в ножны за поясом, и пристально посмотрел на меня. Вдруг он улыбнулся и протянул мне руку.'
					'<img src="content/img/face/leroi.png" width="32" height="32">''Я верю тебе. Я брожу по этому лесу уже несколько дней, сил уже совсем не осталось, прости меня за мою недоверчивость.'
					'Я пожал ему руку.'
					delact $selact
					act 'Как ты здесь оказался?!':
						*clr
						'<img src="content/img/face/gg.png" width="32" height="32">''<<$selact>>'
						'<img src="content/img/face/leroi.png" width="32" height="32">''Я ищу гробницу Ниерим, но, как видишь, безрезультатно. Она должна быть где-то здесь. Еще в городе у меня украли все карты, поэтому я немного заплутал...Лирой вдруг запнулся и взглянул на меня.'
						'<img src="content/img/face/leroi.png" width="32"''Ты ведь продавец книг, грамоте обучен значит, в картах разбираешься? Если ты мне поможешь найти дорогу, наше братство сможет тебя наградить.'
						delact $selact
						act 'Помогу, но не за плату, а за твои знания.':
							'<img src="content/img/face/gg.png" width="32" height="32">''- <<$selact>>'
							'Лирой удивленно посмотрел на меня.'
							'<img src="content/img/face/leroi.png" width="32" height="32">''- Первый раз вижу человека отказывающегося от золота'
							delact $selact
								act 'Бывает, что стишок, написанный на листе, стоит в сотни раз дороже самого листа.':
									'<img src="content/img/face/gg.png" width="32" height="32">''<<$selact>>'
									'<img src="content/img/face/leroi.png" width="32" height="32">''Ну, я не поэт конечно, но про свою родину могу много что рассказать, устраивает тебя такая плата?'
									delact $selact
									act'Устроит.':
									'<img src="content/img/face/gg.png" width="32" height="32">''<<$selact>>'
									delact $selact
									'Мы пожали друг другу руки. Лирой отправился поднимать своё железное чудовище, не забыть бы спросить, сколько весит эта булава, а я стал размышлять.
									Итак, эти скелеты должны быть как раз из гробницы, и, судя по "Языку мертвых", который я прочитал от корки до корки, они не должны далеко уходить от места своего создания. Скорее всего гробница недалеко. Нужно посмотреть карты.'
										act 'Заглянуть в походную библиотеку':
										знакомство = 1
										gt 'library'
										end	
									end
								end	
							end		
						end			
					end					
				end
			end
		end
	end
end

Вот тут все еще нормально:

Spoiler
act 'Как ты здесь оказался?!':
		*clr
		'<img src="content/img/face/gg.png" width="32" height="32">''<<$selact>>'
		'<img src="content/img/face/leroi.png" width="32" height="32">''Я ищу гробницу Ниерим, но, как видишь, безрезультатно. Она должна быть где-то здесь. Еще в городе у меня украли все карты, поэтому я немного заплутал...Лирой вдруг запнулся и взглянул на меня.'
		'<img src="content/img/face/leroi.png" width="32"''Ты ведь продавец книг, грамоте обучен значит, в картах разбираешься? Если ты мне поможешь найти дорогу, наше братство сможет тебя наградить.'
		delact $selact

А вот тут qsp код начинает не нравиться

Spoiler
act 'Помогу, но не за плату, а за твои знания.':
		'<img src="content/img/face/gg.png" width="32" height="32">''- <<$selact>>'
		'Лирой удивленно посмотрел на меня.'
		'<img src="content/img/face/leroi.png" width="32" height="32">''- Первый раз вижу человека отказывающегося от золота'
		delact $selact

И получается вот такой убогий результат:

Spoiler

Собственно по картинке видно, что вместо изображения главного героя, как написано в коде вдруг начало вставляться изображение спутника, при этом предыдущая фраза спутника вообще потерялась…

Какие у кого мысли по поводу этого идиотизма ?

Edited at 26.08.2015 04:23 (10 years ago)

Хоть я и не

bkz:

приложил руку к появлению на свет столь отличных редакторов и плееров семейства qsp

но позволю себе ответить.
Весь ваш пост - сплошной epic fail.

bkz:

при этом предыдущая фраза спутника вообще потерялась…

'<img src="content/img/face/leroi.png" width="32"''Ты ведь продавец книг, грамоте обучен значит, в картах разбираешься? Если ты мне поможешь найти дорогу, наше братство сможет тебя наградить.'

А как вы хотели? У тега <img> нет закрывающей >.

'<img src="content/img/face/leroi.png width="32" height="32>"''У меня доспехи гремят, могут услышать, а ты вроде малый не робкого десятка, да и одежда у тебя соответствующая, темная. ' 
                    '<img src="content/img/face/gg.png width="32" height="32>''Но я никогда еще не ходил на разведку.' 
                    'Лирой улыбнулся и похлопал меня по плечу, отчего мое плечо тут же заныло.' 
                    '<img src="content/img/face/leroi.png width="32" height="32>''- Не бойся, я прикрою, если что.'

Путь к файлам изображений взят в кавычки только в начале, кавычки не закрыты. height=“32 - так тоже не пишут. Закрывайте кавычки!!! Удивительно, что браузер у вас вообще хоть что-то рисует.

Надо просто быть аккуратнее и тогда не будет жалоб

bkz:

И тупит каждый диолог там, где его душе угодно, как будто интерпретатор устает обрабатывать код. Возможно это из за подвисания qgen

Легче всего пенять на интерпретатор, на себя пенять тяжелее. И подвисает тут что-то другое, но не QGen.

bkz:

Какие у кого мысли по поводу этого идиотизма ?

Вы подобрали верное слово :)
PS Диоалог

evp,
Спасибо, конечно за указание на грамматические ошибки. Когда устаю таких эпиков у меня бывает порядком.

По поводу > действительно эта ошибка правильная.

А вот по поводу этого
‘<img src=“content/img/face/leroi.png width=“32” height=“32>”’ в коде стоит так ‘<img src=“content/img/face/leroi.png width=“32” height=“32”>’ видимо пока здесь пытался подправить код, что бы он хоть как то читабельно выглядел начудил, но проблемы в общем не решает.

но позволю себе ответить.

Хорошо, что тут есть кому отвечать кроме них. Спасибо за помощь…

Легче всего пенять на интерпретатор, на себя пенять тяжелее. И подвисает тут что-то другое, но не QGen.

Не отрицаю вот только вся эта фантасмагория началась внезапно после большого провисания qgen-а и коды этих диалогов, как и много другое я не трогал вообще ни как. Конечно пост весьма эмоционален любому будет не приятно, когда надо возвращаться к уже выполненной работе снова по непонятным причинам.

bkz:

но проблемы в общем не решает

Вы действительно не видите разницы между

src="content/img/face/leroi.png

и

src="content/img/face/leroi.png"

Закройте все кавычки!!!

Кстати, если теги повторяются, например как с этой картинкой, то имеет смысл вынести её хотя бы в переменную:

! В начале игры.
$leroi_pic = '<img src="content/img/face/leroi.png" width="32">'

! В любом месте, где нужно вывести картинку.
$leroi_pic + 'У меня доспехи гремят, могут услышать, а ты вроде малый не робкого десятка, да и одежда у тебя соответствующая, темная. '

Это сократит код, упростит, улучшит читаемость и заодно избавит от опечаток.

Кстати, если теги повторяются, например как с этой картинкой, то имеет смысл вынести её хотя бы в переменную:

Спасибо сам не догадался. Идея отличная.

Nex, evp в чем здесь проблема.
НА первой локации прописал:

Spoiler
!Задаем переменные картинкам героев.
$gg_pic = '<img src="content/img/face/gg.png" width="32" height="32">'
$leroi_pic = '<img src="content/img/face/leroi.png" width="32" height="32">' 
$erika_pic = '<img scr="content/img/face/erika.png" width="32" height="32">'

Но в диалоге:

Spoiler
'Лирой появился внезапно, только что это было пустое место, а секунду спустя здесь, пригнувшись, стоит рыцарь. И зачем он посылал меня, мог бы сам все сделать, старый черт. Рыцарь подкрался к девушке, по пути вытащив свой кинжал. Остановившись в шаге от неё, он оглушительно свистнул. Девушка дернулась и открыла глаза.'
$leroi_pic + 'Не дури - Лирой погрозил её кинжалом, увидев, как она подняла руку, - магию ты не успеешь применить. Элдрик, свяжи ей руки за спиной.'
'Я связал ей руки и рыцарь заставил её сесть поближе к костру, что бы видеть её лицо.'
$leroi_pic + 'Проверь её сумку - добавил он, удостоверившись, что девушка не выкинет что-нибудь еще.'
wait 2000
act 'Подойти к сумке девушки':
	'Но подойти к сумке я не успел, девушка дернулась вперед и произнесла короткое слово "flamme", отчего сумка мгновенно вспыхнула ярким пламенем. Огонь стал быстро пожирать сумку и её содержимое. Лирой только усмехнулся и покачал головой.'
	delact $selact
	$leroi_pic + 'Ну что ж, видать, непростая сумка то была, - он повернулся к девушке - как звать тебя, красавица?'
	'Девушка взглянула исподлобья на рыцаря. Я думал, что она не будет отвечать, промолчит, но...'
	wait 1000
	$erika_pic + 'Меня зовут Эрика, Лирой'
	'Рыцарь удивленно посмотрел на неё.'
	$erika_pic + 'Не пялься так, неужели ты думал, что та толпа скелетов напала на тебя исключительно только из-за твоего невезения, - Эрика наклонилась вперед - да я весь день потратила, чтобы только собрать всю эту мертвечину по окрестностям, но ты выжил вопреки всему. Или может это он тебе помог, ты еще кто такой?'
	'Она повернулась ко мне. '
	act 'Я...Я Элдрик':
		$erika_pic + 'Элдрик, какой Элдрик, какой-нибудь маг недоучка?'
		$leroi_pic + 'Не отвечай ей - сказал Лирой - Эрика, это ты украла у меня карту?'
		$erika_pic + 'Старый дурак, эту гробницу пытались открыть столько магов, что я сосчитать не могу, и когда ты носился по всяким шарлатанам, пытаясь расшифровать карту, за тобой уже следила целая толпа народу, я просто была первой, кто додумался нанять профессионала, тебе еще повезло, что он не был ассасином.'
		'Эрика рассмеялась.'
		$erika_pic + 'Но теперь все, нет карты, сгорела, теперь не открыть гробницу никому во веки веков'
		delact $selact
		act 'Я знаю язык некромантов, мы сможем открыть гробницу.':
			delact $selact
			$erika_pic + 'Ты?! - Эрика снова рассмеялась - да что ты знаешь, маг недоучка.'
			$leroi_pic + 'Хватит! - сказал Лирой - теперь мне все ясно. Завтра нам всем предстоит тяжелый день, я посторожу её первое время, Элдрик, а ты ложись спать, потом сменишь меня.'
			'Дельная мысль, невзирая на события этого вечера, заставившие меня сильно понервничать и от которых я думал, что вот теперь всю ночь не засну, глаза закрывались сами собой и страшно хотелось спать. Я расстелил свой плащ рядом с костром и улегся на него.'
			отрывок = 1
			act 'Посмотреть походную библиотеку':
				gt'library'
			end
			act 'Уснуть':
				gt'valley'
			end
		end
	end
end

Почему то не происходит буферизации картинки:

bkz,
опечатка

$erika_pic = '<img scr...

надо

$erika_pic = '<img srс...

:rolleyes: :rolleyes: :rolleyes: :rolleyes:
Спасибо понял.
scr - src

Уже интеренсо поиграть :)

Log in or Register to post comments.