RU

Quest Navigator для Windows

Nex Moderator 07.07.2013 15:47 325 comments 224062 views

Плеер “Quest Navigator” для Windows находится в стадии активной разработки.

Ссылка на скачивание самой свежей версии: http://appcast.text-games.ru/quest-navigator-latest

Утилита для логирования ошибок и консольного вывода Javascript: LogApp.exe

Документация: Quest Navigator

Исходный код: http://github.com/Nex-Otaku/quest-navigator-awesomium

Edited at 01.04.2017 09:00 (8 years ago)

Nex,
вот тут такое дело:

n += 1
if n < 1880:
	*nl n
	wait 0
	gt $CURLOC
else
	*nl n
	n=0
end

Навигатор не доживает до 1880, вылетает с ошибкой около 1870 цикла. Зависит или от локации или от тела цикла. На более сложных локациях и имея в теле цикла около 200 строк кода, не доживает до 1400 циклов. Если убрать wait, то дохнет спустя доли секунды и узнать номер цикла не представляется возможным живет 1864 цикла, на 1865 дохнет.

Разумеется, в классике таких проблем нет.

Nex:

ZoloX,
для вызова Javascript следует использовать оператор EXEC, с префиксом “JS:”.

EXEC('JS:document.body.style.backgroundImage = "url(pic/background/house.png)";')

А как это правильно делать, если у меня многострочный js-код, например, проверка или функция?

ennead,
функции и сложный код выносится в отдельный JS-файл. Далее через EXEC просто вызывается при необходимости.

Nex:

ennead,
функции и сложный код выносится в отдельный JS-файл. Далее через EXEC просто вызывается при необходимости.

А как вызвать этот JS файл и передать параметры в ту функцию, которая в нём находится?

JS-файл указывается в файле “gameAwesomium.html”.

Передача параметров:

$текст = 'Строка текста'
число = 12345
EXEC('JS:myLittleBeautifulFunction(<<$текст>>, <<число>>);')

Спасибо, за Навигатор, но сразу несколько предложений и вопросов.

1. Желательно бы иметь “скин для разработчика”, без всяких рамочек, фонов и прочего. Вычищать дефолтный для своего дизайна тяжело.
2. Нельзя ли все @media под мобильные экраны вынести в отдельный css. Проблемы те-же, что и для п.1 и вызывают много путаницы.

3. Вопрос про “прибитию acts к низу уже поднимался, но не было нормального ответа. Т.к. из-за неопределенных размеров #qsp-main и #qsp-acts нет возможности сделать все на css, пытаемся использовать jq.

В теории, все просто. Грубо говоря:

var currentHeight = ($("#qsp-main").height()) + ($("#qsp-acts").height());
var maxHeight = $("#skin-wrapper-main-outer").height(); 
if(currentHeight < maxHeight){
	$("#qsp-main").height($(maxHeight - $("#qsp-acts").height());
}

но, т.к. $(document).ready срабатывает до qspSetActsContent() и qspSetMainContent(), то высоту qsp-main и qsp-acts получаем нулевую.
Предусмотрен ли вариант для пользовательских функций после полной отрисовки контента?

4. Как выводиться текст в “Основное окно описания”. Ни *PL’’, ни *P’’ судя по всему тегами не оборачиваются, хотелось бы по-умолчанию обертывать хотябы в <p></p> для дальнейшего оформления в стилях.

Пункты 1 и 2 - я одобряю. Действительно, будет хорошо, если кто-нибудь сделает такой шаблон.

Пункт 3 предусмотрен, и решается вёрсткой в HTML-файле. Для “самостоятельного” блока действий, нужно вынести его из общего блока и назначить ему скроллер. Яваскрипт для этого не требуется.

Пункт 4 - текст действительно “не оборачивается в теги”. Перевод строки заменяется на
. Возможно, в будущем будет специальный режим для автоматического обёртывания тегами. Пока что такой возможности нет.

Nex:

Пункт 3 предусмотрен, и решается вёрсткой в HTML-файле. Для “самостоятельного” блока действий, нужно вынести его из общего блока и назначить ему скроллер. Яваскрипт для этого не требуется.

Проблема только в том, что тогда он всегда будет прибит. Вне зависимости от количества строк в полях, а если высота экрана маленькая и текста и действий очень много? Ограничение высоты -acts и скроллер совсем не комильфо, а если действий очень много, то и действия будут занимать пол-экрана.

Хотелось “прибить” как footer на страницах, только когда текста мало, чтобы действия не скакали по высоте. Как вариант ставить задержку перед выравниванием, но это совсем дикие костыли. Хотелось бы, более валидным методом и вызов пользовательских функций после выполнения всех “системных”, вполне подходит.

Nex:

Пункт 4 - текст действительно “не оборачивается в теги”. Перевод строки заменяется на
. Возможно, в будущем будет специальный режим для автоматического обёртывания тегами. Пока что такой возможности нет.

Для новых проектов не критично, ибо всегда можно сделать *p’<p>…</p>’, а вот старые, с большим количеством текста переводить уже не особо.
Хотелось бы видеть вывод построчно в js как для действий или инветаря, тогда, кому надо, сможет сам обернуть в нужные теги.
Но абсолютно не критично. Можно забить (:

PS Чуть не забыл. Обязательно необходимо убрать &gt перед действиями из js в дефолтном скине. Так как такое оформление делается в css

Кто-нить смог сделать рабочую “standalone” игру под QN? :/

CoSinyS:

Кто-нить смог сделать рабочую “standalone” игру под QN? :/

Я делаю такую, ничего сложного там нет. Просто прочитай wiki про навигатор.

Mxat2008, почитал, и у меня всё равно не получилось сделать так, что бы окно дополнительного описания находилось не выше основного окна описания…
там столько ужаса с этими стилями… особенно из-за этой мультиплатформы…

CoSinyS, так это нужно в шаблоне gameAwesomium.html и в файле стилей css настраивать. Но вроде это там и так, по умолчанию стоит. Единственное отличие в шаблоне 27 версии, что я помню, это не зафиксированный блок актов.

Mxat2008,
gameAwesomium.html я и правда ещё не открывал, сразу в стили полез, попробую там посмотреть, может там попроще слова для меня будут)

QNavigator ругается на строку

SAVEGAME 'save\autosave.sav'

как поправить?

В нем нет оператора SAVEGAME

Log in or Register to post comments.