RU 📌 Pinned

Как сделать?

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

Скоро будет доступен 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

Aleks Versus Moderator 17.11.2024 15:17 (1 year ago)

AndreWho,
по теме на форуме есть синтетическая статья. Может с ней будет легче разобраться Календарь по методу счёта Юлианских Дней

Так всем привет, у меня вопрос темы только для qSpider

Привет! В чем вопрос?

Хочу сделать в игре оформления,внутри игры я еще учусь и побочно делаю игру, да фон цветов менять можно это я понял. А именно сделать обложку внутри игры Н примере того что я скинул верху. Вот и интересно я смогу на обычной сделать такое или же мне надо Спайдер?

Lucifer, в обычном плеере (как я понял речь о классике по которому видеоуроки) ты такую обложку не сделаешь. Создай игру пока учишься на простом плеере и когда поймешь что тебе его мало - переходи на другие.
P.S. Когда дойдешь до игровых механик, обложка это будет меньшее из твоих проблем.

Нет я это понимаю по этому и интересуюсь, спасибо за ответ

Aleks Versus Moderator 27.11.2024 07:07 (1 year ago)

Tom Run,
ну вообще, на классике тоже можно дофига чего придумать и сделать https://qsp.org/forum/comments/22394
Lucifer,
для того, чтобы сделать красивое оформление на классике нужно немного знать HTML и возможности самого классического плеера.
- тебе доступна только табличная вёрстка
- таблицы прекрасно растягиваются по ширине, но не растягиваются по высоте, поэтому нужно ориентироваться на минималистичный и максимально информативный интерфейс как у Свартберга. Пример смотри выше.
- картинка на фон должна быть с прозрачностью и как можно более близкая к основному цвету фона, чтобы не портить чтение текста.

Aleks Versus, согласен, что можно, а нужно так над собой издеваться? В том и проблема, что таблицы не растягиваются по вертикали. Можно сделать игру под конкретный монитор, но сами понимаете как это будет выглядеть (сразу образ HTML игр, где нужно сидеть на пробеле).
Я бы советовал не заморачиваться и если игра будет того стоить то перенести ее на другой плеер, или набраться опыта на первой игре и на новом плеере написать новую игру (часть игры можно скопировать из старой). Как вариант 1 глава (часть) на классике, а следующие на других (многие игры, так и делались когда 2 часть красивее 1й).
При любом раскладе опыт есть опыт, а учится на классике в разы проще, ну а как на картинке сделать можно только под свой монитор (и то!, если по красоте то еще нужно учитывать фуллскрин (одним словом - …)).

Log in or Register to post comments.