Как сделать?
…
ShadowX2,
проверь-таки версию плеера. Используй функцию $QSPVER:
*pl $QSPVER
Если версия плеера 5.8.0 или выше, всё дело в порядке аргументов:
arrpos('$Location','Пустыня', 0)
Если делаешь поиск по массиву с нулевого аргумента, параметр [#начало_поиска] можно опускать:
! работает и в 5.7.0 и в 5.8.0 и новее
arrpos('$Location','Пустыня')
В целом классик 5.9.0 такой же, как и 5.7.0, только появились новые возможности: циклы, функция сортировки массива, кортежи, локальные переменные, $CUROBJS и т.д.
Aleks Versus,
Ох, спасибо. Заработало.
Проверила версию плеера это 5.8.0(classic), и да действительно проблема была в порядке аргументов, но я не знала, что надо писать так, писала так как было указано в помощи, что встроена в qsp
Кстати, а где скачать классик 5.9.0 ?
А то не могу найти её, только ту версию, что у меня уже есть.
ShadowX2,
думал, что плеер лежит на странице “Скачать плеер”, но там битая ссылка.
5.9.0 в бета версии можно скачать по этой ссылке https://github.com/QSPFoundation/qspgui/releases/download/v5.9.0-b9/qspgui-v5.9.0-b9-win32.exe
Плеер установится примерно по такому пути C:\Program Files (x86)\QSP Classic 5.9.0\bin\qspgui.exe
Это не финальная версия плеера 5.9.0, в группе вк, когда будет окончательный релиз, опубликуем новость.
- Статья по новым фишкам 5.8.0 https://vk.com/@qsplayer-novovvedeniya-v-qsp-580
- Статья по новым фишкам 5.9.0 https://vk.com/@qsplayer-novovvedeniya-v-qsp-590
Онлайн-справка актуализирована для версии 5.9.0: https://wiki.qsp.org
Оффлайн-справку, к сожалению, пока некому пересобрать.
Не нашла тему для вопросов, поэтому напишу здесь. Меня тут давно мучает один вопрос, а можно ли использовать одну и ту же переменную для присвоения ей рандомного числа с помощью Rand в разных циклах или действиях в коде одной локации? Это не вызовет баги?
ShadowX2,
Если ты ее использовала и она тебе больше не нужна, то можешь использовать повторно, присвоив новое значение. Если сама не запутаешься, багов не будет.
Это снова я, простите что так часто сюда обращаюсь, но у меня обнаружилась небольшая проблемка
Ребят, почему у меня такие ключевые слова как: local, loop, while, step не выделяются специальным цветом, синим, как операторы, а обычном белым цветом?
Из-за этого код циклов иногда становится сложновато читать. А то я смотрела видео Aleks Versus на ютубе, и у него там эти ключевые слова были светло-синего цвета. Неужели это только у меня так?
ShadowX2,
нужно обновить keywords.xml. Официальный свежий лежит вот здесь https://github.com/QSPFoundation/qgen/blob/master/misc/common/keywords.xml
Но лично мне больше нравится вот этот: https://mega.nz/file/qOgTFRja#4bHsY0o5dnu2p1Z-b8PrlZoqZpZqsPeJrmyn7C8kyHw
Скоро будет доступен QGen (по сути старая версия) для Windows/Linux/MacOS с новым keywords.xml.
Добрый день!
Понимаю, очередной простейший вопрос новичка.
Есть событие на локации, ограниченное по времени.
Типа “разговор” в гостинной с 18 до 19.
После совершения события присваивается флажок “разговор=1”.
В любой последующий день в этой же локации и в этот же промежуток времени должен состоятся “разговор=2” при условии “разговор=1”.
Но так как разговор=1 длится меньше 30 минут, то разговор=2 начинается в тот же день, если я снова зайду на локацию гостинная до 19 часов.
Как перенести разговор=2 на любой другой день до 19 часов?
AndreWho,
После разговора - разговор = 1, после смены дня - разговор = 2. В условии для второго разговора - если разговор = 2. Ну или любую другую переменную заведи, которая балет контролировать смену дня и добавь ее в условие.
dmvikar:
Ну или любую другую переменную заведи, которая балет контролировать смену дня и добавь ее в условие.
Вот я как раз и не понимаю, как завести переменную, контролирующую смену дня. :( В моем случае разговор=2 доступен сразу после разговора=1. А мне надо чтобы после разговора=1, но только на следующий день (ну или любой другой день, следующий за днем разговора=1).
Я могу, конечно, сделать само время разговора=1 больше 1 часа и таким образом разговор=2 точно состоится на следующий день. Но у меня в принципе вопрос теоретический. Как перенести событие на следующий день (неделю, месяц).
AndreWho,
Надо понимать, как у тебя время устроено.
Можно после разговора 1 поставить переменную метку и дальше от нее каждый раз проверять, сколько прошло времени, когда игрок зайдет в гостинную в следующий раз.
Можно задать метку сразу после разговора, когда должен произойти следующий разговор, например если метка - это 11.10.24, то доступность разговора, когда дата больше 11.10.24
Если в смена суток как-то маркирована, то можно менять переменную в этот момент.
У меня календарь взят из соответствующей ветки форума
JDN = JDNStart + time/1440
hour = (time/60) MOD 24
minut = time MOD 60
weekday = (JDN MOD 7) + 1
JDa = JDN + 32044
JDb = (4*JDa + 3)/146097
JDc = JDa - (146097*JDb/4)
JDd = (4*JDc + 3)/1461
JDe = JDc - 1461*JDd/4
JDm = (5*JDe + 2)/153
day = JDe - (153*JDm+2)/5 + 1
month = JDm + 3 - 12*(JDm/10)
year = 100*JDb + JDd - 4800 + JDm/10
$hour = iif (hour < 10, ’0<<hour>>’, ‘<<hour>>’)
$minut = iif (minut < 10, ’0<<minut>>’, ‘<<minut>>’)
pl $weekday[weekday] + ’, ’ + day + ’ ’ + $month[month] + ’ ’ + year + ‘года’ + ’. ’ + $hour + ‘:’ + $minut
Соответственно, как создать условие разговор=2 при следующих вводных:
1. Разговор=1 и Разговор=2 начинаются в любой день при посещении локации “гостиная”.
2. Разговор=2 не должен произойти в день разговора=1.
AndreWho,
На сколько я помню, там время хранится в минутах в time.
Таким образом следующий разговор через 23,5 часа или 1410 минут. А дальше либо ставишь метка=time, а потом проверяешь if time-метка>=1410, либо метка = time+1410 и проверяешь if time-метка>=0
AndreWho,
по теме на форуме есть синтетическая статья. Может с ней будет легче разобраться Календарь по методу счёта Юлианских Дней