Как сделать?
…
Freem82,
для начала вначале локации включи html. Добавь
usehtml 1
тебе во многом будет проще при комбинации html c цешкой
с размером шрифта можешь не заморачиваться и классическими h1-h6 тегами регулировать его, где, соответственно, h1 - самый крупный а h6 - самый мелкий.
пример:
<h1>самый большой привет</h1>
<h2>привет</h2>
<h3>привет</h3>
<h4>привет</h4>
<h5>привет</h5>
<h6>самый маленький привет</h6>
Это что касаемо размера шрифтов.
….
у тебя разные данные для вывода. minute, sec и mins[34] secs[34]
тобишь как бы ты ведёшь счёт времени параметрами minute sec, а запрашиваешь на вывод несуществующие mins[34] secs[34]
Я хочу сохранить отдельный результат по каждой мини игре. А так он пропадет при переходе… Даже если использовать существующие, он мне все равно показал нули. Только что проверил. На счет шрифтов спасибо огромное.
Freem82,
для сохранения результата не проще присваивать времени через gs свои значения и выводить на экран сохраненные таким, а в конце выводить эти значения?
Пример:
время у тебя забито min sec
когда завершается задание у тебя, то в этот момент параметры времени присваиваются значению min1 = min sec1 = sec и это для одного задания. В окно результата первого задания выводишь сохраненные min1 sec1, а само время у тебя продолжает тикать или просто останавливаешь его вообще или обнуляешь(если нужно).
Для того, чтобы время сохранилось в параметры min1 sec1 одноразово, юзаешь if с одной переменной.
if q = 0:
min1 = min
sec1 = sec
q = q + 1
end
таким образом в каждом задании у тебя остаются твои отдельные параметры времени для каждого из них и в конце можешь вывести статистику времени не только потраченного на прохождение всей игры, но и статистику времени прохождения, затраченного только на задания(ну эт уже сам решишь).
Для второго задания юзаешь min2 sec2 для третьего min3 sec3 и т.д.
Спасибо тебе. Я разобрался. Первоначальный код который я показал был почти верным поэтому сильно извиняюсь так, как я сразу переходил на локацию(gt) где у меня только интерфейс(таблица диалога) не запуская обработку(gs) локации с текстом. Но благодаря твоей помощи, смог подчистить код и понял, что пора бы и спать. Получилось так:
if step = 32:
sec=sec+1
if sec = 60:
sec = 0
minute+=1
end
*clr
*nl ‘<h1><center><span style=“color:#FF0000”><center><strong><<minute>>:<<sec>></center></strong></h1></span>’
*nl’<a href=“exec: set step = 38 & set secs[step] = sec & set mins[step] = minute & gs ‘‘Window’’ & gs ‘‘TextNPClink’’(вот тут была ошибка) & gt ‘‘Dialog’’”>
<span style=“color:#FF1493”><center><strong>Готов?</strong></center></a></span>’
end
Еще раз извиняюсь.
ejikplains,
А тебе зачем вообще 4 счётчика? Разве не можно одним обойтись?
Oliver,
логически разнозависимые на каждую локацию. Но…. Если найти способ юзать доп. локацию, можно вести параллельные разноизменяющиеся данные.
Такую реализацию в VMProtect EAC видел в качестве шифровки. Пользу принесет для повышения плавности и уменьшения нагрузки на локацию при большом коде или большом цикле
…
з.ы. У меня 4 работают на разных локациях, ибо лень прогресс двигает))))
В общем, проблемка, на которую пока мозгов не хватает. Прошу под кат.
Spoiler
В общем, есть массив, он хранит имя предмета:
$item_array['sword, 1'] = 'Железный меч'
!и т. д.
Вывод сделал таким образом:
if $args[0] = 'item_list':
:loop_item
'<a href="exec: !код который должен понять, что за индекс был выбран игроком"><<$item_array["<<$args[1]>>, "+ str(index)]>></a>'
if args[2]>index: index+= 1 & jump 'loop_item'
end
Потом в нужном месте делаю gs:
gs '#func', 'item_list', 'sword', all_sword
Собственно проблема в том, чтобы понять, какой предмет игрок выбрал и желательно запомнить, чтобы я потом мог его отобразить в ином месте(инвентаре).
Может я в принципе не тем путём пошел? Есть у кого какие идеи? Пишу под QN, он поддерживает JS, быть может можно с его стороны получить помощь?
Oliver,
Так вот тут, где у тебя !код который должен понять, что за индекс был выбран игроком тебе нужно сделать обращение к какой-нибудь локации, например, которая выводит описание:
gs ‘item.info’
И как раз этой локации передавать индекс, а сделать это просто, потому что ты уже знаешь индекс и просто подставляешь его в строку
if $args[0] = 'item_list':
:loop_item
'<a href="exec:gosub ''item.info'',''<<$args[1]>>,<<index>>''"><<$item_array["<<$args[1]>>, "+ str(index)]>></a>'
if args[2]>index: index+= 1 & jump 'loop_item'
end
Доброе утро. Вопрос простой - как добавить текст в “Дополнительное описание” просто текст. Не предметы, не меню ничего кроме текста.
“У вас есть 5 яблок”
“У вас скоро нервный срыв”
“Вы ощущаете себя идиотом”
Genryzz,
Если просто текст, то тебе поможет pl.
pl 'Вы больны'
Как пример, ниже простейший вывод текста после исполнения действия.
С какой-либо локации или действия, мы получили значение взять_предмет = 1
if взять_предмет = 1:
pl 'Вы подобрали предмет'
addobj 'предмет'
взять_предмет = взять_предмет - 1
gs curloc
end
В коде идёт проверка на действие в виде взятия предмета, и вывод текста в окно дополнительного описания.
Ок. А как заставить переменные меняться? В том окне они статичны.
Т.е.
kol = 5
pl ‘У вас <<kol>> яблок’
В другой локации
kol += 1
В окне:
“У вас 5 яблок”
Проверяем kol = 6
Genryzz,
Нужно обновлять информацию в окне.
act 'взять яблоко': apple += 1 & gt $curloc
!или же
act 'взять яблоко': apple += 1 & clr & pl 'У вас <<apple>> яблок'
Короче нужно чтобы оно заново прогрузило информацию.
Не вариант. Каждый раз писать что именно лежит в доп.окне особенно если переменных более чем одна и в разных локациях разные меняются.
Просто я видел в кодах как есть переменные в доп. окне меняется БЕЗ указания pl ‘У вас <<apple>> яблок’ и уж тем более без gt $curloc.(никаких ссылок на локации с pl только изменение переменных и отображение их)
Насколько я понял работало это через функцию $ONOBJSEL и dynamic. Но как они именно работали я вообще не понимаю. Пробовал создавать $ONOBJSEL но результата 0. Он на существование связанной с локацией никак не реагировал.
Скорее всего работает следующее:
Нашел вариант но не слишком удобный.
clr
*clr
gs'stats'
В stats данные выводящиеся в доп окно.
Вариант рабочий но альтернативы есть только как они работают я не понимаю.
Genryzz,
Ну я просто сделал локацию которая отвечает за доп окно. И при каждом курлоке она обновляется.
!локация доп окно
clr
if $PLAYERTYPE = 'Android': pl '<a href="exec:gs ''Доп_окно''">Обновить</a>'
gs 'Время'
gs 'Число-Текст'
pl 'Время -- <<hour>>:<<minut>>
Дата -- <<day>> <<$month>> <<Year>> года '
nl
pl 'Здоровье <font color = "red"><<Hp>>/<<HPMax>></font>'
if provNaSus4estvovanieMani = 1: pl 'Мана <font color = "blue"><<Mana>>/<<ManaMax>></font>'
pl 'Выносливость <font color = "green"><<Stamina>>/<<StaminaMax>></font>'
!локация onNewLoc
! это локация обработчик перехода. Короче при каждом курлоке будет выполняться код на этой локации.
gs 'Доп_окно'
Чтобы сделать локацию обработчик перехода нужно в самой первой локации(старт, начало, start…) написать
$onNewLoc = 'onNewLoc'
Насчет команды gosub или же gs. Она грузит локацию, но не переходит на нее. Это нужно как раз для таких ситуаций. Да и не только.
Подскажите пожалуйста, есть ли возможность снять выделение в окне действий? В классическом плеере. Заранее спасибо.