comment out unneeded commands and events
add inviteguest and setdonator commands
This commit is contained in:
parent
f2832f3558
commit
06023475ee
@ -20,7 +20,7 @@ namespace ClanTagRankCommands
|
||||
switch ((int)level)
|
||||
{
|
||||
case -1:
|
||||
rankName = "Banned"; //this typically won't be seen.
|
||||
rankName = "Flagged"; //this typically won't be seen.
|
||||
break;
|
||||
case 0:
|
||||
rankName = Config.User;
|
||||
|
@ -15,7 +15,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="RaidMax.IW4MAdmin.SharedLibraryCore" Version="2021.3.19.1" PrivateAssets="All" />
|
||||
<PackageReference Include="RaidMax.IW4MAdmin.SharedLibraryCore" Version="2022.6.16.1" PrivateAssets="All" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
|
||||
|
@ -1,93 +1,93 @@
|
||||
using SharedLibraryCore;
|
||||
using SharedLibraryCore.Commands;
|
||||
using SharedLibraryCore.Configuration;
|
||||
using SharedLibraryCore.Database.Models;
|
||||
using SharedLibraryCore.Interfaces;
|
||||
using System.Threading.Tasks;
|
||||
//using SharedLibraryCore;
|
||||
//using SharedLibraryCore.Commands;
|
||||
//using SharedLibraryCore.Configuration;
|
||||
//using SharedLibraryCore.Database.Models;
|
||||
//using SharedLibraryCore.Interfaces;
|
||||
//using System.Threading.Tasks;
|
||||
|
||||
|
||||
namespace ClanTagRankCommands.Commands
|
||||
{
|
||||
//namespace ClanTagRankCommands.Commands
|
||||
//{
|
||||
|
||||
/// <summary>
|
||||
/// Example script command
|
||||
/// </summary>
|
||||
///
|
||||
// /// <summary>
|
||||
// /// Example script command
|
||||
// /// </summary>
|
||||
// ///
|
||||
|
||||
public class GetRankCommand : Command
|
||||
{
|
||||
readonly string rank = "rank";
|
||||
string rank_string;
|
||||
private readonly IMetaService _metaService;
|
||||
private readonly IConfigurationHandler<Configuration> _configurationHandler;
|
||||
private Configuration Config;
|
||||
// public class GetRankCommand : Command
|
||||
// {
|
||||
// readonly string rank = "rank";
|
||||
// string rank_string;
|
||||
// private readonly IMetaServiceV2 _metaService;
|
||||
// private readonly IConfigurationHandler<Configuration> _configurationHandler;
|
||||
// private Configuration Config;
|
||||
|
||||
|
||||
public GetRankCommand(CommandConfiguration config, ITranslationLookup lookup, IMetaService metaService, IConfigurationHandlerFactory configurationHandlerFactory) : base(config, lookup)
|
||||
{
|
||||
_metaService = metaService;
|
||||
_configurationHandler = configurationHandlerFactory.GetConfigurationHandler<Configuration>("ClanTagRankCommands");
|
||||
if (_configurationHandler.Configuration() == null)
|
||||
{
|
||||
_configurationHandler.Set((Configuration)new Configuration().Generate());
|
||||
_configurationHandler.Save();
|
||||
}
|
||||
Config = _configurationHandler.Configuration();
|
||||
// public GetRankCommand(CommandConfiguration config, ITranslationLookup lookup, IMetaServiceV2 metaService, IConfigurationHandlerFactory configurationHandlerFactory) : base(config, lookup)
|
||||
// {
|
||||
// _metaService = metaService;
|
||||
// _configurationHandler = configurationHandlerFactory.GetConfigurationHandler<Configuration>("ClanTagRankCommands");
|
||||
// if (_configurationHandler.Configuration() == null)
|
||||
// {
|
||||
// _configurationHandler.Set((Configuration)new Configuration().Generate());
|
||||
// _configurationHandler.Save();
|
||||
// }
|
||||
// Config = _configurationHandler.Configuration();
|
||||
|
||||
Name = "GetRank";
|
||||
Description = "Get a user's clan tag Rank (does not give permissions)";
|
||||
Alias = "Gr";
|
||||
Permission = EFClient.Permission.Trusted;
|
||||
RequiresTarget = true;
|
||||
Arguments = new[]
|
||||
{
|
||||
new CommandArgument()
|
||||
{
|
||||
}
|
||||
};
|
||||
// Name = "GetRank";
|
||||
// Description = "Get a user's clan tag Rank (does not give permissions)";
|
||||
// Alias = "Gr";
|
||||
// Permission = EFClient.Permission.Trusted;
|
||||
// RequiresTarget = true;
|
||||
// Arguments = new[]
|
||||
// {
|
||||
// new CommandArgument()
|
||||
// {
|
||||
// }
|
||||
// };
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
public override async Task ExecuteAsync(GameEvent E)
|
||||
{
|
||||
rank_string = "none";
|
||||
if(E.Target is not null)
|
||||
{
|
||||
var rank_player_var = await _metaService.GetPersistentMeta(rank, E.Target);
|
||||
if (rank_player_var == null)
|
||||
{
|
||||
await _metaService.AddPersistentMeta(rank, "none", E.Target);
|
||||
rank_player_var = await _metaService.GetPersistentMeta(rank, E.Target);
|
||||
}
|
||||
// public override async Task ExecuteAsync(GameEvent E)
|
||||
// {
|
||||
// rank_string = "none";
|
||||
// if(E.Target is not null)
|
||||
// {
|
||||
// var rank_player_var = await _metaService.GetPersistentMeta(rank, E.Target.ClientId);
|
||||
// if (rank_player_var == null)
|
||||
// {
|
||||
// await _metaService.SetPersistentMeta(rank, "none", E.Target.ClientId);
|
||||
// rank_player_var = await _metaService.GetPersistentMeta(rank, E.Target.ClientId);
|
||||
// }
|
||||
|
||||
if (rank_string.Length > 0 && rank_string.Length < 9)
|
||||
{
|
||||
// if (rank_string.Length > 0 && rank_string.Length < 9)
|
||||
// {
|
||||
|
||||
//await _metaService.AddPersistentMeta(rank, rank_string, E.Target);
|
||||
rank_player_var = await _metaService.GetPersistentMeta(rank, E.Target);
|
||||
if(rank_player_var.Value == "none" || rank_player_var.Value == "None" || rank_player_var.Value == "NONE")
|
||||
{
|
||||
// //await _metaService.AddPersistentMeta(rank, rank_string, E.Target);
|
||||
// rank_player_var = await _metaService.GetPersistentMeta(rank, E.Target.ClientId);
|
||||
// if(rank_player_var.Value == "none" || rank_player_var.Value == "None" || rank_player_var.Value == "NONE")
|
||||
// {
|
||||
|
||||
//E.Origin.Tell(E.Target.Name + "'s rank has been reset");
|
||||
rank_string = E.Target.Level.ClanTag(Config);
|
||||
E.Origin.Tell("[" + rank_string + "]" + E.Target.Name );
|
||||
// //E.Origin.Tell(E.Target.Name + "'s rank has been reset");
|
||||
// rank_string = E.Target.Level.ClanTag(Config);
|
||||
// E.Origin.Tell("[" + rank_string + "]" + E.Target.Name );
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
else
|
||||
{
|
||||
rank_string = rank_player_var.Value;
|
||||
E.Origin.Tell("[" + rank_player_var.Value + "]" + E.Target.Name);
|
||||
// else
|
||||
// {
|
||||
// rank_string = rank_player_var.Value;
|
||||
// E.Origin.Tell("[" + rank_player_var.Value + "]" + E.Target.Name);
|
||||
|
||||
}
|
||||
}
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
53
Commands/InviteGuestCommand.cs
Normal file
53
Commands/InviteGuestCommand.cs
Normal file
@ -0,0 +1,53 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Data.Models;
|
||||
using Data.Models.Client;
|
||||
using SharedLibraryCore;
|
||||
using SharedLibraryCore.Commands;
|
||||
using SharedLibraryCore.Configuration;
|
||||
using SharedLibraryCore.Dtos;
|
||||
using SharedLibraryCore.Interfaces;
|
||||
|
||||
|
||||
namespace ClanTagRankCommands.Commands
|
||||
{
|
||||
public class InviteGuestCommand : Command
|
||||
{
|
||||
private readonly IMetaServiceV2 _metaService;
|
||||
|
||||
|
||||
public InviteGuestCommand(CommandConfiguration config, ITranslationLookup layout, IMetaServiceV2 metaService) :
|
||||
base(config, layout)
|
||||
{
|
||||
Name = "inviteGuest";
|
||||
Description = "invite a guest to play on donator server (use !find to get @id to invite)";
|
||||
Alias = "guest";
|
||||
Permission = EFClient.Permission.Trusted;
|
||||
RequiresTarget = true;
|
||||
Arguments = new[]
|
||||
{
|
||||
new CommandArgument
|
||||
{
|
||||
Name = "Player",
|
||||
Required = true
|
||||
}
|
||||
};
|
||||
|
||||
_metaService = metaService;
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(GameEvent gameEvent)
|
||||
{
|
||||
var token = gameEvent.Owner.Manager.CancellationToken;
|
||||
|
||||
var availableTags = await _metaService.GetPersistentMetaValue<List<LookupValue<string>>>(EFMeta.ClientTagNameV2, token);
|
||||
var matchingTag = availableTags.FirstOrDefault(tag => tag.Value == "Guest".Trim());
|
||||
|
||||
gameEvent.Target.Tag = matchingTag.Value;
|
||||
await _metaService.SetPersistentMetaForLookupKey(EFMeta.ClientTagV2, EFMeta.ClientTagNameV2, matchingTag.Id,
|
||||
gameEvent.Target.ClientId, token);
|
||||
gameEvent.Origin.Tell($"Temporarily set {gameEvent.Target.Name} to Guest");
|
||||
}
|
||||
}
|
||||
}
|
@ -1,98 +1,98 @@
|
||||
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;
|
||||
//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
|
||||
{
|
||||
/// <summary>
|
||||
/// Example script command
|
||||
/// </summary>
|
||||
public class PermaperkCommand : Command
|
||||
{
|
||||
private readonly IMetaService _metaService;
|
||||
private readonly IConfigurationHandler<Configuration> _configurationHandler;
|
||||
private Configuration Config;
|
||||
public PermaperkCommand(CommandConfiguration config, ITranslationLookup lookup, IMetaService metaService, IConfigurationHandlerFactory configurationHandlerFactory) : base(config, lookup)
|
||||
{
|
||||
_metaService = metaService;
|
||||
_configurationHandler = configurationHandlerFactory.GetConfigurationHandler<Configuration>("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()
|
||||
{
|
||||
}
|
||||
};
|
||||
}
|
||||
//namespace ClanTagRankCommands.Commands
|
||||
//{
|
||||
// /// <summary>
|
||||
// /// Example script command
|
||||
// /// </summary>
|
||||
// public class PermaperkCommand : Command
|
||||
// {
|
||||
// private readonly IMetaService _metaService;
|
||||
// private readonly IConfigurationHandler<Configuration> _configurationHandler;
|
||||
// private Configuration Config;
|
||||
// public PermaperkCommand(CommandConfiguration config, ITranslationLookup lookup, IMetaService metaService, IConfigurationHandlerFactory configurationHandlerFactory) : base(config, lookup)
|
||||
// {
|
||||
// _metaService = metaService;
|
||||
// _configurationHandler = configurationHandlerFactory.GetConfigurationHandler<Configuration>("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());
|
||||
// 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);
|
||||
// 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)
|
||||
{
|
||||
// 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);
|
||||
}
|
||||
// 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 (!(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))
|
||||
{
|
||||
// }
|
||||
// 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");
|
||||
}
|
||||
// }
|
||||
// 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());
|
||||
}
|
||||
}
|
||||
// //await E.Owner.SetDvarAsync("sv_iw4madmin_role", "setRole;" + E.Origin.ClientNumber.ToString() + ";" + rankName.ToString());
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
|
||||
|
@ -1,81 +1,81 @@
|
||||
using SharedLibraryCore;
|
||||
using SharedLibraryCore.Commands;
|
||||
using SharedLibraryCore.Configuration;
|
||||
using SharedLibraryCore.Database.Models;
|
||||
using SharedLibraryCore.Interfaces;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
//using SharedLibraryCore;
|
||||
//using SharedLibraryCore.Commands;
|
||||
//using SharedLibraryCore.Configuration;
|
||||
//using SharedLibraryCore.Database.Models;
|
||||
//using SharedLibraryCore.Interfaces;
|
||||
//using System;
|
||||
//using System.Threading.Tasks;
|
||||
|
||||
|
||||
|
||||
namespace ClanTagRankCommands.Commands
|
||||
{
|
||||
/// <summary>
|
||||
/// Example script command
|
||||
/// </summary>
|
||||
public class ResetRankCommand : Command
|
||||
{
|
||||
readonly string rank = "rank";
|
||||
string rank_string;
|
||||
private readonly IMetaService _metaService;
|
||||
private readonly IConfigurationHandler<Configuration> _configurationHandler;
|
||||
private Configuration Config;
|
||||
//namespace ClanTagRankCommands.Commands
|
||||
//{
|
||||
// /// <summary>
|
||||
// /// Example script command
|
||||
// /// </summary>
|
||||
// public class ResetRankCommand : Command
|
||||
// {
|
||||
// readonly string rank = "rank";
|
||||
// string rank_string;
|
||||
// private readonly IMetaServiceV2 _metaService;
|
||||
// private readonly IConfigurationHandler<Configuration> _configurationHandler;
|
||||
// private Configuration Config;
|
||||
|
||||
public ResetRankCommand(CommandConfiguration config, ITranslationLookup lookup, IMetaService metaService, IConfigurationHandlerFactory configurationHandlerFactory) : base(config, lookup)
|
||||
{
|
||||
_metaService = metaService;
|
||||
_configurationHandler = configurationHandlerFactory.GetConfigurationHandler<Configuration>("ClanTagRankCommands");
|
||||
if (_configurationHandler.Configuration() == null)
|
||||
{
|
||||
_configurationHandler.Set((Configuration)new Configuration().Generate());
|
||||
_configurationHandler.Save();
|
||||
}
|
||||
Config = _configurationHandler.Configuration();
|
||||
// public ResetRankCommand(CommandConfiguration config, ITranslationLookup lookup, IMetaServiceV2 metaService, IConfigurationHandlerFactory configurationHandlerFactory) : base(config, lookup)
|
||||
// {
|
||||
// _metaService = metaService;
|
||||
// _configurationHandler = configurationHandlerFactory.GetConfigurationHandler<Configuration>("ClanTagRankCommands");
|
||||
// if (_configurationHandler.Configuration() == null)
|
||||
// {
|
||||
// _configurationHandler.Set((Configuration)new Configuration().Generate());
|
||||
// _configurationHandler.Save();
|
||||
// }
|
||||
// Config = _configurationHandler.Configuration();
|
||||
|
||||
Name = "ResetRank";
|
||||
Description = "set a user's clan tag Rank (does not give permissions)";
|
||||
Alias = "rr";
|
||||
Permission = EFClient.Permission.Administrator;
|
||||
RequiresTarget = true;
|
||||
Arguments = new[]
|
||||
{
|
||||
new CommandArgument()
|
||||
{
|
||||
//Name = "rank",
|
||||
//Required = false
|
||||
}
|
||||
};
|
||||
}
|
||||
// Name = "ResetRank";
|
||||
// Description = "set a user's clan tag Rank (does not give permissions)";
|
||||
// Alias = "rr";
|
||||
// Permission = EFClient.Permission.Administrator;
|
||||
// RequiresTarget = true;
|
||||
// Arguments = new[]
|
||||
// {
|
||||
// new CommandArgument()
|
||||
// {
|
||||
// //Name = "rank",
|
||||
// //Required = false
|
||||
// }
|
||||
// };
|
||||
// }
|
||||
|
||||
public override async Task ExecuteAsync(GameEvent E)
|
||||
{
|
||||
//var S = E.Owner;
|
||||
rank_string = "none";
|
||||
if(E.Target is not null)
|
||||
{
|
||||
await _metaService.AddPersistentMeta(rank, rank_string, E.Target);
|
||||
rank_string = E.Target.Level.ClanTag(Config);
|
||||
E.Origin.Tell(E.Target.Name + "'s rank has been reset to: " + rank_string);
|
||||
if (E.Target is not null && E.Target.IsIngame )
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(rank_string))
|
||||
{
|
||||
await E.Owner.ExecuteCommandAsync("resetclantag" + " " + E.Target.ClientNumber.ToString());
|
||||
// public override async Task ExecuteAsync(GameEvent E)
|
||||
// {
|
||||
// //var S = E.Owner;
|
||||
// rank_string = "none";
|
||||
// if(E.Target is not null)
|
||||
// {
|
||||
// await _metaService.SetPersistentMeta(rank, rank_string, E.Target.ClientId);
|
||||
// rank_string = E.Target.Level.ClanTag(Config);
|
||||
// E.Origin.Tell(E.Target.Name + "'s rank has been reset to: " + rank_string);
|
||||
// if (E.Target is not null && E.Target.IsIngame )
|
||||
// {
|
||||
// if (string.IsNullOrWhiteSpace(rank_string))
|
||||
// {
|
||||
// await E.Owner.ExecuteCommandAsync("resetclantag" + " " + E.Target.ClientNumber.ToString());
|
||||
|
||||
await E.Owner.ExecuteCommandAsync("resetrole " + E.Target.ClientNumber.ToString());
|
||||
// await E.Owner.ExecuteCommandAsync("resetrole " + E.Target.ClientNumber.ToString());
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
await E.Owner.ExecuteCommandAsync("setclantag" + " " + E.Target.ClientNumber.ToString() + " " + rank_string.ToString());
|
||||
//await E.Owner.SetDvarAsync("sv_iw4madmin_role", "setRole;" + E.Target.ClientNumber.ToString() + ";" + rank_string.ToString());
|
||||
await E.Owner.ExecuteCommandAsync("setrole " + E.Target.ClientNumber.ToString() + " " + rank_string.ToString());
|
||||
}
|
||||
}
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// await E.Owner.ExecuteCommandAsync("setclantag" + " " + E.Target.ClientNumber.ToString() + " " + rank_string.ToString());
|
||||
// //await E.Owner.SetDvarAsync("sv_iw4madmin_role", "setRole;" + E.Target.ClientNumber.ToString() + ";" + rank_string.ToString());
|
||||
// await E.Owner.ExecuteCommandAsync("setrole " + E.Target.ClientNumber.ToString() + " " + rank_string.ToString());
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
92
Commands/SetDonatorCommand.cs
Normal file
92
Commands/SetDonatorCommand.cs
Normal file
@ -0,0 +1,92 @@
|
||||
//using System.Collections.Generic;
|
||||
//using System.Linq;
|
||||
//using System.Threading.Tasks;
|
||||
//using Data.Models;
|
||||
//using Data.Models.Client;
|
||||
//using SharedLibraryCore;
|
||||
//using SharedLibraryCore.Commands;
|
||||
//using SharedLibraryCore.Configuration;
|
||||
//using SharedLibraryCore.Dtos;
|
||||
//using SharedLibraryCore.Interfaces;
|
||||
|
||||
|
||||
//namespace ClanTagRankCommands.Commands
|
||||
//{
|
||||
// public class SetDonatorCommand : Command
|
||||
// {
|
||||
// private readonly IMetaServiceV2 _metaService;
|
||||
|
||||
|
||||
// public SetDonatorCommand(CommandConfiguration config, ITranslationLookup layout, IMetaServiceV2 metaService) :
|
||||
// base(config, layout)
|
||||
// {
|
||||
// Name = "SetDonator";
|
||||
// Description = "Sets a player to Donator rank";
|
||||
// Alias = "Donator";
|
||||
// Permission = EFClient.Permission.Trusted;
|
||||
// RequiresTarget = true;
|
||||
// Arguments = new[]
|
||||
// {
|
||||
// new CommandArgument
|
||||
// {
|
||||
// Name = "Player",
|
||||
// Required = true
|
||||
// }
|
||||
// };
|
||||
|
||||
// _metaService = metaService;
|
||||
// }
|
||||
|
||||
// public override async Task ExecuteAsync(GameEvent gameEvent)
|
||||
// {
|
||||
// var token = gameEvent.Owner.Manager.CancellationToken;
|
||||
|
||||
// var availableTags = await _metaService.GetPersistentMetaValue<List<LookupValue<string>>>(EFMeta.ClientTagNameV2, token);
|
||||
// var matchingTag = availableTags.FirstOrDefault(tag => tag.Value == "Donator".Trim());
|
||||
|
||||
// gameEvent.Target.Tag = matchingTag.Value;
|
||||
// await _metaService.SetPersistentMetaForLookupKey(EFMeta.ClientTagV2, EFMeta.ClientTagNameV2, matchingTag.Id,
|
||||
// gameEvent.Target.ClientId, token);
|
||||
// if (gameEvent.Target.Level < EFClient.Permission.Moderator)
|
||||
// {
|
||||
// gameEvent.Target.SetLevel(EFClient.Permission.Trusted, gameEvent.Origin);
|
||||
// }
|
||||
// gameEvent.Origin.Tell($"Set {gameEvent.Target.Name} to Donator");
|
||||
// if (gameEvent.Target.IsIngame)
|
||||
// {
|
||||
// gameEvent.Target.Tell($"Your rank has been set to Donator!");
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// var cmd = $"{Utilities.CommandPrefix}om {gameEvent.Target.ClientId} Your rank has been set to Donator!";
|
||||
// var impersonatedCommandEvent = new GameEvent
|
||||
// {
|
||||
// Type = GameEvent.EventType.Command,
|
||||
// Origin = gameEvent.Origin,
|
||||
// ImpersonationOrigin = gameEvent.Origin,
|
||||
// Message = cmd,
|
||||
// Data = cmd,
|
||||
// Owner = gameEvent.Owner,
|
||||
// CorrelationId = gameEvent.CorrelationId
|
||||
// };
|
||||
// gameEvent.Owner.Manager.AddEvent(impersonatedCommandEvent);
|
||||
|
||||
// var result = await impersonatedCommandEvent.WaitAsync(Utilities.DefaultCommandTimeout,
|
||||
// gameEvent.Owner.Manager.CancellationToken);
|
||||
// await result.WaitAsync(Utilities.DefaultCommandTimeout, gameEvent.Owner.Manager.CancellationToken);
|
||||
|
||||
// // remove the added command response
|
||||
// // todo: something weird happening making this change required
|
||||
// var responses = gameEvent.Owner.Manager.ProcessingEvents
|
||||
// .Where(ev => ev.Value.CorrelationId == impersonatedCommandEvent.CorrelationId)
|
||||
// .SelectMany(ev => ev.Value.Output)
|
||||
// .ToList();
|
||||
|
||||
// foreach (var output in responses)
|
||||
// await gameEvent.Origin.Tell(_translationLookup["COMMANDS_RUN_AS_SUCCESS"].FormatExt(output))
|
||||
// .WaitAsync();
|
||||
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
@ -18,12 +18,12 @@ namespace ClanTagRankCommands.Commands
|
||||
{
|
||||
readonly string rank = "rank";
|
||||
string rank_string;
|
||||
private readonly IMetaService _metaService;
|
||||
private readonly IMetaServiceV2 _metaService;
|
||||
private readonly IConfigurationHandler<Configuration> _configurationHandler;
|
||||
private Configuration Config;
|
||||
|
||||
|
||||
public SetRankCommand(CommandConfiguration config, ITranslationLookup lookup, IMetaService metaService, IConfigurationHandlerFactory configurationHandlerFactory) : base(config, lookup)
|
||||
public SetRankCommand(CommandConfiguration config, ITranslationLookup lookup, IMetaServiceV2 metaService, IConfigurationHandlerFactory configurationHandlerFactory) : base(config, lookup)
|
||||
{
|
||||
_metaService = metaService;
|
||||
_configurationHandler = configurationHandlerFactory.GetConfigurationHandler<Configuration>("ClanTagRankCommands");
|
||||
@ -57,18 +57,18 @@ namespace ClanTagRankCommands.Commands
|
||||
rank_string = E.Data;
|
||||
if(E.Target is not null)
|
||||
{
|
||||
var rank_player_var = await _metaService.GetPersistentMeta(rank, E.Target);
|
||||
var rank_player_var = await _metaService.GetPersistentMeta(rank, E.Target.ClientId);
|
||||
if (rank_player_var == null)
|
||||
{
|
||||
await _metaService.AddPersistentMeta(rank, "none", E.Target);
|
||||
rank_player_var = await _metaService.GetPersistentMeta(rank, E.Target);
|
||||
await _metaService.SetPersistentMeta(rank, "none", E.Target.ClientId);
|
||||
rank_player_var = await _metaService.GetPersistentMeta(rank, E.Target.ClientId);
|
||||
}
|
||||
|
||||
if (rank_string.Length > 0 && rank_string.Length < 9)
|
||||
{
|
||||
|
||||
await _metaService.AddPersistentMeta(rank, rank_string, E.Target);
|
||||
rank_player_var = await _metaService.GetPersistentMeta(rank, E.Target);
|
||||
await _metaService.SetPersistentMeta(rank, rank_string, E.Target.ClientId);
|
||||
rank_player_var = await _metaService.GetPersistentMeta(rank, E.Target.ClientId);
|
||||
if(rank_player_var.Value == "none" || rank_player_var.Value == "None" || rank_player_var.Value == "NONE")
|
||||
{
|
||||
|
||||
|
136
Plugin.cs
136
Plugin.cs
@ -18,8 +18,8 @@ namespace ClanTagRankCommands
|
||||
private readonly IConfigurationHandler<Configuration> _configurationHandler;
|
||||
private readonly ILogger _logger;
|
||||
private Configuration Config;
|
||||
readonly string rank = "rank";
|
||||
string rankName = "none";
|
||||
//readonly string rank = "rank";
|
||||
//string rankName = "none";
|
||||
|
||||
|
||||
|
||||
@ -29,9 +29,9 @@ namespace ClanTagRankCommands
|
||||
|
||||
public string Author => "INSANEMODE";
|
||||
|
||||
private readonly IMetaService _metaService;
|
||||
private readonly IMetaServiceV2 _metaService;
|
||||
|
||||
public Plugin(IMetaService metaService, IConfigurationHandlerFactory configurationHandlerFactory, ILogger<Plugin> logger)
|
||||
public Plugin(IMetaServiceV2 metaService, IConfigurationHandlerFactory configurationHandlerFactory, ILogger<Plugin> logger)
|
||||
{
|
||||
_logger = logger;
|
||||
_metaService = metaService;
|
||||
@ -53,133 +53,13 @@ namespace ClanTagRankCommands
|
||||
}
|
||||
public async Task OnEventAsync(GameEvent E, Server S)// => Task.CompletedTask;
|
||||
{
|
||||
|
||||
//if (E.Type == GameEvent.EventType.Join || E.Type == GameEvent.EventType.ChangePermission )
|
||||
if ((E.Type == GameEvent.EventType.Other) && E.Subtype.Contains("RC"))
|
||||
if(E.Type == GameEvent.EventType.Disconnect && E.Target.Tag == "Guest")
|
||||
{
|
||||
//Console.WriteLine("RC: " + E.Origin.Name);
|
||||
|
||||
if (E.Origin is not null && E.Origin.CurrentServer == S && E.Origin.ClientNumber != -1 && E.Origin.ClientNumber != 9)
|
||||
{
|
||||
var rank_player_var = await _metaService.GetPersistentMeta(rank, E.Origin);
|
||||
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 == S && E.Origin.ClientNumber != -1 && E.Origin.ClientNumber != 9)// && (E.Origin.Level > EFClient.Permission.Trusted || rankName != Config.User))
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(rankName))
|
||||
{
|
||||
//await S.ExecuteCommandAsync("resetclantag" + " " + E.Origin.ClientNumber.ToString());
|
||||
|
||||
//await S.ExecuteCommandAsync("resetrole " + E.Origin.ClientNumber.ToString());
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
await S.ExecuteCommandAsync("setclantag" + " " + E.Origin.ClientNumber.ToString() + " " + rankName.ToString());
|
||||
await S.ExecuteCommandAsync("setrole " + E.Origin.ClientNumber.ToString() + " " + rankName.ToString());
|
||||
}
|
||||
|
||||
//await S.SetDvarAsync("sv_iw4madmin_role", "setRole;" + E.Origin.ClientNumber.ToString() + ";" + rankName.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
E.Target.Tag = null;
|
||||
await _metaService.RemovePersistentMeta(EFMeta.ClientTagV2, E.Target.ClientId,
|
||||
E.Owner.Manager.CancellationToken);
|
||||
}
|
||||
//if ((E.Type == GameEvent.EventType.Connect))
|
||||
//{
|
||||
// //Console.WriteLine("RC: " + E.Origin.Name);
|
||||
|
||||
// if (E.Origin.CurrentServer == S && E.Origin is object && E.Origin.ClientNumber != -1 && E.Origin.ClientNumber != 9)
|
||||
// {
|
||||
// var rank_player_var = await _metaService.GetPersistentMeta(rank, E.Origin);
|
||||
// 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.CurrentServer == S && E.Origin is object && E.Origin.ClientNumber != -1 && E.Origin.ClientNumber != 9)// && (E.Origin.Level > EFClient.Permission.Trusted || rankName != Config.User))
|
||||
// {
|
||||
// if (string.IsNullOrWhiteSpace(rankName) || rankName.Length < 1)
|
||||
// {
|
||||
// //await S.ExecuteCommandAsync("resetclantag" + " " + E.Origin.ClientNumber.ToString());
|
||||
|
||||
// //await S.ExecuteCommandAsync("resetrole " + E.Origin.ClientNumber.ToString());
|
||||
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// await S.ExecuteCommandAsync("setclantag" + " " + E.Origin.ClientNumber.ToString() + " " + rankName.ToString());
|
||||
|
||||
// await S.ExecuteCommandAsync("setrole " + E.Origin.ClientNumber.ToString() + " " + rankName.ToString());
|
||||
// }
|
||||
|
||||
// //await S.SetDvarAsync("sv_iw4madmin_role", "setRole;" + E.Origin.ClientNumber.ToString() + ";" + rankName.ToString());
|
||||
// }
|
||||
// }
|
||||
|
||||
//}
|
||||
//if ((E.Type == GameEvent.EventType.Other) && E.Subtype.Contains("YADB-Embed"))
|
||||
//{
|
||||
// Console.WriteLine(E.Extra);
|
||||
// Console.WriteLine(E.Origin.Name);
|
||||
//}
|
||||
//if (E.Type == GameEvent.EventType.Start || E.Type == GameEvent.EventType.MapChange)
|
||||
//{
|
||||
// var currentclients = S.GetClientsAsList(); //GetActiveClients();
|
||||
// foreach (EFClient client in currentclients)
|
||||
// {
|
||||
// if (client.CurrentServer == S && client is object && client.ClientNumber != -1 && client.ClientNumber != 9)
|
||||
// {
|
||||
// var rank_player_var = await _metaService.GetPersistentMeta("rank", client);
|
||||
// rankName = client.Level.ClanTag(Config);
|
||||
|
||||
// rank_player_var = await _metaService.GetPersistentMeta("rank", client);
|
||||
// if (rank_player_var == null)
|
||||
// {
|
||||
// await _metaService.AddPersistentMeta("rank", "none", client);
|
||||
// rank_player_var = await _metaService.GetPersistentMeta("rank", client);
|
||||
// }
|
||||
|
||||
// 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 (client.CurrentServer == S && client is object && client.ClientNumber != -1 && client.ClientNumber != 9)
|
||||
// {
|
||||
// await S.SetDvarAsync("sv_iw4madmin_role", "setRole;" + client.ClientNumber.ToString() + ";" + rankName.ToString());
|
||||
// await S.ExecuteCommandAsync("setclantag" + " " + client.ClientNumber.ToString() + " " + rankName.ToString());
|
||||
// }
|
||||
|
||||
// }
|
||||
|
||||
|
||||
// }
|
||||
|
||||
//}
|
||||
//return Task.CompletedTask;
|
||||
}
|
||||
public Task OnTickAsync(Server S)// =>
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user