fix coin accrual

This commit is contained in:
2025-12-04 01:46:28 +05:00
parent 0184fa9848
commit 730ee97666
2 changed files with 5 additions and 2 deletions

View File

@ -2,6 +2,8 @@ from datetime import datetime
from app.db.database import users_collection, sessions_collection
from fastapi import HTTPException
MAX_MINUTES_PER_UPDATE = 120
class CoinsService:
async def update_player_coins(self, player_id: str, player_name: str, online_time: int, server_ip: str):
"""Обновляет монеты игрока на основе времени онлайн"""
@ -33,6 +35,7 @@ class CoinsService:
# Если прошло меньше минуты, пропускаем
if minutes_to_reward < 1:
return
minutes_to_reward = min(minutes_to_reward, MAX_MINUTES_PER_UPDATE)
else:
# Первое обновление (ограничиваем для безопасности)
minutes_to_reward = min(online_time // 60, 5)

View File

@ -284,7 +284,7 @@ class EventService:
})
# Начисляем коины за время игры
coins_service = CoinsService()
await coins_service.update_player_coins(player_id, player_name, duration, server_ip)
# coins_service = CoinsService()
# await coins_service.update_player_coins(player_id, player_name, duration, server_ip)
print(f"[{datetime.now()}] Сессия игрока {player_name} завершена, длительность: {duration} сек.")