RU 📌 Pinned

Как сделать?

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

а можно поподробней про
где локация ‘dstat’:
Код:
!Изменение характеристик со временем
!Параметры: имя изменяемой переменной (ARGS[0]), скорость изменения (единиц за 1440 мин.) (ARGS[1])

dynamic ‘Var = <<$ARGS[0]>>’
dynamic ‘deltaVar = delta<<$ARGS[0]>>’
deltaVar += (ARGS[1]*TimeInterval) MOD 1440
Var += (ARGS[1]*TimeInterval)/1440
if FUNC(’ABS’,deltaVar) >= 1440:
Var += deltaVar/1440
deltaVar = iif(deltaVar >= 0, deltaVar - 1440, deltaVar + 1440)
end
dynamic ‘<<$ARGS[0]>> = Var’
dynamic ‘delta<<$ARGS[0]>> = deltaVar’
что тут за что отвечает. как args работает я несколько раз читал, но так и не понял

XaHK, не надо понимать :) Если код не понятен в принципе, то объяснение его повлечет за собой не одну страницу текста со ссылками на справку. Есть инструкция, пользуйтесь. Главное надо запомнить, что надо создать локации ‘dstat’ и ‘ABS’, в локацию ‘calendar’ вставить

TimeInterval = time - LastTime 
LastTime = time

а обращаться надо так:

gs 'dstat', 'имя_переменной_которая_изменяется_со_временем', величина_изменения_за_сутки

Пример: есть величина abc, которая должна измениться на +5 за 2 часа. Значит, за сутки она изменится на +60, пишем:

gs 'dstat', 60

Если вы так сделаете, то увидите, что каждые 24 минуты к abc будет прибавляться 1.

evp,

А мне больше интересно, а нафига в этой строчке динамик?

dynamic ‘Var = <<$ARGS[0]>>’

расскажите хоть как args работает. насколько я понимаю это массив, но вот откуда он значения берет я понять никак не могу. Еще если я захочу добавить дополнительные параметры достаточно добавить строчку например gs ‘dstat’, ‘water’, -240? Или надо еще что то добавлять? И для того что бы параметр уменьшался скажем не за сутки а за половину достаточно 240 заменить на 120?
Если есть какой то учебник или еще что со всеми командами дайте ссылку, а то в справке например таких команд, как Var иди Delta я не нашел

Здравствуйте, подскажите пожалуйста как сделать что бы время отображалось в предметах, к примеру при нажатии на предмет телефон? По теме: Календарь по методу счёта Юлианских дней.

я не уверен, но мне кажется надо добавить такую строчку
pl’Время <B><<day>></B> Дней <B><<week>></B> Недель <B><<hour>></B> часов <B><<$nilmin>><<minut>></B> минут’

XaHK:

я не уверен, но мне кажется надо добавить такую строчку
pl’Время <B><<day>></B> Дней <B><<week>></B> Недель <B><<hour>></B> часов <B><<$nilmin>><<minut>></B> минут’

А ты объяснил куда это вводить!?

PsiH,
На первой локации в выполнить при посещении напиши:

$onobjsel = 'ONOBJSEL'

Создал локацию ONOBJSEL, и напиши в ней:

IF $selobj = 'Время':
CLR
PL 'Время <B><<day>></B> Дней <B><<week>></B> Недель <B><<hour>></B> часов <B><<$nilmin>><<minut>></B> минут'
UNSEL
END

PL - это в доп. описание, а *PL - в основное окно |Это уже в плеере будет|.
А потом где тебе нужно, напиши:

ADDOBJ 'Время'

Будут вопросы, пиши, ответим.

Помогите найти ошибку. Пишет, что у самого первого if нет end’a, хотя он вроде как есть.

Spoiler
if $yes = true:
	act 'werfewf':
		cla
		*clr
		*p 'wefdfsdf'
		act 'sdvdfdfgef':
			cla
			*p 'dfwet3233dgfd'
			act 'sdfawwef':
				cla
				*clr
				*p 'sdgartaerwr32asf'
					if кожа_квест = true:
						act 'awetat3r4ED':
							gt 'поля_квест_кожа'
						end
					else
						act 'WEAR323EQw':
							cla
							*clr
							*p 'QR3RWEFRAEH'
							if obj 'Волшебное молоко':
								act 'SERYRT':
							end
							if obj 'Старинный гребень':
								act 'SRTYSR':
							end
							act 'SYSRTYFG':
								gt 'поля_злой'
							end
						end
					end
			end
			act 'ZDRTSERG':
				gt 'поля_злой'
			end
		end
		act 'RETRDF':
			cla
			*clr
			*p 'DRGTSETGFB'
			if obj 'Волшебное молоко':
				act 'DFG5T':
			end
			if obj 'Старинный гребень':
				act 'ESTG':
			end
			act 'E45TRFF':
				gt 'поля_злой'
			end
		end
	end
end

Попробуй перед ACT поставить END.

Oliver,

Spoiler
if $yes = true:
end
	act 'werfewf':
		cla
		*clr
		*p 'wefdfsdf'
		act 'sdvdfdfgef':
			cla
			*p 'dfwet3233dgfd'
			act 'sdfawwef':
				cla
				*clr
				*p 'sdgartaerwr32asf'
					if кожа_квест = true:
						act 'awetat3r4ED':
							gt 'поля_квест_кожа'
						end
					else
						act 'WEAR323EQw':
							cla
							*clr
							*p 'QR3RWEFRAEH'
							if obj 'Волшебное молоко':
								act 'SERYRT':
							end
							if obj 'Старинный гребень':
								act 'SRTYSR':
							end
							act 'SYSRTYFG':
								gt 'поля_злой'
							end
						end
					end
			end
			act 'ZDRTSERG':
				gt 'поля_злой'
			end
		end
		act 'RETRDF':
			cla
			*clr
			*p 'DRGTSETGFB'
			if obj 'Волшебное молоко':
				act 'DFG5T':
			end
			if obj 'Старинный гребень':
				act 'ESTG':
			end
			act 'E45TRFF':
				gt 'поля_злой'
			end
		end
	end
end

Поставила. Условие теперь, конечно, не выполнится, но нашла новую штуку - теперь программа утверждает, что не стоит end после первого act.. Видимо, она просто не видит эти end’ы на таком расстоянии, я даже не знаю. Видимо, опять придется разбивать все(

А так?

if $yes = true: 
    act 'werfewf': 
        cla 
        *clr 
        *p 'wefdfsdf' 
        END
        act 'sdvdfdfgef':

Просто, не с компа, проверит не получиться.

И что за названия у действий, чёт стремное, ты там дьявола не вызываешь?

Oliver,
Тогда вылезают оба действия, которые должны были идти поочередно..
Ладно, придется видимо разбивать)

Названия - это для простоты, там просто текста много, так еще непонятнее))

Lisichka,
Удачки)) Или жди кого-то более мудреного.

Log in or Register to post comments.