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

FREE Grant : 2.0 2.0

Нет прав для скачивания
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.0")]
    public class Grant : RustPlugin {
        private static GrantData EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ;
        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() {
            KCVCKHBQJQCUBLWZVBODQHTFERYQKHTTSVDMXOWMH();
            LoadData();
        }
        private void OnServerInitialized() => timer.Once(3.6f, ()=> AXVFLRSONAEKCNIPKTMYDTHNLTWZFDDSJXPSGJUXR());
        private void AXVFLRSONAEKCNIPKTMYDTHNLTWZFDDSJXPSGJUXR() {
            FDLVMBISDIFEKTOMYVAYLQWMHJBREYKCWULLFPNCOKXQVZG();
            if (DOILFZZNUMDOBERPYOATLGBTTFCWMUNFJZRRTYTPHDPSJF.DYRZACIOGHHJNWHFYUJBCQQBPGPKKMATXTZIAURRS) FTAUEVHOGYNDAQOFYCIPICHJIYKBTGRICOMKXPYBMXFG();
            SaveData();
            timer.Once(60f, ()=> AXVFLRSONAEKCNIPKTMYDTHNLTWZFDDSJXPSGJUXR());
        }
        private bool ZAONQMZKKXETAGQITRVTJKWMAFXPIAYPHIUGYXDKZUTFNPXJ(string AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK) => permission.PermissionExists(AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK, null);
        private bool YQDCYLPDBMLOKBJYPMRLJJVOLTOQQYLHONKKVMIW(string group) => permission.GroupExists(group);
        private bool DWLSWPSKHYCGXSPUPREXYMDBDZWRYCCDUGGMKVOEVG(BasePlayer player, string userID, string AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK, DateTime RFFEZVZCJOAOKTZBTQCPNWFRYYVJQWAQMVTPCFYIHXBJQ) {
            if (EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Permission.ContainsKey(userID)) {
                var QIXHTYCVXAIYDFEFGEBLLLAIBHNXZIAIPMZUBEGQYE = EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Permission[userID];
                if (QIXHTYCVXAIYDFEFGEBLLLAIBHNXZIAIPMZUBEGQYE.ContainsKey(AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK)) {
                    if (!permission.UserHasPermission(userID, AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK)) permission.GrantUserPermission(userID, AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK, null);
                    QIXHTYCVXAIYDFEFGEBLLLAIBHNXZIAIPMZUBEGQYE[AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK] += (long)Math.Round((RFFEZVZCJOAOKTZBTQCPNWFRYYVJQWAQMVTPCFYIHXBJQ - DateTime.Now).TotalSeconds);
                    JHWJWYBZLSMIILMSNYXZPHRNTUDZNOSQHTIVKTTSHQQGFZAK(player, $"Игроку \"{LYXBEVIWCNJXODUCWLSECSMQWTEZXCYXRFLRCUPXZJ(userID)} ({userID})\" продлена привилегия \"{AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK}\" в сумме до \"{TZAKBSFLMICLYPDSZYXCYVLXPZVUTIGKZITKNZBUDBE(QIXHTYCVXAIYDFEFGEBLLLAIBHNXZIAIPMZUBEGQYE[AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK] - ToEpochTime(DateTime.Now))}\"");
                }
                else {
                    if (!ZAONQMZKKXETAGQITRVTJKWMAFXPIAYPHIUGYXDKZUTFNPXJ(AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK)) return false;
                    if (!DOILFZZNUMDOBERPYOATLGBTTFCWMUNFJZRRTYTPHDPSJF.SECPTLAOXSLDDUWWEEEDKEYUIJYDHRURTBSGFCPYOAULUOL) {
                        if (permission.UserHasPermission(userID, AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK)) {
                            INUEIWKSJIHFNKMNMXTEMTTDCYSLIDIEBKHQWCERLVJNYVM(player, $"Игрок \"{LYXBEVIWCNJXODUCWLSECSMQWTEZXCYXRFLRCUPXZJ(userID)} ({userID})\" уже имеет привилегию \"{AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK}\" в качестве постоянной");
                            return true;
                        }
                    }
                    permission.GrantUserPermission(userID, AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK, null);
                    QIXHTYCVXAIYDFEFGEBLLLAIBHNXZIAIPMZUBEGQYE.Add(AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK, ToEpochTime(RFFEZVZCJOAOKTZBTQCPNWFRYYVJQWAQMVTPCFYIHXBJQ));
                    JHWJWYBZLSMIILMSNYXZPHRNTUDZNOSQHTIVKTTSHQQGFZAK(player, $"Игроку \"{LYXBEVIWCNJXODUCWLSECSMQWTEZXCYXRFLRCUPXZJ(userID)} ({userID})\" выдана привилегия \"{AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK}\" на \"{TZAKBSFLMICLYPDSZYXCYVLXPZVUTIGKZITKNZBUDBE(QIXHTYCVXAIYDFEFGEBLLLAIBHNXZIAIPMZUBEGQYE[AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK] - ToEpochTime(DateTime.Now))}\"");
                }
            }
            else {
                if (!ZAONQMZKKXETAGQITRVTJKWMAFXPIAYPHIUGYXDKZUTFNPXJ(AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK)) return false;
                if (!DOILFZZNUMDOBERPYOATLGBTTFCWMUNFJZRRTYTPHDPSJF.SECPTLAOXSLDDUWWEEEDKEYUIJYDHRURTBSGFCPYOAULUOL) {
                    if (permission.UserHasPermission(userID, AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK)) {
                        INUEIWKSJIHFNKMNMXTEMTTDCYSLIDIEBKHQWCERLVJNYVM(player, $"Игрок \"{LYXBEVIWCNJXODUCWLSECSMQWTEZXCYXRFLRCUPXZJ(userID)} ({userID})\" уже имеет привилегию \"{AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK}\" в качестве постоянной");
                        return true;
                    }
                }
                EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Permission.Add(userID, new Dictionary<string, long>());
                EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Group.Add(userID, new Dictionary<string, long>());
                var QIXHTYCVXAIYDFEFGEBLLLAIBHNXZIAIPMZUBEGQYE = EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Permission[userID];
                permission.GrantUserPermission(userID, AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK, null);
                QIXHTYCVXAIYDFEFGEBLLLAIBHNXZIAIPMZUBEGQYE.Add(AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK, ToEpochTime(RFFEZVZCJOAOKTZBTQCPNWFRYYVJQWAQMVTPCFYIHXBJQ));
                JHWJWYBZLSMIILMSNYXZPHRNTUDZNOSQHTIVKTTSHQQGFZAK(player, $"Игроку \"{LYXBEVIWCNJXODUCWLSECSMQWTEZXCYXRFLRCUPXZJ(userID)} ({userID})\" выдана привилегия \"{AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK}\" на \"{TZAKBSFLMICLYPDSZYXCYVLXPZVUTIGKZITKNZBUDBE(QIXHTYCVXAIYDFEFGEBLLLAIBHNXZIAIPMZUBEGQYE[AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK] - ToEpochTime(DateTime.Now))}\"");
            }
            SaveData();
            return true;
        }
        private bool ZJBQUVQGVEZGQTJOWSBLEWYLRMCJTCACSDDRCICWIWH(BasePlayer player, string userID, string group, DateTime RFFEZVZCJOAOKTZBTQCPNWFRYYVJQWAQMVTPCFYIHXBJQ) {
            if (EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Group.ContainsKey(userID)) {
                var OGGFNNMCZMNUEIOFLLEVPZAJRFJDBXKMGSLCVCZJNFBWBRU = EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Group[userID];
                if (OGGFNNMCZMNUEIOFLLEVPZAJRFJDBXKMGSLCVCZJNFBWBRU.ContainsKey(group)) {
                    if (!permission.UserHasGroup(userID, group)) permission.AddUserGroup(userID, group);
                    OGGFNNMCZMNUEIOFLLEVPZAJRFJDBXKMGSLCVCZJNFBWBRU[group] += (long)Math.Round((RFFEZVZCJOAOKTZBTQCPNWFRYYVJQWAQMVTPCFYIHXBJQ - DateTime.Now).TotalSeconds);
                    JHWJWYBZLSMIILMSNYXZPHRNTUDZNOSQHTIVKTTSHQQGFZAK(player, $"Игроку \"{LYXBEVIWCNJXODUCWLSECSMQWTEZXCYXRFLRCUPXZJ(userID)} ({userID})\" продлено пребывание в группе \"{group}\" в сумме до \"{TZAKBSFLMICLYPDSZYXCYVLXPZVUTIGKZITKNZBUDBE(OGGFNNMCZMNUEIOFLLEVPZAJRFJDBXKMGSLCVCZJNFBWBRU[group] - ToEpochTime(DateTime.Now))}\"");
                }
                else {
                    if (!YQDCYLPDBMLOKBJYPMRLJJVOLTOQQYLHONKKVMIW(group)) return false;
                    if (!DOILFZZNUMDOBERPYOATLGBTTFCWMUNFJZRRTYTPHDPSJF.SECPTLAOXSLDDUWWEEEDKEYUIJYDHRURTBSGFCPYOAULUOL) {
                        if (permission.UserHasGroup(userID, group)) {
                            INUEIWKSJIHFNKMNMXTEMTTDCYSLIDIEBKHQWCERLVJNYVM(player, $"Игрок \"{LYXBEVIWCNJXODUCWLSECSMQWTEZXCYXRFLRCUPXZJ(userID)} ({userID})\" уже входит в группу \"{group}\" на постоянной основе");
                            return true;
                        }
                    }
                    permission.AddUserGroup(userID, group);
                    OGGFNNMCZMNUEIOFLLEVPZAJRFJDBXKMGSLCVCZJNFBWBRU.Add(group, ToEpochTime(RFFEZVZCJOAOKTZBTQCPNWFRYYVJQWAQMVTPCFYIHXBJQ));
                    JHWJWYBZLSMIILMSNYXZPHRNTUDZNOSQHTIVKTTSHQQGFZAK(player, $"Игрок \"{LYXBEVIWCNJXODUCWLSECSMQWTEZXCYXRFLRCUPXZJ(userID)} ({userID})\" добавлен в группу \"{group}\" на \"{TZAKBSFLMICLYPDSZYXCYVLXPZVUTIGKZITKNZBUDBE(OGGFNNMCZMNUEIOFLLEVPZAJRFJDBXKMGSLCVCZJNFBWBRU[group] - ToEpochTime(DateTime.Now))}\"");
                }
            }
            else {
                if (!YQDCYLPDBMLOKBJYPMRLJJVOLTOQQYLHONKKVMIW(group)) return false;
                if (!DOILFZZNUMDOBERPYOATLGBTTFCWMUNFJZRRTYTPHDPSJF.SECPTLAOXSLDDUWWEEEDKEYUIJYDHRURTBSGFCPYOAULUOL) {
                    if (permission.UserHasGroup(userID, group)) {
                        INUEIWKSJIHFNKMNMXTEMTTDCYSLIDIEBKHQWCERLVJNYVM(player, $"Игрок \"{LYXBEVIWCNJXODUCWLSECSMQWTEZXCYXRFLRCUPXZJ(userID)} ({userID})\" уже входит в группу \"{group}\" на постоянной основе");
                        return true;
                    }
                }
                EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Group.Add(userID, new Dictionary<string, long>());
                EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Permission.Add(userID, new Dictionary<string, long>());
                var OGGFNNMCZMNUEIOFLLEVPZAJRFJDBXKMGSLCVCZJNFBWBRU = EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Group[userID];
                permission.AddUserGroup(userID, group);
                OGGFNNMCZMNUEIOFLLEVPZAJRFJDBXKMGSLCVCZJNFBWBRU.Add(group, ToEpochTime(RFFEZVZCJOAOKTZBTQCPNWFRYYVJQWAQMVTPCFYIHXBJQ));
                JHWJWYBZLSMIILMSNYXZPHRNTUDZNOSQHTIVKTTSHQQGFZAK(player, $"Игрок \"{LYXBEVIWCNJXODUCWLSECSMQWTEZXCYXRFLRCUPXZJ(userID)} ({userID})\" добавлен в группу \"{group}\" на \"{TZAKBSFLMICLYPDSZYXCYVLXPZVUTIGKZITKNZBUDBE(OGGFNNMCZMNUEIOFLLEVPZAJRFJDBXKMGSLCVCZJNFBWBRU[group] - ToEpochTime(DateTime.Now))}\"");
            }
            SaveData();
            return true;
        }
        private void VZPTBHSLTUEDKPZITGMSEWONQRLNQFDIPZPRWIIMKOIXYZHMJ(BasePlayer player, string userID, string AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK, bool ZUCQGKNKIOLZMJHWLSDOMHQSSONLHZAUAZYJZBLRRN = true) {
            if (EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Permission.ContainsKey(userID)) {
                var QIXHTYCVXAIYDFEFGEBLLLAIBHNXZIAIPMZUBEGQYE = EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Permission[userID];
                if (QIXHTYCVXAIYDFEFGEBLLLAIBHNXZIAIPMZUBEGQYE.ContainsKey(AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK)) {
                    QIXHTYCVXAIYDFEFGEBLLLAIBHNXZIAIPMZUBEGQYE.Remove(AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK);
                    if (ZUCQGKNKIOLZMJHWLSDOMHQSSONLHZAUAZYJZBLRRN) SaveData();
                    if (permission.UserHasPermission(userID, AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK)) {
                        JHWJWYBZLSMIILMSNYXZPHRNTUDZNOSQHTIVKTTSHQQGFZAK(player, $"У игрока \"{LYXBEVIWCNJXODUCWLSECSMQWTEZXCYXRFLRCUPXZJ(userID)} ({userID})\" была снята привилегия \"{AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK}\"");
                        permission.RevokeUserPermission(userID, AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK);
                        return;
                    }
                }
            }
            if (DOILFZZNUMDOBERPYOATLGBTTFCWMUNFJZRRTYTPHDPSJF.KSHDYFIEWNOSZWCAZYYECMZVZVLLIRIKOPREFRPZAVVEEG) {
                if (permission.UserHasPermission(userID, AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK)) {
                    JHWJWYBZLSMIILMSNYXZPHRNTUDZNOSQHTIVKTTSHQQGFZAK(player, $"У игрока \"{LYXBEVIWCNJXODUCWLSECSMQWTEZXCYXRFLRCUPXZJ(userID)} ({userID})\" была снята привилегия \"{AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK}\"");
                    permission.RevokeUserPermission(userID, AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK);
                    return;
                }
            }
            INUEIWKSJIHFNKMNMXTEMTTDCYSLIDIEBKHQWCERLVJNYVM(player, $"У игрока \"{LYXBEVIWCNJXODUCWLSECSMQWTEZXCYXRFLRCUPXZJ(userID)} ({userID})\" нет привилегии \"{AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK}\"");
        }
        private void CBJOUYLCCJVEVORVOLAHLKXAIPOROQKZEWCBYBERGTGZQFT(BasePlayer player, string userID, string group, bool ZUCQGKNKIOLZMJHWLSDOMHQSSONLHZAUAZYJZBLRRN = true) {
            if (EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Group.ContainsKey(userID)) {
                var OGGFNNMCZMNUEIOFLLEVPZAJRFJDBXKMGSLCVCZJNFBWBRU = EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Group[userID];
                if (OGGFNNMCZMNUEIOFLLEVPZAJRFJDBXKMGSLCVCZJNFBWBRU.ContainsKey(group)) {
                    OGGFNNMCZMNUEIOFLLEVPZAJRFJDBXKMGSLCVCZJNFBWBRU.Remove(group);
                    if (ZUCQGKNKIOLZMJHWLSDOMHQSSONLHZAUAZYJZBLRRN) SaveData();
                    if (permission.UserHasGroup(userID, group)) {
                        JHWJWYBZLSMIILMSNYXZPHRNTUDZNOSQHTIVKTTSHQQGFZAK(player, $"Игрок \"{LYXBEVIWCNJXODUCWLSECSMQWTEZXCYXRFLRCUPXZJ(userID)} ({userID})\" был исключён из группы \"{group}\"");
                        permission.RemoveUserGroup(userID, group);
                        return;
                    }
                }
            }
            if (DOILFZZNUMDOBERPYOATLGBTTFCWMUNFJZRRTYTPHDPSJF.KSHDYFIEWNOSZWCAZYYECMZVZVLLIRIKOPREFRPZAVVEEG) {
                if (permission.UserHasGroup(userID, group)) {
                    JHWJWYBZLSMIILMSNYXZPHRNTUDZNOSQHTIVKTTSHQQGFZAK(player, $"Игрок \"{LYXBEVIWCNJXODUCWLSECSMQWTEZXCYXRFLRCUPXZJ(userID)} ({userID})\" был исключён из группы \"{group}\"");
                    permission.RemoveUserGroup(userID, group);
                    return;
                }
            }
            INUEIWKSJIHFNKMNMXTEMTTDCYSLIDIEBKHQWCERLVJNYVM(player, $"Игрок \"{LYXBEVIWCNJXODUCWLSECSMQWTEZXCYXRFLRCUPXZJ(userID)} ({userID})\" не состоял в группе \"{group}\"");
        }
        private void FDLVMBISDIFEKTOMYVAYLQWMHJBREYKCWULLFPNCOKXQVZG() {
            var MYUFUJDPGXNHDIBBBBOLXMKJLVIJYDHAKYQCDFSXPWVY = ToEpochTime(DateTime.Now);
            foreach (var pair in EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Permission.ToDictionary(x=> x.Key, x=> x.Value)) foreach (var AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK in pair.Value.ToDictionary(x=> x.Key, x=> x.Value)) if (AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK.Value - MYUFUJDPGXNHDIBBBBOLXMKJLVIJYDHAKYQCDFSXPWVY <= 0) VZPTBHSLTUEDKPZITGMSEWONQRLNQFDIPZPRWIIMKOIXYZHMJ(null, pair.Key, AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK.Key, false);
            foreach (var pair in EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Group.ToDictionary(x=> x.Key, x=> x.Value)) foreach (var group in pair.Value.ToDictionary(x=> x.Key, x=> x.Value)) if (group.Value - MYUFUJDPGXNHDIBBBBOLXMKJLVIJYDHAKYQCDFSXPWVY <= 0) CBJOUYLCCJVEVORVOLAHLKXAIPOROQKZEWCBYBERGTGZQFT(null, pair.Key, group.Key, false);
        }
        private void FTAUEVHOGYNDAQOFYCIPICHJIYKBTGRICOMKXPYBMXFG() {
            foreach (var pair in EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Permission) foreach (var AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK in pair.Value) if (!permission.UserHasPermission(pair.Key, AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK.Key) && ZAONQMZKKXETAGQITRVTJKWMAFXPIAYPHIUGYXDKZUTFNPXJ(AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK.Key)) {
                permission.GrantUserPermission(pair.Key, AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK.Key, null);
                JHWJWYBZLSMIILMSNYXZPHRNTUDZNOSQHTIVKTTSHQQGFZAK(null, $"Игроку \"{LYXBEVIWCNJXODUCWLSECSMQWTEZXCYXRFLRCUPXZJ(pair.Key)} ({pair.Key})\" была восстановлена привилегия \"{AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK.Key}\"");
            }
            foreach (var pair in EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Group) foreach (var group in pair.Value) if (!permission.UserHasGroup(pair.Key, group.Key) && YQDCYLPDBMLOKBJYPMRLJJVOLTOQQYLHONKKVMIW(group.Key)) {
                permission.AddUserGroup(pair.Key, group.Key);
                JHWJWYBZLSMIILMSNYXZPHRNTUDZNOSQHTIVKTTSHQQGFZAK(null, $"Игроку \"{LYXBEVIWCNJXODUCWLSECSMQWTEZXCYXRFLRCUPXZJ(pair.Key)} ({pair.Key})\" была восстановлена группа \"{group.Key}\"");
            }
        }
        [ConsoleCommand("revoke.permission")]
        private void KCXVSRSQQECMRLGKGVZHFALEEHIEHDKXAIYVMGAP(ConsoleSystem.Arg MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ) {
            var player = MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ?.Player();
            if (player != null && !player.IsAdmin) {
                PrintToConsole(player, "У вас нет прав использовать эту команду.");
                return;
            }
            if (MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ?.Args?.Length != 2) {
                INUEIWKSJIHFNKMNMXTEMTTDCYSLIDIEBKHQWCERLVJNYVM(player, "Синтаксис: revoke.permission <name|steamid> <permission>");
                return;
            }
            var userID = LZVVKFZXSJADTLHEKQJZZOMFIRDZCVUETKAQAXUUYF(MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ.Args[0], player);
            if (string.IsNullOrEmpty(userID)) return;
            var permission = MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ.Args[1].ToLower();
            VZPTBHSLTUEDKPZITGMSEWONQRLNQFDIPZPRWIIMKOIXYZHMJ(player, userID, permission);
        }
        [ConsoleCommand("grant.permission")]
        private void RLKJXGDRQGBFZVJRTRLINJNTELINLYZUJINOAVGAFNQWJSBNP(ConsoleSystem.Arg MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ) {
            var player = MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ?.Player();
            if (player != null && !player.IsAdmin) {
                PrintToConsole(player, "У вас нет прав использовать эту команду.");
                return;
            }
            if (MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ?.Args?.Length != 3) {
                INUEIWKSJIHFNKMNMXTEMTTDCYSLIDIEBKHQWCERLVJNYVM(player, "Синтаксис: grant.permission <name|steamid> <permission> <time Ex: 1d12h30m>");
                return;
            }
            var userID = LZVVKFZXSJADTLHEKQJZZOMFIRDZCVUETKAQAXUUYF(MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ.Args[0], player);
            if (string.IsNullOrEmpty(userID)) return;
            var permission = MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ.Args[1].ToLower();
            DateTime RFFEZVZCJOAOKTZBTQCPNWFRYYVJQWAQMVTPCFYIHXBJQ;
            if (!AATFVVGPTQBKDZKFZCDDCWRKSBTQJFFHLCKHKDIFDSWFAT(MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ.Args[2], out RFFEZVZCJOAOKTZBTQCPNWFRYYVJQWAQMVTPCFYIHXBJQ)) {
                INUEIWKSJIHFNKMNMXTEMTTDCYSLIDIEBKHQWCERLVJNYVM(player, "Неверный формат времени: Пример: 1d12h30m | d = дней, h = часов, m = минут");
                return;
            }
            RFFEZVZCJOAOKTZBTQCPNWFRYYVJQWAQMVTPCFYIHXBJQ = RFFEZVZCJOAOKTZBTQCPNWFRYYVJQWAQMVTPCFYIHXBJQ.AddSeconds(3);
            if (!DWLSWPSKHYCGXSPUPREXYMDBDZWRYCCDUGGMKVOEVG(player, userID, permission, RFFEZVZCJOAOKTZBTQCPNWFRYYVJQWAQMVTPCFYIHXBJQ)) INUEIWKSJIHFNKMNMXTEMTTDCYSLIDIEBKHQWCERLVJNYVM(player, $"Привилегия \"{permission}\" не существует.");
        }
        [ConsoleCommand("revoke.group")]
        private void TOPGLIYRELYQFSGGWRHUQYKKDASQJMKVYGFKFDWFQ(ConsoleSystem.Arg MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ) {
            var player = MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ?.Player();
            if (player != null && !player.IsAdmin) {
                PrintToConsole(player, "У вас нет прав использовать эту команду.");
                return;
            }
            if (MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ?.Args?.Length != 2) {
                INUEIWKSJIHFNKMNMXTEMTTDCYSLIDIEBKHQWCERLVJNYVM(player, "Синтаксис: revoke.group <name|steamid> <group>");
                return;
            }
            var userID = LZVVKFZXSJADTLHEKQJZZOMFIRDZCVUETKAQAXUUYF(MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ.Args[0], player);
            if (string.IsNullOrEmpty(userID)) return;
            var group = MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ.Args[1].ToLower();
            CBJOUYLCCJVEVORVOLAHLKXAIPOROQKZEWCBYBERGTGZQFT(player, userID, group);
        }
        [ConsoleCommand("grant.group")]
        private void QUBOHYPDVKFUNUDEDLQHHRBDSYNVBSUCDHHQJOSUBGQ(ConsoleSystem.Arg MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ) {
            var player = MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ?.Player();
            if (player != null && !player.IsAdmin) {
                PrintToConsole(player, "У вас нет прав использовать эту команду.");
                return;
            }
            if (MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ?.Args?.Length != 3) {
                INUEIWKSJIHFNKMNMXTEMTTDCYSLIDIEBKHQWCERLVJNYVM(player, "Синтаксис: grant.group <name|steamid> <group> <time Ex: 1d12h30m>");
                return;
            }
            var userID = LZVVKFZXSJADTLHEKQJZZOMFIRDZCVUETKAQAXUUYF(MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ.Args[0], player);
            if (string.IsNullOrEmpty(userID)) return;
            var group = MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ.Args[1].ToLower();
            DateTime RFFEZVZCJOAOKTZBTQCPNWFRYYVJQWAQMVTPCFYIHXBJQ;
            if (!AATFVVGPTQBKDZKFZCDDCWRKSBTQJFFHLCKHKDIFDSWFAT(MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ.Args[2], out RFFEZVZCJOAOKTZBTQCPNWFRYYVJQWAQMVTPCFYIHXBJQ)) {
                INUEIWKSJIHFNKMNMXTEMTTDCYSLIDIEBKHQWCERLVJNYVM(player, "Неверный формат времени: Пример: 1d12h30m | d = дней, h = часов, m = минут");
                return;
            }
            RFFEZVZCJOAOKTZBTQCPNWFRYYVJQWAQMVTPCFYIHXBJQ = RFFEZVZCJOAOKTZBTQCPNWFRYYVJQWAQMVTPCFYIHXBJQ.AddSeconds(3);
            if (!ZJBQUVQGVEZGQTJOWSBLEWYLRMCJTCACSDDRCICWIWH(player, userID, group, RFFEZVZCJOAOKTZBTQCPNWFRYYVJQWAQMVTPCFYIHXBJQ)) INUEIWKSJIHFNKMNMXTEMTTDCYSLIDIEBKHQWCERLVJNYVM(player, $"Группа \"{group}\" не существует.");
        }
        [ConsoleCommand("grant.info")]
        private void PDTKGAALPJCYTYWJLTBDQDQGNNVOSVFAAANOFCOA(ConsoleSystem.Arg MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ) {
            var player = MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ?.Player();
            if (player != null && !player.IsAdmin) {
                PrintToConsole(player, "У вас нет прав использовать эту команду.");
                return;
            }
            if (MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ?.Args?.Length != 1) {
                INUEIWKSJIHFNKMNMXTEMTTDCYSLIDIEBKHQWCERLVJNYVM(player, "Синтаксис: grant.info <name|steamid>");
                return;
            }
            var userID = LZVVKFZXSJADTLHEKQJZZOMFIRDZCVUETKAQAXUUYF(MQOFFGCHAAVVRDKXRWBDIOQZNLXXKGMXYYDBEJIEESZ.Args[0], player);
            if (string.IsNullOrEmpty(userID)) return;
            var MYUFUJDPGXNHDIBBBBOLXMKJLVIJYDHAKYQCDFSXPWVY = ToEpochTime(DateTime.Now);
            var SMTWVFTIAVZNFBZQMMNJBPAJYOSUHQVWAKFJPUAVXEUYP = "нет";
            if (EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Permission.ContainsKey(userID)) {
                var QIXHTYCVXAIYDFEFGEBLLLAIBHNXZIAIPMZUBEGQYE = EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Permission[userID];
                SMTWVFTIAVZNFBZQMMNJBPAJYOSUHQVWAKFJPUAVXEUYP = "";
                foreach(var AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK in QIXHTYCVXAIYDFEFGEBLLLAIBHNXZIAIPMZUBEGQYE.Where(x=> x.Value - MYUFUJDPGXNHDIBBBBOLXMKJLVIJYDHAKYQCDFSXPWVY > 0).OrderBy(x=> x.Key)) SMTWVFTIAVZNFBZQMMNJBPAJYOSUHQVWAKFJPUAVXEUYP += $"\"{AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK.Key}\" осталось \"{TZAKBSFLMICLYPDSZYXCYVLXPZVUTIGKZITKNZBUDBE(AHKKUHLYDKGTKYSUGHDAFSSYKHXECRSCEYRBBNSPOYTSEK.Value - MYUFUJDPGXNHDIBBBBOLXMKJLVIJYDHAKYQCDFSXPWVY)}\", ";
                SMTWVFTIAVZNFBZQMMNJBPAJYOSUHQVWAKFJPUAVXEUYP = SMTWVFTIAVZNFBZQMMNJBPAJYOSUHQVWAKFJPUAVXEUYP.Trim(',', ' ');
                if (string.IsNullOrEmpty(SMTWVFTIAVZNFBZQMMNJBPAJYOSUHQVWAKFJPUAVXEUYP)) SMTWVFTIAVZNFBZQMMNJBPAJYOSUHQVWAKFJPUAVXEUYP = "нет";
            }
            var ZWIQLOVGMDLJYHNYAKZCMVWQBRMSMXUBUJOVMRFGBTYBX = "нет";
            if (EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Group.ContainsKey(userID)) {
                var OGGFNNMCZMNUEIOFLLEVPZAJRFJDBXKMGSLCVCZJNFBWBRU = EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Group[userID];
                ZWIQLOVGMDLJYHNYAKZCMVWQBRMSMXUBUJOVMRFGBTYBX = "";
                foreach(var group in OGGFNNMCZMNUEIOFLLEVPZAJRFJDBXKMGSLCVCZJNFBWBRU.Where(x=> x.Value - MYUFUJDPGXNHDIBBBBOLXMKJLVIJYDHAKYQCDFSXPWVY > 0).OrderBy(x=> x.Key)) ZWIQLOVGMDLJYHNYAKZCMVWQBRMSMXUBUJOVMRFGBTYBX += $"\"{group.Key}\" осталось \"{TZAKBSFLMICLYPDSZYXCYVLXPZVUTIGKZITKNZBUDBE(group.Value - MYUFUJDPGXNHDIBBBBOLXMKJLVIJYDHAKYQCDFSXPWVY)}\", ";
                ZWIQLOVGMDLJYHNYAKZCMVWQBRMSMXUBUJOVMRFGBTYBX = ZWIQLOVGMDLJYHNYAKZCMVWQBRMSMXUBUJOVMRFGBTYBX.Trim(',', ' ');
                if (string.IsNullOrEmpty(ZWIQLOVGMDLJYHNYAKZCMVWQBRMSMXUBUJOVMRFGBTYBX)) ZWIQLOVGMDLJYHNYAKZCMVWQBRMSMXUBUJOVMRFGBTYBX = "нет";
            }
            INUEIWKSJIHFNKMNMXTEMTTDCYSLIDIEBKHQWCERLVJNYVM(player, $"Данные игрока \"{LYXBEVIWCNJXODUCWLSECSMQWTEZXCYXRFLRCUPXZJ(userID)} ({userID})\":\nГруппы: {ZWIQLOVGMDLJYHNYAKZCMVWQBRMSMXUBUJOVMRFGBTYBX}\nПривилегии: {SMTWVFTIAVZNFBZQMMNJBPAJYOSUHQVWAKFJPUAVXEUYP}");
        }
        private void INUEIWKSJIHFNKMNMXTEMTTDCYSLIDIEBKHQWCERLVJNYVM(BasePlayer player, string FEGFODUUPKAYZORUJEWTOXWTZJTHOWYQOXUIERJGMRINXFB) {
            if (player != null) PrintToConsole(player, FEGFODUUPKAYZORUJEWTOXWTZJTHOWYQOXUIERJGMRINXFB);
            else Puts(FEGFODUUPKAYZORUJEWTOXWTZJTHOWYQOXUIERJGMRINXFB);
        }
        private static long ToEpochTime(DateTime SNVZVGEHHMGFJMGSLJKCUIPRVPHXOIWUHEPBBYVISMBRL) {
            var IFDWVPJLTCBAGRBFXPZSPNBZYLMQUTSIMPWRBURYTYN = SNVZVGEHHMGFJMGSLJKCUIPRVPHXOIWUHEPBBYVISMBRL.ToLocalTime();
            var WTIYDKYMCEZRPTCCUOJKPPTRMJFSBSXVSUUSKNTKCH = IFDWVPJLTCBAGRBFXPZSPNBZYLMQUTSIMPWRBURYTYN.Ticks - new DateTime(1970, 1, 1, 0, 0, 0, 0).Ticks;
            var JWUBLEYZJSNRHAQMUEFLJHEYVYJSHUYHHIJVRHUOCT = WTIYDKYMCEZRPTCCUOJKPPTRMJFSBSXVSUUSKNTKCH / TimeSpan.TicksPerSecond;
            return JWUBLEYZJSNRHAQMUEFLJHEYVYJSHUYHHIJVRHUOCT;
        }
        private static bool AATFVVGPTQBKDZKFZCDDCWRKSBTQJFFHLCKHKDIFDSWFAT(string WZKPCNVZVJXEDFYHSYQLXFXFRMOCJHHYFSSIMZGIZ, out DateTime IFDWVPJLTCBAGRBFXPZSPNBZYLMQUTSIMPWRBURYTYN) {
            int minutes = 0;
            int hours = 0;
            int days = 0;
            Match m = new Regex(@"(\d+?)m", RegexOptions.IgnoreCase).Match(WZKPCNVZVJXEDFYHSYQLXFXFRMOCJHHYFSSIMZGIZ);
            Match h = new Regex(@"(\d+?)h", RegexOptions.IgnoreCase).Match(WZKPCNVZVJXEDFYHSYQLXFXFRMOCJHHYFSSIMZGIZ);
            Match d = new Regex(@"(\d+?)d", RegexOptions.IgnoreCase).Match(WZKPCNVZVJXEDFYHSYQLXFXFRMOCJHHYFSSIMZGIZ);
            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());
            WZKPCNVZVJXEDFYHSYQLXFXFRMOCJHHYFSSIMZGIZ = WZKPCNVZVJXEDFYHSYQLXFXFRMOCJHHYFSSIMZGIZ.Replace(minutes.ToString() + "m", string.Empty);
            WZKPCNVZVJXEDFYHSYQLXFXFRMOCJHHYFSSIMZGIZ = WZKPCNVZVJXEDFYHSYQLXFXFRMOCJHHYFSSIMZGIZ.Replace(hours.ToString() + "h", string.Empty);
            WZKPCNVZVJXEDFYHSYQLXFXFRMOCJHHYFSSIMZGIZ = WZKPCNVZVJXEDFYHSYQLXFXFRMOCJHHYFSSIMZGIZ.Replace(days.ToString() + "d", string.Empty);
            if (!string.IsNullOrEmpty(WZKPCNVZVJXEDFYHSYQLXFXFRMOCJHHYFSSIMZGIZ) || (!m.Success && !h.Success && !d.Success)) {
                IFDWVPJLTCBAGRBFXPZSPNBZYLMQUTSIMPWRBURYTYN = default(DateTime);
                return false;
            }
            IFDWVPJLTCBAGRBFXPZSPNBZYLMQUTSIMPWRBURYTYN = DateTime.Now + new TimeSpan(days, hours, minutes, 0);
            return true;
        }
        private static bool LLDNWRJODJJMUCQFNLUZAOCVWTYZJALJYMIEGSIQBNGYB(int XFMBGHBRJGSVEDYJCSRAJSNQUJDCXAZRZWCTZLKNRB, int[] FXBNYWIWAGNVERVHWDZTJHAVIAFKRIEJIUISSWFFPEYKMAYBD) {
            foreach (int elem in FXBNYWIWAGNVERVHWDZTJHAVIAFKRIEJIUISSWFFPEYKMAYBD) if (elem==XFMBGHBRJGSVEDYJCSRAJSNQUJDCXAZRZWCTZLKNRB) return true;
            return false;
        }
        private static string ODNNIUFUNWJHQCSJEDYZOHTLZVCEXMHDUGFVMWSQDEZLVY(int days) {
            if (LLDNWRJODJJMUCQFNLUZAOCVWTYZJALJYMIEGSIQBNGYB(days, (new int[] {
                1, 21
            }
            ))) return days.ToString()+" день";
            else if (LLDNWRJODJJMUCQFNLUZAOCVWTYZJALJYMIEGSIQBNGYB(days, (new int[] {
                2, 3, 4, 22, 23, 24
            }
            ))) return days.ToString()+" дня";
            else return days.ToString()+" дней";
        }
        private static string GXSJDZBCGJBNMRBWAPFNJXXWHKHVJIIQBTWGFDDE(int hours) {
            if (LLDNWRJODJJMUCQFNLUZAOCVWTYZJALJYMIEGSIQBNGYB(hours, (new int[] {
                1, 21
            }
            ))) return hours.ToString()+" час";
            else if (LLDNWRJODJJMUCQFNLUZAOCVWTYZJALJYMIEGSIQBNGYB(hours, (new int[] {
                2, 3, 4, 22, 23, 24
            }
            ))) return hours.ToString()+" часа";
            else return hours.ToString()+" часов";
        }
        private static string EYLLJFYCHYVPLRIZVBSSGSYALMSVURXLBUFZLLYFITCJMAP(int minutes) {
            if (LLDNWRJODJJMUCQFNLUZAOCVWTYZJALJYMIEGSIQBNGYB(minutes, (new int[] {
                1, 21, 31, 41, 51
            }
            ))) return minutes.ToString()+" минута";
            else if (LLDNWRJODJJMUCQFNLUZAOCVWTYZJALJYMIEGSIQBNGYB(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 NGJBLLMMZLAWMDHPBKOQMJOKDNJNQONKWQIOHVAP(int seconds) {
            if (LLDNWRJODJJMUCQFNLUZAOCVWTYZJALJYMIEGSIQBNGYB(seconds, (new int[] {
                1, 21, 31, 41, 51
            }
            ))) return seconds.ToString()+" секунда";
            else if (LLDNWRJODJJMUCQFNLUZAOCVWTYZJALJYMIEGSIQBNGYB(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 TZAKBSFLMICLYPDSZYXCYVLXPZVUTIGKZITKNZBUDBE(long time) {
            TimeSpan CFDNSTAZFXVXCRVGMUGSOTGJZQVVMKQJPTCTRLRZGVTKM = TimeSpan.FromSeconds(time);
            int hours = CFDNSTAZFXVXCRVGMUGSOTGJZQVVMKQJPTCTRLRZGVTKM.Hours;
            int minutes = CFDNSTAZFXVXCRVGMUGSOTGJZQVVMKQJPTCTRLRZGVTKM.Minutes;
            int seconds = CFDNSTAZFXVXCRVGMUGSOTGJZQVVMKQJPTCTRLRZGVTKM.Seconds;
            int days = Mathf.FloorToInt((float)CFDNSTAZFXVXCRVGMUGSOTGJZQVVMKQJPTCTRLRZGVTKM.Days);
            string s = "";
            int HDVBHUVBZIZUOCXFMUGMIIPCOADHLSAVXOIRZLCWNOUT = 0;
            if (days > 0) {
                s += ODNNIUFUNWJHQCSJEDYZOHTLZVCEXMHDUGFVMWSQDEZLVY(days) + " ";
                HDVBHUVBZIZUOCXFMUGMIIPCOADHLSAVXOIRZLCWNOUT++;
            }
            if (hours > 0 || HDVBHUVBZIZUOCXFMUGMIIPCOADHLSAVXOIRZLCWNOUT == 1) {
                if (hours > 0) {
                    s += GXSJDZBCGJBNMRBWAPFNJXXWHKHVJIIQBTWGFDDE(hours) + " ";
                    if (++HDVBHUVBZIZUOCXFMUGMIIPCOADHLSAVXOIRZLCWNOUT==2) return s.Trim(' ');
                }
                else return s.Trim(' ');
            }
            if (minutes > 0 || HDVBHUVBZIZUOCXFMUGMIIPCOADHLSAVXOIRZLCWNOUT == 1) {
                if (minutes > 0) {
                    s += EYLLJFYCHYVPLRIZVBSSGSYALMSVURXLBUFZLLYFITCJMAP(minutes) + " ";
                    if (++HDVBHUVBZIZUOCXFMUGMIIPCOADHLSAVXOIRZLCWNOUT==2) return s.Trim(' ');
                }
                else return s.Trim(' ');
            }
            if (seconds > 0 || HDVBHUVBZIZUOCXFMUGMIIPCOADHLSAVXOIRZLCWNOUT == 1) {
                if (seconds > 0) {
                    s += NGJBLLMMZLAWMDHPBKOQMJOKDNJNQONKWQIOHVAP(seconds) + " ";
                    if (++HDVBHUVBZIZUOCXFMUGMIIPCOADHLSAVXOIRZLCWNOUT==2) return s.Trim(' ');
                }
                else return s.Trim(' ');
            }
            return s.Trim(' ');
        }
        private string LYXBEVIWCNJXODUCWLSECSMQWTEZXCYXRFLRCUPXZJ(string userID) {
            var XXOBBJYEZCYOTNHROPGIDWZTFFBRJZTOVIQDOFKJBRXMJDG = permission.GetUserData(userID);
            return XXOBBJYEZCYOTNHROPGIDWZTFFBRJZTOVIQDOFKJBRXMJDG.LastSeenNickname;
        }
        private string LZVVKFZXSJADTLHEKQJZZOMFIRDZCVUETKAQAXUUYF(string NJSHPYWGFXRYESCENJIDOAYTEFIPIHCDGNUUQBFKV, BasePlayer player) {
            if (ORBSFUPEGPKHXNPMSBZVXOVKILQEMVPAUIYOHZYFMQ<ulong>(NJSHPYWGFXRYESCENJIDOAYTEFIPIHCDGNUUQBFKV) && NJSHPYWGFXRYESCENJIDOAYTEFIPIHCDGNUUQBFKV.StartsWith("7656119") && NJSHPYWGFXRYESCENJIDOAYTEFIPIHCDGNUUQBFKV.Length == 17) return NJSHPYWGFXRYESCENJIDOAYTEFIPIHCDGNUUQBFKV;
            var VEZZNLPAXVVVIHUZIKSKWDDIFXGMZNJCZDVFAUAKSQGTJOAUX = new List<BasePlayer>();
            foreach (BasePlayer current in BasePlayer.activePlayerList) {
                if (current.displayName.ToLower() == NJSHPYWGFXRYESCENJIDOAYTEFIPIHCDGNUUQBFKV.ToLower()) return current.UserIDString;
                if (current.displayName.ToLower().Contains(NJSHPYWGFXRYESCENJIDOAYTEFIPIHCDGNUUQBFKV.ToLower())) VEZZNLPAXVVVIHUZIKSKWDDIFXGMZNJCZDVFAUAKSQGTJOAUX.Add(current);
            }
            switch (VEZZNLPAXVVVIHUZIKSKWDDIFXGMZNJCZDVFAUAKSQGTJOAUX.Count) {
                case 0 : INUEIWKSJIHFNKMNMXTEMTTDCYSLIDIEBKHQWCERLVJNYVM(player, $"Не найден игрок с именем \"{NJSHPYWGFXRYESCENJIDOAYTEFIPIHCDGNUUQBFKV}\"");
                break;
                case 1 : return VEZZNLPAXVVVIHUZIKSKWDDIFXGMZNJCZDVFAUAKSQGTJOAUX[0].UserIDString;
                default : string[] DZKVBSBQUQFDBKLTWFLPZOKIRGXKYQWLOAJKSDBDEJAJFPOWH = (from current in VEZZNLPAXVVVIHUZIKSKWDDIFXGMZNJCZDVFAUAKSQGTJOAUX select current.displayName).ToArray();
                INUEIWKSJIHFNKMNMXTEMTTDCYSLIDIEBKHQWCERLVJNYVM(player, "Найдено несколько игроков с похожим именем: \n" + string.Join(", ", DZKVBSBQUQFDBKLTWFLPZOKIRGXKYQWLOAJKSDBDEJAJFPOWH));
                break;
            }
            return null;
        }
        private static bool ORBSFUPEGPKHXNPMSBZVXOVKILQEMVPAUIYOHZYFMQ<T>(object s) {
            try {
                var SVJIYPOBEVVQSDTTPAABBSDHKPNADCRBCHXBBGBUWQZGIN = (T)Convert.ChangeType(s, typeof(T));
                return true;
            }
            catch {
                return false;
            }
        }
        private static List<LogNfo> WPLANVGPARBXJBNYBDUNKFSRIYFEKSXZXYRLSCEFWSXJZJ = new List<LogNfo>();
        private class LogNfo {
            public string RHORZFIINOSAPNLYDJQGXXVORQYHNLEYHCIQEMFCHAUN;
            public string IFDWVPJLTCBAGRBFXPZSPNBZYLMQUTSIMPWRBURYTYN;
            public string TISXDOZHQXTROPBEHTCZLKCFZYORRIJSZGMWSUULXQANYKP;
            public LogNfo(string RHORZFIINOSAPNLYDJQGXXVORQYHNLEYHCIQEMFCHAUN, string IFDWVPJLTCBAGRBFXPZSPNBZYLMQUTSIMPWRBURYTYN, string TISXDOZHQXTROPBEHTCZLKCFZYORRIJSZGMWSUULXQANYKP) {
                this.RHORZFIINOSAPNLYDJQGXXVORQYHNLEYHCIQEMFCHAUN = RHORZFIINOSAPNLYDJQGXXVORQYHNLEYHCIQEMFCHAUN;
                this.IFDWVPJLTCBAGRBFXPZSPNBZYLMQUTSIMPWRBURYTYN = IFDWVPJLTCBAGRBFXPZSPNBZYLMQUTSIMPWRBURYTYN;
                this.TISXDOZHQXTROPBEHTCZLKCFZYORRIJSZGMWSUULXQANYKP = TISXDOZHQXTROPBEHTCZLKCFZYORRIJSZGMWSUULXQANYKP;
            }
        }
        private string PIDDDKLCSYJJZWRJUDLSKAJNPPBFSCTIGZFBFHNTBTWBK() => "["+DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss")+"] ";
        private bool YSPPEBAYDPZPOOJFKPFBCZQQEMPSQRDHCPQJQCYRIIWQCPTZK(string RHORZFIINOSAPNLYDJQGXXVORQYHNLEYHCIQEMFCHAUN, string IFDWVPJLTCBAGRBFXPZSPNBZYLMQUTSIMPWRBURYTYN, string TISXDOZHQXTROPBEHTCZLKCFZYORRIJSZGMWSUULXQANYKP) {
            try {
                LogToFile(RHORZFIINOSAPNLYDJQGXXVORQYHNLEYHCIQEMFCHAUN, IFDWVPJLTCBAGRBFXPZSPNBZYLMQUTSIMPWRBURYTYN + TISXDOZHQXTROPBEHTCZLKCFZYORRIJSZGMWSUULXQANYKP, this, false);
                string UNPPXJHIGMYEZIPIOBSICFMNZRCUKOGOIZWDSTUPYEQFWQ = RHORZFIINOSAPNLYDJQGXXVORQYHNLEYHCIQEMFCHAUN;
                string PARZXSHMPBCQGGNYRFJVZLMPUGCJYOHQJENTSPJWBMGC = TISXDOZHQXTROPBEHTCZLKCFZYORRIJSZGMWSUULXQANYKP;
            }
            catch {
                return false;
            }
            return true;
        }
        private void JHWJWYBZLSMIILMSNYXZPHRNTUDZNOSQHTIVKTTSHQQGFZAK(BasePlayer player, string TISXDOZHQXTROPBEHTCZLKCFZYORRIJSZGMWSUULXQANYKP) {
            INUEIWKSJIHFNKMNMXTEMTTDCYSLIDIEBKHQWCERLVJNYVM(player, TISXDOZHQXTROPBEHTCZLKCFZYORRIJSZGMWSUULXQANYKP);
            WPLANVGPARBXJBNYBDUNKFSRIYFEKSXZXYRLSCEFWSXJZJ.Add(new LogNfo("info", PIDDDKLCSYJJZWRJUDLSKAJNPPBFSCTIGZFBFHNTBTWBK(), TISXDOZHQXTROPBEHTCZLKCFZYORRIJSZGMWSUULXQANYKP));
            while(WPLANVGPARBXJBNYBDUNKFSRIYFEKSXZXYRLSCEFWSXJZJ.Count > 0) {
                if (YSPPEBAYDPZPOOJFKPFBCZQQEMPSQRDHCPQJQCYRIIWQCPTZK(WPLANVGPARBXJBNYBDUNKFSRIYFEKSXZXYRLSCEFWSXJZJ[0].RHORZFIINOSAPNLYDJQGXXVORQYHNLEYHCIQEMFCHAUN, WPLANVGPARBXJBNYBDUNKFSRIYFEKSXZXYRLSCEFWSXJZJ[0].IFDWVPJLTCBAGRBFXPZSPNBZYLMQUTSIMPWRBURYTYN, WPLANVGPARBXJBNYBDUNKFSRIYFEKSXZXYRLSCEFWSXJZJ[0].TISXDOZHQXTROPBEHTCZLKCFZYORRIJSZGMWSUULXQANYKP)) WPLANVGPARBXJBNYBDUNKFSRIYFEKSXZXYRLSCEFWSXJZJ.RemoveAt(0);
                else break;
            }
        }
        private static ConfigData DOILFZZNUMDOBERPYOATLGBTTFCWMUNFJZRRTYTPHDPSJF;
        private class ConfigData {
            [JsonProperty(PropertyName = "Разрешать снимать с игрока постоянную привилегию или группу, которой нет в БД плагина, командами плагина")]
            public bool KSHDYFIEWNOSZWCAZYYECMZVZVLLIRIKOPREFRPZAVVEEG;
            [JsonProperty(PropertyName = "Разрешать перезаписывать постоянные привилегии и группы игрока временными, при их выдаче командами плагина")]
            public bool SECPTLAOXSLDDUWWEEEDKEYUIJYDHRURTBSGFCPYOAULUOL;
            [JsonProperty(PropertyName = "Следить и восстанавливать привилегии и группы игрокам согласно записям БД плагина")]
            public bool DYRZACIOGHHJNWHFYUJBCQQBPGPKKMATXTZIAURRS;
        }
        private void KCVCKHBQJQCUBLWZVBODQHTFERYQKHTTSVDMXOWMH() => DOILFZZNUMDOBERPYOATLGBTTFCWMUNFJZRRTYTPHDPSJF = Config.ReadObject<ConfigData>();
        protected override void LoadDefaultConfig() {
            DOILFZZNUMDOBERPYOATLGBTTFCWMUNFJZRRTYTPHDPSJF = new ConfigData {
                KSHDYFIEWNOSZWCAZYYECMZVZVLLIRIKOPREFRPZAVVEEG = false, DYRZACIOGHHJNWHFYUJBCQQBPGPKKMATXTZIAURRS = false
            }
            ;
            SaveConfig(DOILFZZNUMDOBERPYOATLGBTTFCWMUNFJZRRTYTPHDPSJF);
            timer.Once(0.1f, ()=>SaveConfig(DOILFZZNUMDOBERPYOATLGBTTFCWMUNFJZRRTYTPHDPSJF));
        }
        private void SaveConfig(ConfigData FYGJRXVTPOUMAZJHAVBJTTNEUURENZXCHDLRRXVOJESN) => Config.WriteObject(FYGJRXVTPOUMAZJHAVBJTTNEUURENZXCHDLRRXVOJESN, true);
        private void LoadData() => EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ = Interface.GetMod().DataFileSystem.ReadObject<GrantData>("GrantData");
        private void SaveData() => Interface.GetMod().DataFileSystem.WriteObject("GrantData", EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ);
        /* получить список привилегий игрока в формате Dictionary<название привилегии, оставшиеся время действия в секундах> метод возвращает null, если у игрока нет привилегий */
        private Dictionary<string, int> GetPermissions(ulong userID) {
            var MYUFUJDPGXNHDIBBBBOLXMKJLVIJYDHAKYQCDFSXPWVY = ToEpochTime(DateTime.Now);
            var userIDString = userID.ToString();
            if (EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Permission.ContainsKey(userIDString)) return EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Permission[userIDString].Where(x=> x.Value - MYUFUJDPGXNHDIBBBBOLXMKJLVIJYDHAKYQCDFSXPWVY > 0).ToDictionary(x=> x.Key, x=> (int)(x.Value - MYUFUJDPGXNHDIBBBBOLXMKJLVIJYDHAKYQCDFSXPWVY));
            return null;
        }
        /* получить список групп игрока в формате Dictionary<название группы, оставшиеся время действия в секундах> метод возвращает null, если у игрока нет групп */
        private Dictionary<string, int> GetGroups(ulong userID) {
            var MYUFUJDPGXNHDIBBBBOLXMKJLVIJYDHAKYQCDFSXPWVY = ToEpochTime(DateTime.Now);
            var userIDString = userID.ToString();
            if (EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Group.ContainsKey(userIDString)) return EEMVUGFTEQMLBPXGQGPRREWOSPCZMZPBAQPPEISSRJDNZ.Group[userIDString].Where(x=> x.Value - MYUFUJDPGXNHDIBBBBOLXMKJLVIJYDHAKYQCDFSXPWVY > 0).ToDictionary(x=> x.Key, x=> (int)(x.Value - MYUFUJDPGXNHDIBBBBOLXMKJLVIJYDHAKYQCDFSXPWVY));
            return null;
        }
    }
}

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