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

FREE NoSteamHelper : 1.0.0 1.0.0

Нет прав для скачивания
C#:
// Все права принадлежат дискорд сообществу https://discord.gg/VgNHPpNrz6
// Author:  Kaidoz
// Filename: NoSteamHelper.cs
// Last update: 2019.10.07 2:06

using System.Collections.Generic;
using Network;
using Oxide.Core;

namespace Oxide.Plugins
{
    [Info("NoSteamHelper", "Kaidoz", "1.0.0")]
    [Description("")]
    internal class NoSteamHelper : RustPlugin
    {
        private static List<DataPlayer> _players = new List<DataPlayer>();

        #region API

        private bool IsPlayerNoSteam(ulong steamid)
        {
            var player = FindPlayer(steamid);

            if (player == null)
            {
                Puts("Player no found");
                return false;
            }

            if (player.IsSteam())
                return false;

            return true;
        }

        #endregion

        private void InitData()
        {
            _players =
                Interface.Oxide.DataFileSystem.ReadObject<List<DataPlayer>>("NoSteamHelper/Players");
        }

        private static void SaveData()
        {
            Interface.Oxide.DataFileSystem.WriteObject("NoSteamHelper/Players", _players);
        }

        private DataPlayer FindPlayer(ulong steamid)
        {
            foreach (var player in _players)
                if (player.SteamId == steamid)
                    return player;

            return null;
        }

        public class DataPlayer
        {
            public bool Steam;
            public ulong SteamId;

            public DataPlayer(ulong id, bool steam)
            {
                SteamId = id;
                Steam = steam;
            }

            public static void AddPlayer(ulong id, bool steam)
            {
                _players.Add(new DataPlayer(id, steam));
                SaveData();
            }

            public bool IsSteam()
            {
                return Steam;
            }
        }

        #region Hooks

        private void OnServerInitialized()
        {
            InitData();
        }

        private object OnSteamAuthFailed(Connection connection)
        {
            var dataPlayer = FindPlayer(connection.userid);
            if (dataPlayer != null)
            {
                if (dataPlayer.IsSteam())
                    return false;

                return null;
            }

            DataPlayer.AddPlayer(connection.userid, false);
            return null;
        }

        private void OnPlayerInit(BasePlayer player)
        {
            var dataPlayer = FindPlayer(player.userID);
            if (dataPlayer != null)
                return;

            DataPlayer.AddPlayer(player.userID, true);
        }

        #endregion
    }
}

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