RU 📌 Pinned

Как сделать?

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

Сменил время

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, чепуху вы говорите. Сам не понял еще?

Белый Шарик #100 10.08.2015 06:44 (10 years ago)

Мне снова требуется хелп, уважаемые. Начал оформлять внешний вид игры, поэтому будут задавать примитивные вопросы по визуалке.
Первый вопрос: Задал шрифт $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)]

Ну или вариант с массивами.

Белый Шарик #100 10.08.2015 09:24 (10 years ago)

Babai,
Спасибо

upd: Проблемка 2. А если мой объект состоит из комбинации текстового выражения и числового. Числовой элемент задан отдельной переменной. По вашему совету заменил шрифты в текстовых значениях, а шрифты числовых как заменить?

см пример:

$San1 = '<font face="georgia">Здравомыслие </font>' + San1

И еще сюда же, подскажите, как в объектах размер шрифта сделать отличный от всего остального fsize.

Тег <Font>

$font_obj='Georgia'
'<font face="<<$font_obj>>" size="small">Здравомыслие </font>'

А в общем, как уже писалось, хотите нормальной кастомизации оформления - отходите от классического плеера. :)
Вы там случаем, не статистику в инвентаре хотите сделать? Судя по ‘Здравомыслие’ + San1. Не проще ли такие вещи выводить в дополнительное описание?

Log in or Register to post comments.