From 730ee97666a8e9c070dfa74706c9c70e1b81f414 Mon Sep 17 00:00:00 2001 From: DIKER0K Date: Thu, 4 Dec 2025 01:46:28 +0500 Subject: [PATCH] fix coin accrual --- app/services/coins.py | 3 +++ app/services/server/event.py | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/services/coins.py b/app/services/coins.py index 46cb99e..67e4602 100644 --- a/app/services/coins.py +++ b/app/services/coins.py @@ -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) diff --git a/app/services/server/event.py b/app/services/server/event.py index e326cae..f746c3d 100644 --- a/app/services/server/event.py +++ b/app/services/server/event.py @@ -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} сек.")