LINUX.ORG.RU

История изменений

Исправление MOPKOBKA, (текущая версия) :

Про таймеры все сложнее. Траваи деревья должны расти только пока игрок в игре. Онлайн.

Ну это не проблема для варианта с обновлением по количеству прошедшего времени, нужно лишь завести переменные «ПрошлоВремени», «ВремяПредыдущегоОткрытия».

При открытии окна, делаем

ВычислитьСостояниеКартеПоПрошедшемуВремени(ПрошлоВремени)

ВремяПредыдущегоОткрытия = ТекущееВремя()
ПрошлоВремени = 0

При отключении делаем

ПрошлоВремени = ПрошлоВремени + (ТекущееВремя() - ВремяПредыдущегоОткрытия)

При подключении

ВремяПредыдущегоОткрытия = ТекущееВремя()

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

Исправление MOPKOBKA, :

Про таймеры все сложнее. Траваи деревья должны расти только пока игрок в игре. Онлайн.

Ну это не проблема для варианта с обновлением по количеству прошедшего времени, нужно лишь завести переменные «ПрошлоВремени», «ВремяПредыдущегоОткрытия».

При открытии окна, делаем

ВычислитьСостояниеКартеПоПрошедшемуВремени(ПрошлоВремени)

ВремяПредыдущегоОткрытия = ТекущееВремя()
ПрошлоВремени = 0

При отключении делаем

ПрошлоВремени = ПрошлоВремени + (ТекущееВремя() - ВремяПредыдущегоОткрытия)

При подключении

ВремяПредыдущегоОткрытия = ТекущееВремя()

В итоге

Исходная версия MOPKOBKA, :

Про таймеры все сложнее. Траваи деревья должны расти только пока игрок в игре. Онлайн.

Ну это не проблема для варианта с обновлением по количеству прошедшего времени, нужно лишь завести переменные «ПрошлоВремени», «ВремяПредыдущегоОткрытия».

При открытии окна, делаем

ВычислитьСостояниеКартеПоПрошедшемуВремени(ПрошлоВремени)

ВремяПредыдущегоОткрытия = ТекущееВремя()
ПрошлоВремени = 0

При отключении делаем

ПрошлоВремени = ПрошлоВремени + ТекущееВремя() - ВремяПредыдущегоОткрытия

При подключении

ВремяПредыдущегоОткрытия = ТекущееВремя()

В итоге