RU 📌 Pinned

Как сделать?

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

Вот в этом коде получается можно не ставить end, если он стоит сразу за двоеточием? Т.е это что же, я могу экономить время?

Можно писать в одну строку без END, можно в несколько строк с END. Лучше всё же писать в несколько строк, так нагляднее и меньше будет багов. Половина багов от новичков, когда они сами запутываются, какую из форм использовать - многострочную или однострочную. Поэтому лучше выбрать раз и навсегда многострочную и не путаться.

И почему после gt идет сразу две локации? Это как понимать в таком случае? При нажатии на “отойти” он вызывает сразу 2 локации? И почему перед ними доллар? Прошу ответьте с разъяснительным ответом, более менее понятным пожалуйста.

Доллар ставится в начале имени переменной. В этом переходе указывается две переменных, в первой имя локации $loc, во второй параметр $metka, который будет передан в эту локацию. В зависимости от того, какие параметры передаются в локацию, на ней будет выполняться различный код.

Вот пример:

$metka = 'спросил_про_татуировку'
$loc = 'Красотка'

GT $loc, $metka

Будет вызвана локация “Красотка” с параметром “спросил_про_татуировку”.
Всё равно, что если мы напишем такой код:

GT 'Красотка', 'спросил_про_татуировку'

я не читал справку по Qsp

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

Учебник по QSP для редактора QGen

Можно увидеть, хоть где нибудь, простенький пример использования тегов <map> и соответственно <area>.
А то по справке написано что QSP их поддерживает, а примеров использования я не нашел.
Попробовал сам, но вот у меня никак не получается, пишет ошибку синтаксиса.
И что я упустил не понимаю. Вот мой код, что там не так?

<map name = "clunchmap">
	 <area shape = 'rect' coords = "647,501,712,542" href = "exec:minut +=15 & GT ''motel'',''start''">
	 <area shape = 'rect' coords = "647,563,721,604" href = "exec:minut +=15 & GT ''gas_station'', ''start''">
	 <area shape = 'rect' coords = "638,216,673,280" href = "exec:minut +=15 & GT ''bar'', ''start''">
	 <area shape = 'rect' coords = "567,453,634,492" href = "exec:minut +=15 & GT ''shop'', ''start''">
	 <area shape = 'rect' coords = "548,370,614,434" href = "exec:minut +=15 & GT ''police'', ''start''">
</map>
'<center><img src="images/location/Clunch.jpg" usemap="#clunchmap"></center><br>'
Aleks Versus Moderator 25.02.2017 14:08 (9 years ago)

Lamer,
думаю, тебе поможет вот эта тема: HTML-теги map и area.

Хочу сделать кнопку “Назад” которая возвращала на последнюю посещенную локацию. Подскажите код.

Aleks Versus Moderator 26.02.2017 07:47 (9 years ago)

NaViGaToR,
создаём локацию, которая будет отвечать за выполнение кода, когда посещаешь другую локацию. Название может быть любым, например зашёлНаЛокацию. И пишем на ней следующее:

!зашёлНаЛокацию

! возвращаем предыдущую посещённую:
$back = $now
! запоминаем теперешнюю,
! чтобы в следующий раз вернуть её,
! как предыдущую:
$now = $curloc

Теперь нужно дать понять игре, что именно код на этой локации надо выполнять всякий раз, когда посещаешь другие, для этого в самом начале игры пишем:

$onnewloc = 'зашёлНаЛокацию'

Ну и остаётся только создать действие в нужном месте:

act 'Назад':
   goto $back
end

Если хочешь сделать возможность пролистывать локации в обратном порядке как страницы:

Spoiler
! зашёлНаЛокацию
if $args[0]='':
! если мы посещаем новую локацию
	! записываем последнюю посещённую локацию
	! новую ячейку массива
	$back[]=$curloc
elseif $args[0]='back':
! если мы возвращаемся на предыдущую
	! удаляем последнюю ячейку массива
	killvar '$back',arrsize('$back')-1
end

Действие возврата теперь выглядит так:

act 'Назад':
	goto $back[arrsize('$back')-2],'back'
end

Aleks Versus,
Спасибо, теперь проще будет игру делать.

Aleks Versus:

Lamer,
думаю, тебе поможет вот эта тема: HTML-теги map и area.

Спасибо за ссылку. Но …
Не помогло.
У меня в игре картинку не выводит вообще, пишет что “код ошибки 119, Неизвестное действие”
И какое действие в моем коде не известно?

Я потому и просил дать пример реально работающего кода, а не чье то представление тут, о том как это должно работать в QSP.
Есть хоть она игра где реализован такой механизм? Ссылочку на игру можете дать? Сам покручу, посмотрю.
Возможность заявлена, во всех справках по QSP эти тэги упоминаются.
Но не встречал ни одного примера, реально работающей игры на QSP, где бы это использовалось!
При этом достаточно много игр, в которых перемещение по локациям происходит, непосредственно по нажатию на определенные зоны изображения. Либо по городу гуляем, либо в комнате можем по картинке щелкнуть и пойти спать, выйти из комнаты, сесть за стол и т.д. и т.п.
Всё это есть, таких игр не мало, но всё это не на QSP, хотя такая возможность для QSP заявлена!

Aleks Versus Moderator 26.02.2017 13:02 (8 years ago)

Lamer:

У меня в игре картинку не выводит вообще, пишет что “код ошибки 119, Неизвестное действие”

ну так вопрос не в работе тегов значит, а в том, что ты не можешь, для начала, вывести картинку.
Если кусочек кода который ты привёл точно скопирован из твоей игры, то в нём несомненно ошибки:

*p '<map name = "clunchmap">'
     *p '<area shape="rect" coords = "647,501,712,542" href = "exec:minut +=15 & GT ''motel'',''start''">'
     *p '<area shape="rect" coords = "647,563,721,604" href = "exec:minut +=15 & GT ''gas_station'', ''start''">'
     *p '<area shape="rect" coords = "638,216,673,280" href = "exec:minut +=15 & GT ''bar'', ''start''">'
     *p '<area shape="rect" coords = "567,453,634,492" href = "exec:minut +=15 & GT ''shop'', ''start''">'
     *p '<area shape="rect" coords = "548,370,614,434" href = "exec:minut +=15 & GT ''police'', ''start''">'
*p '</map>'
'<center><img src="images/location/Clunch.jpg" usemap="#clunchmap"></center><br>'

И всё работает. Проверено.

Так что нет тут ничего хитрого.

Spoiler

UPD: А в теме той, кстати, есть примеры рабочего кода, рассмотрев которые внимательно, можно было увидеть свою ошибку.

*pl '<map id="CityMap" name="CityMap"> 
        <area shape="rect" coords="0,0,100,100" href="exec:gt ''Flat''" alt="Моя квартира"> 
        <area shape="rect" coords="100,100,200,200" href="exec:gt ''Shop''" alt="Магазин"> 
    </map> 
    <img src="img/CityMap.jpg" width="1024" height="768" usemap="#CityMap">'

Как вставить изображение в меню плеера? Например, чтобы рядом с act’ом “север” стояла пикча в формате jpg на которой стрелка вверх. Спасибо.

Нашел. ‘<img src=“content/room.jpg”>’

Здравствуйте,

есть вопрос. Можно ли прописать в коде, чтобы окно “Предпросмотр” разворачивалось на полный экран?

ДоБрЫй_МеДвЕдЬ,
К примеру пропишите:

SHOWACTS 0
SHOWINPUT 0
SHOWSTAT 0
SHOWOBJS 0

Сам же плеер только с помощью alt+enter. Манипуляции с vbs может и помогу, но это уже другой вопрос, в котором ещё разобраться нужно.

Aleks Versus Moderator 27.02.2017 21:00 (8 years ago)

Oliver,
ДоБрЫй_МеДвЕдЬ имеет ввиду окно, вызываемое командой view. Оно настраивается так же, как и остальные окна плеера.

Создала на аеро свой хелоуворд, через run_flash.bat работает, через standalone не работает, swf создается, грузится и черный экран дальше, хотя если заменить файл aqsp на любой другой с сайта, то через standalone работает. В чем может быть проблема?

У меня есть общая папка, в которой лежит и куген и плееры. В этой папке создала папку game, в неё сохранила game.qsp с кодом ‘fdsfsdfsdf’, в путях кугена выбрала запускать через run_flash.bat - работает норм, появляется окно с текстом ‘fdsfsdfsdf’. В папке game появляется файл game.aqsp.
Создала еще одну папку в общей, standalone, положила туда все что было в архиве
здесь http://qsp.su/index.php?option=com_content&view=article&id=117&Itemid=56
а также создала background.png и config.xml, для проверки кладу туда файл игры “Один в снегах”, жму build-stand-alone.cmd, файл AeroQSP_standalone.swf создается, игра запускается. Если копирую свой файл game.aqsp с папки game в папку standalone, запускаю build-stand-alone.cmd, файл AeroQSP_standalone.swf создается, идет загрузка, и черный экран и все. Надпись так и не появляется, и серого экрана, деленого на секции тоже.

Aleks Versus Moderator 04.03.2017 14:44 (8 years ago)

Miranie,
config.xml положи так же и внутрь aqsp-файла.

Log in or Register to post comments.