Как сделать?
…
Сменил время
Spoiler
дни = время / (24*60)
часы = (время - дни*24*60) / 60
минуты = время - часы*60 - дни*24*60
PL ‘Время: <<дни>> день, <<часы>>:<<минуты>>.’
всё равно не работает
Драккан:
Сменил время
Вы из крайности в крайность, хотите использовать вариант evp - используйте его календарь)
Ваш предыдущий вариант -
:метка_минуты
if minut >= 60:
minut -= 60
hour += 1
МАНА+=15
jump 'метка_минуты'
end
Тогда минуты будет переводить часы до т ех пор, пока minut => 60
Для данного календаря, я бы использовал buff_health= 24 и каждый час в коде календаря if buff_health > 0 : buff_health-=1
В коде бы использовал:
health- текущее здоровье (сколько осталось)
health_max - максимальное здоровье (зависит только от уровня или/и статов)
и health_total - под баффы/дебаффы. Это окончательный вариант просчетов health_max и в действиях отталкивался бы от него. (К примеру, бутылек полного здоровья - health=health_total
health_total=health_max
if buff_health > 0: health_total + 30
if debuff_healthI > 0: health_total - 10
!и прочие баффы/дебаффы
Ваше здоровье бы, отображал как
'<<health>> из <<health_total>>'
Вам надо понимать, что вы делаете или хотите сделать ,а не тупо копировать код в свой проект.
disclaimer: это код только для понятия моего примера, не надо тянуть его к себе в код ибо работать не будет…
Babai:
хотите использовать вариант evp - используйте его календарь
Использовать надо непрерывное время. То, что календарь его использует, не обязывает им, календарем, пользоваться.
Можно использовать и тот способ, что уже есть, но я бы не советовал, ибо он хранит время в 5-ти переменных: hour, minut, day, month, year. Если же все-таки заморочиться, то надо запомнить все эти переменные на момент бафа, вычислить их значение на момент окончания бафа и сравнивать.
evp:
Использовать надо непрерывное время.
Игры на qsp (в основном) “пошаговые”: действие - обработка - вывод изменений - ожидание действий - действие… , так что не так важно как это время подсчитывать )
evp:
кто берет за основу определенные всем известные игры с некоего форума
Вы о ком, или о чём, сударь?
Babai:
evp:
Использовать надо непрерывное время.
Игры на qsp (в основном) “пошаговые”: действие - обработка - вывод изменений - ожидание действий - действие… , так что не так важно как это время подсчитывать )
Если уж вы в “пошаговой” игре заморочились слежением за временем, то удобнее время хранить в одной переменной (именно это я подразумевал под “непрерывным временем”). Или я не прав?
Народ, подскажите, как реализовать:
1) извлечение квадратного\кубического корня
2) получить модуль числа
Заранее благодарен.
evp:
Если уж вы в “пошаговой” игре заморочились слежением за временем, то удобнее время хранить в одной переменной (именно это я подразумевал под “непрерывным временем”). Или я не прав?
Ну время в таких играх это скорее характеристика, как мана или энергия, влияющая на другие. Абсолютно не обязательный, параметр. В квестах или эдвенчурах можно смело обойтись, для рпг часто используется. Тут ведь разговор о подсчете.
Я не спорю, что хранить удобнее в одной, дело в другом. Все равно используются отдельные переменные под час, день, день недели и т.д. (если не охота каждый раз подсчитывать заново. В итоге разница только в порядке подсчета. Из глобальной переменной в часы, дни и т.д. или наоборот :)
Так что, вариант с minut>60: hour+=1, тоже не плох. Просто под разные нужды. Кому нужно просто считать прошедшее время и изменять параметры в зависимости от этого, кому важнее разделять время суток/дни недели и прочее.
Jolly Roger:
1) извлечение квадратного\кубического корня
2) получить модуль числа
А разве нет функции корня в qsp. oO
Ну тогда либо написать свою функцию, либо был вроде готовый калькулятор и выдрать оттуда. С модулем вообще проблем нет. if x>0: y=x & else y=0-x
А разве нет функции корня в qsp. oO
Сам уже понял почему) В qsp все числа - целые, так что корень из 2 вы не извлечете, к сожалению.
зы. извиняюсь за даблпост. галочка склеить с предыдущим постом стояла.(
Babai, чепуху вы говорите. Сам не понял еще?
Мне снова требуется хелп, уважаемые. Начал оформлять внешний вид игры, поэтому будут задавать примитивные вопросы по визуалке.
Первый вопрос: Задал шрифт $fname = ‘’. Можно ли как-то сделать, что бы шрифт в окне объектов(предметов) отличался от основного шрифта игры?
Ребятки, голову всё себе сломал уже прям…
Как заставить RAND выбирать сразу из двух интервалов? К примеру (от 1 до 20) и (от 40 до 60)
А как из трёх? Это физически возможно?
Белый Шарик:
Можно ли как-то сделать, что бы шрифт в окне объектов(предметов) отличался от основного шрифта игры?
addobj ‘<font face=“Шрифт” color=“Цвет”>Объект</font>’
CoSinyS:
Как заставить RAND выбирать сразу из двух интервалов? К примеру (от 1 до 20) и (от 40 до 60)
Может сделать вариант с двумя ранд, а потом выбрать между ними?
x[]=rand (1,20)
x[]=rand (40,60)
y=x[rand(0,ARRSIZE('x')-1)]
Ну или вариант с массивами.
Babai,
Спасибо
upd: Проблемка 2. А если мой объект состоит из комбинации текстового выражения и числового. Числовой элемент задан отдельной переменной. По вашему совету заменил шрифты в текстовых значениях, а шрифты числовых как заменить?
см пример:
$San1 = '<font face="georgia">Здравомыслие </font>' + San1
И еще сюда же, подскажите, как в объектах размер шрифта сделать отличный от всего остального fsize.
$font_obj='Georgia'
'<font face="<<$font_obj>>" size="small">Здравомыслие </font>'
А в общем, как уже писалось, хотите нормальной кастомизации оформления - отходите от классического плеера. :)
Вы там случаем, не статистику в инвентаре хотите сделать? Судя по ‘Здравомыслие’ + San1. Не проще ли такие вещи выводить в дополнительное описание?