//using SharedLibraryCore; //using SharedLibraryCore.Commands; //using SharedLibraryCore.Configuration; //using SharedLibraryCore.Database.Models; //using SharedLibraryCore.Interfaces; //using System.Threading.Tasks; //using ClanTagRankCommands; //using System; //using System.Runtime; //namespace ClanTagRankCommands.Commands //{ // /// // /// Example script command // /// // public class PermaperkCommand : Command // { // private readonly IMetaService _metaService; // private readonly IConfigurationHandler _configurationHandler; // private Configuration Config; // public PermaperkCommand(CommandConfiguration config, ITranslationLookup lookup, IMetaService metaService, IConfigurationHandlerFactory configurationHandlerFactory) : base(config, lookup) // { // _metaService = metaService; // _configurationHandler = configurationHandlerFactory.GetConfigurationHandler("ClanTagRankCommands"); // if (_configurationHandler.Configuration() == null) // { // _configurationHandler.Set((Configuration)new Configuration().Generate()); // _configurationHandler.Save(); // } // Config = _configurationHandler.Configuration(); // Name = "Permaperk"; // Description = "force permaperks, clan tag, and speed if they don't set correctly."; // Alias = "perma"; // Permission = EFClient.Permission.Trusted; // RequiresTarget = false; // Arguments = new[] // { // new CommandArgument() // { // } // }; // } // public override async Task ExecuteAsync(GameEvent E) // { // //await yadb.notifyYADB("Kicked player @{target} after a successful vote started from @{origin}", $"testing", E.Data,":pencil:", E.Owner, E.Origin, E.Origin); // var speedtoggle = await _metaService.GetPersistentMeta("speedtoggle", E.Origin); // if (speedtoggle == null) // { // // speedtoggle == 1 means slower, unmodified speed) // await _metaService.AddPersistentMeta("speedtoggle", "0", E.Origin); // speedtoggle = await _metaService.GetPersistentMeta("speedtoggle", E.Origin); // } // //await E.Owner.SetDvarAsync("sv_iw4madmin_options", "speedtoggle;" + E.Origin.ClientNumber.ToString() + ";" + speedtoggle.Value.ToString()); // if (E.Origin is not null && E.Origin.CurrentServer == E.Owner && E.Origin.ClientNumber != -1 && E.Origin.ClientNumber != 9) // { // var rank_player_var = await _metaService.GetPersistentMeta("rank", E.Origin); // var rankName = E.Origin.Level.ClanTag(Config); // rank_player_var = await _metaService.GetPersistentMeta("rank", E.Origin); // if (rank_player_var == null) // { // await _metaService.AddPersistentMeta("rank", "none", E.Origin); // rank_player_var = await _metaService.GetPersistentMeta("rank", E.Origin); // } // if (!(rank_player_var.Value.Contains("none")) && !(rank_player_var.Value.Contains("None")) && !(rank_player_var.Value.Contains("NONE"))) // { // rankName = rank_player_var.Value; // } // if (E.Origin is not null && E.Origin.CurrentServer == E.Owner && E.Origin.ClientNumber != -1 && E.Origin.ClientNumber != 9)// && (E.Origin.Level > EFClient.Permission.Trusted || rankName != Config.User)) // { // if(string.IsNullOrWhiteSpace(rankName)) // { // } // else // { // await E.Owner.ExecuteCommandAsync("setclantag" + " " + E.Origin.ClientNumber.ToString() + " " + rankName.ToString()); // await E.Owner.ExecuteCommandAsync("setrole" + " " + E.Origin.ClientNumber.ToString() + " " + rankName.ToString()); // E.Origin.Tell("Setting permaperks"); // } // //await E.Owner.SetDvarAsync("sv_iw4madmin_role", "setRole;" + E.Origin.ClientNumber.ToString() + ";" + rankName.ToString()); // } // } // } // } //}