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;
}
}
}