fix for coin accural #2
This commit is contained in:
@ -28,45 +28,24 @@ class CoinsService:
|
||||
current_total_time = user.get("total_time_played", 0)
|
||||
|
||||
if last_update:
|
||||
# Время с последнего начисления
|
||||
last_timestamp = last_update["timestamp"]
|
||||
seconds_since_update = int((now - last_timestamp).total_seconds())
|
||||
|
||||
# ограничиваем начисление временем текущей сессии
|
||||
seconds_since_update = min(seconds_since_update, online_time)
|
||||
|
||||
# Начисляем монеты только за полные минуты
|
||||
minutes_to_reward = seconds_since_update // 60
|
||||
|
||||
# Если прошло меньше минуты, пропускаем
|
||||
|
||||
# Берём минимум: сколько прошло по часам и сколько игрок реально онлайн
|
||||
seconds_for_reward = min(seconds_since_update, online_time)
|
||||
|
||||
# Начисляем только за полные минуты
|
||||
minutes_to_reward = seconds_for_reward // 60
|
||||
|
||||
if minutes_to_reward < 1:
|
||||
return
|
||||
|
||||
minutes_to_reward = min(minutes_to_reward, MAX_MINUTES_PER_UPDATE)
|
||||
else:
|
||||
# Первое обновление (ограничиваем для безопасности)
|
||||
# Первое обновление — считаем только от online_time, с лимитом для безопасности
|
||||
minutes_to_reward = min(online_time // 60, 5)
|
||||
|
||||
# НА ВСЯКИЙ ЕСЛИ ПОПЫ ВСЕ-РАВНО НЕПРАВИЛЬНО НАЧИСЛЯЮТСЯ
|
||||
|
||||
# if last_update:
|
||||
# last_timestamp = last_update["timestamp"]
|
||||
# seconds_since_update = int((now - last_timestamp).total_seconds())
|
||||
|
||||
# # Берём минимум: сколько прошло по часам и сколько игрок реально онлайн
|
||||
# seconds_for_reward = min(seconds_since_update, online_time)
|
||||
|
||||
# # Начисляем только за полные минуты
|
||||
# minutes_to_reward = seconds_for_reward // 60
|
||||
|
||||
# if minutes_to_reward < 1:
|
||||
# return
|
||||
|
||||
# minutes_to_reward = min(minutes_to_reward, MAX_MINUTES_PER_UPDATE)
|
||||
# else:
|
||||
# # Первое обновление — считаем только от online_time, с лимитом для безопасности
|
||||
# minutes_to_reward = min(online_time // 60, 5)
|
||||
# if minutes_to_reward < 1:
|
||||
# return
|
||||
if minutes_to_reward < 1:
|
||||
return
|
||||
|
||||
if minutes_to_reward > 0:
|
||||
# Обновляем монеты и время
|
||||
|
||||
Reference in New Issue
Block a user