Иконка ресурса

FREE PlayerLogs : 1.0.1 1.0.1

Нет прав для скачивания
C#:
using System;
using System.IO;
using Oxide.Core;
using Oxide.Core.Libraries.Covalence;
using Oxide.Core.Plugins;

namespace Oxide.Plugins
{
    [Info("PlayerLogs", "Ridamees", "1.0.1")]
    [Description("Logs player connect/disconnects to separate files")]
    class PlayerLogs : CovalencePlugin
    {
        private readonly PluginData pluginData = new PluginData();

        private class PluginData
        {
            public string LogDirectory { get; set; }

            public PluginData()
            {
                LogDirectory = Path.Combine(Interface.Oxide.LogDirectory, "PlayerLogs");
                Directory.CreateDirectory(LogDirectory);
            }

            public string GetLogFilePath(string steamId, string playerName)
            {
                return Path.Combine(LogDirectory, $"{playerName}({steamId}).txt");
            }
        }

        private void OnUserConnected(IPlayer player)
        {
            string steamId = player.Id;
            string playerName = player.Name;
            string dateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            string logFilePath = pluginData.GetLogFilePath(steamId, playerName);

            string logMessage = $"CONNECTED: {dateTime}";

            AppendLogToFile(logFilePath, logMessage);
        }

        private void OnUserDisconnected(IPlayer player, string reason)
        {
            string steamId = player.Id;
            string playerName = player.Name;
            string dateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            string logFilePath = pluginData.GetLogFilePath(steamId, playerName);

            string logMessage = $"DISCONNECTED: {dateTime} ({reason})";

            AppendLogToFile(logFilePath, logMessage);
        }

        private void AppendLogToFile(string logFilePath, string logMessage)
        {
            try
            {
                using (StreamWriter sw = File.AppendText(logFilePath))
                {
                    sw.WriteLine(logMessage);
                }
            }
            catch (Exception ex)
            {
                Puts($"Error writing to log file {logFilePath}: {ex.Message}");
            }
        }
    }
}

Автор
15FPS
Скачиваний
0
Просмотры
1
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок
Сверху