Как сделать?
…
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. Она грузит локацию, но не переходит на нее. Это нужно как раз для таких ситуаций. Да и не только.
Подскажите пожалуйста, есть ли возможность снять выделение в окне действий? В классическом плеере. Заранее спасибо.
Ways,
насколько я знаю, специальной команды нет. Действия выделяются не конкретным выбором (в отличие от предметов), а наведением мыши. Правда можно использовать костыль:
$actlist = $curacts
cla
dynamic $actlist
Теоретически этот код можно засунуть на локацию-счётчик, и тогда выделение будет сниматься автоматически, пока игрок не пошевелит мышкой. Практически это скорее всего приведёт к массе глюков.
Как работают проценты в QSP? Один уже задавал ему этот вопрос, но ему так и не ответили.
То есть мне надо, чтобы переменная была увеличена/увеличена на n%. Простое n=+10% не работает - ошибка “Неизвестное действие”. Как это делается правильно?
Спасибо. А в настройках никак не исправляется?
RomaDova,
всё просто:
N+=N*10/100
Вместо числа 10 подставляешь нужное число процентов. Само собой нужно учитывать, что QSP работает только с целыми числами, поэтому один процент от единицы ты к единице не прибавишь.
Ways,
Эм… в настройках чего? И что там должно исправляться? То, что выделение действий происходит таким образом, — это, так сказать, особенность плеера. Нужно копать код плеера, чтобы это изменить.
Aleks Versus:
всё просто:
Код:N+=N*10/100
Вместо числа 10 подставляешь нужное число процентов.
Примерно так и пришлось сделать. Спросил, надеясь сократить число символов в коде, но видимо это просто невозможно.
Но спасибо за помощь
Есть ли тут знатоки Навигатора? Требуется ваша помощь.
Можно ли выполнять в нём запросы к JS?
Можно ли заставить js-функцию возвращать нужное значение так, чтобы QSP его принял?
NickoAilus,
запросы к JS можно.
EXEC('JS:код java-script')
А вот в обратную сторону — нет. Посмотри на вот этот плеер https://qsp.org/forum/951-pleer-qsp-s-podderzkoj-webm
Aleks Versus,
QQSP я уже давно использую, спасибо. Дело в том, что и там нет интересующей меня функции. Точнее, она есть, но нигде не объясняется, как её использовать.
Благодарю за помощь. :)
Здравствуйте. Не судите строго. Просто заскок в тексте игры есть.Перед обращением на форум, я сам ковырялся в синтаксисе. Спасибо Версусу, что сотворил уроки по такой проге.
Я делаю пародию на ферму. В магазине фермер покупает животных.
Математика такая: в рамдоме есть раса-вид животного, его ПОЛ.
С некоторой вероятностью (ver), которое задается рамдомно от 20 до 100% в магазине появляется список покупок.
Проблем много.
1. Прога должна выбрать по условию равенства переменной ver, но она идёт сразу в конец и в гендере пишет МУЖ, хотя по значению надо писать ЖЕН или ДЕТИ.
2. Я сделал ограничение по деньгам, но у меня программа не прерывает покупки выражением “закончились деньги”
3. Момент есть 1: где можно всунуть команду для очистки экрана?
4. Есть магазин, локация- загон для животных-мальчиков, загон для животных-девочек.
Вопрос: как в коде магазина сделать запись, которая делает после покупки животных запись в соответствующем вольере?
Вот текст:
$Trace=‘’
$Tgen=‘’
$race[0]=‘собака’
$race[1]=‘кошка’
$gender[0]=‘жен’
$gender[1]=‘дети’
$gender[2]=‘муж’
*pl’<table border=1>
<tr>
<th>Расса</th>
<th>Пол</th>
<th>Цена</th>
<th>Контроль</th>
</tr>’
ver=rand(20,100)
*pl”Вероятность “+ver
i=rand(0,1)
$race[]=$race[i]$Trace=$race[]
if ver=rand(61,100):
i=rand(0,1)
$Trace=$race[i]*pl”Вероятность ДЕТИ “+ver
$Tgen=$gender[1]
price=rand(50,80)
Tprice=price
*pl’<tr>
<td><<$Trace>></td>
<td><<$Tgen>></td>
<td><<Tprice>></td>
<td><a href=“exec:gs’’магазин’’,’’buy’’”>Купить</a></td>
</tr>’
elseif ver=rand(41,60):
i=rand(0,1)
$Trace=$race[i]*pl”Вероятность девочек “+ver
$Tgen=$gender[0]
price=rand(50,80)
Tprice=price
*pl’<tr>
<td><<$Trace>></td>
<td><<$Tgen>></td>
<td><<Tprice>></td>
<td><a href=“exec:gs’’магазин’’,’’buy’’”>Купить</a></td>
</tr>’
end
else
i=rand(0,1)
$Trace=$race[i]*pl”Вероятность мальчиков “+ver
$Tgen=$gender[2]
price=rand(85,100)
Tprice=price
*pl’<tr>
<td><<$race[]>></td>
<td><<$Tgen>></td>
<td><<Tprice>></td>
<td><a href=“exec:gs’’магазин’’,’’buy’’”>Купить</a></td>
</tr>’
end
end
if $ARGS[0]=“buy”:
money=money-Tprice
*pl”Остаток= “+money
end
elseif money<=0: *pl”у вас нет денег”
end
if money<=0:
money=0
*pl”у вас нет денег”
end
Poganec37:
1. Прога должна выбрать по условию равенства переменной ver, но она идёт сразу в конец и в гендере пишет МУЖ, хотя по значению надо писать ЖЕН или ДЕТИ.
У тебя проверка случайного числа ver с другим случайным числом.
...
ver=rand(20,100)
...
if ver=rand(61,100):
...
Шанс совпадения двух случайных чисел в таком случае, если я не ошибаюсь, чуть больше одного процента. Первые два события будут происходить, считай, никогда. Поэтому подключается последнее условие (иначе: МУЖ).
Должно быть:
...
if ver>=61:
...
elseif ver>=41 and ver<=60:
...
Спасибо, сработало. Есть ещё 1 косяк, который я не понимаю.
Когда я вошел на магазин - высвечивается товар с ценой и действием КУПИТЬ.
действие КУПИТЬ должна работать так: вот я зашел на локацию магазина- висит товар. купил- деньги вычитаются из общей суммы.
А в реале код программы выполняет следующее: вот игрок зашел на локацию магазина- висит товар. Если выполнить КУПИТЬ, то высвечивается товар следующий и цена этого товара вычитается из общей суммы.
А тот товар, который при входе был- вообще не учитывается.
Можно ли это исправить? я не вижу чем.
Сработало-то срадотало. Но первый товар также не учитывается. не понимаю, как исправить. Фишка с переносом на верх не работает.
При обновлении локации весь ее код выполняется снова.
Соответственно Tprice меняется на новый перед покупкой.
Нужно поднять блок с аргументом args[0]=“buy” на самый верх. Тогда будет вычитаться старая цена.
Но если товаров несколько, то это не поможет. В коде локации переменная Tprice перезаписывается столько раз, сколько товаров, и всегда равна цене последнего товара. Какой бы товар не брал, всегда вычитается стоимость последнего.
Engineer,
1. Мне надо, чтобы после покупки в магазине в локации с клетками животных тоже строилась таблица. Купил-добавилось.
Надо-ли на локации с клетками строить таблицу, а в магазине мягко обращаться к локации через gs”клетка1”,”table”
Или есть что-то простое?
2. если я подниму на верх args[0]=“buy, то из ДЕНЕГ вычтется 0. Мне не очень понятно как исправить действие проги так, чтобы она самый первый товар тоже вычитала.