Как сделать?
…
Каждый act должен заканчиваться end-ом. Я сам должен догадаться, где вы хотите act закончить? Где заканчивается действие “работать официанткой”?
Может вы это хотели?
if job = 0:
act "поговорить о работе":
cla
"вы зашли к менеджеру"
act "отказаться и уйти": gt "играть"
act "согласиться":
cla
job = 1
act "далее":gt "кафе"
end
end
end
if job = 1:
act "работать официанткой":
minut += 60
money += 100
gs'стат'
delact "работать официанткой"
act "работать":
minut += 60
money += 100
gs'стат'
end
end
end
act "уйти": gt "играть"
спс работает. а как еще сделать что бы параметр не уходил в - ?
if parameter < 0: parameter = 0
Что бы не опускался ниже сделать получилось, а вот в обратную сторону почему-то не работает.
if parametr >значение: parametr = значение
такой код должен же быть? или его нужно в какое то определенное место вставить?
а все нашел нужно было в определенное место вставить
помогите разобраться с календарем. я взял уже готовый и у меня к нему привязаны параметры
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>>’)
if hour + 1:
son = son - 10
golod = golod -10
end
end
pl’Время <B><<day>></B> Дней <B><<week>></B> Недель <B><<hour>></B> часов <B><<$nilmin>><<minut>></B> минут’
pl’Сон<<son>>’
pl’Голод<<golod>>’
pl’Здоровье<<health>>’
pl’деньги<<money>>’
я хочу что бы каждый час отнималось 10 голода и сна, а у меня почему то отнимается 20. где у меня ошибка?
XaHK,
if hour + 1:
son = son - 10
golod = golod -10
end
end
Зачем два END? У тебя только одно двоеточие : убери один END.
просто вроде читал что лишний игнорируется на всякий случай добавил. с одним тоже не работает. у меня вообще при переходе на любую локацию отнимается по -10 на каждой локации прописано time +1
if hour+1
всегда будет выполняться. Потому, что hour+1 всегда отлично от нуля, а следовательно истинно.
if hour <> lasthour:
son -= 10
golod -= 10
lasthour = hour
end
Но это порочный путь - уменьшать каждый час. Этот метод не будет работать, если прошло 2 часа. Он отнимет значения только за час. А если прошло полчаса? son и golod не уменьшатся. Это неправильно.
Вот решение:
TimeInterval = time - LastTime
LastTime = time
!Уменьшение бодрости со скоростью 240ед/1440мин=24час=1сутки
gs 'dstat', 'son', -240
!Уменьшение golod со скоростью 240ед/1440мин
gs 'dstat', 'golod', -240
где локация ‘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'
и локация ‘ABS’:
result = iif(ARGS[0] < 0, -ARGS[0], ARGS[0])
спс понял. А son -= 10 чем то отличается от son = -10?
XaHK:
спс понял. А son -= 10 чем то отличается от son = -10?
Так проще, и читается лучше.
son -= 10
эквивалентно
son = son - 10
т.е. уменьшает son на 10.
А выражение
son = -10
задает переменной сон значение -10.
Oliver, если не понял вопрос, то лучше помолчи :)
Понял спс
evp:
Oliver, если не понял вопрос, то лучше помолчи :)
Да просто не заметил :D