А что формировать-то? Если пользователь вошёл - делаете отметку в базе и раз в 24 часа (в 00:00:00) проверяете её наличие. Если нет, то сбрасываете очки.
MDAMDA, cron же. Или таймер запускаете, который в отдельном потоке раз в сутки просыпается. Или при запуске программы, я в душе не люблю, как у вас архитектура устроена.
достаточно 3х переменных
last_login,last_inc,days
и немного логики
если текущее время - last_login > 24 то сброс цепочки дней
если сегодня цепочку не считали, то days++
запомнили новый last_login
где у вас будут храниться эти переменные на ваше усмотрение.