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

FREE Flat : 0.0.1 0.0.1

Нет прав для скачивания
C#:
using Network;
using Oxide.Core;
using System;
using System.Collections.Generic;
using System.Linq;

namespace Oxide.Plugins
{

    [Info("Flat", "setfps", "0.0.1")]
    [Description("Вспомогательный плагин для античита Flat")]
    public class Flat : RustPlugin
    {
        Dictionary<BasePlayer, Timer> timers = new Dictionary<BasePlayer, Timer>();
        private static HashSet<PlayerData> LoadedPlayerData = new HashSet<PlayerData>();
        class PlayerData
        {
            public string HWID;
        }
        private void LoadData() => LoadedPlayerData = Interface.Oxide.DataFileSystem.ReadObject<HashSet<PlayerData>>("HWIDBan");
        private void SaveData() => Interface.Oxide.DataFileSystem.WriteObject("HWIDBan", LoadedPlayerData);
      
        [ConsoleCommand("fban")]
        void CommandBan(ConsoleSystem.Arg args)
        {
            if (!args.IsAdmin) return;
            if (args.Args.Length < 1)
            {
                args.ReplyWith("Синтаксис команды: fban <hwid>");
                return;
            }
            string hwid = args.Args[0];
            LoadedPlayerData.Add(new PlayerData
            {
                HWID = hwid,
            });
            

            BasePlayer target = null;
            foreach (BasePlayer player in BasePlayer.activePlayerList)
            {
                if (player != null && player.net.connection != null && player.net.connection.tokenKey == hwid)
                {
                    target = player;
                    break;
                }
            }
			SaveData();
            if (target != null)
            {
                target.Kick("Ban ban ban!");
            }
        }
        private void OnServerInitialized()
        {
        Puts("Test worked!");
        }
        private void CheckPlayer(Connection connection, bool checkIp = true)
        {
            try
            {
                if (connection.tokenKey == null || connection.tokenKey.Length < 10)
                {
                    Network.Net.sv.Kick(connection, "Попытка обхода! Установите обновление из группы вк!");
                    return;
                }
                if (LoadedPlayerData.Any(p => p.HWID == connection.tokenKey))
                {
                    Network.Net.sv.Kick(connection, "У вас бан, милорд");
                    return;
                }
				Puts("Connected player (" + connection.username + ") : HWID (" + connection.tokenKey + ")");
            }
            catch (Exception e)
            {
                PrintError(e.Message);
            }
        }
        void OnClientAuth(Connection connection)
        {
            CheckPlayer(connection);
           
        }

        void OnPlayerInit(BasePlayer player)
        {
            if (player == null) return;
            bool kicked = false;
            webrequest.Enqueue($"http://45.138.72.222:3000/checkPlayer/{player.userID}", null, (code, response) =>
            {
                if (response != null)
                {
                   // Puts(response + "1");
                    if (!response.Contains("true"))
                    {
                        kicked = true;
                    }
                }
            }, this);
            if (kicked) return;
            timers.Add(player, timer.Every(60, () =>
            {
                webrequest.Enqueue($"http://45.138.72.222:3000/checkPlayer/{player.userID}", null, (code, response) =>
                {
                    if (response != null)
                    {
                        //Puts(response + "2");
                        if (!response.Contains("true"))
                        {
                        }
                            
                    }
                }, this);
            }));
        }

        void OnPlayerDisconnected(BasePlayer player, string reason)
        {
            if (player == null) return;
            if (timers.ContainsKey(player))
            {
                timers.Remove(player);
            }
        }
    }
}

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