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

FREE Grant : 2.1.3 2.1.3

Нет прав для скачивания
C#:
// Все права принадлежат дискорд сообществу https://discord.gg/VgNHPpNrz6
using System.Text.RegularExpressions;
using System.Collections.Generic;
using Newtonsoft.Json;
using System.Linq;
using System;
using UnityEngine;
using Oxide.Core;
using Oxide.Core.Configuration;
using Oxide.Core.Plugins;
namespace Oxide.Plugins {
    [Info("Grant", "anfunny", "2.1.3")]
    public class Grant : RustPlugin {
        private static GrantData CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS;
        private class GrantData {
            public Dictionary<string, Dictionary<string, long>> Group = new Dictionary<string, Dictionary<string, long>>();
            public Dictionary<string, Dictionary<string, long>> Permission = new Dictionary<string, Dictionary<string, long>>();
        }
        private void Init() {
            SHJIFTUHZTTXGHCAQUFKNXKTWRZIUIPQUCHIENVQTXTZ();
            LoadData();
        }
        private void OnServerInitialized() => timer.Once(3.6f, ()=> WOPVIXBZLFWFZDOFWGPXJJTAVFFVPKAJFOCJDFLIJNZV());
        private void WOPVIXBZLFWFZDOFWGPXJJTAVFFVPKAJFOCJDFLIJNZV() {
            YJYAQSVIYZCRLEEFXGBIRZOQSBCDUMMKIVULMFIUYWQBNLB();
            if (HBCTENUYVDBHDSGOELOETQNVAEOOCBTWYKFWZLSVPU.ULKQACMYXAVIVUTKCGZKRJFNKBYXTATGKMKAKHATOCYFEE) YBHUNTDZVIHOQSNMMSIPJTTSYHKVINDHAAFSESWO();
            SaveData();
            timer.Once(60f, ()=> WOPVIXBZLFWFZDOFWGPXJJTAVFFVPKAJFOCJDFLIJNZV());
        }
        private bool CBQZXCZOGCMVPADSFJBFNZKBFBRVHOWKXMSDOWRHAUZLP(string TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF) => permission.PermissionExists(TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF, null);
        private bool OEHPEDXQZCRPTVLDHSGBXCHZEJSTETAYLSMMNRKTMHNQM(string group) => permission.GroupExists(group);
        private bool CWVXMGFNPMWILULDLGCSDBJZPPHNPPPRMEGVYGGTTYCAPEGPI(BasePlayer player, string userID, string TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF, DateTime WVMJZJRMXWYWSISWWHIVYGPQWUFDOCZTNKQYVKWZIMOHKXP) {
            if (CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Permission.ContainsKey(userID)) {
                var HUCFIYVXGPGNAEOIVXNCMNEALGQBDIKFPCXXUQVU = CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Permission[userID];
                if (HUCFIYVXGPGNAEOIVXNCMNEALGQBDIKFPCXXUQVU.ContainsKey(TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF)) {
                    if (!permission.UserHasPermission(userID, TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF)) permission.GrantUserPermission(userID, TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF, null);
                    HUCFIYVXGPGNAEOIVXNCMNEALGQBDIKFPCXXUQVU[TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF] += (long)Math.Round((WVMJZJRMXWYWSISWWHIVYGPQWUFDOCZTNKQYVKWZIMOHKXP - DateTime.Now).TotalSeconds);
                    ERCSEVHSOMVOYSQDXBJGXWRIYHOZPOWBJOFTTEFRGPCISIN(player, $"Игроку \"{XCWOOQTOVPTQIFXFYNIHXXPUFOVCZHLKPUNEOSRIDMDGDJMBW(userID)} ({userID})\" продлена привилегия \"{TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF}\" в сумме до \"{REQGTHEYWLQFICXSDNNVULGKHGZWBZWWZUHUSVCCG(HUCFIYVXGPGNAEOIVXNCMNEALGQBDIKFPCXXUQVU[TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF] - ToEpochTime(DateTime.Now))}\"");
                }
                else {
                    if (!CBQZXCZOGCMVPADSFJBFNZKBFBRVHOWKXMSDOWRHAUZLP(TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF)) return false;
                    if (!HBCTENUYVDBHDSGOELOETQNVAEOOCBTWYKFWZLSVPU.SWJYEXZFFBHVLREMNYIQFTZIDWCFLUYBWBAVGANHRIAYPWL) {
                        if (permission.UserHasPermission(userID, TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF)) {
                            FCQZIUPGMMFXEHHMFIFYDYRBTMZFKJQFLJOSSXNZKNLNOW(player, $"Игрок \"{XCWOOQTOVPTQIFXFYNIHXXPUFOVCZHLKPUNEOSRIDMDGDJMBW(userID)} ({userID})\" уже имеет привилегию \"{TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF}\" в качестве постоянной");
                            return true;
                        }
                    }
                    permission.GrantUserPermission(userID, TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF, null);
                    HUCFIYVXGPGNAEOIVXNCMNEALGQBDIKFPCXXUQVU.Add(TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF, ToEpochTime(WVMJZJRMXWYWSISWWHIVYGPQWUFDOCZTNKQYVKWZIMOHKXP));
                    ERCSEVHSOMVOYSQDXBJGXWRIYHOZPOWBJOFTTEFRGPCISIN(player, $"Игроку \"{XCWOOQTOVPTQIFXFYNIHXXPUFOVCZHLKPUNEOSRIDMDGDJMBW(userID)} ({userID})\" выдана привилегия \"{TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF}\" на \"{REQGTHEYWLQFICXSDNNVULGKHGZWBZWWZUHUSVCCG(HUCFIYVXGPGNAEOIVXNCMNEALGQBDIKFPCXXUQVU[TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF] - ToEpochTime(DateTime.Now))}\"");
                }
            }
            else {
                if (!CBQZXCZOGCMVPADSFJBFNZKBFBRVHOWKXMSDOWRHAUZLP(TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF)) return false;
                if (!HBCTENUYVDBHDSGOELOETQNVAEOOCBTWYKFWZLSVPU.SWJYEXZFFBHVLREMNYIQFTZIDWCFLUYBWBAVGANHRIAYPWL) {
                    if (permission.UserHasPermission(userID, TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF)) {
                        FCQZIUPGMMFXEHHMFIFYDYRBTMZFKJQFLJOSSXNZKNLNOW(player, $"Игрок \"{XCWOOQTOVPTQIFXFYNIHXXPUFOVCZHLKPUNEOSRIDMDGDJMBW(userID)} ({userID})\" уже имеет привилегию \"{TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF}\" в качестве постоянной");
                        return true;
                    }
                }
                CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Permission.Add(userID, new Dictionary<string, long>());
                CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Group.Add(userID, new Dictionary<string, long>());
                var HUCFIYVXGPGNAEOIVXNCMNEALGQBDIKFPCXXUQVU = CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Permission[userID];
                permission.GrantUserPermission(userID, TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF, null);
                HUCFIYVXGPGNAEOIVXNCMNEALGQBDIKFPCXXUQVU.Add(TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF, ToEpochTime(WVMJZJRMXWYWSISWWHIVYGPQWUFDOCZTNKQYVKWZIMOHKXP));
                ERCSEVHSOMVOYSQDXBJGXWRIYHOZPOWBJOFTTEFRGPCISIN(player, $"Игроку \"{XCWOOQTOVPTQIFXFYNIHXXPUFOVCZHLKPUNEOSRIDMDGDJMBW(userID)} ({userID})\" выдана привилегия \"{TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF}\" на \"{REQGTHEYWLQFICXSDNNVULGKHGZWBZWWZUHUSVCCG(HUCFIYVXGPGNAEOIVXNCMNEALGQBDIKFPCXXUQVU[TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF] - ToEpochTime(DateTime.Now))}\"");
            }
            SaveData();
            return true;
        }
        private bool WGOTWBMWHWYRYZXFVGOPFFZIZFZIJLJSFFTIDTIFJBZ(BasePlayer player, string userID, string group, DateTime WVMJZJRMXWYWSISWWHIVYGPQWUFDOCZTNKQYVKWZIMOHKXP) {
            if (CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Group.ContainsKey(userID)) {
                var KBXWVRBQEGODQQTQBTBITTXFBXYHQNEBTDCMGEQPPLZBWBZLD = CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Group[userID];
                if (KBXWVRBQEGODQQTQBTBITTXFBXYHQNEBTDCMGEQPPLZBWBZLD.ContainsKey(group)) {
                    if (!permission.UserHasGroup(userID, group)) permission.AddUserGroup(userID, group);
                    KBXWVRBQEGODQQTQBTBITTXFBXYHQNEBTDCMGEQPPLZBWBZLD[group] += (long)Math.Round((WVMJZJRMXWYWSISWWHIVYGPQWUFDOCZTNKQYVKWZIMOHKXP - DateTime.Now).TotalSeconds);
                    ERCSEVHSOMVOYSQDXBJGXWRIYHOZPOWBJOFTTEFRGPCISIN(player, $"Игроку \"{XCWOOQTOVPTQIFXFYNIHXXPUFOVCZHLKPUNEOSRIDMDGDJMBW(userID)} ({userID})\" продлено пребывание в группе \"{group}\" в сумме до \"{REQGTHEYWLQFICXSDNNVULGKHGZWBZWWZUHUSVCCG(KBXWVRBQEGODQQTQBTBITTXFBXYHQNEBTDCMGEQPPLZBWBZLD[group] - ToEpochTime(DateTime.Now))}\"");
                }
                else {
                    if (!OEHPEDXQZCRPTVLDHSGBXCHZEJSTETAYLSMMNRKTMHNQM(group)) return false;
                    if (!HBCTENUYVDBHDSGOELOETQNVAEOOCBTWYKFWZLSVPU.SWJYEXZFFBHVLREMNYIQFTZIDWCFLUYBWBAVGANHRIAYPWL) {
                        if (permission.UserHasGroup(userID, group)) {
                            FCQZIUPGMMFXEHHMFIFYDYRBTMZFKJQFLJOSSXNZKNLNOW(player, $"Игрок \"{XCWOOQTOVPTQIFXFYNIHXXPUFOVCZHLKPUNEOSRIDMDGDJMBW(userID)} ({userID})\" уже входит в группу \"{group}\" на постоянной основе");
                            return true;
                        }
                    }
                    permission.AddUserGroup(userID, group);
                    KBXWVRBQEGODQQTQBTBITTXFBXYHQNEBTDCMGEQPPLZBWBZLD.Add(group, ToEpochTime(WVMJZJRMXWYWSISWWHIVYGPQWUFDOCZTNKQYVKWZIMOHKXP));
                    ERCSEVHSOMVOYSQDXBJGXWRIYHOZPOWBJOFTTEFRGPCISIN(player, $"Игрок \"{XCWOOQTOVPTQIFXFYNIHXXPUFOVCZHLKPUNEOSRIDMDGDJMBW(userID)} ({userID})\" добавлен в группу \"{group}\" на \"{REQGTHEYWLQFICXSDNNVULGKHGZWBZWWZUHUSVCCG(KBXWVRBQEGODQQTQBTBITTXFBXYHQNEBTDCMGEQPPLZBWBZLD[group] - ToEpochTime(DateTime.Now))}\"");
                }
            }
            else {
                if (!OEHPEDXQZCRPTVLDHSGBXCHZEJSTETAYLSMMNRKTMHNQM(group)) return false;
                if (!HBCTENUYVDBHDSGOELOETQNVAEOOCBTWYKFWZLSVPU.SWJYEXZFFBHVLREMNYIQFTZIDWCFLUYBWBAVGANHRIAYPWL) {
                    if (permission.UserHasGroup(userID, group)) {
                        FCQZIUPGMMFXEHHMFIFYDYRBTMZFKJQFLJOSSXNZKNLNOW(player, $"Игрок \"{XCWOOQTOVPTQIFXFYNIHXXPUFOVCZHLKPUNEOSRIDMDGDJMBW(userID)} ({userID})\" уже входит в группу \"{group}\" на постоянной основе");
                        return true;
                    }
                }
                CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Group.Add(userID, new Dictionary<string, long>());
                CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Permission.Add(userID, new Dictionary<string, long>());
                var KBXWVRBQEGODQQTQBTBITTXFBXYHQNEBTDCMGEQPPLZBWBZLD = CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Group[userID];
                permission.AddUserGroup(userID, group);
                KBXWVRBQEGODQQTQBTBITTXFBXYHQNEBTDCMGEQPPLZBWBZLD.Add(group, ToEpochTime(WVMJZJRMXWYWSISWWHIVYGPQWUFDOCZTNKQYVKWZIMOHKXP));
                ERCSEVHSOMVOYSQDXBJGXWRIYHOZPOWBJOFTTEFRGPCISIN(player, $"Игрок \"{XCWOOQTOVPTQIFXFYNIHXXPUFOVCZHLKPUNEOSRIDMDGDJMBW(userID)} ({userID})\" добавлен в группу \"{group}\" на \"{REQGTHEYWLQFICXSDNNVULGKHGZWBZWWZUHUSVCCG(KBXWVRBQEGODQQTQBTBITTXFBXYHQNEBTDCMGEQPPLZBWBZLD[group] - ToEpochTime(DateTime.Now))}\"");
            }
            SaveData();
            return true;
        }
        private void VBZCDJIZBTDRGGTRCEMWNGMSGOCCYJFDFQNYFWFZCJR(BasePlayer player, string userID, string TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF, bool TPMAKAIDMZDLGLZSXQHVBKPKQBTUGMUZYDWMOCLY = true) {
            if (CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Permission.ContainsKey(userID)) {
                var HUCFIYVXGPGNAEOIVXNCMNEALGQBDIKFPCXXUQVU = CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Permission[userID];
                if (HUCFIYVXGPGNAEOIVXNCMNEALGQBDIKFPCXXUQVU.ContainsKey(TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF)) {
                    HUCFIYVXGPGNAEOIVXNCMNEALGQBDIKFPCXXUQVU.Remove(TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF);
                    if (TPMAKAIDMZDLGLZSXQHVBKPKQBTUGMUZYDWMOCLY) SaveData();
                    if (permission.UserHasPermission(userID, TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF)) {
                        ERCSEVHSOMVOYSQDXBJGXWRIYHOZPOWBJOFTTEFRGPCISIN(player, $"У игрока \"{XCWOOQTOVPTQIFXFYNIHXXPUFOVCZHLKPUNEOSRIDMDGDJMBW(userID)} ({userID})\" была снята привилегия \"{TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF}\"");
                        permission.RevokeUserPermission(userID, TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF);
                        return;
                    }
                }
            }
            if (HBCTENUYVDBHDSGOELOETQNVAEOOCBTWYKFWZLSVPU.IENYORKELXBMQOGSZZFVTKEISNKOTTSPYSFQNFZWSXIZXYOIS) {
                if (permission.UserHasPermission(userID, TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF)) {
                    ERCSEVHSOMVOYSQDXBJGXWRIYHOZPOWBJOFTTEFRGPCISIN(player, $"У игрока \"{XCWOOQTOVPTQIFXFYNIHXXPUFOVCZHLKPUNEOSRIDMDGDJMBW(userID)} ({userID})\" была снята привилегия \"{TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF}\"");
                    permission.RevokeUserPermission(userID, TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF);
                    return;
                }
            }
            FCQZIUPGMMFXEHHMFIFYDYRBTMZFKJQFLJOSSXNZKNLNOW(player, $"У игрока \"{XCWOOQTOVPTQIFXFYNIHXXPUFOVCZHLKPUNEOSRIDMDGDJMBW(userID)} ({userID})\" нет привилегии \"{TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF}\"");
        }
        private void CCBXZRDFODVOOGWOHGBSNZLQSVLFYNUEPAQDMFCHFAPC(BasePlayer player, string userID, string group, bool TPMAKAIDMZDLGLZSXQHVBKPKQBTUGMUZYDWMOCLY = true) {
            if (CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Group.ContainsKey(userID)) {
                var KBXWVRBQEGODQQTQBTBITTXFBXYHQNEBTDCMGEQPPLZBWBZLD = CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Group[userID];
                if (KBXWVRBQEGODQQTQBTBITTXFBXYHQNEBTDCMGEQPPLZBWBZLD.ContainsKey(group)) {
                    KBXWVRBQEGODQQTQBTBITTXFBXYHQNEBTDCMGEQPPLZBWBZLD.Remove(group);
                    if (TPMAKAIDMZDLGLZSXQHVBKPKQBTUGMUZYDWMOCLY) SaveData();
                    if (permission.UserHasGroup(userID, group)) {
                        ERCSEVHSOMVOYSQDXBJGXWRIYHOZPOWBJOFTTEFRGPCISIN(player, $"Игрок \"{XCWOOQTOVPTQIFXFYNIHXXPUFOVCZHLKPUNEOSRIDMDGDJMBW(userID)} ({userID})\" был исключён из группы \"{group}\"");
                        permission.RemoveUserGroup(userID, group);
                        return;
                    }
                }
            }
            if (HBCTENUYVDBHDSGOELOETQNVAEOOCBTWYKFWZLSVPU.IENYORKELXBMQOGSZZFVTKEISNKOTTSPYSFQNFZWSXIZXYOIS) {
                if (permission.UserHasGroup(userID, group)) {
                    ERCSEVHSOMVOYSQDXBJGXWRIYHOZPOWBJOFTTEFRGPCISIN(player, $"Игрок \"{XCWOOQTOVPTQIFXFYNIHXXPUFOVCZHLKPUNEOSRIDMDGDJMBW(userID)} ({userID})\" был исключён из группы \"{group}\"");
                    permission.RemoveUserGroup(userID, group);
                    return;
                }
            }
            FCQZIUPGMMFXEHHMFIFYDYRBTMZFKJQFLJOSSXNZKNLNOW(player, $"Игрок \"{XCWOOQTOVPTQIFXFYNIHXXPUFOVCZHLKPUNEOSRIDMDGDJMBW(userID)} ({userID})\" не состоял в группе \"{group}\"");
        }
        private void YJYAQSVIYZCRLEEFXGBIRZOQSBCDUMMKIVULMFIUYWQBNLB() {
            var TWULEQDRVXTTZQCMKMOHJWDMTIUWJZYMDJUIGHYLIPJ = ToEpochTime(DateTime.Now);
            foreach (var pair in CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Permission.ToDictionary(x=> x.Key, x=> x.Value)) foreach (var TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF in pair.Value.ToDictionary(x=> x.Key, x=> x.Value)) if (TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF.Value - TWULEQDRVXTTZQCMKMOHJWDMTIUWJZYMDJUIGHYLIPJ <= 0) VBZCDJIZBTDRGGTRCEMWNGMSGOCCYJFDFQNYFWFZCJR(null, pair.Key, TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF.Key, false);
            foreach (var pair in CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Group.ToDictionary(x=> x.Key, x=> x.Value)) foreach (var group in pair.Value.ToDictionary(x=> x.Key, x=> x.Value)) if (group.Value - TWULEQDRVXTTZQCMKMOHJWDMTIUWJZYMDJUIGHYLIPJ <= 0) CCBXZRDFODVOOGWOHGBSNZLQSVLFYNUEPAQDMFCHFAPC(null, pair.Key, group.Key, false);
        }
        private void YBHUNTDZVIHOQSNMMSIPJTTSYHKVINDHAAFSESWO() {
            foreach (var pair in CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Permission) foreach (var TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF in pair.Value) if (!permission.UserHasPermission(pair.Key, TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF.Key) && CBQZXCZOGCMVPADSFJBFNZKBFBRVHOWKXMSDOWRHAUZLP(TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF.Key)) {
                permission.GrantUserPermission(pair.Key, TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF.Key, null);
                ERCSEVHSOMVOYSQDXBJGXWRIYHOZPOWBJOFTTEFRGPCISIN(null, $"Игроку \"{XCWOOQTOVPTQIFXFYNIHXXPUFOVCZHLKPUNEOSRIDMDGDJMBW(pair.Key)} ({pair.Key})\" была восстановлена привилегия \"{TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF.Key}\"");
            }
            foreach (var pair in CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Group) foreach (var group in pair.Value) if (!permission.UserHasGroup(pair.Key, group.Key) && OEHPEDXQZCRPTVLDHSGBXCHZEJSTETAYLSMMNRKTMHNQM(group.Key)) {
                permission.AddUserGroup(pair.Key, group.Key);
                ERCSEVHSOMVOYSQDXBJGXWRIYHOZPOWBJOFTTEFRGPCISIN(null, $"Игроку \"{XCWOOQTOVPTQIFXFYNIHXXPUFOVCZHLKPUNEOSRIDMDGDJMBW(pair.Key)} ({pair.Key})\" была восстановлена группа \"{group.Key}\"");
            }
        }
        [ConsoleCommand("revoke.permission")]
        private void VQEXTEFIDOUDLREIPVGIIQHFAOPMVIUVTWOCPUFCEMEYIDO(ConsoleSystem.Arg WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP) {
            var player = WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP?.Player();
            if (player != null && !player.IsAdmin) {
                PrintToConsole(player, "У вас нет прав использовать эту команду.");
                return;
            }
            if (WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP?.Args?.Length != 2) {
                FCQZIUPGMMFXEHHMFIFYDYRBTMZFKJQFLJOSSXNZKNLNOW(player, "Синтаксис: revoke.permission <name|steamid> <permission>");
                return;
            }
            var userID = WOUYCANBIAUQPODIANSTRGWZEKTIRWBTFMKXQRSNQMJQ(WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP.Args[0], player);
            if (string.IsNullOrEmpty(userID)) return;
            var permission = WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP.Args[1].ToLower();
            VBZCDJIZBTDRGGTRCEMWNGMSGOCCYJFDFQNYFWFZCJR(player, userID, permission);
        }
        [ConsoleCommand("grant.permission")]
        private void AKPWQFKEIYXEPSMVTYJPDCSUQDEVLJWWAGMLSYFNMJT(ConsoleSystem.Arg WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP) {
            var player = WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP?.Player();
            if (player != null && !player.IsAdmin) {
                PrintToConsole(player, "У вас нет прав использовать эту команду.");
                return;
            }
            if (WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP?.Args?.Length != 3) {
                FCQZIUPGMMFXEHHMFIFYDYRBTMZFKJQFLJOSSXNZKNLNOW(player, "Синтаксис: grant.permission <name|steamid> <permission> <time Ex: 1d12h30m>");
                return;
            }
            var userID = WOUYCANBIAUQPODIANSTRGWZEKTIRWBTFMKXQRSNQMJQ(WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP.Args[0], player);
            if (string.IsNullOrEmpty(userID)) return;
            var permission = WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP.Args[1].ToLower();
            DateTime WVMJZJRMXWYWSISWWHIVYGPQWUFDOCZTNKQYVKWZIMOHKXP;
            if (!USRBSXROHKPGWUJVDWAMVSPTIVGNPNEMWMFNSHXHTVHIDQRFB(WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP.Args[2], out WVMJZJRMXWYWSISWWHIVYGPQWUFDOCZTNKQYVKWZIMOHKXP)) {
                FCQZIUPGMMFXEHHMFIFYDYRBTMZFKJQFLJOSSXNZKNLNOW(player, "Неверный формат времени: Пример: 1d12h30m | d = дней, h = часов, m = минут");
                return;
            }
            WVMJZJRMXWYWSISWWHIVYGPQWUFDOCZTNKQYVKWZIMOHKXP = WVMJZJRMXWYWSISWWHIVYGPQWUFDOCZTNKQYVKWZIMOHKXP.AddSeconds(3);
            if (!CWVXMGFNPMWILULDLGCSDBJZPPHNPPPRMEGVYGGTTYCAPEGPI(player, userID, permission, WVMJZJRMXWYWSISWWHIVYGPQWUFDOCZTNKQYVKWZIMOHKXP)) FCQZIUPGMMFXEHHMFIFYDYRBTMZFKJQFLJOSSXNZKNLNOW(player, $"Привилегия \"{permission}\" не существует.");
        }
        [ConsoleCommand("revoke.group")]
        private void XANLZJEJUZFYRUFMBPTZCBEJGBCVTVCTICXQQSVCEMBAAO(ConsoleSystem.Arg WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP) {
            var player = WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP?.Player();
            if (player != null && !player.IsAdmin) {
                PrintToConsole(player, "У вас нет прав использовать эту команду.");
                return;
            }
            if (WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP?.Args?.Length != 2) {
                FCQZIUPGMMFXEHHMFIFYDYRBTMZFKJQFLJOSSXNZKNLNOW(player, "Синтаксис: revoke.group <name|steamid> <group>");
                return;
            }
            var userID = WOUYCANBIAUQPODIANSTRGWZEKTIRWBTFMKXQRSNQMJQ(WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP.Args[0], player);
            if (string.IsNullOrEmpty(userID)) return;
            var group = WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP.Args[1].ToLower();
            CCBXZRDFODVOOGWOHGBSNZLQSVLFYNUEPAQDMFCHFAPC(player, userID, group);
        }
        [ConsoleCommand("grant.group")]
        private void YSSMXQUNVVEFXGJQZWLPPWPWJTQVQZDISIEDBJFDOOCUMMX(ConsoleSystem.Arg WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP) {
            var player = WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP?.Player();
            if (player != null && !player.IsAdmin) {
                PrintToConsole(player, "У вас нет прав использовать эту команду.");
                return;
            }
            if (WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP?.Args?.Length != 3) {
                FCQZIUPGMMFXEHHMFIFYDYRBTMZFKJQFLJOSSXNZKNLNOW(player, "Синтаксис: grant.group <name|steamid> <group> <time Ex: 1d12h30m>");
                return;
            }
            var userID = WOUYCANBIAUQPODIANSTRGWZEKTIRWBTFMKXQRSNQMJQ(WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP.Args[0], player);
            if (string.IsNullOrEmpty(userID)) return;
            var group = WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP.Args[1].ToLower();
            DateTime WVMJZJRMXWYWSISWWHIVYGPQWUFDOCZTNKQYVKWZIMOHKXP;
            if (!USRBSXROHKPGWUJVDWAMVSPTIVGNPNEMWMFNSHXHTVHIDQRFB(WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP.Args[2], out WVMJZJRMXWYWSISWWHIVYGPQWUFDOCZTNKQYVKWZIMOHKXP)) {
                FCQZIUPGMMFXEHHMFIFYDYRBTMZFKJQFLJOSSXNZKNLNOW(player, "Неверный формат времени: Пример: 1d12h30m | d = дней, h = часов, m = минут");
                return;
            }
            WVMJZJRMXWYWSISWWHIVYGPQWUFDOCZTNKQYVKWZIMOHKXP = WVMJZJRMXWYWSISWWHIVYGPQWUFDOCZTNKQYVKWZIMOHKXP.AddSeconds(3);
            if (!WGOTWBMWHWYRYZXFVGOPFFZIZFZIJLJSFFTIDTIFJBZ(player, userID, group, WVMJZJRMXWYWSISWWHIVYGPQWUFDOCZTNKQYVKWZIMOHKXP)) FCQZIUPGMMFXEHHMFIFYDYRBTMZFKJQFLJOSSXNZKNLNOW(player, $"Группа \"{group}\" не существует.");
        }
        [ConsoleCommand("grant.info")]
        private void VVCEOYECCWCEZYXWRVMPBFPQRIBAUVJWVUAUXZUTDCAEHBDQ(ConsoleSystem.Arg WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP) {
            var player = WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP?.Player();
            if (player != null && !player.IsAdmin) {
                PrintToConsole(player, "У вас нет прав использовать эту команду.");
                return;
            }
            if (WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP?.Args?.Length != 1) {
                FCQZIUPGMMFXEHHMFIFYDYRBTMZFKJQFLJOSSXNZKNLNOW(player, "Синтаксис: grant.info <name|steamid>");
                return;
            }
            var userID = WOUYCANBIAUQPODIANSTRGWZEKTIRWBTFMKXQRSNQMJQ(WBNFMMRGPXOJKYJZCKJHOXZEENCONDUFIFFJCEDOCNQPGP.Args[0], player);
            if (string.IsNullOrEmpty(userID)) return;
            var TWULEQDRVXTTZQCMKMOHJWDMTIUWJZYMDJUIGHYLIPJ = ToEpochTime(DateTime.Now);
            var PCPAGNUPFWNFEOYVWFJISUALKJNLRIGYEGNLMYMZQASZXRVTO = "нет";
            if (CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Permission.ContainsKey(userID)) {
                var HUCFIYVXGPGNAEOIVXNCMNEALGQBDIKFPCXXUQVU = CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Permission[userID];
                PCPAGNUPFWNFEOYVWFJISUALKJNLRIGYEGNLMYMZQASZXRVTO = "";
                foreach(var TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF in HUCFIYVXGPGNAEOIVXNCMNEALGQBDIKFPCXXUQVU.Where(x=> x.Value - TWULEQDRVXTTZQCMKMOHJWDMTIUWJZYMDJUIGHYLIPJ > 0).OrderBy(x=> x.Key)) PCPAGNUPFWNFEOYVWFJISUALKJNLRIGYEGNLMYMZQASZXRVTO += $"\"{TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF.Key}\" осталось \"{REQGTHEYWLQFICXSDNNVULGKHGZWBZWWZUHUSVCCG(TYUPKCBTBMGUCXCTNVWAOHZQDDQBBDVZYANMJXTCGHUERF.Value - TWULEQDRVXTTZQCMKMOHJWDMTIUWJZYMDJUIGHYLIPJ)}\", ";
                PCPAGNUPFWNFEOYVWFJISUALKJNLRIGYEGNLMYMZQASZXRVTO = PCPAGNUPFWNFEOYVWFJISUALKJNLRIGYEGNLMYMZQASZXRVTO.Trim(',', ' ');
                if (string.IsNullOrEmpty(PCPAGNUPFWNFEOYVWFJISUALKJNLRIGYEGNLMYMZQASZXRVTO)) PCPAGNUPFWNFEOYVWFJISUALKJNLRIGYEGNLMYMZQASZXRVTO = "нет";
            }
            var KFOGGUBEPXAIXXQOAXAMIYSJSRBANTNTXYXBKYATKHIPZHD = "нет";
            if (CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Group.ContainsKey(userID)) {
                var KBXWVRBQEGODQQTQBTBITTXFBXYHQNEBTDCMGEQPPLZBWBZLD = CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Group[userID];
                KFOGGUBEPXAIXXQOAXAMIYSJSRBANTNTXYXBKYATKHIPZHD = "";
                foreach(var group in KBXWVRBQEGODQQTQBTBITTXFBXYHQNEBTDCMGEQPPLZBWBZLD.Where(x=> x.Value - TWULEQDRVXTTZQCMKMOHJWDMTIUWJZYMDJUIGHYLIPJ > 0).OrderBy(x=> x.Key)) KFOGGUBEPXAIXXQOAXAMIYSJSRBANTNTXYXBKYATKHIPZHD += $"\"{group.Key}\" осталось \"{REQGTHEYWLQFICXSDNNVULGKHGZWBZWWZUHUSVCCG(group.Value - TWULEQDRVXTTZQCMKMOHJWDMTIUWJZYMDJUIGHYLIPJ)}\", ";
                KFOGGUBEPXAIXXQOAXAMIYSJSRBANTNTXYXBKYATKHIPZHD = KFOGGUBEPXAIXXQOAXAMIYSJSRBANTNTXYXBKYATKHIPZHD.Trim(',', ' ');
                if (string.IsNullOrEmpty(KFOGGUBEPXAIXXQOAXAMIYSJSRBANTNTXYXBKYATKHIPZHD)) KFOGGUBEPXAIXXQOAXAMIYSJSRBANTNTXYXBKYATKHIPZHD = "нет";
            }
            FCQZIUPGMMFXEHHMFIFYDYRBTMZFKJQFLJOSSXNZKNLNOW(player, $"Данные игрока \"{XCWOOQTOVPTQIFXFYNIHXXPUFOVCZHLKPUNEOSRIDMDGDJMBW(userID)} ({userID})\":\nГруппы: {KFOGGUBEPXAIXXQOAXAMIYSJSRBANTNTXYXBKYATKHIPZHD}\nПривилегии: {PCPAGNUPFWNFEOYVWFJISUALKJNLRIGYEGNLMYMZQASZXRVTO}");
        }
        private void FCQZIUPGMMFXEHHMFIFYDYRBTMZFKJQFLJOSSXNZKNLNOW(BasePlayer player, string FNMMRBRCYBIBZJCSMCIAFSAXXHUFAHKYOZXBBQCDRCHHT) {
            if (player != null) PrintToConsole(player, FNMMRBRCYBIBZJCSMCIAFSAXXHUFAHKYOZXBBQCDRCHHT);
            else Puts(FNMMRBRCYBIBZJCSMCIAFSAXXHUFAHKYOZXBBQCDRCHHT);
        }
        private static long ToEpochTime(DateTime EEZVDNXOHMMPOKHMBRRKMZMBRVZFJCLSDUCPFFDWA) {
            var DBVCUEYXHBVIIUMJVZILEZDCVYDXPLXOHJBDFRROJUY = EEZVDNXOHMMPOKHMBRRKMZMBRVZFJCLSDUCPFFDWA.ToLocalTime();
            var JIRYTBKMMEOOTARWJGKZZOECWHBAPDKKOFREBPZVNKOFJLZK = DBVCUEYXHBVIIUMJVZILEZDCVYDXPLXOHJBDFRROJUY.Ticks - new DateTime(1970, 1, 1, 0, 0, 0, 0).Ticks;
            var LFSWDWUEPBMAKWJUEAOJMVUHOMOAYTKHRKEXRNKJWAMONV = JIRYTBKMMEOOTARWJGKZZOECWHBAPDKKOFREBPZVNKOFJLZK / TimeSpan.TicksPerSecond;
            return LFSWDWUEPBMAKWJUEAOJMVUHOMOAYTKHRKEXRNKJWAMONV;
        }
        private static bool USRBSXROHKPGWUJVDWAMVSPTIVGNPNEMWMFNSHXHTVHIDQRFB(string RKOLCSWFAPQIQESXDIOSFEBTLTHRGWNUJMHCMGTG, out DateTime DBVCUEYXHBVIIUMJVZILEZDCVYDXPLXOHJBDFRROJUY) {
            int minutes = 0;
            int hours = 0;
            int days = 0;
            Match m = new Regex(@"(\d+?)m", RegexOptions.IgnoreCase).Match(RKOLCSWFAPQIQESXDIOSFEBTLTHRGWNUJMHCMGTG);
            Match h = new Regex(@"(\d+?)h", RegexOptions.IgnoreCase).Match(RKOLCSWFAPQIQESXDIOSFEBTLTHRGWNUJMHCMGTG);
            Match d = new Regex(@"(\d+?)d", RegexOptions.IgnoreCase).Match(RKOLCSWFAPQIQESXDIOSFEBTLTHRGWNUJMHCMGTG);
            if (m.Success) minutes = Convert.ToInt32(m.Groups[1].ToString());
            if (h.Success) hours = Convert.ToInt32(h.Groups[1].ToString());
            if (d.Success) days = Convert.ToInt32(d.Groups[1].ToString());
            RKOLCSWFAPQIQESXDIOSFEBTLTHRGWNUJMHCMGTG = RKOLCSWFAPQIQESXDIOSFEBTLTHRGWNUJMHCMGTG.Replace(minutes.ToString() + "m", string.Empty);
            RKOLCSWFAPQIQESXDIOSFEBTLTHRGWNUJMHCMGTG = RKOLCSWFAPQIQESXDIOSFEBTLTHRGWNUJMHCMGTG.Replace(hours.ToString() + "h", string.Empty);
            RKOLCSWFAPQIQESXDIOSFEBTLTHRGWNUJMHCMGTG = RKOLCSWFAPQIQESXDIOSFEBTLTHRGWNUJMHCMGTG.Replace(days.ToString() + "d", string.Empty);
            if (!string.IsNullOrEmpty(RKOLCSWFAPQIQESXDIOSFEBTLTHRGWNUJMHCMGTG) || (!m.Success && !h.Success && !d.Success)) {
                DBVCUEYXHBVIIUMJVZILEZDCVYDXPLXOHJBDFRROJUY = default(DateTime);
                return false;
            }
            DBVCUEYXHBVIIUMJVZILEZDCVYDXPLXOHJBDFRROJUY = DateTime.Now + new TimeSpan(days, hours, minutes, 0);
            return true;
        }
        private static bool IQNKEBDXTXREYTFCKJPWCVYTSZLHQREALXFOZMIDKVNAPO(int SMBSUTRGKVDEXTGVBBHWEGBYTJDEITBKBIKJXLCWUQELGWFM, int[] VNHMBQLKDZKPMYQTSDOIWYQYKCOBPSWERTMGTYZSYYUM) {
            foreach (int elem in VNHMBQLKDZKPMYQTSDOIWYQYKCOBPSWERTMGTYZSYYUM) if (elem==SMBSUTRGKVDEXTGVBBHWEGBYTJDEITBKBIKJXLCWUQELGWFM) return true;
            return false;
        }
        private static string NCAGIPFPMSUREQWHBSQSBORDXAMMHIXDEDXEQLWLGITVEVEM(int days) {
            if (IQNKEBDXTXREYTFCKJPWCVYTSZLHQREALXFOZMIDKVNAPO(days, (new int[] {
                1, 21
            }
            ))) return days.ToString()+" день";
            else if (IQNKEBDXTXREYTFCKJPWCVYTSZLHQREALXFOZMIDKVNAPO(days, (new int[] {
                2, 3, 4, 22, 23, 24
            }
            ))) return days.ToString()+" дня";
            else return days.ToString()+" дней";
        }
        private static string OLHZWVZKXIHDTHDURNATRQQWFMSVVYCVZYTWQDHIXUSDO(int hours) {
            if (IQNKEBDXTXREYTFCKJPWCVYTSZLHQREALXFOZMIDKVNAPO(hours, (new int[] {
                1, 21
            }
            ))) return hours.ToString()+" час";
            else if (IQNKEBDXTXREYTFCKJPWCVYTSZLHQREALXFOZMIDKVNAPO(hours, (new int[] {
                2, 3, 4, 22, 23, 24
            }
            ))) return hours.ToString()+" часа";
            else return hours.ToString()+" часов";
        }
        private static string MBPBNIETWXVKTJCEOYGMDVNHDNFSVXYMIXZRGULTRG(int minutes) {
            if (IQNKEBDXTXREYTFCKJPWCVYTSZLHQREALXFOZMIDKVNAPO(minutes, (new int[] {
                1, 21, 31, 41, 51
            }
            ))) return minutes.ToString()+" минута";
            else if (IQNKEBDXTXREYTFCKJPWCVYTSZLHQREALXFOZMIDKVNAPO(minutes, (new int[] {
                2, 3, 4, 22, 23, 24, 32, 33, 34, 42, 43, 44, 52, 53, 54
            }
            ))) return minutes.ToString()+" минуты";
            else return minutes.ToString()+" минут";
        }
        private static string WAFKYGSFTWCDRNHXZDLXZYICWKKYUNMUXSQGYDGL(int seconds) {
            if (IQNKEBDXTXREYTFCKJPWCVYTSZLHQREALXFOZMIDKVNAPO(seconds, (new int[] {
                1, 21, 31, 41, 51
            }
            ))) return seconds.ToString()+" секунда";
            else if (IQNKEBDXTXREYTFCKJPWCVYTSZLHQREALXFOZMIDKVNAPO(seconds, (new int[] {
                2, 3, 4, 22, 23, 24, 32, 33, 34, 42, 43, 44, 52, 53, 54
            }
            ))) return seconds.ToString()+" секунды";
            else return seconds.ToString()+" секунд";
        }
        private static string REQGTHEYWLQFICXSDNNVULGKHGZWBZWWZUHUSVCCG(long time) {
            TimeSpan OELELKAEQLLHRHUFVREIASMCQPFNMIGTSJAWNOYXR = TimeSpan.FromSeconds(time);
            int hours = OELELKAEQLLHRHUFVREIASMCQPFNMIGTSJAWNOYXR.Hours;
            int minutes = OELELKAEQLLHRHUFVREIASMCQPFNMIGTSJAWNOYXR.Minutes;
            int seconds = OELELKAEQLLHRHUFVREIASMCQPFNMIGTSJAWNOYXR.Seconds;
            int days = Mathf.FloorToInt((float)OELELKAEQLLHRHUFVREIASMCQPFNMIGTSJAWNOYXR.Days);
            string s = "";
            int NMFFTBCUQWINCWSIOWFNRIEROHGXRHSHRTEZXKVDLS = 0;
            if (days > 0) {
                s += NCAGIPFPMSUREQWHBSQSBORDXAMMHIXDEDXEQLWLGITVEVEM(days) + " ";
                NMFFTBCUQWINCWSIOWFNRIEROHGXRHSHRTEZXKVDLS++;
            }
            if (hours > 0 || NMFFTBCUQWINCWSIOWFNRIEROHGXRHSHRTEZXKVDLS == 1) {
                if (hours > 0) {
                    s += OLHZWVZKXIHDTHDURNATRQQWFMSVVYCVZYTWQDHIXUSDO(hours) + " ";
                    if (++NMFFTBCUQWINCWSIOWFNRIEROHGXRHSHRTEZXKVDLS==2) return s.Trim(' ');
                }
                else return s.Trim(' ');
            }
            if (minutes > 0 || NMFFTBCUQWINCWSIOWFNRIEROHGXRHSHRTEZXKVDLS == 1) {
                if (minutes > 0) {
                    s += MBPBNIETWXVKTJCEOYGMDVNHDNFSVXYMIXZRGULTRG(minutes) + " ";
                    if (++NMFFTBCUQWINCWSIOWFNRIEROHGXRHSHRTEZXKVDLS==2) return s.Trim(' ');
                }
                else return s.Trim(' ');
            }
            if (seconds > 0 || NMFFTBCUQWINCWSIOWFNRIEROHGXRHSHRTEZXKVDLS == 1) {
                if (seconds > 0) {
                    s += WAFKYGSFTWCDRNHXZDLXZYICWKKYUNMUXSQGYDGL(seconds) + " ";
                    if (++NMFFTBCUQWINCWSIOWFNRIEROHGXRHSHRTEZXKVDLS==2) return s.Trim(' ');
                }
                else return s.Trim(' ');
            }
            return s.Trim(' ');
        }
        private string XCWOOQTOVPTQIFXFYNIHXXPUFOVCZHLKPUNEOSRIDMDGDJMBW(string userID) {
            var JLFGDDFZCRDOFHNRLUECIEBWJSTKEACCZQVGJBDUMIQPNF = permission.GetUserData(userID);
            return JLFGDDFZCRDOFHNRLUECIEBWJSTKEACCZQVGJBDUMIQPNF.LastSeenNickname;
        }
        private string WOUYCANBIAUQPODIANSTRGWZEKTIRWBTFMKXQRSNQMJQ(string HHRNRNTQDNXXIBZCJVKCGYSMKAUEWKXEDHDVWNYFCONGOJ, BasePlayer player) {
            if (MXPCUJZJDVQRVTSGEKMYBKCDGRIUFCFWGLRMEFWMCJCRT<ulong>(HHRNRNTQDNXXIBZCJVKCGYSMKAUEWKXEDHDVWNYFCONGOJ) && HHRNRNTQDNXXIBZCJVKCGYSMKAUEWKXEDHDVWNYFCONGOJ.StartsWith("7656119") && HHRNRNTQDNXXIBZCJVKCGYSMKAUEWKXEDHDVWNYFCONGOJ.Length == 17) return HHRNRNTQDNXXIBZCJVKCGYSMKAUEWKXEDHDVWNYFCONGOJ;
            var RJTKIHPIEJJXLKUVBPBPOMGHKRJQAOMJDTBBKQTUKIQXAERJS = new List<BasePlayer>();
            foreach (BasePlayer current in BasePlayer.activePlayerList) {
                if (current.displayName.ToLower() == HHRNRNTQDNXXIBZCJVKCGYSMKAUEWKXEDHDVWNYFCONGOJ.ToLower()) return current.UserIDString;
                if (current.displayName.ToLower().Contains(HHRNRNTQDNXXIBZCJVKCGYSMKAUEWKXEDHDVWNYFCONGOJ.ToLower())) RJTKIHPIEJJXLKUVBPBPOMGHKRJQAOMJDTBBKQTUKIQXAERJS.Add(current);
            }
            switch (RJTKIHPIEJJXLKUVBPBPOMGHKRJQAOMJDTBBKQTUKIQXAERJS.Count) {
                case 0 : FCQZIUPGMMFXEHHMFIFYDYRBTMZFKJQFLJOSSXNZKNLNOW(player, $"Не найден игрок с именем \"{HHRNRNTQDNXXIBZCJVKCGYSMKAUEWKXEDHDVWNYFCONGOJ}\"");
                break;
                case 1 : return RJTKIHPIEJJXLKUVBPBPOMGHKRJQAOMJDTBBKQTUKIQXAERJS[0].UserIDString;
                default : string[] OZLQJFCLZQXZIQXZTRJTKLWHFGVJHGAAYNAMYNKVYZQCX = (from current in RJTKIHPIEJJXLKUVBPBPOMGHKRJQAOMJDTBBKQTUKIQXAERJS select current.displayName).ToArray();
                FCQZIUPGMMFXEHHMFIFYDYRBTMZFKJQFLJOSSXNZKNLNOW(player, "Найдено несколько игроков с похожим именем: \n" + string.Join(", ", OZLQJFCLZQXZIQXZTRJTKLWHFGVJHGAAYNAMYNKVYZQCX));
                break;
            }
            return null;
        }
        private static bool MXPCUJZJDVQRVTSGEKMYBKCDGRIUFCFWGLRMEFWMCJCRT<T>(object s) {
            try {
                var AAZAKZAYCCDELDKTETQXAUQLBGHNUKUTJUGVJHVBZZKX = (T)Convert.ChangeType(s, typeof(T));
                return true;
            }
            catch {
                return false;
            }
        }
        private static List<LogNfo> TCHLEVXMAKFJOYERNERHJUQWOKXXPXBKSBHDABPPXGI = new List<LogNfo>();
        private class LogNfo {
            public string WAQODJJLJOFDRSPTTPTTBYDFVXFARKMXAPXDFVUUUWUG;
            public string DBVCUEYXHBVIIUMJVZILEZDCVYDXPLXOHJBDFRROJUY;
            public string ALUIRJMUSQZZLKWUXZXDIVRNQAQLOCJDLGVDPOFFLGR;
            public LogNfo(string WAQODJJLJOFDRSPTTPTTBYDFVXFARKMXAPXDFVUUUWUG, string DBVCUEYXHBVIIUMJVZILEZDCVYDXPLXOHJBDFRROJUY, string ALUIRJMUSQZZLKWUXZXDIVRNQAQLOCJDLGVDPOFFLGR) {
                this.WAQODJJLJOFDRSPTTPTTBYDFVXFARKMXAPXDFVUUUWUG = WAQODJJLJOFDRSPTTPTTBYDFVXFARKMXAPXDFVUUUWUG;
                this.DBVCUEYXHBVIIUMJVZILEZDCVYDXPLXOHJBDFRROJUY = DBVCUEYXHBVIIUMJVZILEZDCVYDXPLXOHJBDFRROJUY;
                this.ALUIRJMUSQZZLKWUXZXDIVRNQAQLOCJDLGVDPOFFLGR = ALUIRJMUSQZZLKWUXZXDIVRNQAQLOCJDLGVDPOFFLGR;
            }
        }
        private string VXAHMBXRMCVLWDAEEAPULJCFBZOAVRHLKBWKUXQEZO() => "["+DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss")+"] ";
        private bool PRTJTLYFCBZULVUFMMWVUUJBVGPJGJLVWKMOIQVOXMFJLGKOZ(string WAQODJJLJOFDRSPTTPTTBYDFVXFARKMXAPXDFVUUUWUG, string DBVCUEYXHBVIIUMJVZILEZDCVYDXPLXOHJBDFRROJUY, string ALUIRJMUSQZZLKWUXZXDIVRNQAQLOCJDLGVDPOFFLGR) {
            try {
                LogToFile(WAQODJJLJOFDRSPTTPTTBYDFVXFARKMXAPXDFVUUUWUG, DBVCUEYXHBVIIUMJVZILEZDCVYDXPLXOHJBDFRROJUY + ALUIRJMUSQZZLKWUXZXDIVRNQAQLOCJDLGVDPOFFLGR, this, false);
                string CISQEURYIFBFUHRRTAGQGWNEOTFJTSSCDPKIIAGT = WAQODJJLJOFDRSPTTPTTBYDFVXFARKMXAPXDFVUUUWUG;
                string LUGFQJIXOMKABVGVNBLPIEQNYBEWJJSTMGUBHYYJWLF = ALUIRJMUSQZZLKWUXZXDIVRNQAQLOCJDLGVDPOFFLGR;
            }
            catch {
                return false;
            }
            return true;
        }
        private void ERCSEVHSOMVOYSQDXBJGXWRIYHOZPOWBJOFTTEFRGPCISIN(BasePlayer player, string ALUIRJMUSQZZLKWUXZXDIVRNQAQLOCJDLGVDPOFFLGR) {
            FCQZIUPGMMFXEHHMFIFYDYRBTMZFKJQFLJOSSXNZKNLNOW(player, ALUIRJMUSQZZLKWUXZXDIVRNQAQLOCJDLGVDPOFFLGR);
            TCHLEVXMAKFJOYERNERHJUQWOKXXPXBKSBHDABPPXGI.Add(new LogNfo("info", VXAHMBXRMCVLWDAEEAPULJCFBZOAVRHLKBWKUXQEZO(), ALUIRJMUSQZZLKWUXZXDIVRNQAQLOCJDLGVDPOFFLGR));
            while(TCHLEVXMAKFJOYERNERHJUQWOKXXPXBKSBHDABPPXGI.Count > 0) {
                if (PRTJTLYFCBZULVUFMMWVUUJBVGPJGJLVWKMOIQVOXMFJLGKOZ(TCHLEVXMAKFJOYERNERHJUQWOKXXPXBKSBHDABPPXGI[0].WAQODJJLJOFDRSPTTPTTBYDFVXFARKMXAPXDFVUUUWUG, TCHLEVXMAKFJOYERNERHJUQWOKXXPXBKSBHDABPPXGI[0].DBVCUEYXHBVIIUMJVZILEZDCVYDXPLXOHJBDFRROJUY, TCHLEVXMAKFJOYERNERHJUQWOKXXPXBKSBHDABPPXGI[0].ALUIRJMUSQZZLKWUXZXDIVRNQAQLOCJDLGVDPOFFLGR)) TCHLEVXMAKFJOYERNERHJUQWOKXXPXBKSBHDABPPXGI.RemoveAt(0);
                else break;
            }
        }
        private static ConfigData HBCTENUYVDBHDSGOELOETQNVAEOOCBTWYKFWZLSVPU;
        private class ConfigData {
            [JsonProperty(PropertyName = "Разрешать снимать с игрока постоянную привилегию или группу, которой нет в БД плагина, командами плагина")]
            public bool IENYORKELXBMQOGSZZFVTKEISNKOTTSPYSFQNFZWSXIZXYOIS;
            [JsonProperty(PropertyName = "Разрешать перезаписывать постоянные привилегии и группы игрока временными, при их выдаче командами плагина")]
            public bool SWJYEXZFFBHVLREMNYIQFTZIDWCFLUYBWBAVGANHRIAYPWL;
            [JsonProperty(PropertyName = "Следить и восстанавливать привилегии и группы игрокам согласно записям БД плагина")]
            public bool ULKQACMYXAVIVUTKCGZKRJFNKBYXTATGKMKAKHATOCYFEE;
        }
        private void SHJIFTUHZTTXGHCAQUFKNXKTWRZIUIPQUCHIENVQTXTZ() => HBCTENUYVDBHDSGOELOETQNVAEOOCBTWYKFWZLSVPU = Config.ReadObject<ConfigData>();
        protected override void LoadDefaultConfig() {
            HBCTENUYVDBHDSGOELOETQNVAEOOCBTWYKFWZLSVPU = new ConfigData {
                IENYORKELXBMQOGSZZFVTKEISNKOTTSPYSFQNFZWSXIZXYOIS = false, ULKQACMYXAVIVUTKCGZKRJFNKBYXTATGKMKAKHATOCYFEE = false
            }
            ;
            SaveConfig(HBCTENUYVDBHDSGOELOETQNVAEOOCBTWYKFWZLSVPU);
            timer.Once(0.1f, ()=>SaveConfig(HBCTENUYVDBHDSGOELOETQNVAEOOCBTWYKFWZLSVPU));
        }
        private void SaveConfig(ConfigData JGMNUUQUPJYWKSGDITYBHDCVLOXVYYFEXOLQTNXQWDLFZH) => Config.WriteObject(JGMNUUQUPJYWKSGDITYBHDCVLOXVYYFEXOLQTNXQWDLFZH, true);
        private void LoadData() => CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS = Interface.GetMod().DataFileSystem.ReadObject<GrantData>("GrantData");
        private void SaveData() => Interface.GetMod().DataFileSystem.WriteObject("GrantData", CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS);
        /* получить список привилегий игрока в формате Dictionary<название привилегии, оставшиеся время действия в секундах> метод возвращает null, если у игрока нет привилегий */
        private Dictionary<string, int> GetPermissions(ulong userID) {
            var TWULEQDRVXTTZQCMKMOHJWDMTIUWJZYMDJUIGHYLIPJ = ToEpochTime(DateTime.Now);
            var userIDString = userID.ToString();
            if (CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Permission.ContainsKey(userIDString)) return CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Permission[userIDString].Where(x=> x.Value - TWULEQDRVXTTZQCMKMOHJWDMTIUWJZYMDJUIGHYLIPJ > 0).ToDictionary(x=> x.Key, x=> (int)(x.Value - TWULEQDRVXTTZQCMKMOHJWDMTIUWJZYMDJUIGHYLIPJ));
            return null;
        }
        /* получить список групп игрока в формате Dictionary<название группы, оставшиеся время действия в секундах> метод возвращает null, если у игрока нет групп */
        private Dictionary<string, int> GetGroups(ulong userID) {
            var TWULEQDRVXTTZQCMKMOHJWDMTIUWJZYMDJUIGHYLIPJ = ToEpochTime(DateTime.Now);
            var userIDString = userID.ToString();
            if (CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Group.ContainsKey(userIDString)) return CNQLCVFJGERBGXUVRDTZWGPKVWIEERWVETUIIMCISFFMCLQS.Group[userIDString].Where(x=> x.Value - TWULEQDRVXTTZQCMKMOHJWDMTIUWJZYMDJUIGHYLIPJ > 0).ToDictionary(x=> x.Key, x=> (int)(x.Value - TWULEQDRVXTTZQCMKMOHJWDMTIUWJZYMDJUIGHYLIPJ));
            return null;
        }
    }
}

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