fix coin accrual
This commit is contained in:
@ -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)
|
||||
|
||||
@ -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} сек.")
|
||||
|
||||
Reference in New Issue
Block a user