RU 📌 Pinned

Как сделать?

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

Народ, у меня тут появилась задачка, с которой я, к сожалению справится все никак не могу…
Хочу реализовать время проведенное в игре (общее число времени). Все это реализуется с помощью MSECSCOUNT. Но вот как это все будет работать я так и не разобрался. Мне нужны минуты и часы проведенные в игре.
Если кто разбирается, помоги те пожалуйста.

Svartberg,
Ну по идеи атака “режится” от брони.
То есть:
У жука 60 жизней, и 6 брони. Моя атака наносит 16.
Значит 16/6=2.
Так же и у жука.

Oliver:

Svartberg,
Ну по идеи атака “режится” от брони.
То есть:
У жука 60 жизней, и 6 брони. Моя атака наносит 16.
Значит 16/6=2.
Так же и у жука.

ТАк в том то и дело, что 16/6 будет равно 2,6

Aleks Versus Moderator 19.12.2015 07:35 (10 years ago)

Svartberg:

Хочу реализовать время проведенное в игре (общее число времени).

Svartberg,
тебе поможет $counter и пара переменных счётчиков. Поищи по форуму или почитай вот здесь, как делается время в игре. Аналогичным образом сделай подсчёт реального времени. Я бы на локации counter сделал следующее:

Spoiler
new_time = msecscount & ! текущее время
past_time = last_time - new_time & ! сколько прошло с последнего посещения локации counter
if past_time>0:
! прошло более 0 мсек
    time['msecs']+=past_time & ! текущее значение милисекунд
	! вычисляем добавочные секунды
    time['addsecs']=time['msecs']/1000
    ! перевычисляем текущее значение миллисекунд
    time['msecs']=time['msecs'] mod 1000
    
    ! вычисляем текущее значение секунд
    time['secs']+=time['addsecs']
    ! вычисляем добавочные минуты
    time['addminute']=time['secs']/60
    ! перевычисляем текущее значение секунд
    time['secs']=time['secs'] mod 60
    
    ! вычисляем текущее значение минут
    time['minute']+=time['addminute']
    ! вычисляем добавочные часы
    time['addhour']=time['minute']/60
    ! перевычисляем текущее значение минут 
    time['minute']=time['minute'] mod 60
    
    ! вычисляем текущее значение часов
    time['hour']+=time['addhour']
    ! вычисляем добавочные дни
    time['addday']=time['hour']/24
    ! перевычисляем текущее значение часов 
    time['hour']=time['hour'] mod 24
    
    ! вычисляем текущее значение дней
    time['day']+=time['addday']
    !.... и т.д.
end
! не забываем запоминать последнее зафиксированное значение времени прошедшего с начала игры
last_time = new_time

Aleks Versus, отлично, спасибо)

Вопрос простой, но помощь крайне нужна.
Как сделать, чтобы действие открывалось спустя некоторое время проведенное на локации. Я пробовал через wait, но это останавливает игру полностью. Мне же нужно, чтобы игрок мог выбирать другие варианты и уйти с локации, или получить новый вариант в список если он не будет торопиться.
Заранее спасибо.

Ну по идеи атака “режится” от брони.
То есть:
У жука 60 жизней, и 6 брони. Моя атака наносит 16.
Значит 16/6=2.
Так же и у жука
если атака режется от брони, то не логичнее ли урон равно атака минус броня?

Aleks Versus Moderator 21.12.2015 14:50 (10 years ago)

Ontario,
тебе тот же совет, что и Svartberg’у: воспользуйся локацией-счётчиком $counter. В моём сообщении от 19.Дек.15 12:35:51 (выше) представлен примерный способ отсчёта времени. Просто тебе нужно будет посчитать время проведённое на локации.

Вот рабочий пример actattime.qsp Подсчёт времени можно исключить в принципе. Достаточно части с вычислением текущих значений.

Aleks Versus,
Спасибо большое, всё работает.

Проблема: при пропуске имени(пустое поле) и последующем вводе он выдает сумму из двух действий а не одно из них:

Раз я не помню своего имени может стоит его придумать? Меня теперь зовут “ИМЯ” оно неплохо звучит. Раз я не помню своего имени может стоит его придумать? Меня теперь зовут Ленивая Жопа, потому что создателю лень было тратить пару секунд.

Как оставить только:

Или - Раз я не помню своего имени может стоит его придумать? Меня теперь зовут “ИМЯ” оно неплохо звучит.

Или - Раз я не помню своего имени может стоит его придумать? Меня теперь зовут Ленивая Жопа, потому что создателю лень было тратить пару секунд.

без смешения при любом порядке выполнения(не ввел имя, ввел и т.д.)?

'Раз я не помню своего имени может стоит его придумать? Меня теперь зовут <href="exec: menu ''$mystat''"><<$fsname>> <<$text1>>'
act 'Ввести имя':
	:name
	$fsname = ''
	$fsname = input 'Введите имя' 
	if $fsname = '': $text1 = 'Ленивая Жопа, потому что создателю лень было тратить пару секунд.' ELSE $fsname = $fsname + ', оно неплохо звучит.'
	gt $curloc
end

При помощи какого оператора можно изменить шрифт лишь части текста, а не шрифт всей локации? Я пробовал несколько вариантов, но они не поддерживаются. Доступна ли эта функция вообще?

RomaDova:

При помощи какого оператора можно изменить шрифт лишь части текста, а не шрифт всей локации? Я пробовал несколько вариантов, но они не поддерживаются. Доступна ли эта функция вообще?

HTML тебе в помощь.

USEHTML=1
<font size=10>Текст</font>

Вроде бы все перерыл, но не нашел.

подскажите пожалуйста, как правильно сделать предметы графическими?
К примеру мне нужно, чтоб в списке иконками отображались 3 предмета

1)свеча (зажженная и нет)
2)Хрустальный шар (разбитый и целый)
3)Музыка (вкл/вкл)

Я придумал только через onobjsel как-то так (на примере музыки):

if $selobj = '<img src=content/pic/volume.png>':

if sound_on=1:
	sound_on=0
	volume = 0
	delobj '<img src=content/pic/volume.png>'
    addobj '<img src=content/pic/volume_off.png>'
    UNSELECT
else 
	music_on=1
	sound_on = 1
	volume = 50
    delobj '<img src=content/pic/volume_off.png>'
    addobj '<img src=content/pic/volume.png>'
	UNSELECT	
end
end

Но получается когда убираешь/добавляешь, предмет перемещается вниз списка, а так быть не должно, как его закрепить-то? =)

Genryzz,

'Раз я не помню своего имени может стоит его придумать?'
act 'Ввести имя': 
	$fsname = input 'Введите имя'
	*nl 'Меня теперь зовут '
	if $fsname ! '':
		*p '<a href="exec: menu ''$mystat''"><<$fsname>></a>, это неплохо звучит.'
	else
		$fsname = 'Ленивая Жопа'
		*p '<<$fsname>>, потому что создателю лень было потратить пару секунд.' 
	end
	delact $SELACT
end

Svartberg:

RomaDova:

При помощи какого оператора можно изменить шрифт лишь части текста, а не шрифт всей локации? Я пробовал несколько вариантов, но они не поддерживаются. Доступна ли эта функция вообще?

HTML тебе в помощь.

USEHTML=1
<font size=10>Текст</font>

Это-то я знаю, речь именно о самом типе шрифта (Например: “Arial”)

Log in or Register to post comments.