RU 📌 Pinned

Как сделать?

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

fau2,
я уже сказал, без пересборки плеера ничего из этого сделать нельзя.

как сделать что-то вроде быстрого теста, выдается текст с вопросом, потом на несколько секунд появляются варианты ответов и если не успел нажать на правильный ответ или вообще нажать, то задается следующий вопрос… что то навроде действия по таймеру, только я не совсем понял как это оформить, чтобы
текст вопроса
через 30 сек появляются ответы
act ответ1
act ответ2
act ответ3
через 5 сек переход к другому вопросу
текст вопроса
через 38 сек появляются ответы и так далее

Aleks Versus Moderator 04.10.2016 19:49 (9 years ago)

Aaaspavel,
локация counter:

Spoiler
! и т.д.
if marker=5 and (time + 30000)<=msecscount:
	time=msecscount
	act 'первый ответ':
		point +=5
		clr
		pl point
		*clr
		cla
		marker=7
	end
	act 'второй ответ':
		point +=10
		clr
		pl point
		*clr
		cla
		marker=7
	end
	act 'третий ответ':
		point +=20
		clr
		pl point
		*clr
		cla
		marker=7
	end
	marker=6
end
if marker=4 or (marker=3 and time+5000 <=msecscount):
	*clr
	cla
	'Вопрос номер 2. Сейчас появятся варианты ответов, и у вас будет только пять секунд, чтобы выбрать один из них.'
	marker=5
end
if marker=2 and (time + 30000)<=msecscount:
	time=msecscount
	act 'первый ответ':
		point +=5
		clr
		pl point
		*clr
		cla
		marker=4
	end
	act 'второй ответ':
		point +=10
		clr
		pl point
		*clr
		cla
		marker=4
	end
	act 'третий ответ':
		point +=20
		clr
		pl point
		*clr
		cla
		marker=4
	end
	marker=3
end
if marker=1:
	'Вопрос номер 1. Сейчас появятся варианты ответов, и у вас будет только пять секунд, чтобы выбрать один из них.'
	marker=2
end
if marker = 0:
	time = msecscount
	marker=1
end
clr
pl point

вывод point сделан исключительно для проверки.

Друзья! Дописываю игру и периодически вылавливаю всякие недоработки и ошибки с помощью QSP_Analyser. Сейчас, занимаясь уже только текстами, а не кодом, случайно наткнулся у себя же на такую строчку: “if x > 100 and y:”, где, как видите, “y” просто “y” без всяких там больше-меньше-равно. Разве это не ошибка? Строчка эта есть давно и находится в очень важном игровом месте, куда игрок постоянно возвращается, но при многочисленных тестах никакой ошибки не выскакивало и Analyser тоже ее не находит.

Если это не ошибка, то, что собственно, происходит, если переменную оставлять таким образом?

Aleks Versus Moderator 10.10.2016 09:38 (9 years ago)

mkir,
если переменная отлична от нуля, утверждение верно.

y = 0
if y:
 "игрек равно нулю"
end
y = 1
if y:
 "игрек равен единице"
end
y = -1
if y:
 "игрек равен минус единице"
end

Aleks Versus,
ничё не понял, вы предлагаете мне всё сделать в одной единственной локации?

Aleks Versus Moderator 10.10.2016 16:54 (9 years ago)

Aaaspavel,
я предлагаю воспользоваться локацией-счётчиком. Во скольки единственных локациях будешь делать, это уже тебе решать. Но вот рабочий пример. Как я понял, ты не мог представить, как это реализуется. Я показал наглядно. Допили до варианта, который тебе нужен.

События, привязанные к действительному времени, можно контролировать только через локацию-счётчик. По-крайней мере активные действия ты больше никак не сделаешь. wait лишит возможности выбирать вариант в течении 5 секунд.

#время
#служебные локации

Доброго времени суток, камрады)
Подскажите, есть ли возможность убрать разворачивание экрана в классике? ( или как то регулировать размер окна при разворачивании)

мм, не совсем то.
Моя игрушка подточена под определенный размер и разворачивание в полноэкранку портит весь оформительский замысел.
qspgui.cfg , насколько я понял, задает только размер окна при запуске. или разворачивание там тоже регулируется?

Aleks Versus Moderator 13.10.2016 06:22 (9 years ago)

Sin,
а. Отключить разворачивание нельзя.

К тому же у всех людей разные мониторы. Для оформления с фиксированными размерами это плохо.

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

Сергей,
делай увеличение времени в COUNTER.

Всем привет. Подскажите, пожалуйста, как ограничить число посещений локации за день . Т.е. 3 раза зашёл - запрет , день сменился - можно опять 3 раза зайти .Календарь вот такой:
clr
!Время!
:minutplus
if minut<55:
minut=minut+5
if minut=55:
minut=minut+4
end
if minut>55:
minut=minut=0

set hour+=1
set bodro=bodro+10
end
:hourplus
if hour>=24:
set day+=1
set week+=1
set hour-=24
if hour>=24:jump’hourplus’
end
:weekplus
if week>7:
set week-=7
if week>7:jump’weekplus’
end
if day>31:set month+=1 & set day-=31
if month>12:set year+=1 & set month-=12

В стартовой локации прописано:
$ONNEWLOC=‘stat’

Сергей,
Ну как вариант:
Код в локации, в которую 3 раза заходишь:

Perem_zahod+=1

Код в локации, откуда заходишь:

act 'Перемещение в нужную локацию':
If Perem_zahod<3: goto 'Нужная локация'
end

Код в локации ‘stat’:

if day-day_last>0: Perem_zahod=0
day_last=day

Log in or Register to post comments.