Как сделать?
Re: Как сделать?
Мыши кололись, но продолжали есть кактус.
Итак:
1. При смене локации, то есть при обращении к onnewloc время пересчитывается. Значит код времени там правильный
Код:
pl "Время: <<$weekday[weekday] + ', ' + day + ' ' + $month[month] + ' ' + year + 'года' + '. ' + $hour + ':' + $minut>>"
2. При смене действия, то есть при обращении к локации stat все показатели (в примере ниже - усталость), кроме времени пересчитываются (Усталость+=5 & time+=10). Значит код времени здесь неправильный.
При этом на локации stat тот же код времени, что и на локации onnewloc.
Код:
clr
Усталость+= args[1]
pl "Усталость: <<Усталость>>|<<максимум_Усталость>>"
if Усталость > 100: Усталость = 100
if Усталость <0: Усталость=0
Время+= args[2]
pl "Время: <<$weekday[weekday] + ', ' + day + ' ' + $month[month] + ' ' + year + 'года' + '. ' + $hour + ':' + $minut>>"
Соответственно, что поменять в коде времени на локации stat?
Re: Как сделать?
AndreWho,То что ты нашел, это не расчет времени, это вывод результата.
Ты мог не видеть результатов расчета времени по двум причинам:
Нет расчета.
Нет обновления результата.
Или все вместе сразу.
Этот код отвечает за подсчет времени.
Код:
JDN = JDNStart + time/1440
hour = (time/60) MOD 24
minut = time MOD 60
weekday = (JDN MOD 7) + 1
JDa = JDN + 32044
JDb = (4*JDa + 3)/146097
JDc = JDa - (146097*JDb/4)
JDd = (4*JDc + 3)/1461
JDe = JDc - 1461*JDd/4
JDm = (5*JDe + 2)/153
day = JDe - (153*JDm+2)/5 + 1
month = JDm + 3 - 12*(JDm/10)
year = 100*JDb + JDd - 4800 + JDm/10
$hour = iif (hour < 10, '0<<hour>>', '<<hour>>')
$minut = iif (minut < 10, '0<<minut>>', '<<minut>>')
Этот - за вывод информации о нем
Код:
pl $weekday[weekday] + ', ' + day + ' ' + $month[month] + ' ' + year + 'года' + '. ' + $hour + ':' + $minut
Re: Как сделать?
Чота я совсем разъехался мыслями.
Все коды, что ты написал находятся на onnewloc. И обращение к нему происходит только при смене локаций. И здесь проблем нет.
Но при смене действий разве тоже идет обращение к onnewloc? Ну тогда бы должно было бы работать все также. А время не работает(((
ПС
Так, вроде отбой.
Я продублировал код расчета времени из onnewloc в stat и вроде поехало.
Re: Как сделать?
Спасибо. Смену времени при выполнении действия вроде удалось победить.
Но оно (время) по-прежнему не отпускает.
На первой локации действие с условием
Код:
if ((hour = 9 and minut >= 30) or (hour = 10 and minut < 00)) and weekday<6
На второй локации
Код:
if ((hour = 10 and minut >= 00) or (hour = 10 and minut < 30)) and weekday<6
На первой локации действие заканчивается в 10:10 и все нормально - повтора нет
На второй локации действие заканчивается в 10:50 и почему-то запускается повтор действия, хотя временные условия уже не соответствуют.
Я ради интереса поменял между собой эти условия на локациях и теперь на первой локации так же действие стало повторяться.
А на второй все нормально.
То есть не выполняется именно вот этот код. Точнее, действие еще раз повторяется.
Код:
if ((hour = 10 and minut >= 00) or (hour = 10 and minut < 30)) and weekday<6
Информация
- Статистика форума:
- Всего тем:
- 1051
- Всего опросов:
- 14
- Всего сообщений:
- 16791185
- Сообщений на этой неделе:
- 1
- Пользователи форума:
- Всего пользователей:
- 2823
- Последним зарегистрировался:
- sabcd5